spájame
slovenskú
IT komunitu
pridaj sa
Registrácia · Login
YaD

YaD


Overený používateľ, členom od 19.8.2011

(zatiaľ žiadne)

YaD nenapísal žiadne články/novinky

YaD napísal 8 komentárov

2 0 YaD 2012-08-21 12:56:06
Oprava, synchrónne ide programovať v akomkoľvek asynchrónnom serveri. Moja chyba.
4 0 YaD 2012-08-21 12:02:00
Node.js využíva asynchrónne IO, ktoré drtí v "Hello world" benchmarkoch synchrónne IO o niekoľko radov. Pokiaľ robíte serióznu aplikáciu, ktorá má mať vysokú dostupnosť, tak je asynchrónne IO tenký ľad (vertikálne škálovanie kódu, latencia servera).

Asynchrónne IO funguje na jednoduchom princípe, otvorí sa deskriptor na úrovni socketov, ten predá serveru (Node.js, Tornado, Twisted). Server niečo spraví, deskriptor uspí, zavolá synchrónne IO na DB alebo disk (bottleneck!) a keď dostane odpoveď, tak sa vráti do kódu (callback), zobudí deskriptor a zapíše odpoveď, zatvorí socket.

Záver? Nepomohli ste si nijako. DB alebo disk je zo svojej podstaty synchrónne IO, čo bude vyrábať hromadu sieťových deskriptorov (a čoraz viac ich bude spať), na ktoré treba odpovedať. Ale odpovedať ide naraz len na určitý počet (v GNU/Linux je by default dovolených 128 sieťových deskriptorov). Tiež každá odpoveď potrebuje jadro v CPU na odpoveď, pri dobrom kóde, dokážete spracovať cca. 2x toľko odpovedí naraz ako máte jadier (platí u synchrónnom IO a aj asynchrónnom IO - bottleneck!). Platí to pretože synchrónne IO zápasí s konkurenciou procesmi/vláknami, ktoré pridáva overhead, ale je zanedbateľný. Preto PHP tu prehralo, lebo si robilo procesy/vlákna, čo je v "Hello, world!" benchmarku bottleneck a to v reálnej aplikácií nie.

Jediné reálne využite je v Comet programovaní, ale tam by som použil radšej Tornado (s tým sa trochu hral), kde môžem miešať synchrónne IO a asynchrónne IO.

Btw DB môžte mať aj na druhom stroji, ale to vám nebráni si ju zahltiť, bez cachu ste jednoducho skončili a aj keby ste ho mali, tak pre plný potenciál ho je treba implementovať asynchrónne a... sme tam kde sme začali.
0 0 YaD 2012-08-07 22:47:44
MinGW by som príliš nebil. Je to minimalistický port GCC z Linuxu (Unixu) a tam sa vytvárajú ľahké procesy, ale vo Windowse sú ťažké (a GCC používa veľa pomocných (pod)programov).

Veľkosť binárky je ovplyvnená RTTI (Run-Time-Type-Information), ktoré príliš malé nie je. Keď sa vypne, tak sú aplikácie celkom malé.

Rýchlosť aplikácie závisí v 99% prípadoch od programátora samotného.

Inak držím palce s tutoriálom :).
0 0 YaD 2011-11-15 14:38:23
Ja si ešte dovolím poopraviť pár dezinformácií. Predpokladám, že hovoríš o user-friendly distrách.
Výhody Linuxu
4. bod - to záleží od filozofie distribúcie. Taký RHEL či SLED je pekelne konzervatívny. Ubuntu je v rámci vydania tiež konzervatívne.

Nevýhody Linuxu
2. bod - to je veľmi sporný bod, tak len dodám: niektorý softvér nemá zasa Windows (napr. Valgrind).

Čo sa týka samotného článku, tak musím povedať, že sa snažíš dať ľudom náhradu za Windows a GNU/Linux je alternatíva, čo je rozdiel. Napríklad mne sa podstatne lepšie programuje/kódi (tak pól na pól :P) pod Linuxom, keďže nástroje sú tu niekde inde ako vo Windowse (Visual Studio je záchrana, ale mne osobne nesadlo).

Ostatne, najväčšiu výhodu si nespomenul: sloboda. Ale tá ide ruka v ruke s chaosom :). Proste, ak sa mi niečo nepáči a existuje alternatíva, tak prejdem (viz. KDE 4, Gnome 3). Alebo unixový pôvod, ktorý zaručuje minimálne nejakú kvalitu, ale to je IT informácia.

Linux aj tak už používa väčšina :D (routre, telefóny - ak je stále Android považovaný za Linux, inteligentné zariadenia, servery, atď).

@Martin Maričák:
Licencia ako licencia, ale ako knižnica lepšie LGPL, BSD, CDDL, MIT či MPL :P.
0 0 YaD 2011-09-04 20:29:46
Trochu zovšeobecnené. Konvencie pre zápis premenných sú z Pythonu a pre metódy z CI.

https://gist.github.com/1193277
K článku C++ - 1. lekcia
0 0 YaD 2011-09-04 10:04:31
Ako vývojové prostredie môžem ešte odporúčiť CodeLite (www.codelite.org), ktoré je dosť prepracované, multiplatformné (wxWidgets, plus má pre neho podporu) a napísané v C++, takže paráda. Plus používa gdb ako debugger ;).
0 0 YaD 2011-09-02 00:00:18
@Moďerný Občan Niečo takéto: http://www.w3.org/TR/html401/struct/lists.html#h-10.3 ?
0 0 YaD 2011-08-19 11:34:47
Nechcem nejako vŕtať, ale... mám istý subjektívny dojem, že toto by nemal byť blog.