English | Magyar
JS ki | CSS ki | Ékezetek ki | HiContrast
Lapozó:  (0 - 1424) 
<== | ==>
Ugrás a végére | Összes megjelenítése | Utolsó oldal
OpenOpera patches | Opera-SSL patches | Opera 12.15 source (Git repository) | Opera 12.15 source (Torrent) | Opera internal pages | Otter Browser Linux x64 - Qt5.15.2/QtWebKit5.602.1 (2024.04.27. 20:05)
OS for MC680x0 | OS for PPC | OS for Sparc64 | besztofbégéaefcé | CSÉNDZSLOG | WebToolz | DDG Shit Filter | Google Shit Filter | Progz | Fast CSS Box | Browser | OS | Agent | Statisztika | BBCode
Monospace font-family: Courier New | Browser default monospace
Email értesítő / Email notification ===> 
Keresés
Σ: 16 post

saxus  (statz) Agyfasz
#9, Agyfasz (419)
3111 | #1c30 | ^ | Idézet | Sat, 28 Apr 2012 03:09:14 +02
84.3.*.* Unknown Unknown Hungary *.catv.pool.telekom.hu
Na a kedvedért készítettem egy kis PoC példát. Illetve többet is:

http://shared.muportal.hu/kepek/gc/gc.png

Első példa: Szimplán nyitunk egy háttérszálat, kicsit matekolunk 4 megányi inten, majd billentyű lenyomásra kilépünk. GC-t én hívom meg kézzel. Meg is várhatnám, hogy valamilyen eseményre lefusson (pl. ami lehet másik thread memóriaigényétől kezdve akár az is, hogy a a Windows szól a .NET-nek, hogy figyumá, nincs-e fölös ramod, mert esetleg tudnék kezdeni valamit), de nem volt kedvem ennyit várni, így inkább meghívtam én a GC-t. Egyből vissza is esik 40 megára. (Hogy miért nem az induláskori 20-ra, arról majd később.)

http://shared.muportal.hu/kepek/gc/gc2.png

Következő példa már picit rázósabb, enyhén forkbomb kezdetű: háttérthreadból nyitok további threadeket, igaz azokat be is fejeztetem. Jól látszik, hogy itt azért már jobban ingadozik a memóriahasználat attól függően, hogy mennyi thread kap CPU időt a többi processtől. Befejezéskor nem változik semmi.

http://shared.muportal.hu/kepek/gc/gc3.png

Gondoltam nézzük meg, hogy mi a helyzet, hogyha a Visual Studio nem birizgálja a processt a háttérből. (Ha megnézed a process tree-t a process explorerben, akkor láthatod, hogy nem a VS host processe, hanem a cmd a parent process) Egyrészt ami egyből szembetűnő, hogy az induláskori memóriahasználat 7,6-ra esett le a kezdeti 20,6-ról és a végállapot 40 mega helyett 10,7 lett, valamint konstans 20,1 mega volt üzem közben mindenféle ingadozás nélkül. Kódon annyit változtattam, hogy ne legyen olyan forkbomb jellegű és várja meg a háttérthread a matekoló thread végét. Próbáltam release és debug módot is, nincs igazán sok különbség. A memóriahasználat különbsége szerintem két dolog számára írható: debugger/intellitrace valamint a HostProcess-nek, ami segít a VS-nek a debuggolásban.

Na de ugye még így is megugrik a memóriahasználata a cuccnak. Mondhatnád, hogy leakel, de nem, az igazság ennél prózaibb. :) Ha megnézed a process IO-t, láthatsz egy kis tüskét pont akkor, amikor elindul a háttérthread. Ez akkor hajtódik végre egyszer, amikor a Thread elindul. Gyanítom, ilyeknor tölt be egy rakás Win32 kódot a .NET FW a háttérben és/vagy további szükséges assemblyket és a hozzá tartozó kódokat, amelyek - breaking news - ismét memóriát igényelnek. Ezért készítettem egy olyat, amely matekol 10 másodpercet, vár 10-et, majd újra futtatja. Az eredmény ugyanaz: a GC meghívásakor letakarít midnen letakaríthatót, amit az én kódom hozott létre.

http://shared.muportal.hu/kepek/gc/gc4.png

