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 - noef

Stran: 1 ... 23 24 [25] 26 27 ... 60
361
Vývoj / Re:Aký funkcionálny jazyk?
« kdy: 21. 06. 2016, 07:17:50 »
Taky si myslim, ze Haskell je v pohode (doufam, ze se to tu nezvrhne ve flame, zda je/neni Haskell pure). Pripadne se muzes podivat na Frege (Haskell nad JVM).

O Elmu vim jen z doslechu, lidi si to celkem pochvalovali. Nevim, jestli duvod "kompiluje se to do oskliveho JS" je dobry - neni pravda, ze "Haskell se kompiluje do skaredeho strojaku"? U takto poradne typovaneho jazyka by snad nemelo prilis dochazet k reseni problemu na urovni nizsi vrsty (JS).

362
Studium a uplatnění / Re:VUT-FEKT / VUT-FIT / Mendelu ?
« kdy: 20. 06. 2016, 14:30:14 »
S FITem velmi opatrne. Psal jsem to tu nekolikrat, tak jen strucne - kdyz jsem nastupoval, tak se vsude vychloubali, jak skoro ze vsech predmetu maji videozaznamy, jak se vse streamuje atd. Realita nakonec byla takova, ze streamy jsou/byly pouze pro vyvolene (jen na nekterych kolejich) a prestoze ze zacatku byly zaznamy z celkem dost predmetu, tak casto bylo tempto zverejnovani zalostne. Na pulsemestralky vetsinou nebyvaly zadne zaznamy (tj. mesic po prednasce), obcas ani na semestralky (nekolik mesicu). Jak roky ubihaly, tak se snizoval pocet predmetu, kde se zaznamy porizuji s trapnym zduvodnim - "studenti nejvice stahuji zaznamy pred zkouskou". Jako WTF? S takovymhle oduvodnenim muzou zakazat stahovani studijni opory a slajdu a prestat pujcovat knihy... To vse pod heslem "zvysovani prestize". Nedivte se, ze pokud pred nekym z FITu uvedete spojeni "zvysovani prestize", tak bude podrazdeny. Puvodne slo ziskavat za projekty bonusove body a nebyly zadna minima ze zkousek. Pokud si student vyhral s projektem, tak se nemusel prilis stresovat se zkouskou. No, v ramci zvyseni prestize byly zavedeny minima snad ze vseho. Skoncilo to tak, ze se projekty resi "na projiti", protoze at mate sebevytunenejsi kod, seberychlejsi implementaci, sebelepsi reseni, tak je vam to z pohledu predmetu nanic.

Bakalar (statnice 2012) nebyl spatny - predmety mely hodne materialu, mely siroky zaber a byly dost prakticky cilene. Jedinny problem byla nemoznost jakehokoliv zamereni, ale to tu nekdo psal, ze se mozna zmeni. Pokud tedy bakalar zustane stejne prakticky zalozeny, tak vesele do toho.

Magistersky stupen (statnice 2015) rozhodne nedoporucuji. Materialy v dost predmetech neuplne, casty postoj "dostuduj si sam, me je to na haku". Prestoze si lze konecne zapisovat predmety a zvolit obor, tak student na ty lepsi predmety (= z oboru, zajimave) stejne nema cas, protoze se musi morit s teoretickymi predmety, ktere jsou spolecne pro vsechny (teoretcika informatika a matematiky jsou nejvetsi strasaci a zrouti casu). Prestoze ty lepsi predmety (oborove) byly vetsinou velmi dobre (napr. Biometrické systémy, Kryptografie nebo Návrh, správa a bezpečnost), tak ty teoreticke byly velmi spatne (kredity neodpovidaji casu [nanahnane v jednom predmetu - latky ja tak na 2-3 predmety!], zbytecne slozite materialy, nedobre vyucovane [nenazorne, monotonni, zbytecne slozite priklady, definice primo odporujici s definicemi stejneho pojmu v jinych vyucovanych predmetech], absence zaznamu).

