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 ... 21 22 [23] 24 25 ... 60
331
Vývoj / Re:Bitové operace ve vyšších jazycích
« kdy: 08. 09. 2016, 08:35:43 »
nedávno se tu někdo ptal, proč browsery žerou tolik paměti, tohle je tady asi odpověď :D base64 taky potkat nemůže? a jaké další operátory javascriptu teda znát nemusí?

Ale to je snad vec browseru (tj. C++, ne?), to JavaScript vyvojar nezachrani, kdyz pro byte, int, float a double ma na "vyber" z typu number.

A opravdu ne, kdyz delate front-end, tak bitove operace nepouzivate. Hexa cislo vidite tak maximalne pro vyjadreni barev a tam zase zadne bitove operace nepouzivate, jedine co s nim potrebujete delat je umet ho zkopirovat z jednoho mista na druhe. Zadne operace nad nim ani jakekoliv interpretace nepotrebujete.

Binarni oprace v JS si dovedu predstavit tak u hernich enginu nebo velmi optimalizovanych knihoven, kterymi se ale zabyva mizive cislo vyvojaru pracujicich v JS. To je stejne jako v Jave/C#/Pythonu/Ruby, proste konzumujete potunene knihovny na potunenem VM/interpreteru.

Jak pro pouziti base64 potrebujete umet plynule pocitat v binarni nebo hexa soustave? Po pravde pro pouziti base64 vam staci znat, ze base64 existuje, co resi a jake metody zavolat pro konverzi. Priznam se, ze ani v prubehu studia na vejsce jsem nikdy neprevadel base64 z hlavy nebo na papire a to jsme na skole delali rucne hodne divne a vetsinou zbytecne veci (napr. programovnani v C na papir - body dolu za kazdou drobnost, fuj).

PS: Cena pameti je zanedbatelna, mam otevrenych ~20 tabu a nejsem ani na 1GB. 8GB pameti je za doslova tisicovku a muzete na tom provozovat desitky, asi i stovku, tabu.

332
Vývoj / Re:Bitové operace ve vyšších jazycích
« kdy: 08. 09. 2016, 08:04:15 »
Když vezmu programátora (ne webovýho grafika), tak by měl tušit, jak ten stroj funguje (že je program v paměti, že do RAMky se leze skrz nějakou adresu, jaký je rozdíl mezi bytem a wordem).  A reprezentace čísla v různých soustavách a operace s nima jsou prostě základ.

Protoze front-end/back-end developer pracujici v JavaScriptu neni grafik, tak si stojim za svym - je mu to uplne na nic. Muze tusit, jak to funguje, ale v praci mu to nepomuze. K RAM ani adresam/ukazatelum se nedostane, to stejne byte a word. Ruzne soustavy pouzije tak maximalne kdyz se mu neco bude prevadet na cislo z retezce s jinym radixem nez 10 (omsely chytak map + parseInt). A k tomu je nepotrebuje umet ani prevadet, proste vi, ze existuji a ze tady nesedi reprezentace v retezci s parsovanym cislem.

Tak třeba já bych měl docela problém přijmout účetní, která by nezvládna u pohovoru ručně spočítat na papír:
A stojí 100Kč + DPH 22%, B stojí 2200 Kč se slevou 10% + DPH 22%,  C stojí 500 Kč + DPH 5%, kolik zaplatíš celkem?

Jenomze tohle ona i v praci pouzit muze. Navic tohle je snad spis znalost ze zakladni skoly, takze ano, taky bych problem nekoho prijmout, kdo na toto koukal jako puk. Ale pokud se nekdo sekne v binarnich vypoctech na papir, ktere nikdy v praxi nepotreboval a ani na danem miste potrebovat nebude, tak v tom nevidim zadny problem - zadne minusove body, maximalne tak na srovnani jinak "stejnych" kandidatu.

(A kdybych musel zaměstnat motyku Javamana, tak ho posadím k 8051 a dám mu do toho v Javě naimplementovat web server- Třeba by zjistil, že v Javě opravdu nejde vše).

K cemu tento dovetek jako slouzil? K tomu, abys predvedl, ze jsi selhal pri volbe vhodne technologie nebo hardware? HW je ve vetsine pripadech mnohem levnejsi nez cas programatora, proto se vetsinou take voli lepsi HW a rychlejsi vyvoj, ne naopak.