Egyébként kísérleteztem még pár dologgal. Pl. próbáltam olyat, hogy a Thread.Start() után még 10 mp-t várni. Olyankor 10-ről. 12,6-ra ugrott fel, amely valószínűleg a két thread stackjának lefoglalt terület meg még egy minimális, amit a .NET a thread kezeléséhez rendelt (pl. managed threadid, security dolgok, cultireinfo meg ilyenek (utóbbit pl. .NET-ben thread szinten tudod állítani).

Próbáltam még olyat is, hogy a Thread Exceptionnal áll le. Nos, akkor hótzicher, hogy felszabadul a memória, ugyanis az OS fogja eltakaríani (a teljes programmal együtt.)

Ennyit a leakelő .NET-ről.


TCH  (statz) Főfasz
#1, Főfasz (10443)
4941 | #1c31 | ^ | Idézet | Sat, 28 Apr 2012 04:02:07 +02
46.107.*.* Unknown Unknown Hungary *.catv.pool.telekom.hu
saxus írta/wrote:
Töredék idő alatt megoldottunk nagyobb funkcionalitást?
Lófaszt. Semmivel sem lassabb megírni ojjektumok nélkül, csak úgy kell megtervezni, meg megírni az eljárásokat, hogy fasza legyen. És átláthatóbb is a sok szar objektum nélkül.
saxus írta/wrote:
Érdemes elolvasni az MS Research féle Singularity-ról szóló papereket.
Olvassad. Én bottal sem piszkálok semmit, aminek köze van a mikrofoshoz.
saxus írta/wrote:
Persze, lehetne ezt függvénypointerekkel is megoldani (elméletben), gyakorlatban meg elég undorító katyvasz lenne a vége.
Bullshit. Én sose használok objektumokat és mégsem lesz katyvasz belőle.
saxus írta/wrote:
Tipikusan ezek az esetek, amikor jó az OOP, még ha elsőre több is a kód, mint sima struktúrált kódnál. Nem azért, mert gyorsabb lesz, hanem mert rugalmasabb.
Rugalmasabb? Azért mert egy osztályba rakod be a függvényeket? Egyszerűen nem fogom fel, hogy mi a rákért hivatkoznak erre emberek, hogy az osztályt könnyű bővíteni új metódusokkal, amikor ez semmi egyebet nem jelent, minthogy bekúrnak egy új függvényt oda. Ugyanazt a függvényhalmot lehetne ojjektum nélkül is.
saxus írta/wrote:
Na a funkcprog után ne szóljál be az OOP-re ;)
Ad 1. Trollbait volt. Kiváncsi voltam, hogy megint fölényeskedni kezdesz-e, vagyis flamelni akarsz.
Ad 2. A tököm ki van az elnevezésekkel, nagyon jól tudod, hogy mit akartam mondani.
Ad 3. Arra szólok be amire akarok.
saxus írta/wrote:
Mondjuk sebességeket nem írtál, hogy mi mennyi volt.
Két és félszer volt gyorsabb a require, mint az MC. Köszi az infót, akkor a memcache-be nem dobálom be a konfigokat.
saxus írta/wrote:
mind a Java, mind a C# képes detektálni az elérhetetlen referenciákat és fel fogja szabadítani
Mégis hogyan, ha egyszer elveszett az amire mutatott? Végignyal mindent? Jó gyors lehet.
saxus írta/wrote:
Ugyanis a memóriamenedzsment úgy működik, hogyha valami miatt egy objektum memóriaszemétnek minősül, akkor bekerül egy Finalization Queue-be, amelyet a GC a következő futásakor kihajít a francba.
Ez mind szép és jó, de ez max standard esetben van így. Semmi nem biztosít arról, hogy a GC-ben nincsenek bugok, főleg mivel mind a dzsuva, mind a ciszta hemzseg tőlük.
saxus írta/wrote:
Persze ez ilyen nagyon ocsmány dirty trükk, inkább nyelvi érdekesség, mintsem valós felhasználás.
Meg se merem kérdezni, hogy miért teszi ezt lehetővé a nyelv.
saxus írta/wrote:
Egyébként se szokás a finalizert nagyon használni, egyrészt mert ki tudja mikor fut a GC, másrészt gyakorlatban nemigazán van rá szükség, harmadrészt a felszabadításokat jellemzően a Disposable pattern keretein belül szokás megoldani.
Meg se merem kérdezni, hogy akkor minek van.
saxus írta/wrote:
kicsit matekolunk 4 megányi inten
saxus írta/wrote:
Hogy miért nem az induláskori 20-ra, arról majd később.
4 megányi int az hogy lesz 20 mega?
saxus írta/wrote:
Egyébként kísérleteztem még pár dologgal.
Komolyan irigyellek, hogy ennyi szabadidőd van.
saxus írta/wrote:
Ennyit a leakelő .NET-ről.
Tehát, ha neked nem sikerült elérni, hogy leakeljen, akkor egyáltalán nem leakel. Király. Jó tudni. (Merek egy vödör vizet a tengerből, nincs benne cápa, vagyis a tengerben nincsenek cápák, mehetünk úszni.)

Egyébként nem unod még? Úgysem tudsz meggyőzni. (Meg én se téged.)

BTW, ma a hupon olvastam egy érdekes beszólást egy oopszentgrállovagjától, miszerint azok akik utálják az oop-t, azért utálják, mert nem értik.
Ez az év bullshitje. Én nem értem az aerodinamikát, se a kvantumfizikát, mégsem utálom ezeket. Nem értem Kant vagy Machiavelli műveit, mégsem szidom őket. Nem értem a mormonokat vagy a krisnásokat, mégsem ágálok ellenük.
So, WTF? Talán azért nem, mert sem az aerodinamika, sem a kvantumfizika professzorai nem akarnak meggyőzni, hogy nekem ezzel foglalkoznom kéne? Talán azért nem, mert Kant és Machiavelli rajongói nem akarják rámtukmálni a könyveiket? Talán azért nem, mert a mormonok vagy a krisnások nem akarnak megtéríteni?
Talán azért rühellem a winfost, az oop-t, vagy - hogy egy nem infós cuccot is említsek - a jogot/jogászokat, mert ezek rámerőltetik a fasságaikat?

De mind1, mer ebből is flame lesz bazmeg.
Inkább arról meséllyél már - ha már fennt rohadunk hajnalok hajnalán - hogy hol állsz a slozipaprioddal diplomáddal, vettél-e már lakást, becsajoztál-e már, végleg áttértél-e OSX-re (és kukásítottad a winfost), mert egyfelől, már évek óta nem dumáltunk érdemben, másfelől ezeknek legalább van értelme, ellentétben az OOP-val, de főleg a dzsuvával és a cisztával.


saxus  (statz) Agyfasz
#9, Agyfasz (419)
3964 | #1c32 | ^ | Idézet | Sat, 28 Apr 2012 17:50:27 +02
84.3.*.* Unknown Unknown Hungary *.catv.pool.telekom.hu
TCH írta/wrote:
Olvassad. Én bottal sem piszkálok semmit, aminek köze van a mikrofoshoz.


MS research egy kb. önálló kutatási intézet. Független minden termékfejlesztéstől, ők csak kutatnak. És akkor és azt publikálnak, amit akarnak. (Megjegyzem, más cégek R&D-jéhez képest szokatlanul nyíltan). De semmi gond, dugd homokba a fejed.

TCH írta/wrote:
Azért mert egy osztályba rakod be a függvényeket?


Nem, azért, mert az összetartozó dolgokat rakod egy osztályba. Pont hoztam példát: a függvény további paramétereket vár, amelyet az objektum példányosításakor adok meg. De semmi gond, nem te vagy az első, aki úgy fikázza az OOP-t, hogy igazából sosem értette meg azt.

TCH írta/wrote:
Ad 2. A tököm ki van az elnevezésekkel, nagyon jól tudod, hogy mit akartam mondani.


Akkor hülyeséget akartál mondani. A cikk pont arról szól, hogy az imperatív (mint a C, pascal...) modell helyett a C++-ban is lehetőség van (valamilyen szintű) funkcionális megközelítésre (mint a lisp, haskell, scheme...).

TCH írta/wrote:
Mégis hogyan, ha egyszer elveszett az amire mutatott?


Ne legyél már write only. Attól, hogy a te kódodban elveszett a referencia, attól még a nyelv fenntart egy "letakarítandó objektumok" listát. De írtam is.

TCH írta/wrote:
Meg se merem kérdezni, hogy miért teszi ezt lehetővé a nyelv.


Mert nem a nyelv teszi lehetővé, hanem a GC mögötti osztálykönyvtár, mivel hagytak lehetőséget, hogy többé-kevésbé felülbíráld a GC-t, ha nagyon muszáj. Esetek 99,9999%-ában nem muszáj.

TCH írta/wrote:
Meg se merem kérdezni, hogy akkor minek van.


Mert vannak olyan esetek, amikor kell. Tudod nem igazán != nem kellhet soha.

TCH írta/wrote:
4 megányi int az hogy lesz 20 mega?


Mivel nem azonnal fut a GC, csak periodikusan. Ne legyél már ennyire értetlen fasz.