Kdybych mohl znovu volit kam na magistra, tak bych zcela jiste zvolil (udajne) praktictejsi FI MUNI.

PS: Anglictiny bych se nebal, prestoze se probiraly veci, ktere jsme na gymplu nemeli, tak to nebyl zadny problem (nejtezsi bylo dojizdet kamsi do haje na hodiny - vedla se dochazka).

363
Server / Re:Výstavba domácího serveru
« kdy: 17. 06. 2016, 07:50:23 »
Jen k tomu Debianu bych chtel poznamenat, ze pokud to planujete mit dlouhodobe (domaci servrik provozuju pres 10 let), tak je celkem opruz to kazdych par let updatovat a resit, co vsechno se rozbilo. Jsem kvuli tomu presel na CentOS a doufam, ze to bude lepsi.

364
Software / Re:AdBlock selhává
« kdy: 16. 06. 2016, 12:56:16 »
prava mys na strance, "Blokovat prvek" tuknout mysi na blok dokud nevyberes spravnej a v zobrazenem okne (kde vidis i co to bude blokovat) tuknout na vytrvorit?

Dik. Se citim hloupej, jsem netusil, ze to po naklepnuti selektoru zobrazuje nahled, co to bude blokovat :D.

jinak uBlock Origin je oproti AdBlock mnohem mene narocnej na CPU, oproti AdBlockPlus nema whitelist domluvenejch neblokaci...
a doplnit o PrivacyBadger (misto Ghostery)...

Mensi narocnost je hezka a pusobi na mne tak nejak lip nez ABP. Kazdopadne se konkurence hodi, alespon neusina vyvoj ^^. Dik za tip, zkusim toho jezevce (ted pouzivam Ghostery, ale je myslim celkem narocne a casto prudi se znovu-nastavovanim).

365
Software / Re:AdBlock selhává
« kdy: 16. 06. 2016, 07:09:55 »
Take pouzivam uBlock Origin (Firefox) a celkove jsem spokojen. Jedinne co by mohli vylepsit (nebo jsem neprisel na to, jak to spravne pouzivat) je vybirani blokovanych elementu na strance. Ale nedelam to casto, takze to neni zadne velke negativum.

366
Vývoj / Re:Má Python budoucnost?
« kdy: 15. 06. 2016, 20:23:39 »
Akka používá vlákna. Jak jsem psal výše, s takovým přístupem zkušenosti nemám. Asi to bude v něčem lepší a v něčem jiném horší.

Pouziva, ale pokud se nepletu, tak v jednom vlakne bezne bezi mnoho actoru - pouziva take neblokujici pristup. Narozdil od NodeJS ale actori nesdili jeden globalni mega-stav, kazdy ma svuj malicky, a zpravy jsou serializovatelne, takze je velmi jednoduche pridat vice vlaken nebo servru.

Myslel jsem, že Akka používá zelená vlákna o kterých mluvil Mirek Prýmek. Ale není to tak. Máte pravdu, pokud jsem to správně pochopil, blokující kód se v Akka musí obalit Future, aby nezablokoval hlavní vlákno.

Ja myslim, ze hlavni vlakno neblokuje, ale sada aktoru sdili jedno vlakno - muze tedy blokovat jine aktory. Future, co jsem alespon cetl, se moc nedoporucuje a lepsi je pouzivat docasne actory (pripadne v jinem thread poolu blokujici aktory).

Nejvetsi rozdil oproti ostatnim pristupu jeto rozdeleni dat mezi aktory - zadny (nebo minimalni) globalni stav.

367
Vývoj / Re:Má Python budoucnost?
« kdy: 15. 06. 2016, 19:22:25 »
Akka používá vlákna. Jak jsem psal výše, s takovým přístupem zkušenosti nemám. Asi to bude v něčem lepší a v něčem jiném horší.