BTW placat umim taky: A ja bych te posadil ke kulickovemu pocitadlu a zadal bych ti, at naimplementujes simulaci procesoru, at zjistis, ze znalost vnitrnosti neni vsespasna.

333
Vývoj / Re:Bitové operace ve vyšších jazycích
« kdy: 07. 09. 2016, 15:06:27 »
Jako Javu nejak nemiluju (je ok, ale nic prevratneho pod sluncem), ale rekl bych, ze na spici rozhodne je. Podle rychlecho pogoogleni je nejlepe placena a na druhem miste s poctem volnych pozic.

IMO ty hw veci na tom nejsou nejak extra dobre platove - C++ vidim na 9. miste a C na 12.

Nevim, co je to za data, ale nejak tak jsem to cekal.

BTW: To, co jste napsal pusobi spis jak z nejakeho vyzkumu skoly. Realne (komercne) se tomu bude venovat velmi malo lidi ve srovnani s IS, weby, aplikacemi na mobil atd. V realu totiz nikdo zdraveho rozumu neimplementuje svuj vlasni sifromaci algoritmus a pokud neni jo koor odbornik s mnoha roky praxe, tak by se nemel poustet ani do implementace proverenych algoritmu. Kompresni alg. to same, vymyslet neco vlastniho vs. vzit vyzkouseny alg. implementovany v rock stable knihovne. Nebo si psat vlastni aritmetiku pro hw, ktery to neumi? To je opravdu tak caste? Bych cekal, ze to jednou udela vyrobce a pak to o nekolik radu vic lidi pouziva, nez kolik bylo potreba k napsani te knihovny.

http://www.codingdojo.com/blog/9-most-in-demand-programming-languages-of-2016/
http://www.business2community.com/tech-gadgets/15-highest-paying-programming-languages-2016-01559832

334
Vývoj / Re:Bitové operace ve vyšších jazycích
« kdy: 07. 09. 2016, 12:53:17 »
A nechtěl bys to nechat na tom potenciálním zaměstnavateli? Pokud ti klade otázky, které se ti zdají nepatřičné, můžeš se sebrat a odejít. Práce v IT je spousta, lidí málo.

Proto se divim, ze nekdo tlaci zkouseni kandidatu z veci, ktere s praci nesouvisi. A ano, pocitani v binarni soustave pro cloveka delajiciho front-end v JavaScriptu je opravdu na nic.

Vědět něco o reprezentaci čísel v počítači a ovládat logické operace, to jsou přece naprosté základy.

S tim souhlasim, ale do toho IMO nespada schopnost ve stresu se snazit pocitat v binarni soustave. Melo by stacit, ze o tom vim, ze to existuje a v pripade potreby to jen pouzit v kodu.

Už jsem na vlastní oči bohužel viděl příliš mnoho zpraseného kódu, u jehož vzniku evidentně stálo to, že autor o věcech, o nichž se tu bavíme, nevěděl zhola nic. A důsledky nebyly jen kosmetické, dopad na výkon byl naprosto katastrofální! Bitové operace realizované v C++ pomocí vectoru stringů, z nichž každý mohl nabývat hodnot "0" a "1", nebo obzvláště rozšířený nešvar - uchovávání a třídění IP adres v databázích ve formě stringů, protože dotyčným matlákům nedocvaklo, že ve skutečnosti jde o jedno 32bitové číslo.

Eh, to uz me prijde trochu prehnane. Jako pochopil bych, kdyby prave nekdo takovy sel na front-end, kde se ve vetsine pripadu nic nestane, kdyz to tahkle doprasi. Ale ze se hrne do C++ za mistrama? ???

Je jenom dobře, že se potenciální zaměstnavatel zajímá spíše o to, jak to uchazeči o práci pálí, než o konkrétní technologie. Komu to pálí totiž konkrétní technologii zvládne raz dva, zatímco ovládá-li někdo konkrétní technologii, ale neumí používat to, co má na konci krku, je mu taková znalost k ničemu. To je jako vlastnit kolo za 60 tisíc, ale neumět na něm jezdit.