TCH írta/wrote:
Tehát, ha neked nem sikerült elérni, hogy leakeljen, akkor egyáltalán nem leakel.


Te mondtál egy esetet, bebizonyítottam, hogy fasság.
TCH írta/wrote:
miszerint azok akik utálják az oop-t, azért utálják, mert nem értik.


De basszus, látom, hogy kiragadott példákkal dobálózol, anélkül, hogy egyáltalán értenéd, hogy mi mire van. És nem lenne bajom, ha időnként nem hülyeségekkel példálóznál (pl. honnan tudna az elveszett referenciáról...) Én is kb. 2-3 évente rájövök, hogy mennyire keveset tudok az OOP-ről ahhoz képest, amit eddig tudtam (szintek: egyetem előtt: tudom, hogy vannak; első 1,5 év után: tudom, hogyan nézne ki normálisan; rá 1-2 évre: utánaolvasgattam a tervezési mintákról és hogy hogyan is csináljunk velük úgy alkalmazást, hogy az valóban jól strukturált, rugalmas legyen; most meg ott tartok, hogy ezen a téren kellene még fejlődni picit valamint kellene nézni valami 1-2 prognyelvet is, ami más szemszögből közelíti meg az OOP-t, mint a C++/Java/C#/PHP vonal és esetleg nem is kifejezetten imperatív). Mindig van mit tanulni.

TCH írta/wrote:
már évek óta nem dumáltunk érdemben


Valóban. Diplomamunkával haladgatok, elvileg most le is fogom adni a szakdogámat (annak ellenére, h passzívon vagyok, köcsög elektro irány), de diploma az még nem ma lesz. PH-t otthagytam, most az Empo-nál vagyok, OSX meg köszöni jól megvan a Windows mellett. (Annyi a változás, hogy a Mini-t eladtam, a notimat meg anyámnak adtam és kiváltottam a kettőt egy MBP-vel. 7-8 óra üzemidő, kis méret, korrekt teljesítmény, jól összerakott gép. Most már lehet elgondolkoznék valami ultrabookon, bár azok se olcsóbbak, mint az Apple, másfél éve meg kb. kategóriában tényleg csak az MBP volt értékhelhető.

Többiről meg majd ja, valamikor lehetne dumálni.


TCH  (statz) Főfasz
#1, Főfasz (10443)
3916 | #1c33 | ^ | Idézet | Sat, 28 Apr 2012 19:11:39 +02
46.107.*.* Unknown Unknown Hungary *.catv.pool.telekom.hu
saxus írta/wrote:
De semmi gond, dugd homokba a fejed.
Ez nem hangzik rosszul, legalább addig sem hallok ilyeneket, hogy debezzegazemes. :P
saxus írta/wrote:
Nem, azért, mert az összetartozó dolgokat rakod egy osztályba.
Unit, module? Az nem jó? Must be ojjektum?
saxus írta/wrote:
Pont hoztam példát: a függvény további paramétereket vár, amelyet az objektum példányosításakor adok meg.
További paramétereket? Mint Delphiben az overload? Lehet egy függvénynek N féle paraméterlistája ojjektum nélkül is.
saxus írta/wrote:
De semmi gond, nem te vagy az első, aki úgy fikázza az OOP-t, hogy igazából sosem értette meg azt.
Az lehet, hogy nem értem, hogy mi az OOP létjogosultsága (mint, ahogy a pírszingek kapcsán sem értem, hogy minek tömi magát valaki felesleges hulladékkal), de nem fikáznám, ha nem erőltetnék. Tudod a "lehet" és a "muszáj" közti különbség.
Egy dolog, hogy egy adott feladatra van ojjektumos, meg ojjektumnélküli megoldás; az előbbit nem értem, mert szerintem felesleges köröket futnak vele, de ha valaki így akarja, hát tessék. Viszont ha valaki rám akarja erőltetni, az már nagyon nem kóser. A "lehet"-re "felőlem" a válasz, a "muszáj"-ra, viszont egy láncfűrész.
Egyébként én is mondhatnám, hogy nem az első ember vagy, aki bedől a hype-olt cuccoknak.
saxus írta/wrote:
Akkor hülyeséget akartál mondani.
Csak ragozod bazdmeg. Nem érdekel, minek hívod, hívhatod felőlem kecskének is, egy a lényege: ojjektummentes kód.
saxus írta/wrote:
Mivel nem azonnal fut a GC, csak periodikusan. Ne legyél már ennyire értetlen fasz.
Értem, tehát ez a fos úgy működik, hogy egy 4 megás tömbre öt, meg tízszer akkora helyet befoglal, ami nem szemetelés, de azért a GC eltakarítja. Most akkor szemetel ez a fos vagy sem? Ha nem szemetel, minek van benne szemételtakarító? Ragozzam én is? Vagy te is felcsapsz értetlen fasznak?
saxus írta/wrote:
Te mondtál egy esetet, bebizonyítottam, hogy fasság.
Pontosítsunk. Én idéztem egy esetet, nem az ujjamból szoptam, ez egy; kettő én egy dzsuvás példát citáltam ide, erre te nekiálltál fosnetben hekkerkedni, úgyhogy nem tudom mit bizonyítottál be; és három, te foglaltad össze sommásan azt, hogy ennyit a fosnet lékeléséről, azaz usque azt mondtad, hogy QED, a fosnet nem lékel.
saxus írta/wrote:
De basszus, látom, hogy kiragadott példákkal dobálózol, anélkül, hogy egyáltalán értenéd, hogy mi mire van.
Dehát te kértél példákat. Azt meg, hogy mire való ez az egész, még senki sem volt képes elmagyarázni, mert jobb esetben is csak odabasznak egy adag OOP kódot, hogy ugye milyen fasza, én meg csak azt látom, hogy ugyanezt meg lehetett volna oldani közönséges függvényekkel is. (És nem, nem lenne katyvasz, meg átláthatatlan, meg ötször annyi idő.)
saxus írta/wrote:
És nem lenne bajom, ha időnként nem hülyeségekkel példálóznál
Csak időnként? Én már kezdtem azt hinni, hogy állandóan fasságokat beszélek. Most akkor az OOP időnként bullshit, időnként meg musthave?
saxus írta/wrote:
Diplomamunkával haladgatok
És mi lesz az? Te is NIK-es vagy, mint kemi, igaz? Akkor neked is valami kinektes cumót kell csinálni?
saxus írta/wrote:
PH-t otthagytam, most az Empo-nál vagyok
Ezt mesélted, hogy a PH-tól mindenki lelépett. Kár érte, bírtam Szatiékat.
saxus írta/wrote:
OSX meg köszöni jól megvan a Windows mellett.
Minek neked winfos az OSX mellé? Linux mellé még megérteném, ha az ember jusztis játszani, vagy fotosoppolni akar, de OSX mellé minek? Mit tud a winfos, amit az OSX nem?


saxus  (statz) Agyfasz
#9, Agyfasz (419)
3163 | #1c34 | ^ | Idézet | Sat, 28 Apr 2012 23:13:45 +02
84.3.*.* Unknown Unknown Hungary *.catv.pool.telekom.hu
TCH írta/wrote:
Unit, module? Az nem jó? Must be ojjektum?


Másra való.

TCH írta/wrote:
ovábbi paramétereket? Mint Delphiben az overload? Lehet egy függvénynek N féle paraméterlistája ojjektum nélkül is.


Látom, nem értetted meg a példát: adott egy funkció, amely kliens oldalon így, szerver oldalon úgy működik. Kliens oldalon ugye a hálózati réteghez kell hozzáférnie, szerver oldalon meg az adatbázishoz. Mindezt úgy,h ogy ez a funkció egy nagyobb másikba épül bele, és nem, nem opcio az if (kornyezet == szerver) módszer. Itt ha egy függvénypointert adnál át, nem tudnál adatbázist vagy hálózati réteget átadni csak mondjuk globális változón, ami meg megint egyéb okok miatt nem nyerő megoldás.

TCH írta/wrote:
hogy mi az OOP létjogosultsága


Sok feladatot absztraktabbul, rugalmasan, újrafelhasználhatóan, tesztelhetőbben tudod megoldani vele. Ez a létjogosultsága.

TCH írta/wrote:
Értem, tehát ez a fos úgy működik, hogy egy 4 megás tömbre öt, meg tízszer akkora helyet befoglal, ami nem szemetelés, de azért a GC eltakarítja. Most akkor szemetel ez a fos vagy sem? Ha nem szemetel, minek van benne szemételtakarító? Ragozzam én is? Vagy te is felcsapsz értetlen fasznak?


Miután 12 mega volt a memóriafelhasználás, mikor elindult a Thread és 20 mega a maximális felhasználás, így 8 megát használt a matekolás során. Gondolom, míg az egyik thread tette a dolgát, addig a másik takarított, amit az előző futásból ott maradt. Persze, ha akarod, nevezd szemétnek, csak azon is fuss egy kört, hogy a takarítást helyből párhuzamosan csinálta a GC anélkül, hogy nekem ezzel bármi dolgom lett volna.

TCH írta/wrote:
kettő én egy dzsuvás példát citáltam ide


Á. A java picit lustább GC-t használ alapból, ráadásul az szereti teljesen magának menedzselni a ramot többé-kevésbé az OS-től függetlenül. Van ennek a megoldásnak is előnye meg hátránya. Ettől még az sem fog a memóriában hagyni hosszú távon olyat, ami nem kell.

TCH írta/wrote:
És mi lesz az? Te is NIK-es vagy, mint kemi, igaz? Akkor neked is valami kinektes cumót kell csinálni?


Nincs olyan, hogy kell, azt választasz témának, amit akarsz. Persze, legyen értelmes.

TCH írta/wrote:
Minek neked winfos az OSX mellé? Linux mellé még megérteném, ha az ember jusztis játszani, vagy fotosoppolni akar, de OSX mellé minek? Mit tud a winfos, amit az OSX nem?


Photoshop pl. pont lenne OSX-re, bár azzal én nem élek. (Apple mindig is erős volt az audiovizuális sw-k fejlesztői között kezdve a kiadványszerkesztéstől a pixelgrafikán át a videóvágásig és a zeneszerkesztésig) Amivel időnként játszok (SC2, Minecraft) az is van. Viszont munkához kell Visual Studio, ami meg nemigazán van OSX-re.

TCH írta/wrote:
Ezt mesélted, hogy a PH-tól mindenki lelépett. Kár érte, bírtam Szatiékat.


Szatiéknak egyedül csak a fizetőképességével és az üzleti érzékével volt gond :)


TCH  (statz) Főfasz
#1, Főfasz (10443)
2495 | #1c35 | ^ | Idézet | Sun, 29 Apr 2012 11:19:48 +02
46.107.*.* Unknown Unknown Hungary *.catv.pool.telekom.hu
saxus írta/wrote:
Látom, nem értetted meg a példát: adott egy funkció, amely kliens oldalon így, szerver oldalon úgy működik.
A példát értettem, a megoldásod miértjét nem értem.
saxus írta/wrote:
nem opcio az if (kornyezet == szerver) módszer. Itt ha egy függvénypointert adnál át, nem tudnál adatbázist vagy hálózati réteget átadni csak mondjuk globális változón, ami meg megint egyéb okok miatt nem nyerő megoldás.
Miért akarnék átadni fptr-t? Miért raknék bele elágazást? Van két db függvény, ugyanazzal a névvel overloadolva, egyik helyen ezekkel a paramokkal hívom meg, másikon a másikokkal. Mi ezzel a baj?
saxus írta/wrote:
Persze, ha akarod, nevezd szemétnek
Dehát ha egyszer az.
saxus írta/wrote:
csak azon is fuss egy kört, hogy a takarítást helyből párhuzamosan csinálta a GC anélkül, hogy nekem ezzel bármi dolgom lett volna.
Várj...

Na futottam egy kört (ill. háromszöget, lusta voltam további szögeket számolni egy kört megközelítő alakzathoz). Alatta azon agyaltam, hogy tök jó, hogy a GC megcsinálja helyetted azt amit neked kéne és ráadásul kérdés nélkül és láthatatlanul.
Annyira ismerős valahonnan.
Jaigen, tudom, a túlokos programok csinálnak ilyet, amik helyettem akarnak gondolkozni és dönteni. És az ilyet rühellem, mert egyfelől idegesítő, másfelől én a nem létező kutyámat nem bíznám rá egy ilyen túlokos program döntéseire, nem hogy a memóriakezelést.
saxus írta/wrote:
Ettől még az sem fog a memóriában hagyni hosszú távon olyat, ami nem kell.
Természetesen. A gép GC-je, a reset majd elbánik vele. :)))
saxus írta/wrote:
Photoshop pl. pont lenne OSX-re
Erről beszéltem. :P Hogy Linuxon nincs fotosopp, tehát ott még értem, ha van mellette winfos, de OSX-en van fotosopp, tehát nem kell külön arra egy winfos.
saxus írta/wrote:
Viszont munkához kell Visual Studio, ami meg nemigazán van OSX-re.
Nincs az OSX-nek valami überfasza emulátora? Parallel, vagy mi az isten? Nem megy benne?
saxus írta/wrote:
Szatiéknak egyedül csak a fizetőképességével és az üzleti érzékével volt gond :)
Azzal sem lett volna, ha nem B. "Mr. P0rnwatcher Mikulásosszkenárió" Gáborra bízták volna a BC-t. :P
http://www.r-sy.com/hotmail/
Így lehet feltörni a hotmail akkantokat. Mikrofos szekuricsi. XD


