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 - Cikáda

Stran: 1 ... 43 44 [45] 46 47 ... 54
661
Vývoj / Re:Python - načtení obsahu souboru
« kdy: 27. 05. 2017, 00:11:20 »
Koukám že Python použil svou obranu: odsazení. Programovat stylem pokus --omyl, není dobrá strategie.


Nesnažím se stát programátorem v pythonu (zatím), nejsem ani aǰťák, i když mne linux baví. Jen jsem chtěl rozchodit jeden již hotový script. Načtení souboru jsem potřeboval proto, že na openwrt nemám whois příkaz. Ten skript mi na ubuntu funguje, a tam to řešit nemusím, jen jsem chtěl prostě přijít na tohle.


A stejně se to nepovedlo, protože jen něco opravím, objeví se jiná chyba. O pythonu jsem do této doby věděl pouze to, že existuje. Když bude čas, tak si o něm něco přečtu.

Kdyby náhodou, tak něco k Pythonu je i tady volně ke stažení - https://www.root.cz/knihy/oddeleni/vyvoj-a-knihy-pro-vyvojare/ (kdybys o tom nevěděl - jen pozor na rozdíly Python 2.7 x Python 3 :) )

662
Vývoj / Re:Na akom OS programujete? [pre javistov]
« kdy: 27. 05. 2017, 00:05:59 »
To jako fakt ta ironie nešla poznat?  :o
to byo na steva voe

Tak zkus necitovat můj příspěvek, když na něj nereaguješ. ;)

nejnovější MacBooky Pro jsou vyloženě dokonalé stroje

To tedy jsou, tenhle prispevek pisu prave na nem. Oproti predsle generaci mam procak s polovicnou watazi (15W) a o 25% nizsim taktem a je to stejne vykonny. Takze si u Apple mohli dovolit luxus vyhodit ctvrtinu baterky, snizit hmotnost a zmensit rozmery. Cele to jeste taha pekelne rychle SSD. I ta nova klavesnice je brutalne navykova. Proste neni co resit, lepsi masinu za dane penize na programovani nesezenete. Navic je tu moznost bootnout bez problemu vsechny podstatne OS - mac/win/lin. Kdo by to ale delal, macOS staci na vse. Takze poprosim zdejsi hatery se probudit s vlkeho sna ze s linuxu nekdy bude dobrej desktop a windowsakum snad uz ani nic rikat neni treba.

Jo, hlavně ten TouchBar místo funkčních kláves jsou vyloženě přínos k produktivitě! :D (a model bez něj má tuším slabší grafiku a hlavně chudší konektivitu) A ano, kompatibilita je přímo ukázková! ;)
Klávesnice je subjektivní, více mi seděly dřívější modely. První generace těch motýlkových switchů byla otřesná, resp. psalo se mi na ní všelijak jen ne pohodlně. Nejnovější Pro už jsou o poznání lepší, ale od stroje za tolik peněz fakt nechci kompromisní klávesnici.

Takže dokonalý jak pro koho ;) (a to jsem ani nezmínil komponenty pájené na desku, lesklý displej, .... )

663
Vývoj / Re:Na akom OS programujete? [pre javistov]
« kdy: 26. 05. 2017, 21:36:39 »
To jako fakt ta ironie nešla poznat?  :o

664
Vývoj / Re:Na akom OS programujete? [pre javistov]
« kdy: 26. 05. 2017, 17:35:48 »
Programator by nemel stracet cas s nastavovanim vecne nedoladeneho OS, takze windows i linux jsou mimo misu a ma kodit jak normalni clovek v macOS. Rikam kodit! Spoustet vybildovana warka uz pak muze na serveru v ledacem, obvykle v linuxu.

Přesně! Protože doladěný macOS běží jak má, všechno funguje, restrikce Applu nikoho neomezují, nejnovější MacBooky Pro jsou vyloženě dokonalé stroje a tak dále... no prostě normální systém pro normální lidi!  ;D

665
Vývoj / Re:Na akom OS programujete? [pre javistov]
« kdy: 26. 05. 2017, 13:51:20 »
Na čem programuješ, je zvlášť u Javy IMHO fakt jedno. Ale každý programátor, který to s programováním myslí vážně, by měl mít základy UNIXu.