Nevim, jak jsem psal vyse, prijde mi takoveto testovani jeden priklad ve stresu na pohovoru a vime, jak to uchazeci pali, celkem zbytecny. To, ze z hlavy nevysype vysledek prikladu v binarni soustave na pohovoru na Python webare si myslim moc nevypovida o tom, "jak mu to pali".

335
Vývoj / Re:Bitové operace ve vyšších jazycích
« kdy: 07. 09. 2016, 12:43:08 »
Chapu to spravne, ze zastavate nazor, ze na vyvoj front-endu v JavaScriptu v danem frameworku (popravde asi libovolnem popularnim) je treba umet pocitat na papire v binarni soustave? :o To jako pro pridad, ze kdyby firma presla na novy framework, tak tam najednou vsude bude potreba binarni aritmetika? :D Na strane problizece? ;D Hmm, asi zijeme v jinem svete... Takovyto typ otazky vidim na stejne urovni, jak ptat se uchazece na misto backendisty v Jave, k cemu je bind v JavaScriptu - zcela nesouvisejici a uplne na nic na danem miste.

No, ale ono pokud se i na uklizecku obcas pozaduje maturita (jako WTF), tak je mozne, ze vyse popsane je smutna realita a radeji zamestnaji "vim od vseho zaklady" nez nekoho, kdo opravdu umel s technlogiemi se kterymi denne ve firme pracuji.

Osobne nemam rad ty pohory, kde vas "testuji" jak reagujete. IMO to zamestnavateli stejne nic nerekne, protoze pokud tam bude sedet nejaky smelar, tak vi, ze ho testujete a nebude mit problem to na tom kratkem pohovoru zahrat, mit priprave vsechny mozne skopiciny. Mnohem lepsi me prijde ferovejsi pristup - opravdu se ptat na co, co bude potreba a pripadne na konci na zajimavosti z CV. Jak clovek bude resit problemy, vychazet s ostatnimi v tymu atp. se stejne zjisti az ve zkusebce.

PS: Na pracaku nejsem :).
Viděl jsem i inzerát na uklízečku - SŠ, angličtina na komunikativní úrovni a další jazyk (francouzština, němčina) výhodou.
Každopádně, znalost binární soustavy si myslím prostě patří k základům každé profese související s IT a i když to nepoužíváš každý den, je pravděpodobné, že na to dříve nebo později narazíš. Pořád nevíme, na co přesně pohovor byl, ale čím víc nad tím přemýšlím, tím víc si myslím, že daná otázka může pomoct vybrat lidi, kteří mají o obor opravdový zájem. Osobně bych asi nepovažoval tuto otázku za klíčovou, ale může to být bodík k dobru, pokud je více zájemců, kteří vypadají kvalitativně podobně.
Tak barvy se v hexa kódu uvádějí i v css, takže ano, i v tomto prostředí tyto znalosti využijete.

Nikdy jsem v praci vypocty v binarni ani hexadecimalni soustave nepouzil. Ano, uznavam, ve vzacnych pripadech se muze hodit tusit, jak je to vevnitr usporadane (napr. kdyz prohlizite zkompilovane css soubory v hloupem editoru), ale rozhodne to neni potreba - rucne to front-endak nepotrebuje pocitat, protoze budto to ma od grafika zadane, nebo pouziva nejaky css preprocesor, ktery ho odstinuje od "vypoctu" v hexa soustave. Je take podstatne lepsi mit zakladni barvu a z ni mit odvozene ostatni odstiny a pocitat to pomoci preprocessoru, nez to mastit rucne absolutne a pak pri zmene zakladni barvy se musi vse prepisovat. A tu zakladni barvu, pokud ji nema zadanou, si take nevycuca nevypocita z hlavy, proste si otevre nejake klikatko, namixuje par barev a vyzkousi, jak to vypada. Tohle fakt neni hw/low level, kde potrebujete vykuchat pomoci and jeden bitik a pak o kousek dal pri vypoctu kvuli rychlosti pouzit shift misto nasobeni, protoze potrebujete ty extra % vykonu.