Pouziva, ale pokud se nepletu, tak v jednom vlakne bezne bezi mnoho actoru - pouziva take neblokujici pristup. Narozdil od NodeJS ale actori nesdili jeden globalni mega-stav, kazdy ma svuj malicky, a zpravy jsou serializovatelne, takze je velmi jednoduche pridat vice vlaken nebo servru.

368
Vývoj / Re:Má Python budoucnost?
« kdy: 15. 06. 2016, 17:24:25 »
Například Paypal přešel od Javy k NodeJS https://www.paypal-engineering.com/2013/11/22/node-js-at-paypal/. Použití rychlejšího jazyka většinou nepomůže. Ten benchmark dává smysl jen pokud používáte nějaké opravdu rychlé uložiště jako Redis.

Zrovna nedavno jsem nekde cetl, ze NodeJS je neuveritelny hype a ze v JVM svete vsechny veci, co umi, davno existuji (nemam zkusenosti, ale neni treba Spring Reactor v podstate ten stejny princip?).

IMO takova Scala + Akka je mnohem lepsi pristup - out-of-box se to da skalovat jak do vice vlaken (podobne jako cluster s NodeJS, akorat bez nutnosti zpetne resit IPC, protoze aktori z principu pouzivaji zpravy) tak na vice stroju (to uz netusim, jestli v NodeJS nejak lehce jde).

Pametova nenarocnost po startu IMO neni zadna vyhoda v pripade enterprise veci, kde za cenu dne prace vyvojare muzu poridit dalsi pakl pameti do servru. A i kdyby JVM potrebovalo 1GB pro start, coz realne nepotrebuje, tak to v prepoctu ta pamet vyjde na par stovek, to se asi bavime o nejakych pidi projekticich, kdyz se resi kazdy megabajt pameti zabirany VM, ktery se navic nezvetsuje s pametovymi pozadavky aplikace... Rychly start to stejne (v benchmarksgame to merili a bylo to tusim spise par stovek milisekund) - co je par (i kdyby desitek) sekund proti uptimu servru a aplikace? Pokud je navic start kriticky, tak se proste prihodi SSD nebo se udela nejaka magie s hotswapovanim trid. Jedina situace, kde to je opravdu vyhoda, jsou shell skripty*, ale tady se bavime o backendu webove aplikace a od te se neocekava, ze se bude spoustet vicekrat nez (strelim od pasu, realne asi jeste mene casto) jednou za tyden.

*: I to ale lze resit, existuje napr. NailGun, ktery udrzuje "zhave" JVM a spoustenou aplikaci mu jen prideli, takze start aplikace je instantni (po skonceni behu aplikace se JVM recykluje).

Rozhodně je příjemnější když tyhle problémy řešit nemusíte.

Toz zmeril jsem to a hello world vychazi takto:
OpenJDK 1.8 - 17MB
Python 2.7.5 - 4MB

VPS se snad bezne ani po par mega pameti stelovat neda, takze tu nevidim zadne problemy k reseni - proste placnu minimalnich 1GB a ono to svete div se staci i pro Javu.

Aha, vy stale mluvite pouze o CRUD? Na to ale snad neni ani potreba specialni BE a staci nejake hotove reseni typu "Backend as a Service". Treba projekt, na kterem nyni pracuji, ma webovy rypak a rozhodne to neni jen a pouze CRUD - podle nejakeho algoritmu se ruzne updatuji tabulky a synchronizuje se to s dalsi sluzbou podle toho, jake uzivatel udela zmeny.

Podle popisu je ten projekt stále jen CRUD.

Hmm, takze desitky minut pocitani pomoci nejakeho proprietarniho algoritmu je podle vas CRUD jak vysity? Tak to asi vlastne nemame jine ulohy nez CRUD, kdyz kazdy ukol musi data cist a plivat => CRUD, ze? :D Ne, databaze to opravdu nepocita...

No vidíte, a přitom existují obří firmy s tisíci vývojáři, kteří opouštějí .NET/Javu a přechází třeba na node.js nebo Go.
Tady je zrovna aktuální článek:
https://blog.risingstack.com/node-js-examples-how-enterprises-use-node-in-2016/

