Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Tomáš Vondra

Stran: 1 ... 4 5 [6]
76
Vývoj / Re: Vyplatí se víc Perl nebo C++
« kdy: 26. 12. 2010, 22:18:54 »
Docela mě tento thread zaujal.
Tomáš Vondra: Můžete doporučit nějaký Java framework (jak píšete), případně něco (text, knihu, nástroj, cokoliv) pro "odpíchnutí" nového Java programátora správným směrem?
Stejně jako dotazovatel mám zkušenosti pouze s PHP + základ Perlu.
Takovým nekorunovaným králem je ve světě Javy Spring Framework. Resp. dnes už je to balík víceméně nezávislých frameworků které se dají nějakým způsobem intergrovat vzájemně i s jinými frameworky. Hlavní části (pro začínajícího web developera) bych označil toto

  • Spring Framework - naprostý základ, řídí "assembly" celé aplikace, tj. kdy se jaké komponenty vytvoří, jak se budou odkazovat, atd., základem je "inversion of control" design pattern
  • Spring Web Flow - řeší navigaci mezi stránkami, v podstatě "controller" v MVC patternu

Další komponenty řeší bezpečnost, web services, integraci s Flexem, batch apod.

Netvrdím že je to ve všech ohledech nejlepší framework, nicméně je nejpoužívanější (a v jistém smyslu i nejkompletnější). A hlavně frameworky vesměs základní principy sdílí, takže naučit se jeden framework v podstatě znamená naučit se základy všech. Víceméně se jedná o "design patterns" typu "inversion of control", MVC apod.

77
Vývoj / Re: Uplatním znalost Smalltalk v praxi?
« kdy: 26. 12. 2010, 22:04:15 »
Jistě, i skladník ve šroubárně si může přečíst Verglllia v originále.

Vergilius psal ve SmallTalku? :)
Ano, svá ranná díla údajně psal ve SmallTalku. Bohužel byla všechna zničena během požáru Alexandrijské knihovny, dochovaly se pouze latinské kopie.

78
Vývoj / Re: Perl / C++. Co sa oplati viac?
« kdy: 26. 12. 2010, 21:55:21 »
Pro větší projekty používám Javu, pro menší PHP (zejména když nevím kde přesně to poběží - jestli tam bude JVM apod.). Je fakt že PHP spoustu věcí nativně neumí (např. "application context" apod.) ale dá se s tím žít a čistota kódu je primárně záležitostí programátorské disciplíny.

Osobně bych vyzdvihl hledisko velikosti "ekosystémů" jednotlivých platforem. V rámci webových aplikací v tomto ohledu myslím celkem jednoznačně vede Java - různých aplikačních serverů, frameworků apod. existuje velké množství od mnoha dodavatelů.

Další platformy (.NET, Python, Ruby) nemohu přesně posoudit, i když mi některé vlastnosti přijdou "elegantněji" vyřešené než u Javy.

Perl/C++ - to bych IMHO pro web moc neuvažoval, leda snad že bych měl napsaný projekt a chtěl mu s minimem úsilí doplnit webové rozhraní. Ale i s ohledem na uplatnění na trhu práce bych to moc nedoporučoval.

79
Vývoj / Re: Jak začít s programováním DB?
« kdy: 26. 12. 2010, 21:30:26 »
je to nesouhlas. Modelovani a navrh se nelze naucit, zrovna tak jako se neni mozne naucit zpivat jak Gott a nebo kreslit jako Picasso. Je to vyhrazeno jen male skupine populace a takovi lide by se urcite neptali, jak se naucit programovat DB, to uz davno nejak intuitivne vedi.

'Zprasene' navrhy nejsou podle me tedy vysledkem nezajmu o teorii, ale pouze vestavena vlastnost relacnich systemu. K tomu, aby optimalne ty systemy fungovaly je nutne, aby znacna cast pracovniku mela ty 'nadlidske' schopnosti. Protoze to v lidske spolecnosti nelze dosahnout, musite pak k tem 'nefunkcim' aplikacim prijit Vy, pan Stehule nebo par dalsich, kteri se s tim vyznaji a musite to opravit. To by vlastne pro ty schopne nebylo tak spatne, ale i pro ne ma den jen 24 hodin.

S tím že by se modelování a návrh nešlo naučit nesouhlasím - netvrdím že každý je "natural born designer" ale na druhou stranu to není žádná raketová věda. Z větší části jsou to relativně jednoduchá pravidla která rychle "přechází do krve" ale samozřejmě je i pár oblastí kde je to tak asi není. Osobně si myslím že je to spíš o impulsech a vnitřní motivaci, nikoliv o tom že by to vývojáři nebyli schopni intelektuálně zvládnout.