666
ma to xiaomi tak spatnou klavesnici ?
nemel jsem moznost si ho osahat, tak se ptam .)

Jako u kteréhokoli jiného výrobce je potřeba to osahat, nejde jenom o klávesnici ale také touchpad a celkově o provedení konstrukce, jestli nevadí. Osobně na krátký prohmat klávesnice mi Xiaomi přišel stejně "dobrej" jako XPS od DELLu a ultrabooky od ASUSu (ux390ua). Určitě, pokud máš tu možnost, tak stojí za to se na nějaký podobný kousek dojet podívat.

Tak to bych to zkusil "prohmátnout" ještě jednou. To Xiaomi je tragické, kdežto XPS i Zenbooky patří rozhodně k nadprůměru.

667
tak nevim - zatim tam zustavaji ty thinkpady, rozsiril jsem to jeste o model "13" a ten xiaomi air - ta grafarna by se dala vyuzit na nejake dedikovane vypocty, (mozna jen naivni predstava novacka ve svete linuxu) jako treba sifrovani, komprese atd, ne ?
matny display je pro me plus, tu 270 (260) jsem tam zaradil presne kvuli te vydrzi (a take RJ45), tu x1 protoze lehke a v ramci moznosti velka telka... ten xiaomi air jsem jeste nevyradil, vypada dobre, na druhou stranu nevim, jestli to neni na urovni toho inspironu (kde za stejne penize +- je ten inspiron "vice hw" na druhou stranu zase kraval z vetraku pri pretaceni...a plastak...
takze x260,x1 4th, xiaomi air :)
prosim kopat spravnym smerem :) ?

To Xiaomi rozhodně ne. Pokud na tom teda chceš psát...

Mimochodem proč ne to XPSko od Dellu? Nebo Zenbook ux430? Mají tenké rámečky kolem displeje (tedy jsou menší), pohodlné klávesnice a matné displeje...

668
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 02. 05. 2017, 14:01:47 »
...Ale jinak jsi dobře trefil hřebíček, páč programovací jazyky, jejichž tvůrci neberou drogy, mají dva operátory - jeden testuje shodnost hodnot a druhý případně identitu. Tak to nejspíš v JS mysleli, akorát to totálně zprasili.

Jinak jsem to ještě neviděl, např. Smalltalk to má taky tak (= a ==), kdy na "test identity"  je kladen důraz pro jeho využití s jedináčky a test podobnosti je překrytelný. To je ale logické.

Ten první operátor by právě vracel
Kód: [Vybrat]
new Bool(true) == new Bool(true) -> true

V Nodejs nevrací. Ale už jsem to omrdal:

> !new Boolean(true) == !new Boolean(true)
true

Jako by vývojáři neměli dost jiné práce než hlídat jazyk...
Tady je někdo kreten.
Jazyk to nebude.

Víš, je rozdíl mezi false a new Boolean(false).
To první je unboxed primitive value a to druhé je boxed primtive value.
To boxed znamená že je to objekt s vlastním prototypem.
Což znamená že == a === porovnává reference nikoli primitivní hodnoty.
Když na boxed boolean aplikuješ negaci, vyjde ti vždycky false protože negace objektu je vždycky false (protože každý objekt mimo null je přetypovatelný na true).

Kód: [Vybrat]
!new Boolean(true) === !new Boolean(false)
ti vyjde jako true.

A opět, neni to divnost jazyka, je to jenom kompletní ignorace se ho alespoň v mezích naučit.
TEČKA.

+1

A opět, neni to divnost jazyka, je to jenom kompletní ignorace se ho alespoň v mezích naučit.
Pointa je v tom, že ne každý má čas a chuť se učit krávoviny, které nedávají žádný smysl.

Nedávají (opět) smysl kvůli vaší neznalosti. ;) Fakt nechápu, že se někdo veřejně chlubí tím, že je blb. Protože pokud kritizuje něco, o čem očividně nemá ani páru, tak jinak nazvat nejde.