336
Vývoj / Re:Bitové operace ve vyšších jazycích
« kdy: 07. 09. 2016, 11:26:02 »
To jako myslite vazne, aby se zkouselo z binarnich vypoctu pri pohovoru na misto, kde se to nebude pouzivat? Takze si Pepa prijde na pohovor na pozici front-endaka v Angularu (tj. JavaScript pro prohlizece) a budou po nem chtit matlani na papir neceho, co nikdy v praci nepouzije? Nejak mi to pripomina ty skoly, na ktere se tu porad nadava :D. Byt Pepou, tak se proste zvednu a odejdu, i kdybych vedel odpoved, protoze takova firma asi za moc stat nebude - nechtel bych tam pak delat s back-endistou, ktery vi hodne o historii umeni, ale nebude skoro nic vedet o db ani Jave, v ktere ma vyvijet, protoze na pohoru se radeji ptali na ptakoviny.

Když se tu nadává na školy, že učej nepraktické věci, což obvykle tvrdí děcka, kterým teče mlíko po bradě a v životě ještě k žádné pořádné práci nečuchla, připadá mi to legrační. Ale vy tu už kádrujete i zaměstnavatele!  ;D Takže na pohovoru bych se měl podle vás asi nakonec ptát já uhrovatýho adolescenta, na co se ho mám ptát, protože on přece ví líp, co u nás bude potřebovat.  ;D

Fakt už si dejte mokrej hadr na palici a pozdravujte na pracáku.  ;D

Chapu to spravne, ze zastavate nazor, ze na vyvoj front-endu v JavaScriptu v danem frameworku (popravde asi libovolnem popularnim) je treba umet pocitat na papire v binarni soustave? :o To jako pro pridad, ze kdyby firma presla na novy framework, tak tam najednou vsude bude potreba binarni aritmetika? :D Na strane problizece? ;D Hmm, asi zijeme v jinem svete... Takovyto typ otazky vidim na stejne urovni, jak ptat se uchazece na misto backendisty v Jave, k cemu je bind v JavaScriptu - zcela nesouvisejici a uplne na nic na danem miste.

No, ale ono pokud se i na uklizecku obcas pozaduje maturita (jako WTF), tak je mozne, ze vyse popsane je smutna realita a radeji zamestnaji "vim od vseho zaklady" nez nekoho, kdo opravdu umel s technlogiemi se kterymi denne ve firme pracuji.

Osobne nemam rad ty pohory, kde vas "testuji" jak reagujete. IMO to zamestnavateli stejne nic nerekne, protoze pokud tam bude sedet nejaky smelar, tak vi, ze ho testujete a nebude mit problem to na tom kratkem pohovoru zahrat, mit priprave vsechny mozne skopiciny. Mnohem lepsi me prijde ferovejsi pristup - opravdu se ptat na co, co bude potreba a pripadne na konci na zajimavosti z CV. Jak clovek bude resit problemy, vychazet s ostatnimi v tymu atp. se stejne zjisti az ve zkusebce.

PS: Na pracaku nejsem :).

337
Vývoj / Re:Bitové operace ve vyšších jazycích
« kdy: 07. 09. 2016, 07:14:47 »
To jako myslite vazne, aby se zkouselo z binarnich vypoctu pri pohovoru na misto, kde se to nebude pouzivat? Takze si Pepa prijde na pohovor na pozici front-endaka v Angularu (tj. JavaScript pro prohlizece) a budou po nem chtit matlani na papir neceho, co nikdy v praci nepouzije? Nejak mi to pripomina ty skoly, na ktere se tu porad nadava :D. Byt Pepou, tak se proste zvednu a odejdu, i kdybych vedel odpoved, protoze takova firma asi za moc stat nebude - nechtel bych tam pak delat s back-endistou, ktery vi hodne o historii umeni, ale nebude skoro nic vedet o db ani Jave, v ktere ma vyvijet, protoze na pohoru se radeji ptali na ptakoviny.

338
Vývoj / Re:Bitové operace ve vyšších jazycích
« kdy: 06. 09. 2016, 17:45:06 »
Zrovna jsem se chtěl také zeptat. Kdo tyto problémy s bitovými operacemi ve vyšším programovacím jazyce řešil (mimo assembler a mimo jazyky C a C++), tak ať se přihlásí a pochlubí se s příkladem využití.  :)