saxus  (statz) Agyfasz
#9, Agyfasz (419)
3420 | #1c36 | ^ | Idézet | Sun, 29 Apr 2012 18:28:24 +02
84.3.*.* Unknown Unknown Hungary *.catv.pool.telekom.hu
TCH írta/wrote:
Miért akarnék átadni fptr-t? Miért raknék bele elágazást? Van két db függvény, ugyanazzal a névvel overloadolva, egyik helyen ezekkel a paramokkal hívom meg, másikon a másikokkal. Mi ezzel a baj?


Akkor nem ertetted meg a peldat: nincs ket db. fuggvenyed. Egy darabod van, attol fuggoen, hogy kliens vagy szerver oldal. Raadasul azt a fuggvenyt mashonnan hivjuk, ahol semmilyen informacio nem all rendelkezesre, hogy kliens v szerver oldal. (Mint ahogy normalis esetben sem a DB sem a network layert nem erheti el, mert azoktol nem fugghet, mivel az egy onallo komponens.

Mondom a kodot:

// Kozos reszek egy db assemblyben, ami semmit nem tud a szerverrol vagy a kliensrol, mivel tok altalanos es felhasznalhato mas, teljesen egyedi proejktben.

public interface ISomethingProvider
{
  public Bar GetBar();
}


public class FooFunction: Function
{
  private ISomethingProvider _provider;

  public FooFunction(ISomethingProvider provider)
 
  public ... DoWork(...) 
  { 
    ...
    var cucc = _provider.GetBar();
    ...
  }
}


// Csak a szerver oldalon levo resz:

class IlyenSomethingProvider: ISomethingProvider
{
  private IDbConnection _db;

  public IlyenSomethingProvider(IDbConnection db)
  {
    _db = db;
  }

  public Bar GetBar()
  {
    // db-bol valo kiolvasas
  }
}


// Kliensoldali implementacio

class OlyanSomethingProvider: ISomethingProvider
{
   ... hasonlo, csak IDbConnection helyett itt pl. egy IClientHandler -t kap, amely a szerver fele kuld egy kerest.
}



Es igy tovabb. Lehetne meg ragozni (pl. van teszteleshe van FakeSomethingProvider, ami csak egy konstans erteket ad vissza es nincs kulso fuggosege) vagy a kliens-szerver-hez meg be fog jonni egy masik jellegu kliens, ami a frontend szervereken fog futni. Mint lathatod, a FooFunction (amely a scriptrendszerem resze) mukodese valtozhat aszerint, hogy en kivulrol hogyan parameterezem fel.

Valoban nem lesz kevesebb kod. Viszont igy az egesz scriptrendszer megmarad egy onallo rendszernek es nem fog fuggni a db-tol, halozattol, stb.

Egyebkent ezt hivjak strategy patternnek, amikor a valtozo funkcionalitast kiszervezik osztalyokba.



TCH írta/wrote:
Nincs az OSX-nek valami überfasza emulátora? Parallel, vagy mi az isten? Nem megy benne?


Parallels az egy virtualizacios sw, mint a vmware vagy a virtualbox. Mellesleg OSX-re desktop virtualizaciora a legjobb. Az emulatorokban es hasonlo kerulomegoldasokban - foleg egy ilyen sw eseten, mint a VS, ahol azert elegge alapoz a Windows jonehany szolgaltatasara, pl. debuggolasra - nem mernek hasznalni ilyet. Melora nekem uzembiztos megoldas kell, nem olyan, amit folyton takolni kell, a'la wine.

TCH írta/wrote:
Azzal sem lett volna, ha nem B. "Mr. P0rnwatcher Mikulásosszkenárió" Gáborra bízták volna a BC-t. :P


Rohogni fogsz, de miutan jol kiosztottuk egymast, hogy nem, en nem akarok projektvezeto lenni es o se akarjon infot adagolni vagy muszaki dologba beleszolni, egesz jol lehetett vele dolgozni. :)