669
Studium a uplatnění / Re:Dochadzkovy system - vlastny projekt
« kdy: 27. 04. 2017, 16:05:36 »
Naučíš se na tom dost věcí. Ale nějaký výdělek bych od toho neočekával... :)

670
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 27. 04. 2017, 13:16:35 »
@ava - děkuju

Tak nevím proč tu dalekosáhle vysvětluješ, že operátor == (který není ekvivalence), nemá vlastnosti ekvivalence.
Ne. Vysvětluju, že mít vlastnosti ekvivalence je velmi důležité a jenom tak pro prd je zahodit je příklad jedné z milionu zpraseností JS.

Tím nechci obhajovat JS, ale tahle debata byla fakt zbytečná.
Ne. Pro mě je hodně poučné vidět, do jakých absurdit je někdo schopný se dostat jenom aby nemusel:
Nestačilo by místo těch urážek a vymýšlení nesmyslných rádobyobhajob říct prostě "jo, tohle je sprasený, ale dá se s tím žít"?
...čímž by ta zbytečná debata okamžitě skončila a neřekl bych už ani popel.

Chci-li vlastnosti ekvivalence, tak nebudu ignorant a použiji ===.  Dál už je diskuse opravdu zbytečná.

Hezký den :)

671
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 27. 04. 2017, 12:57:59 »
Může být v relaci ekvivalence (===) 1 a "1"? Ne, není to stejná množina (datový typ).
Ale můžete použít ==, které to implicitně přetypuje předtím, než to porovná.
Aha, takže opravdu byl problém v tom, že máte zmatek v pojmu relace na množině.

Krátká odpověď: === je definováno správně, == je definováno špatně. Oba dva operátory jsou definovány pro libovolné typy. Tohle úplně stačí jako důkaz, že vaše argumentace je nesmyslná, typy tady vůbec nehrají roli.

Delší odpověď: aspoň neformálně:

1. To, že je relace R "definovaná na množině" M znamená něco podobného jako definiční obor funkce. Díky tomu vím, že jestliže relace nějaké dva prvky z M "spojuje", tak ty prvky "jsou v relaci", něco pro ně platí, zatímco když v relaci nejsou (a jsou z M), tak to pro ně neplatí, a pokud něco není z M, tak o tom prostě R nic neříká. Například relace "být celočíselně dělitelný" je definovaná třeba pro celá čísla a neříká nic o vztahu mezi prvky množiny savců (netvrdí, že žirafa je dělitelná hrochem, ani že jím dělitelná není, prostě vztah "být dělitelný" nedává pro savce smysl, není pro ně rozumně definovatelný).

2. Relaci nazýváme ekvivalencí právě když je reflexivní, symetrická a tranzitivní. Z toho pak plynou různé praktické důsledky. Například to, že existuje jednoznačný rozklad množiny pomocí relace RE na "třídy ekvivalence" - tj. každému prvku z množiny M (tady vidíme, jak je M důležitá - nemluvíme o hroších, ale o prvcích z M) můžeme jednoznačně přířadit "třídu" - tj. podmnožinu M.

Abysme si znovu ověřili, že o typy vůbec nejde: můžu mít relaci isSameType(x,y), která spojuje hodnoty stejného typu - tj. rozděluje množinu všech hodnot daného jazyka na podmnožiny podle jejich typu. V jedné třídě rozkladu podle takové ekvivalence jsou pak integery, v jiné stringy.

3. Ano, skutečně 1 a "1" můžou být v relaci i když ta relace je ekvivalencí. Triviálně např relace implementovaná funkcí
Kód: [Vybrat]
function isAnything(x) { return true; }
QED. Tahle funkce sice neimplementuje "operátor ekvivalence" (programátorštinou), ale je to "ekvivalence" (matematicky). Chtít po operátoru ekvivalence, aby byl ekvivalencí, je velmi rozumný požadavek. Viz 2

SHRNUTO: 1. operátor ekvivalence je možné definovat nad různými typy a pořád to může být ekvivalence v matematickém smyslu (důkazem je ===). 2. pokud relace ekvivalencí není, ztrácím různé jistoty, nemůžu o ní tvrdit to, co bych mohl, kdyby ekvivalencí byla. 3. Čili bych měl mít setsakramentsky dobrý důvod, proč se o tyto jistoty připravit. Neměl bych je zahodit (a programátora uvést ve zmatek) jenom proto, aby mohli lidi v mém jazyce patlat páte přes deváte a nedejmatkopřírodo jim to nevyhodilo runtime error.