Ja se prihlasim. Resil jsem to v Jave, jednou pri modovani Minecraftu (reprezentace bloku ve svete, je potreba rychly pristup kvuli vykreslovani a co nejmensi struktura kvuli velikosti v pameti a na disku) a podruhe kdyz jsem z nejakeho API dostaval data zajimave (cti nizkourovnove) usporadana.

Ale jinak celkem souhlasim, ze je to zbytecne takto zkouset na pohovoru k (nej)vyssim programovacim jazykum jako Python, Ruby, Java nebo i ten JavaScript, kdyz to nebude beznou naplni prace.

Mimochodem takova Scala ma treba BitSet soucasti standardni knihovny (a urcite neni sama), ale rozhodne bych nerekl, ze je nizkourovnova :D.

PS: Ted jsem si uvedomil, ze jsem to taky potreboval pri projektu na skole do siti, ktery jsem psal ve Scale.

339
Vývoj / Re:Zdroje k rozvoji OOP myšlení
« kdy: 22. 08. 2016, 17:04:47 »
nemas pravdu, co se tyce her. herni studio neni odkazano jenom na linux. pouziva ruzne OS (OSx, Windows, Linux). AI a big data muzes delat taky na windowsu.

Herní studio, pokud chce přežít, tak nesmí vyvíjet primárně pro Windows, tam se prodá minimum her. 90% prodejů dělají konzole, PC je jen 10%. V konzolích momentálně PS4 docela válcuje XBOX One, takže Windows je minoritní platforma. Co se týká mobilních her, má smysl uvažovat jen o Androidu a iPhone, Windows jsou úplně mimo.

Jako nejsu z toho uplne moudrej, ale pokud tech 37% opravdu patri k PC, tak je vysledny pomer 37% vs. 27% ~ PC ma 58% vs konzole s 42%, coz se tomu 90% vs 10% ani neblizi.

340
Hardware / Re:Notebook na vysokou
« kdy: 10. 08. 2016, 15:26:01 »
To muze vadit i na to sledovani videi na YouTube (napr. zaznamy z her). Rozdil 30 a 60fps je dost znatelny pro vetsinu lidi*.

*: Nekteri hraci (sam vyzkouseno nemam) pry poznaji rozdil i nad 60Hz, proto si porizuji 120/140Hz atd.

341
Vývoj / Re:Online IDE pro Javu s možností debugování
« kdy: 08. 08. 2016, 21:10:47 »
...
existuje some-> makro. To se zastaví na první hodnotě nil. Určitě jdou v Clojure implementovat i monády a něco jako do notace z haskellu, ale nikdy jsem se s tím nesetkal.

To zacina byt celkem popularni - podpora preruseni retezeni na nil/null primo v jazyce. Jsem nedavno neco podobneho zahledl v Kotlinu (LiveScript ma myslim to same):
Kód: [Vybrat]
bob?.department?.head?.name

Such a chain returns null if any of the properties in it is null.

Ve Scale (a asi dost podobne i v Haskellu) se to bude resit pres Option a map/flatMap nebo lepe pres for-comprehension:
Kód: [Vybrat]
case class A(b:Option[Bool])
val optA = Some(A(Some(true)))
optA.flatMap(_.b).foreach(println) // true
for(a <- optA; x <- a.b) println(x) // true

Netusi nekdo, jak je na tom Java?

342
Vývoj / Re:Online IDE pro Javu s možností debugování
« kdy: 08. 08. 2016, 20:09:35 »
Pokud jsem spravne pochopil to threading macro, tak jde o vyspelejsi formu aplikace funkci.

Jsou nejake navrhy operatoru pro forward application (casto znaceny jako |> nebo |) pro dalsi verzi JS. Existuje i nejake makro pro SweetJS, ale tam bude problem s podporou v IDE. Napr. Lodash umi urcitou formu retezeni, ale neni to uplne ono - hodnoty se musi nejdrive obalit a pak ziskavat vysledek, navic na to neni tak uplne staveny. Treba takovy Option ze Scaly (Haskelli Maybe) nevim jestli jde vubec nejak rozumne simulovat (tim myslim aby pracoval napr. s map a forEach; mozna opatchovat stavajici funkce, ale to nezni moc ciste).