Ui. csinalj mar valamit a quote scripteddel, hogy mindig a vegere szurja be. Es ha nincs ket enter jel a vegen, azt is tegye oda. Kurvaidegesito, mikor a szoveg kozepere rakja.

Ui2: latom, hogy erolkodsz a hotmaillel. Leszarom, elcsesztek, ezen nincs mit ragozni.


saxus  (statz) Agyfasz
#9, Agyfasz (419)
991 | #1c37 | ^ | Idézet | Sun, 29 Apr 2012 18:33:35 +02
84.3.*.* Unknown Unknown Hungary *.catv.pool.telekom.hu
Ja igen, mielott mondanad, hogy miert nem csinalok ServerSideFooFunction meg ClientSideFooFunction -t. Azert nem jo, mert amit a scriptszerkesztoben osszerak az ember, az futhat kliens es szerver oldalon is. Raadasul szerkeszteni ugye csak kliensoldalon tudjak, igy mindket helyen mukodnie kell. Raadasul, ha kettot irnek belole, (ugyanazok a szamitasok, ami a lekerdezes korul van), akkor ketto kodot kellene karbantartaom. Persze, lehetne template method patternt is hasznalni, csak akkor meg azzal szivnam meg, hogy mindenkepp kell egy megfeleltetest csinalni, hogy akkor most a FOO fuggvenyem az most hol milyen Foofunction leszarmazott.

Tisztabb, ha egy logika van, es a valtozo adatot kiszervezem kulon osztalyokba es csak interfacen keresztul kommunikalok.

(Egyebkent ez az, amit nagyon elfelejtenek az OOP tanitasakor mindenhol, hogy a "feluletre fejlesztes" egy nagyon fontos sarokkove - lenne - az egesznek es nem csak esz nelkul csinalunk mindenre kulon osztalyokat.)


saxus  (statz) Agyfasz
#9, Agyfasz (419)
470 | #1c38 | ^ | Idézet | Sun, 29 Apr 2012 21:21:59 +02
84.3.*.* Unknown Unknown Hungary *.catv.pool.telekom.hu
Btw. memoriaszemet. Mint latod, egybol felszabadul, 8M foglalas meg csak azert van ideiglenesen, mert kozben indul egy masik szal, amely szinten hasznal. Persze, el tudok kepzelni olyan esetet is, amikor a GC inkabb ritkabban fut es hagyja lefoglalni a ramot pluszba (mert pl. sok van vagy nagyon sok kicsi foglalas tortenik amely ugy is felszabadul hamar. .NET-ben sem csak egyfele GC strategia van, hanem ami azt illeti tobbfele es azoknak is sokfele strategiaja van)