Vemte si třeba normální formy - to je věc o které by měl mít ponětí každý DB vývojář. Ne, netvrdím že je nutné umět z hlavy přesnou definici jednotlivých normálních forem, ale vědět k čemu jejich porušení vede apod. Spousta vývojářů bohužel bere např. aktualizační anomálie jako nutné zlo, nenapadne je že vhodnou dekompozicí se jim lze vyhnout apod.

A nemohu mluvit za Pavla, ale pro mne opravování "zaprasených" návrhů představuje jednu z nejhorších forem mučení ...

80
Hardware / Re: Doporučte ergonomickou klávesnici
« kdy: 26. 12. 2010, 18:16:46 »
Ahoj,

Mozna sem dotaz nepatri, ale nevim kam ho napsat. Rozhodl jsem se koupit ergonomickou klavesnici. Pri prohlizeni  netu, jsem zjistil, ze se uz ale moc neprodavaji. Cim to je? Jsou prekonane? Jake doporucujete klavesnice a na co si mam pri vyberu davat pozor? Jde mi jen o psani nic vic od ni necekam. Diky.
Překonané samozřejmě nejsou, ale zatímco před pár lety měl "zkroucenou" nebo dokonce nějak "zlomenou" klávesnici v nabídce každý výrobce, dnes je za rozumné peníze neprodává téměř nikdo - v podstatě jen Microsoft a Genius, ovšem "vylepšené" o milion nesmyslných tlačítek na ovládání mailu, repráků, ... humus.

