Vlákno názorů k článku Úvaha ohledně zneužívání LIKE v databázích od pavol - Dobry den, dufam, ze nebudem pososbit ako hnidopich,...

  • Článek je starý, nové názory již nelze přidávat.
  • 22. 4. 2009 11:16

    pavol (neregistrovaný)
    Dobry den, dufam, ze nebudem pososbit ako hnidopich, ale mimo inych veci mi udrelo do oci
    "Ano, takovému prznění originálních IS se říká customizace - aneb jak naučit IS, který prodáváme, dělat to, co nikdy neuměl a neměl umět, ale co naši obchodníci naslibovali a prodali. O co má programátor silnější prostředky, o to větší zrůdnost dokáže vytvořit. V některých případech dokonce i ke spokojenosti zákazníků.".

    Takze podla autora je spatne ked programator upravi IS tak, aby vyhovoval potrebam zakaznika a zakaznik si dokonca dovoli byt spokojny? No to je nehoraznost, ze sa vsetko nerobi na 100% podla zasad, ktore funguju hlavne na papieri. No a co ze je to o 40% lacnejsie? Ale nieje to ciste riesenie! A pozor! Ciste riesenie je az o 50ms rychlejsie! Ti dnesni programatori su strasni bastlici, ked to o tych 50ms nedokazali zoptimalizovat.

    IS sa v dnesnej dobe optimalizuje az v momente, kedy sa zisti, ze optimalizacia je potrebna. Inak povedane: nepchajme prachy do niecoho, co v konecnom dosledku nebudeme potrebovat. Najlepsi su frajeri, ktori su schopni spalit nehorazne mnozstvo prostriedkov na tom, ze nacitanie obrazovky zrychlili o 100ms.
    Autorove vedomosti z oblasti PG SQL su obdivuhodne, ale clanok je podla mojho nazoru trosku nestastne podany.
  • 22. 4. 2009 11:33

    Pavel Stěhule
    Mám jinou zkušenost - a to z obou stran, jak jako zaměstnanec zadavatele IS, tak jako zaměstnanec dodavatele IS. Téměř vždy jsme museli řešit problémy s výkonem - určitě se nejednalo o 50ms (spíš o desítky vteřin), a téměř vždy za tím byla nevhodná customizace systému.

    Optimalizace by měla být základní částí dodávky systému, což bohužel často není (považuji to za okrádání zákazníka) a provádí se v okamžiku, kdy systém je neúnosně pomalý. Optimalizace není o tom honit každou ms, ale o odstranění hrdel, ke zvýšení komfortu uživatele - a i jeho produktivity. To co jsem viděl ať už od českých nebo zahraničních dodavatelů bylo otřesné - a je to bohužel pravda, že zákazník je v It, za těžké peníze okrádán.
  • 22. 4. 2009 11:55

    LENIN POWER!
    optimalizace nemuze byt soucasti zakladni dodavky. Cena by pak musela byt vyssi a nekonkurenceschopna a taky ne kazdy zakaznik optimalizaci bude potrebovat.

    Proc by byl zakaznik okradan? Jakou smlouvu si s dodavatelem dohodnete takovou mate. Nemusite prece pristoupit na jakekoliv jeho podminky.

    Vy si treba porad jeste myslite ze treba oracle okrada lidi protoze by mohli pouzivat pgsql?
  • 22. 4. 2009 12:20

    Pavel Stěhule
    Označuje se to jako skrztá vada - a já bych to nazval nedodělek. Řada zákazníků si bohužel nechá nabulíkovat modré z nebe a sedne na lep - a nepřidá si do smluv doložku o třeba minimálních reakčních dobách na spec. hw a podobně.

    Z mého pohledu je to ovšem čistě nedodělek - poctivou práci si představuji jinak.

    Oracle lidi nekrádá, to jsem nikdy neřekl - pouze implementátoři jsou pijavice.
  • 22. 4. 2009 12:31

    LENIN POWER!
    oracle je ale snad nejkomplexnejsi db co kdy byla vytvorena. Skupina lidi co v ni umi dobre delat je dost mala. To proste nemuze byt levne.

    MSSQL je levnejsi a i lidi jsou levnejsi. Dodavat primarne mssql je ale blbost, velka konkurence - nevydelate si. DB2 zase neni popularni mezi malymi podniky. Proto se vsude cpe zakaznikum Oracle; zakaznici i dodavatele to miluji.

    Neni snad cilem podnikani maximalizovat zisk?
  • 22. 4. 2009 12:47

    Pavel Stěhule
    Maximalizace zisku je fráze tupých hlav z VŠE. Který mají jen ****** a kalkulačku místo mozku. Obyčejná krádež je např. maximalizací zisku. Nevěřím, že je to dlouhodobě udržitelná strategie. Navíc tahle víra generuje zmrdy. Já věřím v poctivý řemeslo. Nemám milión, ale na mým hrobě si lidi neodplivnou. To mi stačí. Časem na to možná přijdou i ostatní, že myslet jen na peníze je cesta do pekel.
  • 22. 4. 2009 13:02

    pavol (neregistrovaný)
    Tento Vas prispevok je vykrik do tmy. Zakaznik si ale o Vas nebude mysliet, ze ste odviedli poctive remeslo. Bude si mysliet, ze ste blbec :)
  • 22. 4. 2009 13:02

    Michal Kára (neregistrovaný)
    V tom pripade vezte, ze tenhle clanek rozhodne "poctivy remeslo" neni.
  • 22. 4. 2009 13:10

    LENIN POWER!
    Jenomze pro byznis kalkulacku misto mozku potrebujete. Kdyz nevydelate pujde vas byznis do kytek. Musite neustale pocitat co je pro vas lepsi. Kdyz jste liny nebo z ideovych duvodu nepocitate naklady verte tomu ze vase konkurence pocitat bude.

    Musite proto pouzivat to, co realne funguje a ne to o cem si zde lidi na rootu pisi ze by bylo idealni davat SW uplne zdarma a pak prodavat levne support. To proste nefunguje.

    Podnikani == penize, s tim nic nenadelate. Kdyz budete prodavat svoji praci levneji nez ostatni tak se zbytecne budete okradat a nic tim neziskate. Vdek? Zakaznici to rozhodne neoceni. Obema stranam jde v obchodu o prachy ja je chci vydelat stejne tak jako je chce zakaznik usetrit. Jde tedy kdo z koho; souboj na ferovku.

    Vsem idealistum rikam at mi poradi jak podle nich mam delat byznis, ja si to opravdu rad poslechnu.

    Kdyz mluvime o db. Mame me tu 3 db - oracle db2 mssql. Maly zakaznik by nejradsi mssql, ale na ten oracle se vetsinou da ukecat. na db2 ho neukecate pokud uz db2 nekde nema, coz mali zakaznici nemaji.

    Co podle vas mam delat? Delat jim to na mssql protoze si to preji s tim ze ja vydelam malo? Proc bych za stejnou praci mel dostat mene, kdyz muzu dostat vice? Nikdo takhle nejedna. Kdyz vam reknu muzete pro mne delat stejnou praci za $75k nebo za $60k co si vyberete? Kde je ta moralka s kterou mi tady machrujete?

    Proste chceme jako vsichni ostatni legalnim zpusobem vydelat penize. My delame IT, jini lidi nam uklizeji kancelare. Ale vsichni si chceme vydelat. Tak tenhle svet funguje.
  • 22. 4. 2009 13:42

    Pavel Stěhule
    Já svou práci nedávám lacino, ale snažím se ji dělat tak nejlíp jak umím, a snažím se u ní přemýšlet, nešidit ji. Někdo na to má, někdo ne, a někdo si to třeba nemůže dovolit. Jsem stavař, když něco ošidíš na stavbě, tak ti spadne, nebo ti tam bude zatékat, bude to promrzat, nebo se ti tam prostě bude špatně bydlet. Nejsem zvyklý nic šidit. Je celkem paradox, že domy, které se postavili teď za posledních pět let jsou kvalitativně o dost horší než ty, co se stavěly za komunistů - důsledek strategie maximalizace zisku. Každý ať si žije, jak chce, ty máš svůj byznys, já svůj - jen nechtěj, abych si tě vážil - já si žiju po svém, a v byznysu se snažím aby profit měli oba - já i můj zákazník.
  • 22. 4. 2009 13:47

    pavol (neregistrovaný)
    Nieje to pravda s tymi domami. Rozdiel je totiz ked si kupim skladany dom za miliom korun a rozdiel je ked si dam postavit tehlu s kvalitnymi materialmi za 7 milionov. Pokial kupim nieco lacne, nemozem cakat 100% kvalitu. Pokial si dam postavit za 7 mega dom a ten nebude v 100% stave, zazalujem firmu a vyhram.
    A presne o tom je - co si zaplatim, to mam.
  • 23. 4. 2009 0:45

    JS (neregistrovaný)
    Jestli to ovsem nebude signalovanim. Kdyz si koupite dum za 7 milionu, nebude pro vas patrne problem utratit dalsi milion za soud s nimi, a proto si daji vetsi pozor. Ne tak kdyz si koupite za milion.

    Osobne mam o teorii, ze kdyz nekomu "jen tak" zaplatite vic, ze automaticky dostanete vyssi kvalitu, silne pochybnosti.
  • 25. 4. 2009 0:54

    Tomáš Vondra
    Problém je v tom že spousta "profesionálů" vám za 7M prodá ten dům za 1M, ale bude vám tvrdit že to má přesně ty samé vlastnosti. Důležité je že když někomu něco dodávám, musím mu přesně specifikovat co to bude umět a co nikoliv.
  • 22. 4. 2009 13:17

    Lojza (neregistrovaný)
    Jenže jak říká majitel jednoho lokálního serveru - i programátor musí platit hypotéku.
    Ale to pochopíte, až budete mít rodinu s dětmi.
  • 23. 4. 2009 7:22

    kaapo (neregistrovaný)
    Ja myslim, ze se stale nechapete. Tady nejde o to delat zamalo/zadarmo pripadne veci ochcavat, ale kdyz uz neco delam, tak se snazim celek optimalizovat i z dlouhodobeho hlediska. Takze pokud neco oseru ted (aby to trvalo o 10% kratsi dobu), tak se mi to i s uroky vrati, az to budu muset upravovat/rozsirovat a sezere to daleko vic penez. A kde pak jsme s obchodovanim a povesti?

    Chapu ale, ze to je hodne o zkusenostech. Spousta poustupu se da aplikovat uz automaticky a nic moc navic to nesezere. Jen je o nich potreba vedet.
  • 24. 4. 2009 4:27

    BLEK. (neregistrovaný)
    Jeden člověk, co databázové aplikace dělá, mi tvrdil, že přesně tohle je "orientace na zákazníka" --- řešit pouze problémy, které zákazník má teď a tady. Klidně mu to osrat, ať mu to z dlouhodobého hlediska nestačí --- a pak si nechat zaplatit za ty úpravy. (naproti tomu "orientace na produkt" je klasický postup, kdy se člověk snaží produkt udělat dlouhodobě rozšiřovatelný).

    > "tak se mi to i s uroky vrati, az to budu muset
    > upravovat/rozsirovat a sezere to daleko vic penez."

    Paradoxně, pro tebe jako vývojáře je to pozitivní. A ten zákazník nepozná, že jsi mu to schválně osral.
  • 24. 4. 2009 18:06

    Petr (neregistrovaný)
    Bleku, pokud máš křišťálovou kouli a přesně víš, co bude zákazník potřebovat za rok, tak už se na to teď připrav. Já to třeba nevím, já věštit neumím. Ale moje zkušenost, podpořená i odbornou literaturou, je ta, že v průměru tohle odhadujeme špatně. Že je větší šance vyplýtvat přípravou na budoucnost, která nenastane, než ušetřit přípravou na budoucnost, která nastane. To je jako si do hor s sebou vzít zapalovací svíčky k vrtulníku XWV-3. Co když se mi tam náhodou něco stane, poletí mě zachránit horská služba vrtulníkem XWV-3, naloží mě, pak jim najednou odejdou svíčky - jak já budu rád, že je mám! A navíc stejně skoro nic neváží, co...

    Každá rozšiřitelnost systému je náklad, každá položka v konfiguračním systému, každé další konfigurovatelné nepřímé volání, to jsou všechno náklady. Protože musím uživatele naučit, aby je uměl používat (zdokumentovat to nestačí, a navíc zdokumentovat to dobře je taky drahé). A protože to musím podporovat i v budoucích verzích. Protože musím řešit další defect reporty na to, že ta přidaná věc nefunguje. A protože to je další místo pro security assessment. A protože se nakonec v systému pro jeho obludnost prase nevyzná, i když ten systém určitě umí úplně všechno. Viz /etc/sendmail.cf a celý "průmysl" následných aplikací na jeho vytváření a údržbu a na nekonečné root exploity přes něj vedoucí.
  • 24. 4. 2009 19:00

    Lael Ophir (neregistrovaný)
    To záleží na třídě aplikace. Levné triviality jsou zpravidla napsané dost natvrdo (a často prasácky, viz článek). Výrobci SW ale před mnoha lety zjistili, že mohou jeden produkt prodat více zákazníkům. Stačí napsat SW modulární, a dát mu nějaký customizing layer. Jednou napíšete, mnohokrát prodáte. U každého zákazníka pak nastavíte co je třeba, případně doděláte nějaký modul. Jen ve výjimečných případech je třeba změna v aplikaci jako takové. A i tehdy ji lze udělat správně a systémově, aby rozšiřovala možnosti celého produktu, a ne jen jedné implementace.

    Díky tomu třeba dnes policie zpracovává přestupy v Lotus Notes. Nebylo třeba psát novou aplikaci, nebylo třeba měnit kód Lotus Notes. Prostě se customizovalo, a něco málo se dopsalo. Ty samé Lotus Notes používá Allianz pro správu kontraktů. Projekční kanceláře zase často používají AutoCAD, výkresy zakládají do DMS systémů, a tam je verzují a schvalují. Opět není třeba žádná změna v AutoCADu.

    Když to shrnu: nemá smysl psát pořád dokola jedny a ty samé věci. Naučte se psát tak, aby se minimálně kód dal použít na dalším projektu. Ideálně tak pište celé aplikace.
  • 27. 4. 2009 18:27

    Petr (neregistrovaný)
    Produkt se vyplati jen od urcite velikosti trhu vyse. Lotus Notes ma stovky tisic implementaci? Miliony implementaci?

    Pracuji ve firme, ktera ma po svete zhruba desitku implementaci softwaru. Myslite si, ze je opravdu ekonomicke vyvinout produkt, jehoz velikost trhu je radove deset zakazniku, kazdy navic s jinou sadou ucetnich a danovych zakonu?
  • 30. 4. 2009 18:01

    Lael Ophir (neregistrovaný)
    To záleží od produktu. Obecně to můžete dělat i takhle:
    - Produkt není modulární, kód připomíná špagety.
    - Každý zákazník má svoji verzi zdrojáku aplikace.
    - Features se implementují na míru konkrétnímu zákazníkovi, bez ohledu na možnost užití feature jinými zákazníky (bez zobecnění problematiky, oddělení do modulu atd)
    - Znovu-použitelnost kódu je nulová.
    - Aplikační logika je na straně klienta, nejlépe rovnou v kódu grafického interface.

    Pak se ale bude postupně prodražovat údržba a rozvoj produktu, novému zákazníkovi budete muset vždy upatlat zvláštní verzi, a dříve či později to budete muset shodit ze stolu a přepsat. Viděl jsem to tolikrát... Přitom stačilo včas trochu přemýšlet, a teprve pak začít něco psát.
  • 24. 4. 2009 4:21

    BLEK. (neregistrovaný)
    Hypotéku nemám, rodinu taky nemám, jsem totiž psychopat a nejsem schopen vztahu se ženou.
  • 25. 4. 2009 0:51

    Tomáš Vondra
    No, trochu ze zaplétáme do cenové politiky jednotlivých firem ...

    V podstatě se asi dá souhlasit že Oracle je nejkomplexnější DB, i když teda nevím jestli to je pozitivum nebo negativum. Ono totiž spousta té komplexnosti je tam z historických důvodů a je to spíš koule na noze (pro zákazníky i vývojáře Oracle) než nějaká super výhoda. Každopádně Oracle prezentuje svoji db jako klenot, úměrně tomu nastavuje finanční podmínky.

    Co se týká MSSQL, tak tam je historie trochu jiná - MS cítil že mu v oblasti DB ujíždí vlak, a tak udělal to jediné co umí - koupil kvalitní hotový produkt od třetí firmy (v tomto případě Sybase) a začal ho tlačit ve svém balíčku produktů a v souladu s tím pochopitelně nastavil cenovou politiku.

    A k té maximalizaci zisku - jasně, ale Viktor Kožený také maximalizoval zisk ;-) Každopádně co si se zákazníkem ujednáte to máte, ale i u nás už si zákazníci umí udělat ROI analýzu a když zjistí že návratnost je nerealistická tak to od vás prostě nekoupí. A pokud chcete business provozovat delší dobu tak musíte dbát i na dobré vztahy a reference - pokud oškubete jednoho zákazníka, vězte že ostatní se to velmi rychle dozví.
  • 25. 4. 2009 1:05

    LENIN POWER! (neregistrovaný)
    Ja jsem nikdy na dobre vztahy se zakaznikama nedbal - Jedine co mne zajimalo jsou prachy. Chces zaplatit malo? Tak si jdi jinam.

    Ja se zakaznikama nesmlouvam, ja jim proste oznamuju kolik zaplati a vubec nemam moralni zabrany preprodavat sluzby indickych PHP patlalu s 1000% ziskem. Ja tomu rikam dobry obchod.
  • 22. 4. 2009 12:40

    pavol (neregistrovaný)
    Akym sposobom robite u nas vo firme ponuku(Cesky nabidku)? U nas dostane zakaznik presne vypocitane na com sa stravi kolko hodin, pripadne MD. Pokial chcem riesenie aj optimalizovat, musim na to niekde tie MD ziskat. Spravna optimalizacia je draha, a skutocne je hlupost ju riesit pocas vyvoja aplikacie pred prvou iteraciou nasadenia v ostrej prevadzke, pretoze casto neviete, kde tie bottlenecky budu - resp. kde budu zakaznikovi vadit.
    Optimalizovat obrovsky bottleneck, ktory sa spusti raz za den su vyhodene prachy, ale dolezite je, ze v case vyvoja aplikacie neviete, ktore casti budu ako pouzivane. Uzivatel moze deklarovat pocas vyvoja, ze vlastnost X je pre neho najdolezitejsia, a nakoniec zistite, ze kym aplikaciu nasadite, danu vlastnost uz vobec pouzivat nebude. Namiesto toho vyuziva vlastnost Y, ktoru pri podpise zmluvy skoro odmietol financovat. Po nasadeni mozte skoncit s vlastnostou X ktora bezi uplne bez problemov, ale usage je 2%, naproti tomu budete mat vlastnost Y, ktora pocas vyvoja nebola dolezita a usage je 10-15%. Toto su mimo ine skutocne velke nastrahy optimalizacie, kvoli ktorym sa ziadnej serioznej IT biznis entite nechce ist do velkych optimalizacii pred nasadenim IS.
  • 23. 4. 2009 11:28

    BoneFlute
    Jenom bych poznamenal, že Pavel nehovořil o optimalizaci, ale o návrhu. S optimalizací máte bezpochyby pravdu. Ale něco jiného je odbýt návrh (zbytečně nedodržené normalizační pravidla například) s pocitem, že to funguje.
    To, že se hranice mezi návrhem a optimalizací v praxi často stírá je smutná realita.
  • 25. 4. 2009 1:02

    Tomáš Vondra
    Během úvodního sběru požadavků a analýzy se rozhodně dají získat alespoň základní informace o způsobu používání systému včetně informací o počtu uživatelů a podobně. A netvrďte mi že ne, protože potom to není kvalitně udělaná analýza.

    Na základě toho se dá pravidelně dělat alespoň jednoduchý benchmark, který zjistí jestli to vyhovuje požadavkům nebo ne. To není žádná raketová věda, stačí skutečně celkem triviální test.

    Další věc je pochopitelně nastavení prostředí (aplikační server, connection pooly apod.) během nasazování do akceptace a produkce. To už je naprosto standardní věc kterou lze fakturovat, i když zákazníci na to často mají vlastní tým lidí (ale i ti budou potřebovat support od lidí kteří znají vnitřnosti).
  • 25. 4. 2009 0:37

    Tomáš Vondra
    Mám dojem že mluvíte jeden o koze a druhý o voze. Nevím jestli Pavlovi rozumět prostě nechcete a slovíčkaříte, nebo jestli neznáte proces specifikace "větších" systémů ...

    Součástí dodávky pochopitelně není ladění produktu na nejvyšší možný výkon, protože to zákazník většinou nepotřebuje a ani nechce. U každého většího systému (tj. víc než pár desítek člověkodní) by ale součástí specifikace a akceptačních podmínek mělo být SLA, tj. "service level agreement" tj. něco jako "Služba X při současné práci 100 uživelů dokáže 95% požadavků vyřídit do 5s, 99% do 15s a vyřízení žádného požadavku nebude trvat déle než 30s." To samozřejmě pro všechny hlavní součásti / služby systému, a vázané na konkrétní hardware.

    Bohužel většina zákazníků o tomhle buď neví nebo na to dlabe, takže sice mají systém se specifikovanou funkčností (a procházející akceptací) ale s nevyhovujícím výkonem, a nemají páku jak dodavatele donutit.

    A k tomu že optimalizace je "drahá" - ano, pokud se provádí na poslední chvíli tak často vyžaduje značné zásahy do architektury a to pochopitelně není levná věc. Ale to je chyba dodavatele, protože správný vývojový cyklus zahrnuje (byť třeba zjednodušené) testování výkonu už od ranných fází kdy se ještě architektura dá upravit relativně levně.
  • 22. 4. 2009 12:26

    pavol (neregistrovaný)
    Zakaznik dostane to, co si zaplati. Bezny programator podla mojho nazoru nieje schopny efektivne optimalizovat, specialisti nieco stoja. Ked stojim pred zakaznikom s projektom za radovo miliony CZK, a sam sa kruti aby co najviac usetril, nemozem mu navysit cenu este za optimalizaciu. Optimalizaciu si zaplati povedzme za rok, vtedy uz bude jasne kde su hrdla a vide to v konecnom dosledku lacnejsie, ako keby sme freneticky optimalizovali cely kod pocas vyvoja.
    A modelovy priklad:
    Pokial pri vyvoji IS stoji funkcionalita "prehladavanie emailov" u mna 500 tisic CZK a u konkurenta 600 tisic CZK, co myslite, kto dostane vo vacsine pripadov zakazku? Konkurent zakaznikovi nevysvetli, ze jeho riesenie bude rychlejsie, pretoze ho niekto bude optimalizovat.
    Mne by vyhovovalo, aby si zakaznik u m na optimalizaciu zaplatil uz pri vyvoji, ale sme v trhovej ekonomike a zakaznik tu dostane do bodky to, co si zaplati.
  • 25. 4. 2009 1:06

    Tomáš Vondra
    Problém je v tom že zatímco dodavatel chápe smlouvu stylem "co v ní není to nedodáme" tak zákazník to má přesně opačně, tj. "co v ní není to dostaneme automaticky."

    Takže pokud tam přesně nespecifikujete SLA ani neuvedete že důkladná optimalizace není součástí projektu, tak bude automaticky předpokládat že je. A bude se na vás vozit dokud to nedostane. Pokud tam dáte SLA, zákazník bude to samé chtít i po konkurenci. Pokud tam uvedete že důkladná optimalizace není součástí dodávky tak se zákazník zamyslí jestli to tak je dobře.
  • 22. 4. 2009 11:35

    backup (neregistrovaný)
    ...clanok je podla mojho nazoru trosku nestastne podany. ...

    krucinal, neumi uz nikdo dneska poradne cist - stoji tam ____ U V A H A _____
  • 22. 4. 2009 11:43

    sajfi
    Ne, tady nejde jen o zrychlení dotazu o 50ms. Tady jde o to, že z vylepšování IS stylem dolepování tabulek a atributů "teď to musíme rychle nějak udělat, zákazník to chce" se stává postupně časovaná bomba, která v budoucnu může napáchat hodně starostí nebo škod samotnému zákazníkovi, který ono vylepšení tak rychle potřeboval.
  • 22. 4. 2009 11:48

    backup (neregistrovaný)
    ale musite priznat, ze na te casovane bombe se podili cely IT prumysl, protoze to spravne je mnohdy velmi trnite. Neni podle me spravne ukazovat na uzivatele, kteri ze zoufalstvi hledaji reseni, chybu je hledat v arogantnim IT prumysl, ktery nedokazal za poslednich 40 let najit adekvatni odpoved na pozadavky uzivatelu
  • 22. 4. 2009 12:17

    Michal Kára (neregistrovaný)
    Ne, na te casovane bombe se podili vetsinou uzivatel, ktery uprednostni levne napraseni pred korektni implementaci, ktera je samozrejme drazsi.
  • 25. 4. 2009 1:08

    Tomáš Vondra
    Nesouhlasím s tím "samozřejmě". Ono to naprasení může být levnější v krátkodobém horizontu, ale když se k tomu připočtou náklady na řešení vzniklých problémů tak je to většinou výrazně dražší.
  • 22. 4. 2009 12:19

    pavol (neregistrovaný)
    Ano, stava sa casovana bomba, ale dolezite je to spojenie "zakaznik to chce". Pokial to zakaznik chce, tak mu to predam za konkurencieschopnu cenu, ak by som to tak neurobil, som blbec - okradam sam seba.
  • 25. 4. 2009 1:10

    Tomáš Vondra
    Pokud to zákazník chce tak se mu snažím vysvětlit všechny konsekvence, včetně základní analýzy nákladů, a když to chce i potom tak si nechám podepsat glejt že za to vůbec nemůžu.
  • 22. 4. 2009 11:51

    LENIN POWER!
    mam podobny nazor na optimalizace. Optimalizovat by se melo az kdyz je to potrebne.

    Navic pozadavky zakazniku na rychlost jsou znacne rozdilne, nekterym nevadi ze se mene caste dotazy zpracovaji nekolik minut, protoze jich za den spusti minimum.

    Ja treba zastavam nazor ze se maji pouzivat levnejsi reseni. Pokud je treba mozne pridat dalsi qcore procesor do masiny a zbavit se tak problemu s vykonem na nekolik let protoze se nepredpoklada narust pozadavku na vykon tak to vyjde ve finale vyrazne rychleji nez zamestnat lidi na optimalizaci, ktera navic muze zanest do dobre fungujiciho projektu bugy.

    Optimalizace na urovni db (indexy navic, locking execution planu) je obvykle bugfree. Taky se daji dobre zrychlit websphere aplikace pouzitim pureQuery runtime ktery se nacpe mezi jdbc driver a databazi. Umi zmenit SQL z dynamickeho na staticke a zamknout execution plany. Tim vyresi i problem SQL injekci.
  • 25. 4. 2009 0:22

    Tomáš Vondra
    No, ona je customizace a "customizace" - pokud ten IS umožňuje například doplnění vlastních workflow, políček k formulářům apod. tak je to zcela v pořádku. Problém nastává ve chvíli kdy se systém přiohýbá takovým způsobem o kterém se jeho autorům nesnilo ani v nejhorších nočních můrách (například právě to používání políček k různým účelům, apod.).

    A jak bylo řečeno, někteří obchodníci slíbí klidně i faktorizaci v lineárním čase jenom aby to prodali (aniž by věděli co to faktorizace vlastně je).

    A s touhle optimalizací "až když je potřeba" (rozuměj "Během vývoje se na to vy**rem a pak si budeme účtovat za služby.") mám celkem bohaté zkušenosti. U jednoho našeho klienta takhle "experti" už rok optimalizují CRM systém s ďábelským návrhem, a snaží se aby to na celkem nabušeném stroji mohlo používat aspoň 10 lidí naráz.

    Čímž netvrdím že se má všechno honit přes profiler jenom proto aby to bylo o 1ms rychlejší, ale alespoň základní úvahy o architektuře