A taky existuji firmy jako Twitter, kteri presli z duvodu vykonu k JVM. Ja nerikam, ze to nejde delat v NodeJS, jen ze si myslim, ze je to spatny nastroj, pro vyvoj "ve velkem".

Osobně si myslím, že statické typování má velký význam, ale na druhou stranu si nemyslím, že je to spása na všechny problémy. Pokud tady někteří propagují, že se statickým typováním nemusí psát unit testy, tak to je naprosté nepochopení funkce unit testů.

Jestli to "nekteri" je na mne, tak ja nepsal, ze staticke typovani plne nahrazuje unit testy. Ja psal, ze bez statickeho typovani musite psat testu mnohem vice, testu, ktere by se psat manualne nemuseli, kdyby se pouzil staticky jazyk.

369
Vývoj / Re:Má Python budoucnost?
« kdy: 15. 06. 2016, 14:58:51 »
Souhlas. Ve webových aplikacích je bottleneck většinou databáze. Backendový jazyk je jen lepidlo, které v jednom requestu nikdy nezpracovává víc dat než se zobrazí na stránku. Rychlost jazyka většinou nemá cenu řešit. Naopak, u skriptovacích jazyků je příjemná nízká paměťová náročnost a rychlý start. O rychlost běhu tolik nejde.

Aha, vy stale mluvite pouze o CRUD? Na to ale snad neni ani potreba specialni BE a staci nejake hotove reseni typu "Backend as a Service". Treba projekt, na kterem nyni pracuji, ma webovy rypak a rozhodne to neni jen a pouze CRUD - podle nejakeho algoritmu se ruzne updatuji tabulky a synchronizuje se to s dalsi sluzbou podle toho, jake uzivatel udela zmeny.

Pametova nenarocnost po startu IMO neni zadna vyhoda v pripade enterprise veci, kde za cenu dne prace vyvojare muzu poridit dalsi pakl pameti do servru. A i kdyby JVM potrebovalo 1GB pro start, coz realne nepotrebuje, tak to v prepoctu ta pamet vyjde na par stovek, to se asi bavime o nejakych pidi projekticich, kdyz se resi kazdy megabajt pameti zabirany VM, ktery se navic nezvetsuje s pametovymi pozadavky aplikace... Rychly start to stejne (v benchmarksgame to merili a bylo to tusim spise par stovek milisekund) - co je par (i kdyby desitek) sekund proti uptimu servru a aplikace? Pokud je navic start kriticky, tak se proste prihodi SSD nebo se udela nejaka magie s hotswapovanim trid. Jedina situace, kde to je opravdu vyhoda, jsou shell skripty*, ale tady se bavime o backendu webove aplikace a od te se neocekava, ze se bude spoustet vicekrat nez (strelim od pasu, realne asi jeste mene casto) jednou za tyden.

*: I to ale lze resit, existuje napr. NailGun, ktery udrzuje "zhave" JVM a spoustenou aplikaci mu jen prideli, takze start aplikace je instantni (po skonceni behu aplikace se JVM recykluje).