saxus  (statz) Agyfasz
#9, Agyfasz (419)
222 | #1c39 | ^ | Idézet | Sun, 29 Apr 2012 21:23:27 +02
84.3.*.* Unknown Unknown Hungary *.catv.pool.telekom.hu
Sot, tekintve hogy igazabol akkor szabadult fel, mikor kezzel rahivtam a GC-t, nekem inkabb ugy tunik, hogy fel se szabaditotta, hanem szimplan odaadta a kovetkezo futo threadnak. (Ugye a malloc onmagaban koltseges lehet.)


kemi  (statz) Főfasz
#2, Főfasz (2970)
421 | #1c3a | ^ | Idézet | Mon, 30 Apr 2012 09:12:43 +02
188.143.*.* Unknown Unknown Hungary *.pool.digikabel.hu
Felraktam az Ubuntu 12.04-et, és konstatáltam, az Ubuntunak még mindig nem sikerült megbékülnie a mikrofos egeremmel. :) Minden bootolás után ki kell húznom, és visszadugnom, hogy normálisan működjön. TCH, értesz hozzá, hogy lehet Linux alatt USB portnak, vagy egérvezérlőnek soft resetet kiadni? Akkor betennék egy olyan kis programot az indítópultba, és nem kéne húzgálni az egeret. :P Jut eszembe, te nem frissítettél?


TCH  (statz) Főfasz
#1, Főfasz (10443)
5659 | #1c3b | ^ | Idézet | Mon, 30 Apr 2012 17:15:08 +02
46.107.*.* Unknown Unknown Hungary *.catv.pool.telekom.hu
Most important:
saxus, PostgreSQL-ben mi a MySQL-es utf8_unicode_ci megfelelője? Mert jelenleg a DB-m hu_HU.UTF-8, ami sejtésem szerint a MySQL-ben a utf8_hungarian_ci megfelelője. Szal, mijaz és hogyan tudom belőni?
BTW, amúgy kurwa jó a PostgreSQL, csak még szokni kell, mert pár dolog máshogy van benne, mint MySQL-ben (mysql_insert_id() helyett a query-be RETURNING id kerül, LIMIT O, C helyett LIMIT C OFFSET O van, serialok ainc helyett), de legalább van, nem úgy mint szarakülben. :P
Ja és kipróbáltam ezt az Adminer nevű toolt, kurwa jó, egyszerre visz minden SQL-t.
saxus írta/wrote:
Es igy tovabb. ... Mint lathatod, a FooFunction (amely a scriptrendszerem resze) mukodese valtozhat aszerint, hogy en kivulrol hogyan parameterezem fel.

Valoban nem lesz kevesebb kod. Viszont igy az egesz scriptrendszer megmarad egy onallo rendszernek es nem fog fuggni a db-tol, halozattol, stb.

Egyebkent ezt hivjak strategy patternnek, amikor a valtozo funkcionalitast kiszervezik osztalyokba.
Most vagy nem értem, vagy ez arról szól, hogy van egy alaposztályod és annak van kétféle kiterjesztése?
saxus írta/wrote:
Melora nekem uzembiztos megoldas kell, nem olyan, amit folyton takolni kell, a'la wine.
Fostalicska vájnt nem lehet egy lapon említeni a paralellel.
saxus írta/wrote:
Ui. csinalj mar valamit a quote scripteddel, hogy mindig a vegere szurja be.
Érdekes. Ezt is most utólag szúrtam be. Legjobb tudomásom szerint a kurzorpozícióba dobja be a quote-ot. Teszteltem Operával, Chromeal, Firefoxxal. Safarival nem, de elvileg az is WebKit motor.
saxus írta/wrote:
Es ha nincs ket enter jel a vegen, azt is tegye oda. Kurvaidegesito, mikor a szoveg kozepere rakja.
Ez megoldható. (BTW, EZT IS utólag szúrtam be, mert a karbantartós részt citáltam először. Ha Safarit használsz, akkor dibaggold már ki, hogy miért nem megy. Ha meg azért nem ment, mert nem tetted a kurzort oda, ahova be akartad szúrni, akkor arról nem tehetek...)
saxus írta/wrote:
Ui2: latom, hogy erolkodsz a hotmaillel. Leszarom, elcsesztek, ezen nincs mit ragozni.
Mivan? Mi az hogy erőlködök? Mert bepostoltam egy linket? Akkor az mi, hogy lassan 100k-nyi OOP hittérítést okádtál ide? Különben sem neked ment explicit, hanem a közösbe...
saxus írta/wrote:
akkor ketto kodot kellene karbantartaom.
Így is, hát ha két külön dolgot csinál kliensen meg szerveren, akkor mindenképpen két kódod van, max több a közös rész.
saxus írta/wrote:
Tisztabb, ha egy logika van, es a valtozo adatot kiszervezem kulon osztalyokba es csak interfacen keresztul kommunikalok.
Hát én csak vakarom a fejem, mert az egy logika, változó bemenetek, interface kommunikáció az nekem tisztára a függvény/eljárás konyhanyelvi leírásának tűnik...
saxus írta/wrote:
Btw. memoriaszemet. Mint latod, egybol felszabadul, 8M foglalas meg csak azert van ideiglenesen, mert kozben indul egy masik szal, amely szinten hasznal. Persze, el tudok kepzelni olyan esetet is, amikor a GC inkabb ritkabban fut es hagyja lefoglalni a ramot pluszba (mert pl. sok van vagy nagyon sok kicsi foglalas tortenik amely ugy is felszabadul hamar. .NET-ben sem csak egyfele GC strategia van, hanem ami azt illeti tobbfele es azoknak is sokfele strategiaja van)
Herótom van attól, ha egy program nem azt csinálja amit mondok neki, hanem menet közben még ezerféle fasságot csinál. Aztán csodálkozunk, hogy lassssssssú meg zabálja a RAMot.
saxus írta/wrote:
Ugye a malloc onmagaban koltseges lehet.
Hógyne, legalább 11 dollár 99 cent zombiprocesszenként. :P
kemi írta/wrote:
TCH, értesz hozzá, hogy lehet Linux alatt USB portnak, vagy egérvezérlőnek soft resetet kiadni?
Gőzöm sincs, próbáld meg ezeket:
/etc/init.d/udev restart
/etc/init.d/usb restart
/etc/init.d/haldaemon restart
/etc/init.d/hotplug restart
kemi írta/wrote:
Jut eszembe, te nem frissítettél?
Nem. Csak akkor fogom lecserélni a 10.04-et, ha véget ér a támogatása, lévén (egyelőre) minden van rajta, ami (nekem) kell. Hogy utána 12.04-re frissítek-e, azt még nem tudom.
Ha lesz KDE3 12.04-re, akkor lehet. De az is lehet, hogy kipróbálom az Arch Linuxot. Vagy a Slackware-t. Vagy hagyom a Linuxot és összehegesztek egy asztali FreeBSD-t magamnak. De még az is lehet, hogy köpök az egészre és marad a 10.04. 2002-ig Amiga volt az elsődleges platformom és 2008-ig winfos98se. Sose voltam meghatódva attól, hogy überlatest rendszerem legyen. :P
Sz*rk: saxus, ha a quotebeszúrósdit nem úgy értetted, hogy miért a végére dobja, hanem, hogy éppenhogy dobja a végére, akkor lófaszt. Direkt van úgy, hogy a kurzornál szúrja be.
Az entereket beletettem. HBB+ örűllyé'. :P
Sz*rk2: http://hup.hu/cikkek/20120430/drew_curtis_hogyan_szivattam_meg_egy_patent_troll-t
Úristen bazdmeg. Egy buzi patent troll levédte amcsifődön a hírek emailben való terjesztését. Úr isten bazdmeg. Nem hiszem el. A hírlevél már több évtizede ismert, annyira triviális, mint atom és most jön valami csicska és levédeti, mert az az ő jogtulajdona, mert másnak ez még nem jutott eszébe. Mikor védeti le valaki a levegővételt, vagy az árammal való működést?!
Mindazonáltal legalább keményen beszopta. Én a patenttrollkodást halállal büntetném. Kínhalállal.
Drew Curtisnak respect, az amcsi jognak, meg atom.