V Haskellu je zajimava knihovna Flow, kterou teda komunita pry moc dobre neprijala. Nevim, zapis me prijde hezky, ale mozna je to jen tim, ze Haskell nemam vubec zazity. V podstate elegentne resi to, co nekterym lidem (myslim i panu Prymkovi) vadi - ze cteni vyrazu v Haskellu muze byt "rozeskakane".

343
Vývoj / Re:Online IDE pro Javu s možností debugování
« kdy: 08. 08. 2016, 19:01:49 »
Zapis je hezci, ale treba v tom JavaScriptu me to neprijde tak skvele. Navic si kazdy pouziva co chce - setThing a getThing, nebo getter thing() a setter thing(value) a nebo ty property thing= a thing. V C# to bude asi trochu pouzitelnejsi, kdyz je jednotny styl. Podobne ve Scale, kde lze zamnenovat promenne a settery/gettery. V Jave je na me prilis mnoho boilerplate kodu.

Zda se maji pouzivat je asi trochu jina otazka, ale IMO je to velmi bezne. Posledni dobou zacinam znacne preferovat FP pristup, tj. immutable objekty, v podstate jen nosice dat a k tomu pure funkce, ktere s nimi pracuji. Nehodi se to uplne na vse (napr. GUI u hry), ale testy se na to pisi uplne skvele.

344
Vývoj / Re:Online IDE pro Javu s možností debugování
« kdy: 08. 08. 2016, 10:11:05 »
Ja nerikam, ze v Haskellu nejsou treba testy vubec. Jen ze je jich potreba o nekolik radu mene, nez pri stejne urovni "protestovani" napr. v tom JavaScriptu nebo jinem dynamicky typovanem jazyce. (Kdyz jsem psal o sobe, tak jsem tim myslel, ze i to minimum, ze sedi typy, by me v pripade toho JS projektu neuveritelne usetrilo cas.)

Casto se o Haskellu rika, ze pokud se to prelozi, tak to funguje spravne. A prestoze je to nadsazka, tak IMO neni tak daleko od pravdy.

345
Vývoj / Re:Online IDE pro Javu s možností debugování
« kdy: 08. 08. 2016, 08:22:06 »
Osobne me Java prijde jako ok jazyk, zbytecne uzvanena, ale i to se trochu lepsi. Rozhodne ma hodne much, ktere bohuzel vetsinou vychazeji z one zpetne kompatibility. Ale jak to sleduju z povzdali, tak kazda verze prinasi zatracene dobre veci, vetsinou otestovane jinymi jazyky nad JVM.

Rozhodne me prijde o rad lepsi (na stredni a velke projekty), nez vsechny ty puvodne skriptovaci dynamicke veci - PHP, Python, Ruby, JavaScript, atp.

Ted delam v praci na malem projektu v JS (15k loc), kde je zakazano psat testy, a je to hruza. Refaktoringu se bojim, radeji ho nedelam (no, co si budu namlouvat, oni by me stejne vetsi uklid neschvalili) a uz jen doklepavam bugfixy a male zmeny. Rikal jsem jim nekolikrat, ze z toho bude slepenec, kde se pri kazde druhe zmene neco rozbije a dojde se na to az za tyden. No, chteli to tak mit, maji to tak. Kdyz by se to psalo v nejakem staticky typovanem jazyce, jako treba TypeScript, Scala (ScalaJS) nebo nedejbuh Haskell (PureScript?), tak by mozna ani zadne testy potreba nebyly a zaroven by mira "rozbiti" vyrazne klesla.

K tem generikam a JVM, treba ve Scale to jde (bezi taky na JVM). Sice to neni prehnane elegantni, ale hodi se to. http://stackoverflow.com/questions/18499384/polymorphic-instantiation-in-scala-using-typetag-and-classtag

PS: O Heskellu ve startupu jsem nevadno cetl zajimavy clanek - http://baatz.io/posts/haskell-in-a-startup/. Celkem by me zajimalo, jestli je opravdu tak silna korelace mezi Haskellem a kvalitou uchazecu, kteri jim chodili (udajne byli mnohem kvalitnejsi, nez u "beznych" jazyku).

Stran: 1 ... 21 22 [23] 24 25 ... 60