Nevim, ja osobne, pokud bych vybiral jazyk pro projekt, ktery bude mit odhadovanych par tisic LOC, zivotnost delsi nez par mesicu a potencionalne ho budou vyuzivat treba tisice lidi, tak radeji zvolim Javu (nebo neco nad JVM, v horsim pripade .NET + C#), nez to pak zpetne cele prepisovat z Pythonu a v podstate to tak implementovat nadvakrat.

370
Vývoj / Re:Má Python budoucnost?
« kdy: 15. 06. 2016, 14:33:26 »
A srovnavate srovnatelne? Neznam ani jedno, ale opravdu umi Flask to stejne, co Spring?

Ale to jsem psal vyse, pokud mate stejne neschopne programatory pouzivajici stejne defaultni prostredi a doprasi to stejne, tak v Jave to vetsinou pobezi rychlej (asi kvuli JITu), nez v Pythonu. Take pokud prasite, tak v Jave jste alespon svazani typy, v Pythonu (stejne jako v JavaScriptu), pokud si vzpominam spravne, nic takoveho neni a mate o dalsi problem navic (typy), co musite pro kazdy kus kodu testovat.

Souhlasim, ze na male veci je to opravdu skvele, protoze se v tom rychle vyviji (Python, Ruby, JavaScript). Dokud mate v hlave cely mentalni model aplikace, tak je to zuzo. Ale jak tu nekdo jiny psal (Javaman?), tak na ty opravdu velke veci je to IMO nevhodne, protoze musite cim dal vic resit absenci formalnich kontraktu, ktere ve staticky typovanych jazycich kontroluje automaticky prekladac a proste kdyz to API porusite, tak se to neprelozi a pres to vlak nejede. V Pythonu/Ruby/JS se to vesele spusti a pokud nepisete opravdu dusledne unit testy, tak na tyto zaludnosti budete narazet cim dal casteji, jak se projekt refaktoruje, jak se meni pozadavky (ano, realnemu projektu se meni pozadavky neustale), jak se opravuji chyby a zanasejici se tak dalsi chyby, atd. Pokud nevenujete cas tem unit a dalsim testum, tak za chvili z toho mate minove pole, kde se kazdy z tymu boji cokoliv refaktorovat, aby nerozbil desitky souvisejicich veci, nove feature se placaji do stavajiciho kodu tak, aby se co nejmene upravoval stavajici a vznika z toho neudrzovatelny propletenec.

PS: K tomu PHP, to take nemusim. Jazyk "vyvijeny" clovekem, ktery nezna zaklady CS. Nekonzistentni pojmenovani a chovani funkci v std lib, vecne zbugovany parser (to mozna uz konecne zvladli v 7 opravit, nevim, moc optimisticky nejsem), nastaveni rozeste na nekolika mistech, nelogicky podmineny vyraz a mnoho dalsich vychytavek. A nez nekdo napise, ze se v tom bezne vyviji, tak to asi nemuze byt tak spatne - ano, ale musite dodrzovat seznam zakazanych vlastnosti jazyka, ktery je oproti jinym jazykum dost objemny. Kdyby se enterprise veci programovaly v BrainFucku, tak taky nebudu trvrdit, ze asi nemuze byt tak spatny, kdyz se v tom delaji mega veci.

371
Vývoj / Re:Má Python budoucnost?
« kdy: 15. 06. 2016, 12:13:49 »
Neříkejte, že vám přece jen uchází pointa, že to není o language war, ale upozornění na to, jak je to s benchmarky.
Bohužel pointa uchází tobě, tvrdíš, že jsou benchmarky k ničemu a sám vyrobíš benchmark, který je naprosto úplně mimo a vyvozuješ z něho závěry o kosmické rychlosti C oproti jiným jazykům.

Tak tyhle závěry jste si vyvodil sám. Já vůbec ne. Já upozorňoval na to, jak je to s benchmarky. Nedělal jsem z toho závěry. Můj příspěvek je o tom, jak se dají věci ohýbat v benchmarcích. Nehodnotil jsem ani jednotlivé jazyky ani ohledně nich nedělal závěr. Jen jsem je použil na demonstraci toho, jak je to se syntetickými benchmarky tak, aby to bylo zřetelně vidět. Pokud to stále nechápete, tak už nevím jak vám to mám vysvětlit...

Uz to pisu ponekolikate, benchmarksgame se prave snazi nemit umele ukoly navrzene pro vyhru jednoho jazyka/prekladace/interpretu - ty algoritmy pocitaji vetsinou i neco smysluplneho a ne uplne trivialniho, takze je tam prostor pro optimalizace na strane prekladace/VM. Rozhodne se tam nedeje, ze prekladac vse vypocita v dobe prekladu a vysledny program provadi jen vypis vysledku :D.

PS: Ja Python, prestoze se mi jako jazyk moc nelibi a mnohem radeji mam Ruby, respektuji. Na skriptovani jeho misto chapu. Ale stejne jako si myslim, ze JavaScript/Ruby/Bash/PowerShell neni vhodny na psani weboveho backendu (a obecne jakehokoliv projektu s LOC v tisicich), tak si to stejne myslim o Pythonu. Vim, ze dost lidi nesouhlasi, ale ja preferuji automatickou typovou kontrolu od prekladace a ne manualni smoleni testu vyvazujici chybejici typovou kontrolu.

372
Vývoj / Re:Má Python budoucnost?
« kdy: 15. 06. 2016, 10:53:06 »
Ta benchmarks game se snazi implementovat realne algoritmy a kod, ktery tam je, je od profiku v danych jazycich.

Moje pointa je, ze pokud neco naimplementujete naivne v Jave a pustite to na defaultnim JVM, tak to pojede mnohem rychleji (klidne o rady), nez kdyz udelate to stejne naivne v Pythonu a pustite defaultnim interpreterem.

A to si myslim i odrazi dost tech "zpackanych" benchmarku valejicich se na blozich, proste pokud chcete vykon v Pythonu stejny, jako dostanete bez prace v Jave, musite vynalozit specialni usili - napr. prepsat cast aplikace aby pouzivala externi knihovnu, prekladat to necim specialnim atp.

Co jsem cetl, tak pomalost Javy oproti C++ je pouze v pripade malych projektu - kdyz JIT jede dlouho nad velkymi enterprise vecmi, tak pry bezne dosahuje lepsiho vykonu, nez C++, protoze dynamicky provadi mnohem vice pokrocilych optimalizaci podle hotspotu v dobe behu, ne jen pri kompilaci nebo provadeni jedne ulohy (na to je C++ rozhodne lepsi). To je duvod, proc se to pouziva na ty obrovske veci - (relativne) jednoduchy velmi rozsireny jazyk + solidni vykon.

373
Vývoj / Re:Má Python budoucnost?
« kdy: 15. 06. 2016, 10:30:58 »
Pokud vim, tak postovane benchmarky nepodvadi outsourcovanim provadeni opraci do asm/c/c++ knihoven, jako tvuj kod ;).