saxus  (statz) Agyfasz
#9, Agyfasz (419)
4077 | #1c3c | ^ | Idézet | Mon, 30 Apr 2012 20:04:43 +02
84.3.*.* Unknown Unknown Hungary *.catv.pool.telekom.hu
TCH írta/wrote:
saxus, PostgreSQL-ben mi a MySQL-es "utf8_unicode_ci" megfelelője? Mert jelenleg a DB-m "hu_HU.UTF-8", ami sejtésem szerint a MySQL-ben a "utf8_hungarian_ci" megfelelője. Szal, mijaz és hogyan tudom belőni?


http://www.postgresql.org/docs/9.1/static/collation.html Szerintem csak "hu_HU" lesz neked és független a karakterkódolástól (igazából logikus lenne), viszont ha jól emlékszem, fel kell venned a DB-hez, mint elérhető collation (pl. a pl/pgsql-t is létre kell hozni a create language-al, mondjuk én be szoktam dobni a template1-be, aztán mindig lesz.) Viszont ott anyázhat, hogy nincs, akkor asszem csomagból kell hozzá telepíteni. Ilyen főleg a darabolós linuxokon fordulhat elő, pl. Debian. De hogy őszinte legyek, inkább konzultálj a doksival, mert talán ezer éve egyszer volt vele gondom, azt leszámítva soha.

MySQL-nél annál inkább, főleg, hogy ott bejátszottak (jó)pár éve egy olyat, hogy beraktak egy szar verziót a magyar collation-hoz, utána meg patchet nem voltak hozzá hajlandóak elfogadni, mert fú, hát ilyet nem lehet csak úgy adhoc módosítani, kellene valami hivatalos angol nyelvű leírás, hogy akkor hogy is van a magyar ABC rendezés szabálya (MHSZ-ből meg persze nincs MTA által certifikált angol kiadás :). Mondjuk ez még a Sünös idők előtt volt, mikor még külön MySQL AB. volt. Azóta csak helyrehozták már.

Pg-vel szinte soha nem volt problémám, igaz ott soha nem kellett random karakterkódolású, collectionú adatbázisokat örökölnöm, vagy ha mégis, ott is UTF8 volt.

Egyébként jó cucc ez a PgSQL, sokat tud, viszont alapból szeret elég szigorúan hozzáállni a dolgokhoz. Ami mondjuk szerintem nem baj. LIMIT offset,limit stílus meg MySQL sajátosság, viszont ugyanúgy megeszi a LIMIT l OFFSET o stílust.

A RETURNING záradék amúgy egy nagyon hasznos, hatékony bővítmény, főleg, hogy nem csak id visszaadására jó. Nekem pl. volt már nem egy táblám, ahol a default értéket pl. egy tárolt eljárás számolta.

TCH írta/wrote:
Most vagy nem értem, vagy ez arról szól, hogy van egy alaposztályod és annak van kétféle kiterjesztése?


Két teljesen totál független osztályom van, egyedül az interface-ban közös.

TCH írta/wrote:
Legjobb tudomásom szerint a kurzorpozícióba dobja be a quote-ot.


Igen. Pont ez a bajom. Vééégéééreeee...... Kurvaidegesítő, amikor írok valamit, eszembe jut, hogy még írok valamit az előző dologhoz, aztán scrollozok fel, hogy idézzek még, és hopp, bekurja a szöveg közeépre.

TCH írta/wrote:
Így is, hát ha két külön dolgot csinál kliensen meg szerveren, akkor mindenképpen két kódod van, max több a közös rész.


Épp ez az, nem lehet közösbe rakni, csak a felülete a közös: tudsz arról, hogy van néhány függvényed, amit tudsz használni valamilyen módon. De arról nem tudsz, hogy annak a néhány függvénynek mondjuk szüksége van X másik dologra, amelyet mondjuk esetenként át sem tudsz adni, mivel az adott context-ben nem is létezik.

TCH írta/wrote:
Hát én csak vakarom a fejem, mert az "egy logika, változó bemenetek, interface kommunikáció" az nekem tisztára a függvény/eljárás konyhanyelvi leírásának tűnik...


De bazdmeg, mit nem értesz azon, hogy a "változó bemenet" az NEM a hívás helyén változik? Ott, ahol meghívod a függvényt, ott lófaszt nem adsz át, csak egy adatot kérsz le. Nemhogy "változó bemenetként" adatbázis réteget vagy hálózatkezelést.

Szerintem direkt tetteted a hülyét :)


TCH írta/wrote:
Herótom van attól, ha egy program nem azt csinálja amit mondok neki, hanem menet közben még ezerféle fasságot csinál.


Akkor sürgősen nyergelj át mikrocontrollerre, mert a CPU is csak látszólag teszi lineárisan a dolgokat. Aztán, hogy a doboz belsejében éppen milyen matek alapján hogyan rendezi újra az utasításaid vagy éppen hogyan becsül elágazást, azt ne firtassuk ;)