Opravdu nepotřebuju oprašovat znalosti relací.

Shrnuto: Takže jste vlastně řekl to, co tvrdím celou dobu. === je ekvivalencí, == ekvivalencí není, tudíž je nesmyslné chtít, aby == ekvivalencí bylo a máte použít ===.

672
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 27. 04. 2017, 09:54:44 »
Ne, snažím se vám vysvětlit, že plácáte páté přes deváté. Neúspěšně.
Nesnažíte se nic vysvětlit. Snažíte se obhájit neobhajitelné pomocí matení pojmů (v lepším případě) nebo neznalosti pojmu "relace" (v horším případě). Relace je definovaná na nějaké množině. Pro operátor == je tou množinou množina všech hodnot daného jazyka. Neexistuje žádný speciální operátor pro porovnání stringů a speciální pro porovnání čísel.

A pokud má být == použitelný, musí být tranzitivní na celé této množině. Tranzitivita na podmnožině je k ničemu a vůbec nemá smysl o ní mluvit.

Zkusím to naposledy. Zjednodušeně. Krátce.

Jenže ta "množina všech hodnot daného jazyka" *vznikne* tak, že se je == snaží přetypovat na stejný typ.

Může být v relaci ekvivalence (===) 1 a "1"? Ne, není to stejná množina (datový typ).
Ale můžete použít ==, které to implicitně přetypuje předtím, než to porovná.

------------

Dál už se s vámi odmítám hádat. Mám na práci důležitější věci, než čtení argumentů "v jiných jazycích je to tak, tak to tak chci i tady!".

673
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 27. 04. 2017, 08:59:59 »
Kritizujete, že == není tranzitivní. Překvapivé to je, pokud JS neznáte.
Překvapivé je to proto, že 1) v každém rozumném jazyku tento operátor tranzitivní je 2) není žádný rozumný důvod, aby tranzitivní nebyl (tímto způsobem).

V JS je ten operátor trošku něco jiného, než v jiných jazycích, takže opět mimo mísu.

Ale nikde není řečeno, že == tranzitivní být má.
Tak jistě. Není ani nikde řečeno, že 1+1 má být 2. A pokud je někdo překvapený, že v JS je to 3, tak je to proto, že JS nezná. Protože + přece není sčítání. To se označuje *+*.

Čili, abychom to shrnuli, jestli má někdo problém s tím, že 1+1=3, je pitomec, nedouk a hipster.

Tak ještě jednou. 1+1 je operace nad stejným datovým typem a to, co kritizujete, je chování při porovnávání různých datových typů.

Vy si stěžujete, že 1+"1" není 2, ale absolutně popíráte fakt, že jestli děláte takový prasárny, tak byste se neměl snažit programovat.

A váš pseudo argument s ekvivalencí je sice pěkný, ale == ekvivalencí být nemá.
Na tom se zjevně neshodneme. Takže já si myslím, že == ekvivalencí být má a jazyky, kde jí není, s dovolením budu širokým obloukem obcházet stejně jako otevřený septik. Není radno do toho spadnout.

To je ale vaše ignoranství a ne problém těch jazyků.

Ne, jako třeba string, number, array... Teď už byste to chápat mohl.
Ne, nemohl. Opravdu se mi snažíte říct, že pro stringy má být definován operátor (relace) ==s a pro number ==n ?

Ne, snažím se vám vysvětlit, že plácáte páté přes deváté. Neúspěšně.

Tak teď ještě aby se to nějak projevilo. :)
Jo, projevilo - naučil jsem se nekonečné trpělivosti. I když vlastně teď nevím, jestli to nebylo díky manželství.

Tak si trpělivě přečtěte specifikaci jazyka, než začnete nadávat na něco, co neznáte.