PS: Java snad nema specializovane matematicke knihovny? ;D

1. Téma této diskuse se týká Pythonu, ne Javy

2. Pointa příspěvku nebyla ohledně toho co má který jazyk, ale ohledně toho, jak to je s benchmarky

Nasel jsi snad nejaky podobne zavadny kod, jako jsi napsal, v te benchmarksgame? V opacnem pripade tvuj prispevek nema zadnou pointu, protoze asi vsichni vi, ze podvadet se da :).

374
Software / Re:AdBlock selhává
« kdy: 15. 06. 2016, 08:45:16 »
Dotaz: Existuje nejaky blokovac casti stranky, u ktereho lze filtrovat podle relativni pozice elementu v danem stromu?
(Pripadne podle komplexnejsiho vyrazu aplikovaneho na strom (podstrom) a ne jen na nejaky element)

O hotovem reseni nevim.

Na absolutni pozici ve stromu jde pouzit CSS selektor :nth-child. Na relativni vuci jinemu elementu bude asi potreba JavaScript (nebo v nekterych pripadech muze stacit i sibling selector +, jinak asi jQuery a .prev()/.next()?). A pokud se to opravdu vytvari asynchronne, tak se podivat na mutation observer (nebo mutation event, myslim ze treba takovy GreaseMonkey mel nejaky bug s observry).

375
Vývoj / Re:Má Python budoucnost?
« kdy: 15. 06. 2016, 07:31:25 »
Pokud vim, tak postovane benchmarky nepodvadi outsourcovanim provadeni opraci do asm/c/c++ knihoven, jako tvuj kod ;).

PS: Java snad nema specializovane matematicke knihovny? ;D

Stran: 1 ... 23 24 [25] 26 27 ... 60