TCH  (statz) Főfasz
#1, Főfasz (10443)
1284 | #1c3d | ^ | Idézet | Mon, 30 Apr 2012 21:08:57 +02
46.107.*.* Unknown Unknown Hungary *.catv.pool.telekom.hu
saxus írta/wrote:
Igen. Pont ez a bajom. Vééégéééreeee...... Kurvaidegesítő, amikor írok valamit, eszembe jut, hogy még írok valamit az előző dologhoz, aztán scrollozok fel, hogy idézzek még, és hopp, bekurja a szöveg közeépre.
Mi a tökömért raknám a végére? Direkt van így és így is marad. Oda szúrja, ahova kijelölöm, nem a végére. Ha annyira a végére akarod rakni, akkor nyomj egy End-et, quote előtt.
saxus írta/wrote:
De bazdmeg, mit nem értesz azon, hogy a "változó bemenet" az NEM a hívás helyén változik? Ott, ahol meghívod a függvényt, ott lófaszt nem adsz át, csak egy adatot kérsz le. Nemhogy "változó bemenetként" adatbázis réteget vagy hálózatkezelést.
Ja, értem, szóval az OOP-al feltaláltuk a globális változókat. :)
saxus írta/wrote:
Akkor sürgősen nyergelj át mikrocontrollerre, mert a CPU is csak látszólag teszi lineárisan a dolgokat.
Nem mondod...
saxus írta/wrote:
Aztán, hogy a doboz belsejében éppen milyen matek alapján hogyan rendezi újra az utasításaid vagy éppen hogyan becsül elágazást, azt ne firtassuk ;)
Szerintem se. És szerintem ne próbálj meg pont CPU-ból kioktatni. :P


saxus  (statz) Agyfasz
#9, Agyfasz (419)
1398 | #1c3e | ^ | Idézet | Mon, 30 Apr 2012 22:13:19 +02
84.3.*.* Unknown Unknown Hungary *.catv.pool.telekom.hu
TCH írta/wrote:
Ja, értem, szóval az OOP-al feltaláltuk a globális változókat. :)


Van elég sok nyomós oka, hogy nem divat a globális változó. (Unit testing problémái, miért is kellene X modulnak hozzáférni Y modul belső adatszerkezetéhez, stb.)

TCH írta/wrote:
Nem mondod...


De mondom. Mivel, ha valaki C-ben kódol, akkor nem azért kódol C-ben, mert azzal akar foglalkozni, hogy mikor melyik registerbe pakolja a dolgokat meg, hogy most registeren vagy stacken adjon át paramétereket a következő függvénynek, hogy gyorsabb legyen, az egyéb architekturális, mikroarchitektúrális finomságokról meg végképp nem beszélve, ha rendszert akarsz programozni.

Ugyanez egyel magasabb szinten, mikor alkalmazást fejlesztek, akkor kurvára nem érdekel, hogy most egy stringet hol, mikor hogyan buzulja be a ramba, hogyan csinálja az összefűzést, hogyan minimalizálja a memóriafelhasználást, stb. hanem az érdekel, hogy nekem van két stringem, amiből egyet akarok visszakapni. Vagy amikor API szinten gondolkodok, és egy API-t *használok*, kurvára nem érdekel, hogy pl. egy Kosár osztály hogyan valósítja meg a mentés műveletet, én egy Kosár objektumon akarok egy mentés műveletet meghívni.

Ha nem érted ennek az absztrakciós szintnek a lényegét, hát sorry, ne kódolj PHP-ben se, mert ott sem kell malloc()-al foglalkozni.


TCH  (statz) Főfasz
#1, Főfasz (10443)
1437 | #1c3f | ^ | Idézet | Mon, 30 Apr 2012 22:24:45 +02
46.107.*.* Unknown Unknown Hungary *.catv.pool.telekom.hu
saxus írta/wrote:
De mondom. Mivel, ha valaki C-ben kódol, akkor nem azért kódol C-ben, mert azzal akar foglalkozni, hogy mikor melyik registerbe pakolja a dolgokat meg, hogy most registeren vagy stacken adjon át paramétereket a következő függvénynek, hogy gyorsabb legyen, az egyéb architekturális, mikroarchitektúrális finomságokról meg végképp nem beszélve, ha rendszert akarsz programozni.
A nemmondod alatt azt értettem, hogy tudom, hogy hogy müxik egy proci, nem kell mondanod. Tudod, no shit sherlock. És képzeld ezzel a sok rizsával sem mondtál semmi újat.
saxus írta/wrote:
akkor kurvára nem érdekel, hogy most egy stringet hol, mikor hogyan buzulja be a ramba, hogyan csinálja az összefűzést, hogyan minimalizálja a memóriafelhasználást
saxus írta/wrote:
kurvára nem érdekel, hogy pl. egy Kosár osztály hogyan valósítja meg a mentés műveletet
Ez a mentalitás vezetett a winfosvisztáig, amikor a kernelt is fosnetben akarták megírni...
saxus írta/wrote:
Ha nem érted ennek az absztrakciós szintnek a lényegét, hát sorry, ne kódolj PHP-ben se, mert ott sem kell malloc()-al foglalkozni.
Nem a magasszintű programozás lényegét nem értem, hanem az OOP szentesítését.
PHP-ban meg muszáj kódolnom, mert azért fizetnek. (De egyébként PHP-ban sem szeretnék kódolni.)


English | Magyar
JS ki | CSS ki | Ékezetek ki | HiContrast
Lapozó:  (0 - 1424) 
<== | ==>
Ugrás a végére | Összes megjelenítése | Utolsó oldal
OpenOpera patches | Opera-SSL patches | Opera 12.15 source (Git repository) | Opera 12.15 source (Torrent) | Opera internal pages | Otter Browser Linux x64 - Qt5.15.2/QtWebKit5.602.1 (2024.04.27. 20:05)
OS for MC680x0 | OS for PPC | OS for Sparc64 | besztofbégéaefcé | CSÉNDZSLOG | WebToolz | DDG Shit Filter | Google Shit Filter | Progz | Fast CSS Box | Browser | OS | Agent | Statisztika | BBCode
Monospace font-family: Courier New | Browser default monospace
Email értesítő / Email notification ===> 
Keresés

Név: (max 255 byte)

Email: (max 255 byte) Nem kötelező!

Üzenet: (max 65536 kar.) 65536-0=65536




crap_vkn v4.34.0 by TCH
Thx to saxus for the escaped string decoder function (PHP), the realIP function (PHP) & the SQL handle layer (PHP), to thookerov for the int_divide function (PHP), to Jeff Anderson for the getSelText function (JS), to Alex King for the insertAtCursor function (JS), Flood3r for the new CSS styles, Pety for the spamprotection idea and some design and comfort ideas, MaxMind for the IP2Country database, famfamfam for the flags of countries and an unknown PHP programmer for the removeAccents function.



Kecskebaszók ide!