Nezlenivěli nám developeři?

neutral-conflicting-emotionsWindows XP to má definitivně za sebou. Microsoft definitivně ukončil jeho podporu. Čest jeho památce, byl to můj neoblíbenější operační systém. Dlouho jsem nevěřil, že najdu alespoň nějakou funkční náhradu. Naštěstí to zachránil Windows 7.

Co mě ale vrtalo vždy hlavou, jak je možné, že každým rokem potřebuju stále výkonnější počítač a přitom provádím ty samé úkony. Rád se na toto téma bavím s lidmi po pár pivech. Někdy přijdeme na odpovědi. Například FAT32 bylo potřeba nahradit NTFS, kvůli větším diskům. Ty jsme potřebovali kvůli práci s většími soubory. To byl nezbytný pokrok. Anebo novou architekturu procesorů potřebujeme pro virtualizaci. Ze stolního počítače lze udělat několik virtuálních serverů.

Plýtvání zdrojů

Před pár dny jsem četl zajímavé vlákno na webtrhu – Poptávám multihosting pro 35 webů – prosím o tipy. Vzhledem k tomu, že si snažím udržet přehled o českém hostingovém trhu, tak podobná témata bedlivě pročítám. Diskuze k tématu nebyla nijak zajímavá. Spíše ten offtopic.

Už delší dobu přemýšlím, co se stalo s optimalizací. Dnešní webhostingy poskytují opravdu luxusní prostředky a výkon. Zas tak moc se toho přece za posledních několik let nemohlo změnit. Uznávám, že robustní CMS jako WordPress ve snaze být všechno vyžadují trochu více. Popravdě pokud by jsem si dělal blogovací systém, tak by to byl jeden formulář v administraci, pár checkboxů na kategorie a to je všechno :)

Prostě mám pocit, že v dnešní době, když něco nefunguje, tak je potřeba si připlatit za vyšší výkon, místo toho aby se to řešilo.

Optimalizace znamená myslet jinak

Popravdě když jsem začal dělat první projekty v PHP, tak jsem nikdy na žádná omezení nenarazil. Tedy krom prvních pokusů na webzdarma.cz, kde hráči mé online hry vyčerpali hodinové SQL dotazy během pár minut. Věděl jsem, že moje hra potřebuje placený webhosting, ale než jsem se k tomu dostal, napadlo mě to optimalizovat. Nebylo to jen o snížení počtu SQL dotazů, což byl problém. Ale hlavně o tom začít myslet jinak. Do hry dopsal cache. Spousta informací, totiž šlo průběžně ukládat do session a koláčků k hráči. Sice se z hry stala z části “offlinovka”, ale hráč to nepoznal.

Jeden člověk mě poprosil o konzultaci u stránek pro dospělé (snad 10 let zpět, možná i víc). Používal nějaké placené řešení PHP+MySQL. Ačkoliv byla znát optimalizace, server nestíhal odbavovat velmi velkou návštěvnost. Řešením bylo koupit výkonnější server (v té době byly moc drahé) anebo koupit nové řešení postavené na tuším Pythonu. Místo toho mě napadlo zkusit stránky předgenerovávat. V podstatě tam nebyl žádný obsah, který se měnil (oželeli jsme hodnocení odkazů). Stačilo web jednou za cca hodinu znovu vygenerovat a bylo to. Jednoduchý skript vytvořil hromadu html souborů a ty se servírovali lidem.

Vím, že dnes jsou podobná řešení naprosto běžná, ale bavíme se o dobách, kdy jsem měl na kabelovém připojení limit 50 MB. Takže jsem surfoval s vypnutými obrázky :)

Závěr

Díky pokroku jsme pěkně zlenivěli. A to nejen virtuálně :)  Na druhou stranu určitě moc dobře víte, jaký je to super pocit, když něco vyřešíte. Ať už je to zapadnutá chybička někde ve skriptu, která vás pěkně potrápí anebo doprogramování nějaké jednoduchého vylepšení. To jen přikývnete a řeknete si “Jo jsem dobřej!”. Jenomže z vlastní zkušenosti můžu říct, že to není nic proti tomu, když si vezmete nějaký funkční koncept, posunete svou mysl do úplně nové roviny a pak to přetvarujete. Prostě tomu dáte nový rozměr. To se pak cítíte úžasně.

Zkuste to!


Jak bude reklama vypadat?
-
Kup si reklamu navždy pod tímto článkem jen za 100 Kč
Zobrazit formulář pro nákup

6 Replies to “Nezlenivěli nám developeři?”

  1. Windows jsou typická ukázka – DLL se nesdílí (jako třeba Borland balíčky), ale linkují se pro každé užití do paměti opakovaně. Pro každou pitomost se přidává celá knihovna, vše se řeší přes extrémně neefektivní a složité abstrakce. Takže běžný uživatel má ve Win podporu asi tak miliardy funkcí a pouhým puštěním Windows spustí desítky procesů na pozadí. 90 % z toho je holá zbytečnost, ale je to jednodušší než něco řešit a optimalizovat. Bohužel tento přístup je dnes běžný téměř všude. Než by někdo vymýšlel řešení, radši vykuchá nějaký framework, co na tom, že 3/4 funkcí v životě nepoužije…

  2. Moje rec. I z vlastnich zkusenosti muzu rict, ze klienti neschopnost web developeru resi nakupem noveho zeleza a v dnesni dobe to vychazi i levneji :)

  3. Tak já dělám ve firmě, kde centrálně vytápíme město teplem. A mohu popsat jak funguje zefektnění procesu. Cesta lidí kteří nakupují teplo od nás. Snaží se zateplovat domy, vyměňovat okna. Z naší strany zlepšuje se regulace, jsou efktivnější vyměníky. Takže na obou stranách dochází k úsporám na spotřebě energie. Jenže my coby firma máme stále náklady na chod sítě, ne už na výrobu energie (tepla) ale musí běžet čerpadla, musí probíhat údržba. Některé objekty se musí zmenšovat, protože byly projektovány na velkou spotřebu a finálně musí ta energie tedy zdražit. Protože jinak by nebyla funkční infrastruktura a tak to bude u všeho. Ušetří se nergie, ušetří se výkon, ale stále na pozadí bude potřeba investice do chodu sítí, vývoje….

  4. Pod tohle se mohu podepsat, namísto cílené optimalizace se hlavně ve větších firmách snaží vše spasit nějakým frameworkem, případně pouze tím “jediným” správným tj. Zend.

    Výsledek u malých-středních projektů tj. 99% webů je léčba pacienta zabitím. Přitom PHP jako takové musím zaklepat se i v nejnovějších verzích drží celkem na uzdě (výkonnostně).

    Několik let zpět na to napsal zajímavý článek sám tvůrce PHP Rasmus, myslím, že se to jmenovalo no-framework MVC framework.

  5. Je to o lenosti. Vývojáři dneska ani neudělají základní věc jako minifikaci souborů (max. 5 minut času) a to v době, kdy lidé prohlíží web z velké části na mobilech. Přenos co nejméně dat by pro mě měl být hodně důležitý (alespoň dokud bude existovat FUP, pak zase zleniví).

  6. Ona je to otázka, každá optimalizace něco stojí… A teď ta zásadní otázka:

    A) Chcete hezký kód bez optimalizace, který vygeneruje 6 SQL dotazů?
    B) Chcete kód, kde po roce nikdo nic nepochopí, ale vygeneruje 1 SQL dotaz?

    A) Chcete platit optimalizaci, která nemusí mít jasný výsledek
    B) Jednorázově koupíte lepší železo

Comments are closed.