IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Drahomír Hanák:30.4.2013 22:42

Dnes jsem narazil na tohle video. Dost mě nadchlo, tak jsem se rozhodl, že ho s vámi budu sdílet :) http://www.youtube.com/watch?…

 
Odpovědět
30.4.2013 22:42
Avatar
Martin Dráb
Tvůrce
Avatar
Martin Dráb:1.5.2013 20:21

Na mě to působí jako relativně klasická přednáška na téma "open source je super". Což podle mě není zdaleka vždy pravda. Na druhou stranu tam nezazněl mnou nenáviděný argument, že velká výhoda open source tkví v tom, že si můžeme stáhnout zdrojové kódy a vše si upravit tak, jak potřebujeme.

Rozhodně existují open source projekty, které jsou kvalitní a existují i projekty, které moc kvalitní nebudou. Tak tomu bude i v closed source sféře. U open source mi obecně vadí míra a úroveň dokumentace a případně i kvalita zdrojového kódu, když se v něm musím hrabat. Je jasné, že poslední bod nelze na closed source příliš aplikovat.

Mám například zkušenost s Virtualboxem 1.6. Zdrojový kód se tam dal rozdělit na dvě části: ten vysokoúrovňovější byl slušně komentovaný a i slušně vypadal. Kód nižší úrovně nebyl komentovaný prakticky vůbec a vypadal o dost hůře. A pokoušet se upravit nekomentovaný a nepřehledný kód tak, aby dělal to, co potřebuju, to je zábava na dlouhé zimní večery.

Živelný vývoj je fajn věc. Otázka je, kolik z takto vzniklých větví nějakého projektu se nakonec ztratí/zahodí. Ono by pak čistě teoreticky vycházelo lépe mít nějaký plán a trochu to úsilí směřovat, otázka ale je, zda to jde nějak rozumně zařídit. Protože lidi nebudou pracovat tolik, pokud nedělají to, co chtějí.

Nahoru Odpovědět
1.5.2013 20:21
2 + 2 = 5 for extremely large values of 2
Avatar
Odpovídá na Martin Dráb
Drahomír Hanák:2.5.2013 11:03

To hodně záleží na komunitě, která ho vyvíjí. Mám zas zkušenosti s Nette, které má hodně dobrý kód i uvnitř, dokumentace a tutoriály jsou taky v pohodě. Tak to je u spousty knihoven a frameworků, které používám a rozhodně je to lepší, když na tom dělá komunita, než kdyby to dělal jeden člověk. Je fakt, že jsou tu i hodně nekvalitní projekty, ale vždycky si můžeš vybrat, co budeš používat :)

 
Nahoru Odpovědět
2.5.2013 11:03
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Martin Dráb
Kit:2.5.2013 11:18

Špatně napsaný kód můžeš přepsat, špatnou dokumentaci také. U closed source jde vlastně jen to druhé, ale v závislosti na licenci často nelze ani to.

Jde o to, že mnoho programů je de facto open source ať chceme či ne. Takové PHP se kompiluje pro zákazníka jen výjimečně, Javascript je dodáván ve zdrojové formě i koncovému klientovi.

Nahoru Odpovědět
2.5.2013 11:18
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Martin Dráb
Tvůrce
Avatar
Martin Dráb:2.5.2013 12:38

Špatně napsaný kód můžeš přepsat, špatnou dokumentaci také. U closed source
jde vlastně jen to druhé, ale v závislosti na licenci často nelze ani to

Ano, všechno se může přepsat, ale když hledám nějaký open source projekt, který bych rád použil, tak se nerad zdržuju nějakým přepisován*ím, popř. sáhodlouhým přemýšlen*ím, jak ten zdroják vlastně funguje. Ideální je, když je zdokumentované venkovní rozhraní a člověk ho může jen použ*ít, popř. drobně upravit.

Argument "můžeš si to upravit, jak chceš" obecně nemám rád, zejména pokud se tato možnost považuje za obrovské plus při vysvětlování výhod open source nějakému BFU. Tomu je totiž fakt, že si vše může upravit dle svého změnou zdrojáku, dosti k ničemu.

Jde o to, že mnoho programů je de facto open source ať chceme či ne.
Takové PHP se kompiluje pro zákazníka jen výjimečně, Javascript je dodáván > ve zdrojové formě i koncovému klientovi.

To je zvláště u webových aplikací pravda. Já webové aplikace dělám jen z donucení, takže tento stav moc nezažívám. Ale pořád je myslím možné použít obsfukátor na znepřehlednění kódu, pokud chceme, aby jej zákazník nějakým způsobem dál nešířil.

vždycky si můžeš vybrat, co budeš používat

To se mi v poslední době moc nedaří. Buď nemůžu žádný projekt zabývající se oblastí, kterou potřbuju řešit, najít, nebo nalezený projekt řeší můj problém pouze z menší části, nebo je jej třeba prakticky celý přepsat, protože já ten kód spouštím za podmínek, se kterými jeho autor nepočítal.

Například bych teď rád našel nějakou open source implementaci traceroute přes UDP a TCP. A to klidně napsanou prasácky v rámci několika málo podprogramů. Já ten kód stejně musím z velké části přepsat, takže pokud si někdo udělá krásný návrh, tak mi jen přidělá práci (stalo se mi asi u dvou projektů, které jsem našel). Ideální na toto se ukazují různé ukázkové příklady ke článkům, bohužel zrovna na to tracert se mi nepodařilo nic najít.

P. S. Je fakt, že bych asi o kvalitě kódu tady neměl moc mluvit, když se tu chystám zveřejnit jeden projekt včetně zdrojových kódů... a napsat kvalitní kód, pokud se jedná o utlitu, která vznikala ve spěchu, není zrovna legrace.

Nahoru Odpovědět
2.5.2013 12:38
2 + 2 = 5 for extremely large values of 2
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Martin Dráb
Kit:2.5.2013 12:49

Pokud chci, aby zákazník můj kód dál nešířil, dá se to ošetřit smluvně. Obfuskace pak není třeba dělat.

Traceroute si za chvíli napíšeš sám. Je to jen upravený ping...

Nahoru Odpovědět
2.5.2013 12:49
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Martin Dráb
Tvůrce
Avatar
Martin Dráb:2.5.2013 12:58

Traceroute si za chvíli napíšeš sám. Je to jen upravený ping..

V zásadě ano. Jen bych rád měl nějaký rozumný zdroják, podle kterého bych postupoval. Ono asi půjdu podle ICMP traceroute, která mám již hotové a snad se trefím, když místo ICMP paketů budu posílat UDP/TCP :-).

Nahoru Odpovědět
2.5.2013 12:58
2 + 2 = 5 for extremely large values of 2
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Martin Dráb
Kit:2.5.2013 13:11

Jenom budeš měnit TTL a sledovat, který router ti odpověděl.

Editováno 2.5.2013 13:11
Nahoru Odpovědět
2.5.2013 13:11
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.