Celý váš problém je, že kritizujete JS za to, že používáte špatné operátory, protože jinde se to značí jinak. Tedy klidně nadávejte na to, že je to značeno jinak, než byste si přál nebo čekal. Ale kritizovat, že A nedělá C a vy chcete, aby A dělalo C místo toho, abyste použil přímo C, je úchylné.
S dovolením, jak říká klasik: budu si remcat, jak budu chtít.

A nechci, aby A bylo B. Chci aby ekvivalence byla ekvivalence. A popravdě řečeno, sledovat, jak javascriptař vysvětluje, že ekvivalence nemá být ekvivalence, je velmi zábavné, pojďme v tom pokračovat! :))

Ekvivalence je ekvivalence a značí se takto ===. Pokud nechcete používat JS, protože to jedno = je pro vás moc komplikovaný myšlenkový pochod, tak prosím. Ale není to chyba jazyka, ale spíš vaše neschopnost.

== ekvivalencí není a nikde není řečeno, že by měla. Nebo v céčku si taky stěžujete, že řetězce nemůžete porovnávat pomocí ==?? (Perl to má taky jinak, Pascal taky, ....).

674
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 27. 04. 2017, 00:21:33 »

Řekl jsem, že ekvivalence nemá být tranzitivní?! Možná se naučte číst, tím by bylo nejlepší začít.
Já kritizuju, že == v JS tranzitivní není (a to ještě strašně překombinovaným způsobem), což je překvapivé/matoucí. A jelikož (příliš) překvapující jazyky se mi nelíbí, nelíbí se mi ani JS.

Pokud chcete s něčím z toho polemizovat, řekněte, s čím polemizujete, a předlože argumenty. O tahání se za nohu s dovolením nemám zájem :)

Kritizujete, že == není tranzitivní. Překvapivé to je, pokud JS neznáte. Kde je řečeno, že == má být tranzitivní? A váš pseudo argument s ekvivalencí je sice pěkný, ale == ekvivalencí být nemá.


Relace je relací ekvivalence právě když je reflexivní, symetrická a tranzitivní.
Tak jest. A podle této definice operátor ekvivalence v JS není ekvivalence. Což je překvapující, jak již řečeno.

Operátor ekvivalence, resp. toho, co jste chtěl, se v JS značí ===.

Jenže zároveň je to binární relace na stejné množině.
Jako třeba na množině "libovolná hodnota v JS"? (nicméně pořád nechápu, kam tím míříte)

Ne, jako třeba string, number, array... Teď už byste to chápat mohl.

Pokud to stále nechápete, tak doporučuju navštívit 1. ročník každé slušné VŠ.
Děkuji za doporučení, to jsem už učinil před mnoha lety :)

Tak teď ještě aby se to nějak projevilo. :)

#######################

Celý váš problém je, že kritizujete JS za to, že používáte špatné operátory, protože jinde se to značí jinak. Tedy klidně nadávejte na to, že je to značeno jinak, než byste si přál nebo čekal. Ale kritizovat, že A nedělá C a vy chcete, aby A dělalo C místo toho, abyste použil přímo C, je úchylné.

675
Vývoj / Re:Node.js a multiplexed IO obecně
« kdy: 26. 04. 2017, 23:46:08 »
Očividně neznáte ani JavaScript, takže mě překvapuje, že o něm něco tvrdíte. ;)
Tak porad jeste cekam na konkretni zminku o tom, co udajne nemam znat :)

Odkaz jste dostal, tím můžete začít. Doporučuji si pak třeba dohledat přednášky Ondřeje Žáry pro předmět KAJ z FELu, je to hezký kurs.

Tak možná by bylo dobré si uvědomit, že relace ekvivalence se provádí pro prvky ve stejné množině.
Znovu: COZE?!

To se vazne budeme na IT serveru dohadovat o tom, co je to relace? A o tom, ze relace ekvivalence ma byt tranzitivni? WTF?!

Řekl jsem, že ekvivalence nemá být tranzitivní?! Možná se naučte číst, tím by bylo nejlepší začít.

Relace je relací ekvivalence právě když je reflexivní, symetrická a tranzitivní. Jenže zároveň je to binární relace na stejné množině. Pokud to stále nechápete, tak doporučuju navštívit 1. ročník každé slušné VŠ.

Stran: 1 ... 43 44 [45] 46 47 ... 54