Doma mám Chicony KB-7903, ale bohužel už se nevyrábí / nelze ji koupit. Nástupnický model má podobný tvar, ale právě milion dalších tlačítek a dokonce touchpad. Nevím co budu dělat až mi doslouží :-(

81
Hardware / Re: Vysoký iowait zpomaluje kopírování
« kdy: 26. 12. 2010, 18:00:29 »
Jo, obcas se mi v dmesg ukaze:
INFO: task kjournald:2203 blocked for more than 120 seconds.
Jak už tu někdo poznamenal, IOWait znamená že disk aktuálně pracuje a musíte čekat než se dostane na vás. Tradičně se to stává při náhodném čtení (spolehlivý zabiják výkonu) nebo při zápisu když se vyčerpá buffer cache a čeká se na zápis na disk.

Co je to za disky a přes co je to připojené? Jaký souborový systém je na tom disku a jak moc je zaplněný / fragmentovaný?

Zkuste si nechat vypsat skutečnou rychlost zápisu na ten disk - například přes "iostat -k 1", to vám řekne jestli ta počáteční "OK rychlost" není jenom iluze.

82
Hardware / Re: IO vs. cukani
« kdy: 26. 12. 2010, 17:51:53 »
Tak, nakonec to nema s wifi nic spolecneho...
Jde o bezici procesy "kworker", ktere vytezuji procesor na 100% a proto se cuka ukazatel mysi i kurzor.
Aktualizoval jsem v tu dobu i jadro (z 2.6.35 na 2.6.36). Docetl jsem se, ze se jedna o jadro 2.6.36, ktere prave mam. Zrejme to souvisi s ACPI, PCI a prerusenim.
Ale to přeci ještě neznamená že to nesouvisí právě s tou wifi kartou, ne? Negeneruje hodně interruptů? Nechte si přes vmstat nebo dstat vypsat počet interruptů a sledujte jak se to mění během komunikace přes wifi.

To že to předtím nedělalo může být nějaká interakce např. s novým jádrem - zkuste zase to starší (pokud nepotřebujete nějakou vlastnost která je v 2.6.36).

83
Vývoj / Re: Jak začít s programováním DB?
« kdy: 24. 12. 2010, 17:20:46 »
Chci se naučit nějakou technologii víc do hloubky a následně ji využívat jak pro webové tak pro desktopové aplikace. Primární platforma je Windows, ale Linuxu se nebránim. Tušim že bych se měl učit: modelování a návrh DB, triggery, UDF.
Budu se opakovat, ale zkuste si sehnat ta skripta od Halašky. Základy modelování (Entity-Relationship Diagramy apod.), normální formy, normalizace, denormalizace - to všechno je tam poměrně pěkně vysvětleno. Autor tomu rozumí a navíc je to česky, což je na začátku velká výhoda.

Myslim že je FirebirdSQL super. Jenže má jednu velkou nevýhodu. A to je podpora na hostingách. MySQL se mi zdá jako krok zpět, o PostreSQL toho moc nevim, ale letem světem jsem se dočetl že neni moc výkonný.
To s tím výkonem (že je PostgreSQL pomalý) je takový vousatý stereotyp. Kdysi dávno se říkalo že MySQL je rychlá ale nespolehlivá, PostgreSQL je spolehlivý ale pomalý. MySQL si netroufám komentovat, nepožívám ji intenzivně, nicméně u PostgreSQL se situace radikálně změnila. Dovolím si ocitovat tabulku uvedenou v nové knížce od Grega Smithe, kde srovnává verze od 8.0 do 8.4:

vezepeak (read-only) TPSnumber of clients (at peak)
8.0.2112564
8.1.17562014
8.2.13810918
8.3.71398422
8.4.11356922
z čehož je vidět že tam je řádový nárust výkonu. Ale uznávám že to je syntetický benchmark, v praktickém nasazení se to může lišit (a to na obě strany!).

Co se týká sdílených hostingů s PostgreSQL, v ČR je situace žalostná - vesměs jsou to hodně staré verze (např. 8.1), zhusta zcela nevytuněné. Takže jedinou možností je buď vlastní server (byť VPS), nebo zahraničí (ale pak to zase nebude v NIXu).

Takže který systém je podle vás vhodnější kompromis, FirebirdSQL, nebo PostgreSQL?
Bohužel neznám Firebirda dostatečně dobře abych na to dokázal odpovědět. Ale pokládám to za zajímavou alternativu o které bych se rád dozvěděl víc - i z tohoto důvodu jsme se s Jiřím Císařem domluvili že na letošním P2D2 bude mít o Firebirdu přednášku.

84
Vývoj / Re: Jak začít s programováním DB?
« kdy: 24. 12. 2010, 17:01:57 »
IMHO je potřeba oddělit dvě roviny - teorii a její použití v praxi.

Teorii, zejména co se týká základů relační algebry a konceptů, to se ze žádného konkrétního produktu naučit nelze. Bohužel se to hodně podceňuje, spousta lidí rovnou skočí do nějakého produktu, nikdy si tuto díru ve znalostech neuvědomí a uniká jim část konceptů a principů - což následně vede k všelijakým prasárnám (dámy prominou).

mozna by se mel (nejen) OP nejdriv zamyslet nad tim, proc jste pouzil to spojeni spousta lidí . Proc jste nepouzil malokdo, vyjimecne ...
Nejsem si jist jak mám váš komentář interpretovat, jestli jako souhlas nebo nesouhlas s tím mým :(

Každopádně můj názor je že je fajn si nejdříve ošahat základy technologie - a je úplně jedno jestli to je MySQL, SQLite nebo DB2, protože různé advanced vlastnosti v dané fázi dotyčný neocení, a pak se pustit do té teorie. IMHO je pak jednodušší za tou teorií vidět konkrétní význam. No a pak zase k nějakému tomu produktu a učit se složitější věci. Pochopitelně to není striktně oddělené, ty "fáze" se prolínají. Ale je to můj osobní názor, někomu zase může vyhovovat nejdřív našprtat teorii a až pak se pustit do praktických pokusů ...

Každopádně těch lidí kteří nejsou "postižení" znalostí teorie je skutečně hodně, často to vede například k tomu že za standard pokládají chování konkrétního produktu, bez ohledu na jeho nesmyslnost, atd. O tom že terminologii používají velmi volně raději ani nemluvě. A když takový člověk napíše knížku, je to vesměs velmi smutné čtení - před časem se mi například dostala do ruky kniha ve které autor zcela vážně tvrdil že označení "relační" znamená že databáze dokáže zachytit vztahy (anglicky "relations") mezi tabulkami. Takovou knihu doporučuji zabalit do igelitu aby nekontaminovala okolí a velkým obloukem zahodit.

85
Vývoj / Re: Jak začít s programováním DB?
« kdy: 23. 12. 2010, 14:31:19 »
IMHO je potřeba oddělit dvě roviny - teorii a její použití v praxi.

Teorii, zejména co se týká základů relační algebry a konceptů, to se ze žádného konkrétního produktu naučit nelze. Bohužel se to hodně podceňuje, spousta lidí rovnou skočí do nějakého produktu, nikdy si tuto díru ve znalostech neuvědomí a uniká jim část konceptů a principů - což následně vede k všelijakým prasárnám (dámy prominou). Bohužel na teorii moc knížek neseženeš, a když seženeš tak jsou to vesměs über-teoretické bichle. Výborná jsou skripta od Halašky z FELu - má to cca 100 stránek, pěkně to shrnuje teorii i nějaké praktické základy. Stávalo to pár korun, k dostání to bylo ve skriptárně v Dejvicích.

Co se týká praxe, pro úplné začátky použij to co je nejjednodušeji dostupné. Není tvým cílem tři hodiny instalovat DB, cílem je učit se SQL. Ale počítej s tím že každá databáze má svoje "specifika" - pověstná tím bývala MySQL ale v ANSI režimu to údajně není tak hrozné. Osobně mám k MySQL spoustu výhrad, ale pro účely učení to asi není až tak špatná volba.

Stran: 1 ... 4 5 [6]