Archívum - Szep 2012 - Fórum téma
szeptember 19
Demeter törvénye??
Help! Ezt nem tudom értelmezni... Demeter törvénye szerint egy objektum metódusa
OK, ez így szerintem érthető, ebbe beleférne minden, amit eddig láttam, de...
A Clean Code-ot olvasgatva (magyar fordítás, 6. fejezet - most nincs kéznél, nem tudom pontosan idézni) bukkantam egy olyanra, miszerint a felhasznált objektumok által visszaadott objektumok metódusaira már nem szabad hivatkozni.
És itt elakadtam. A fenti felsorolásban az "M-en belül létrehozott"-ba belefér, hogy egy objektum metódusa ad vissza egy másik, általam ismert típusú objektumot, tehát azt nyugodtan használhatom, nem sértem meg vele pl. az említett Demeter törvényét. A könyvben írtak szerint viszont ez már nem fér bele, ha az objektum nem adatszerkezetet ad vissza.
Gyanítom, hogy ezzel valami nem stimmel, mivel egy v. két oldallal később, ezt demonstrálandó felhasznál egy, a példaként hozott, belső objektum által előállított stream objektumot, amit java-s emlékeim szerint nem csak paraméterként adok át más osztályoknak, hanem közvetlenül a metódusaira hivatkozva lehet rajta műveleteket végezni.
Akkor ez most hogy van (fejvakargatós smiley) ?
Nem beszélve arról, hogy pl. a DIC, mint olyan nem sérti ugyanezt az elvet, ha a könyv szerinti változatot fogadom el? Hiszen egy másik objektum által létrehozott objektummal akarunk dolgozni és annak ismerni kell a belsejét is...
... a következőket hívhatja:
O-t magát
M paramétereit
M-en belül létrehozott/példányosított objektumokat
O közvetlen komponenseit
O-t magát
M paramétereit
M-en belül létrehozott/példányosított objektumokat
O közvetlen komponenseit
OK, ez így szerintem érthető, ebbe beleférne minden, amit eddig láttam, de...
A Clean Code-ot olvasgatva (magyar fordítás, 6. fejezet - most nincs kéznél, nem tudom pontosan idézni) bukkantam egy olyanra, miszerint a felhasznált objektumok által visszaadott objektumok metódusaira már nem szabad hivatkozni.
És itt elakadtam. A fenti felsorolásban az "M-en belül létrehozott"-ba belefér, hogy egy objektum metódusa ad vissza egy másik, általam ismert típusú objektumot, tehát azt nyugodtan használhatom, nem sértem meg vele pl. az említett Demeter törvényét. A könyvben írtak szerint viszont ez már nem fér bele, ha az objektum nem adatszerkezetet ad vissza.
Gyanítom, hogy ezzel valami nem stimmel, mivel egy v. két oldallal később, ezt demonstrálandó felhasznál egy, a példaként hozott, belső objektum által előállított stream objektumot, amit java-s emlékeim szerint nem csak paraméterként adok át más osztályoknak, hanem közvetlenül a metódusaira hivatkozva lehet rajta műveleteket végezni.
Akkor ez most hogy van (fejvakargatós smiley) ?
Nem beszélve arról, hogy pl. a DIC, mint olyan nem sérti ugyanezt az elvet, ha a könyv szerinti változatot fogadom el? Hiszen egy másik objektum által létrehozott objektummal akarunk dolgozni és annak ismerni kell a belsejét is...
szeptember 18
Divek között váltás animáltan
Sziasztok!
Van a főoldalon egy login, és egy regist divem. Alapból csak az egyik látható.
Hogyha a regisztráció linkre kattintok, akkor kellene eltűnnie a login divnek, és megjelennie a regist divnek. És persze a regist divben is lenne egy link ami a loginra megy vissza.
Mindezt a váltogatást úgy szeretném, hogy az adott div úgy tünne el, hogy animáltan kimegy a képernyőről balra, és jobbról megjelenik a másik div. Az éppen látható div mindig középen van margin 0 auto-val.
Erre van valami javascriptes megoldás? Köszönöm előre is.
■ Van a főoldalon egy login, és egy regist divem. Alapból csak az egyik látható.
Hogyha a regisztráció linkre kattintok, akkor kellene eltűnnie a login divnek, és megjelennie a regist divnek. És persze a regist divben is lenne egy link ami a loginra megy vissza.
Mindezt a váltogatást úgy szeretném, hogy az adott div úgy tünne el, hogy animáltan kimegy a képernyőről balra, és jobbról megjelenik a másik div. Az éppen látható div mindig középen van margin 0 auto-val.
Erre van valami javascriptes megoldás? Köszönöm előre is.
Textarea háromszög/nyíl
Sziasztok!
Eredménytelenül kerestem eddig bárhol az adott témában, így segítségeteket kérném. Egy olyan textareát szeretnék létrehozni, melynek szegélyén egy kis háromszög/nyíl található, mint pl a Facebook timeline-on, YouTube-on pár helyen vagy az iWiW hírfolyamon. Próbáltam CSS-sel egy általam rajzolt nyilat a textareához pozicionálni, jól is néz ki, de nyilván nem reagál a fókuszra, ez lenne a megoldandó probléma.
Előre is köszi, üdv!
■ Eredménytelenül kerestem eddig bárhol az adott témában, így segítségeteket kérném. Egy olyan textareát szeretnék létrehozni, melynek szegélyén egy kis háromszög/nyíl található, mint pl a Facebook timeline-on, YouTube-on pár helyen vagy az iWiW hírfolyamon. Próbáltam CSS-sel egy általam rajzolt nyilat a textareához pozicionálni, jól is néz ki, de nyilván nem reagál a fókuszra, ez lenne a megoldandó probléma.
Előre is köszi, üdv!
Keresőrobotok, sütik
Van egy erotikus weboldalam. Minden oldalon működik egy PHP szkript ami ellenőrzi a cookie-kat. Ha van cookie, akkor nem történik semmi. Ha nincs, akkor a kezdőoldalra dobja a látogatót ahol egy figyelmeztető szöveg után a belépésre kattintva beléphet az oldalra. Ekkor megkapja a sütijét is. Ez eddig rendben van, de mi a helyzet a keresőrobotokkal? Ha nincs cookie, akkor magyarán a keresőrobot csak a kezdőlapot indexeli be ahol a figyelmeztető szöveg van – mert mindig oda dobja a fent említett PHP szkript. Tehát ez így nem jó megoldás SEO szempontjából ha jól értem. Használjak session-t? Ez a megoldás csak azért nem tetszik mert egy session az oldal kilépésekor törlődik tehát ha egy nap 100-szor indítja újra a böngészőjét a látogató, akkor 100-szor kell a belépésre kattintania. Használjak a cookie-hoz JavaScript-et mert azt figyelmen kívül hagyja a keresőrobot? Hogyan oldanátok meg ti ezt a problémát, hogy legális is maradjon a honlap, de a keresők is szeressék?
■ szeptember 17
Silex és Imagine
Ha valaki használja a Silex micro framework-öt és el tudná magyarázni hogy Imagine-t hogyan tudom feltenni hozzá azt megköszönném, mert nekem ez nem akar összejönni. Composert mai napig nem nagyon értem szóval manuálisan próbáltam meg a dolgot.
Egyébként a ServiceProvider itt van hozzá csak nem tudom hogyan tudnám használni úgy hogy működjön is:
https://github.com/GromNaN/SilexServiceProvider
■ Egyébként a ServiceProvider itt van hozzá csak nem tudom hogyan tudnám használni úgy hogy működjön is:
https://github.com/GromNaN/SilexServiceProvider
Javascript IDE - automatikus kód kiegészítés örökléssel is
Üdv.
Szeretnék egy olyan js IDE-t használni fejlesztéshez, ami egyrészt támogatja a nodejs-t libeket is, másrészt meg lehet használni benne valami hasonló kódot, mint ez:
[colorer=javascript]
(function() {
var core = {
bind : function(method, scope) {
if (!( method instanceof Function))
throw new TypeError("Function needed as method.");
if ( typeof (scope) != "object")
throw new TypeError("Object needed as scope.");
return function() {
return method.apply(scope, arguments);
};
},
require : function(source) {
if ( typeof (source) != "object" || !source)
throw new TypeError("Object needed as source.");
for (var property in source)
if (source.hasOwnProperty(property) && !this.prototype.hasOwnProperty(property))
this.prototype[property] = source[property];
},
override : function(source) {
if ( typeof (source) != "object" || !source)
throw new TypeError("Object needed as source.");
for (var property in source)
if (source.hasOwnProperty(property))
this.prototype[property] = source[property];
},
extend : function(source) {
var superClass = this;
var newClass = source.hasOwnProperty("constructor") ?
Szeretnék egy olyan js IDE-t használni fejlesztéshez, ami egyrészt támogatja a nodejs-t libeket is, másrészt meg lehet használni benne valami hasonló kódot, mint ez:
[colorer=javascript]
(function() {
var core = {
bind : function(method, scope) {
if (!( method instanceof Function))
throw new TypeError("Function needed as method.");
if ( typeof (scope) != "object")
throw new TypeError("Object needed as scope.");
return function() {
return method.apply(scope, arguments);
};
},
require : function(source) {
if ( typeof (source) != "object" || !source)
throw new TypeError("Object needed as source.");
for (var property in source)
if (source.hasOwnProperty(property) && !this.prototype.hasOwnProperty(property))
this.prototype[property] = source[property];
},
override : function(source) {
if ( typeof (source) != "object" || !source)
throw new TypeError("Object needed as source.");
for (var property in source)
if (source.hasOwnProperty(property))
this.prototype[property] = source[property];
},
extend : function(source) {
var superClass = this;
var newClass = source.hasOwnProperty("constructor") ?
szeptember 16
css3 div háttere
Üdv!
ugye ccs-sel kialakított kinézetnél adott a lehetőség egy terület háttérszínének beállítására, majd css-ben: CSS3 lehetőséget ad színátmenetes háttérre:
linear-gradient(szin1, szin2);
viszont kerestem, de nem találtam, ezért kérdezném, hogy olyan opció nincs, hogy két szín, de nincs átmenet? (=pl a 100px magas div felső 50px kék, az alsó 50px zöld)
■ ugye ccs-sel kialakított kinézetnél adott a lehetőség egy terület háttérszínének beállítására
<div id="nev">
xyz
</div>
#nev {
background-color: #012345;
}
linear-gradient(szin1, szin2);
viszont kerestem, de nem találtam, ezért kérdezném, hogy olyan opció nincs, hogy két szín, de nincs átmenet? (=pl a 100px magas div felső 50px kék, az alsó 50px zöld)
szeptember 15
Hangoló php-ban?
Van egy feladatom hangolót kell készítsek,de nem tudom hogyan kezdjem el tippek? egy ötletem sincs soha nem csináltam még hasonlót
■ html kód szűrése
Üdv!
Adatbázisban tárolok html kódokat (hozzászólások, cikkek stb.) és semmiféle tiltást nem akarok rajta alkalmazni (minden tag engedélyezve van) csak egy bizonyos dolgot szeretnék szűrni, mégpedig, hogy ne lehessen a javascriptes alert() függvényt használni.
Tehát ha van egy ilyen kódom:Akkor csak az alert(llalala); rész ne fusson le (ne legyen a kódban sem benne) a többi ugyan úgy maradjon meg.
Ez hogyan kivitelezhető? Valamifajta regexp-re gondoltam, de nem találtam használhatót.
■ Adatbázisban tárolok html kódokat (hozzászólások, cikkek stb.) és semmiféle tiltást nem akarok rajta alkalmazni (minden tag engedélyezve van) csak egy bizonyos dolgot szeretnék szűrni, mégpedig, hogy ne lehessen a javascriptes alert() függvényt használni.
Tehát ha van egy ilyen kódom:
Lalalalala
<script>
var llalala="sajt";
alert(llalala);
document.write(llalala);
</script>
Ez hogyan kivitelezhető? Valamifajta regexp-re gondoltam, de nem találtam használhatót.
eclipse pydev kódkiegészítés? (egyéb IDE?)
Python programok szerkesztéséhez használnám az Eclipse Pydev-t.
Viszont a kódkiegészítéssel komoly gondjaim adódtak.
mainWindow=QtGui.QMainWindow()
Ez még OK, a mainWindow-ról tudja a szerkesztőm, hogy ő egy QMainWindow típusú objektum.
menuBar=mainWindow.menuBar()
Ez már problémás. A mainWindow.menuBar() egy QtGui.QMenuBar típusú objektumot ad vissza, de erről már nem tudom az eclipse.
Ha a fentit kicsit kiegészítem:
menuBar=mainWindow.menuBar()
assert isinstance(menuBar, QtGui.QMenuBar)
akkor már az menuBar változóval is működik a kiegészítés. (assert hasonlóan működik, mint bármely xUnit keretrendszerben, de futtatáskor kikapcsolható)
De...
self.menuBar=mainWindow.menuBar()
assert isinstance( self.menuBar, QtGui.QMenuBar )
ez már nem jó! Pusztán az elé írt "self." miatt...(a self. nélküli változók lokálisak, a self. kezdetűek az objektum változói/attribútumai)
Valami ötlet arra, hogy hogyan tudnám elmagyarázni a pydev-nek, hogy a self.xxxx változók milyen típusúak?
Google-n olyasmit kerestem, hogy "eclipse pydev code completion typecast", de csak az assert-es tippet találtam. :-(
Ha valaki tudna olyan Python IDE-t, ami ingyenes, windows-on+linuxon is fut, tud debuggolni, használható a kódkiegészítése, van benne refaktorálást segítő funkció stb., azt is szívesen veszem. (IDLE elég gyengécske :-( )
■ Viszont a kódkiegészítéssel komoly gondjaim adódtak.
mainWindow=QtGui.QMainWindow()
Ez még OK, a mainWindow-ról tudja a szerkesztőm, hogy ő egy QMainWindow típusú objektum.
menuBar=mainWindow.menuBar()
Ez már problémás. A mainWindow.menuBar() egy QtGui.QMenuBar típusú objektumot ad vissza, de erről már nem tudom az eclipse.
Ha a fentit kicsit kiegészítem:
menuBar=mainWindow.menuBar()
assert isinstance(menuBar, QtGui.QMenuBar)
akkor már az menuBar változóval is működik a kiegészítés. (assert hasonlóan működik, mint bármely xUnit keretrendszerben, de futtatáskor kikapcsolható)
De...
self.menuBar=mainWindow.menuBar()
assert isinstance( self.menuBar, QtGui.QMenuBar )
ez már nem jó! Pusztán az elé írt "self." miatt...(a self. nélküli változók lokálisak, a self. kezdetűek az objektum változói/attribútumai)
Valami ötlet arra, hogy hogyan tudnám elmagyarázni a pydev-nek, hogy a self.xxxx változók milyen típusúak?
Google-n olyasmit kerestem, hogy "eclipse pydev code completion typecast", de csak az assert-es tippet találtam. :-(
Ha valaki tudna olyan Python IDE-t, ami ingyenes, windows-on+linuxon is fut, tud debuggolni, használható a kódkiegészítése, van benne refaktorálást segítő funkció stb., azt is szívesen veszem. (IDLE elég gyengécske :-( )