Tvrdí web, který signalizuje že používám Chrome a já zatím jedu na Opeře 😀
Zjednodušeně Čížek musí býtpseudo schozofrenik . dnes je to rudolfOno na browseru si nastavit uUser agent movilní aby vám šly dobře weby je celkem oříšek, al mě se vyplatil Mozilla/5.0 (Android X; Mobile) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/ZZTo version/4.0 je tam kvuli youtube a google search.A ty analytické šmírivac8 služby jsou pasé když jsou zablokované
Trošku mě na tom zaráží, že se o ochranu mého soukromí zajímá jeden z největších slídilů na webu. Že by chtěl zaříznout konkurenci a spoléhal se na to, že mají všichni jeho prohlížeč a svá data dostane tak jako tak?
Když se snažíte používat kód ES6+, tak takto se s ním nepracuje.Pro příště zkuste použít:1) Template literals: https://developer.mozilla.org/en-US/docs/Web/JavaScript... 2) Pro vytváření a vkládání elementů pak createElement() a appendChild():https://developer.mozilla.org/en-US/docs/Web/API/Docume... https://developer.mozilla.org/en-US/docs/Web/API/Node/a... Můžete se pak vyhnout používání innerHTML, který se nedoporučuje používat z bezpečnostních důvodů a častému zamítání takového kódu.
Zrovna v tomhle pripade je to uplne fuk. Nejde o zadny produkcni kod a navic to nepsal zadny profik, ale nekdo, kdo ma vcelku dobrou predstavu o tom, jak funguje HTTP, aspon trochu umi skriptovat a dohledava si veci stylem w3schools/stackoverflow. Ten es6 tam je pouzity hlavne kvuli tomu async/awaitu. Kdo by se chtel jebat s nejakym callbackem nebo lepe receno psanim cele Promisky. Krome toho, pro toho, kdo nepise JS to muze byt mnohem prehlednejsi, protoze nekde proste templaty existovat nemusi (i kdyz dneska uz jsou snad vsude).Jinak ale souhlasim.
Názor byl 4× upraven, naposled 11. 8. 2021 12:55
Co se týče w3schools tak to doporučuji nepoužívat jako hlavní zdroj informací, protože ne vždy je tam všechno správně. StackOverflow může být dobré vodítko, ale je stejně dobré si to dohledat pak ještě ve specifikaci, pokud na ni odpověď přímo neodkazuje.Jinak je dobrým zvykem psát optimalizovaný kód i u malých a "neprofesionálních" věcí, protože se tak člověk naučí správné návyky. Respektive třeba já ten nejlepší kód mám právě soukromý, protože mě netlačí žádné termíny a ani zákazy "přílišných složitostí, na které by se pak firmě špatně hledal někdo mojí úrovně na další pokračování, kdybych skončil".Navíc za "code rewiev" i s uvedením optimalizovaného řešení a linků má být člověk vděčný, protože tak se maximálně učí, čímž se mu zvyšuje získatelná odměna a ne mi za to dávat mínusy. 😀 De facto je to ekvivalent toho jako kdybych rozdával peníze.
Ja vam minus nedal ;) Jen jsem psal, ze to v tomhle pripade je tak nejak jedno. Zvlast u redaktora, ktery velmi pravdepodobne nema ambice stat se profesionalnim programatorem/skripterem ;) A i proto si myslim, ze vami rozhozene penize nedopadnou na urodnou pudu ;)
Názor byl 1× upraven, naposled 11. 8. 2021 15:52
Já jsem myslel, že pan Čížek je spíš vývojář (nejspíš v Pythonu), který jako doplněk píše články a že v poslední době začíná objevovat JavaScript - což se pak projevuje těmito články nebo články o Google Apps Scriptu.Tak uvidíme, jestli to něčemu pomohlo. 😀Každopádně když je člověk na pomezí mezi redaktorem a vývojářem, tak je podle mě lepší to už překlopit do toho vývojáře.
Financne asi ano, ale to cloveka musi bavit.0
Za me je jakykoliv zdroj ohledne programovani dobry, hlavne ty s priklady, at uz je to tam napsane dobre nebo neni (to, co je dobre, na to bude mit stejne kazdy jiny nazor). Protoze napsat jakykoliv clanek nebo blog post o programovani, idealne s priklady, kdo to nekdy zkusil, vi ze to je spousta prace a mnohdy nevdecne.Dobre kodit se clovek stejne z zadnych prikladu nenauci. Na to jsou zapotrebi leta praxe, tuny projitych cizich kodu, tuny prepsanych vlastnich kodu, idealne znalost hardwaru (z toho pohledu, jak to vlastne cele funguje) znalost nejake teorie, ktera za tim je, matematicke mysleni, algoritmizace, patterny, jazyky, standardy, frameworky, repozitare, knihovny, dalsi technologie, jako git, docker, kompilery, transpilery, proste build chainy, IDEcka... Vzdyt jen pro ten web, to je takove mrte technologii, co ty browsery dneska umi a ruznych frameworku, knihoven a kdo vi jakych bazmeku... A porad to pribyva. Dulezite je take mit bud zkuseny dohled nebo aspon nekoho zkuseneho, s kym se to da konzultovat. Ale to je asi ve vsech oborech.A vyvojari hlavne nesmi chybet ochota se porad ucit neco noveho, zkoumat to do detailu, nastudovat si problem, ucit se nove technologie a postupy (i kdyz, me posledni dobou cim dal vic prijde, ze vsechno dulezite se vymyslelo jeste davno pred tim, nez vubec existovaly pocitace a ten zbytek do konce 70tych let minuleho stoleti). Dneska prijde kazdej kdo ma do zadku diru s necim novym a nakonec je to jen opraseni neceho, cemu se akademici venovali uz pred mnohymi lety.Zkratka je toho strasnej ranec a to opravdu musi cloveka bavit.
Názor byl 8× upraven, naposled 12. 8. 2021 23:50
Ten bod 2) na Živě jistě vědí, jen asi jiný autor :) Sami totiž před téměř 20 lety vydali velice precizní a rozsáhlou sérii článků o DOM ( https://www.zive.cz/clanky/dom--objektovy-mod... ). Kde přesně tohle vysvětlovali.To bylo ještě v časech kdy bylo živě velice úzce specializované. Dnes tolik článků o nějaké části nějakého webového programovacího jazyka… no čtenost tak 100x menší, než obecné články co může číst každý. Takže se to dá pochopit že podobné články už tu nevycházejí.
nerozumiem preco ma kazdy unikatny user agent, ked prakticky vsetci pouzivame aktualne verzie tych par malo browserov a vsetci sme na tych par malo operacnych systemoch
V článku je to všechno popsané, proč má každý „unikátního“ user-agenta.BTW Vám to tady píše verzi Firefoxu 78 (předpokládám že to je ESR) a přitom nejnovější verze je 91 (což je taky ESR).
nie, nieje ziadny dovod, aby sa ten isty prehliadac v tej istej verzii na tom istom os hlasil rozne. resp dokonca v kazdom jednom pripade uplne unikatne. toto nemoze byt nahoda, toto musi byt umysel.
Já bych řekl, že jste to tak úplně nepochopil.Psal jsem na to nějakou závěrečnou práci, docela jsem se do toho ponořil; vtip je v tom, co všechno na sebe prohlížeč práskne. Seznam písem (těch mohou být stovky), rozlišení okna, rozlišení monitoru.. a spoustu dalších věcí. I podle toho se pak web může servírovat.No a díky tomu se vám snadno stane, že i prakticky generický počítač bude mít unikátní fingerprint. Protože máte o jedno písmo ve specifické verzi víc, například.
Protože máme různé (sub)verze prohlížečů a systémů, jinou platformu, jiné nadstavby, jiné primární/akceptované jazyky, jiné časové pásmo, jiné vlastnosti zobrazení, jiné schopnosti grafiky (promítnuté třeba ve WebGL), jiné podporované kodeky, jiné dostupné senzory...
Slovy klasika. To muselo dat přišernou praci to sepsat. Přitom takova blbost co ? :)
Proč by si měl web pamatovat pro každou verzi každého prohlížeče, co umí? Měly by být standardy plus poskytování údajů o nadstandardních dovednostech typu "umím přehrávat audio v Dolby True HD a uživatel má právě připojena steroefonní sluchátka".
Protože to byla historická nutnost. Microsoft s IE určoval vlastní standardy, ty oficiální si vykládal po svém... a nebyl jediný.Co web privatizoval Google, je to trochu lepší.
Spis po tom co vznikly W3C standardy (kde jsou vsichni tihle velci nejak zastoupeni) a byli vyvojari prohlizecu akceptovany a implementovany.
Je o tom celej ten článek Mlho.
Za ten extra dlouhy seznam cookies v obrazku v clanku, ktery je samozrejme projistotu rozmazany, by se tvurci tohoto webu meli stydet, nebo hanbou rovnou propadnout do sklepa. To je tragedie.
Názor byl 1× upraven, naposled 11. 8. 2021 07:14
HaNbou 😉
Opraveno :) m a n je vedle sebe... preklep .. :)
Názor byl 2× upraven, naposled 11. 8. 2021 07:15
To tam mohou cpát i různé frameworky. Ale skončit v pekle by zasloužili za ten přehrávač a ty diskuze. Někdy to musím poslat třeba 5x, jinak se to neuloží. Ale chybu to žádnou nenapíše.
Jj. to jsou ty typicke patlaniny lepene z frameworku. Zazil jsem firmu, ktera dela statni zakazky pro jiste reditelstvi, kde neumeli psat jednoduche veci sami (obvykle prace tak na 10 minut, opakovane pouzitelna) a misto toho kvuli jedne funkci implementovali framework jako krava. A takto nekolikrat nekolik frameworku kvuli par trivialnim funkcnostem. Pak samozrejme se dotahovalo bzilion js kodu, kod na serveru byl velky jako krava, bzilion malych souboru, tuny jazykovych verzi na kde co, ktere projekt vubec k nicemu nepotreboval. Castokrat se programatori, nezvykli na dane frameworky, v tom neorientovali a delaly se strasne patlaniny, no proste hruza. Utekl jsem z tama. Ma efektivita, kdyz jsem ted na volne noze a delam casto cele projekty po svem, se zvysila mnohonasobne. Clovek nezkouma jak ten podelany framework funguje, ale proste si jednoduchou funkcnost napsal na miru a mnohem efektivneji.
Treba node.js to dotahl k dokonalosti, hromada modulu, kde jazdy zavisi na hromade dalsich. To se pak musi stahovat a ve zdrojacich to sezere treba gigabyte.
Node ani NPM bych z toho nevinil. Ten balikovaci a zavislostni system funguje bajecne. Na linuxu to s C kodem funguje uplne stejne.Muze za to predevsim opensourcova komunita a nazor lidi, kteri tvrdi, ze kolo by se znovu vynalezat nemelo. No nemelo, ale kdyz ho pichnu a nema mi ho kdo opravit, tak to si ho radsi vynaleznu znovu. Aspon pak mam vsechna kola stejna. Sice ten cas tim ztraveny je strasny, ale pokud delam nejaky projekt, ktery ma byt dlouhodobe udrzitelny a ne jen PoC, kde ty tuny knihoven klidne muzu pouzit, tak se to proste vyplati, at si rika kazdy co chce.
Názor byl 1× upraven, naposled 11. 8. 2021 12:42
Ze zkušenosti můžu říct, že u dlouhodobého projektu se projeví spíš ty nevýhody knihoven.U PoC můžu díky knihovnám rychle spíchnout něco co nějak funguje, ale časem se začnou vynořovat problémy, protože nedělá úplně přesně to co potřebuje ten projekt, údržba nemusí být tak kvalitní nebo se její vývoj začne ubírat jiným směrem.Navíc to jsou věci, které nelze (snadno) ovlivnit, lze na ně jen reagovat, takže to dost nepříjemně zasahuje do vývoje. Kdyby se v rané fázi taková knihovna nahradila in-house řešením, tak je to prostě součástí zdrojáků a vyvíjí se jako ostatní části toho projektu.
Je to presne jak pisete. Nebo jsem napsal neco jineho? :)
Názor byl 1× upraven, naposled 11. 8. 2021 13:48
Z toho příspěvku to vypadalo nějak ambivalentně a poslední větu jsem rozparsoval opačně než byla myšlena. Je tam moc vedlejších vět, tak mi nedošlo co k čemu patří.Teď už to vidím, takže ano, tvrdíme to samé 🙂
Omlouvam se za pouziti zpraseneho enkoderu na me strane :)
Jo, do výsledku se to nedostane. Ale minimálně se to musí stahovat a leží to na disku, i když to není přímo potřeba. Schválně jsem otevřel detaily adresáře node_modulesSize on disk: 24,8 GBContains: 122 521 Files, 17 839 FoldersOno nakonec stačí vyrobit třeba ten default projekt pro react a taky toho nebude málo.K těm knihovnám a frameworkům - tam je ještě velká neznámá, jak dlouho budou fungovat a někdo je udržovat, než přijde něco jiného. Když si vezme člověk pár let starý projekt, tak tam najde věci, co už dneska nikdo nepoužívá nebo jsou o x verzí vepředu a upgrade znamená část přepsat.
Zalezi jak se ten default projekt pro react vytvori :) Kdyz chci typescript a pouzivam react-scripts, k tomu nejakej ten Redux a par dalsich knihoven, tak to ma hodne hlavne kvuli tomu build chainu... Webpack, Babel, Typescript a vsechny ty strasny zavislosti. Kdyz si to clovek vyzobe sam, tak to zas tak hrozny neni, ale kdo by se s tim sral.
No tak to zas narazis na to, ze pokud se autori dane tuny knihoven rozhodnou jit jinou cestou, nez potrebuje tvuj projekt, tak ses v haji totalne. Mnohem vice nez s pichlym kolem, ktere muzes zalepit a jet dal. A to se stalo nejednou. A nenadelas s tim nic a projekt bud udrzujes dokud to jde u stare verze, kterou si v tunach externich knihoven jen tak nespravis, pokud nechapes uplne zcela jejich filosofii, nebo se musis zavislosti na externi praci zbavit. Nic jineho ti nezbyde. A to je pak mnohem narocnejsi. Nez jit vlastni cestou a delat si v kodu veci na miru a pocitat tak nejak rozhodne s vecmi a moznostmi vlastniho rozsireni do budoucna, presne tak jak potrebujes pro svuj projekt, a ne jak potrebuje jakasi externi komunita.
Napsal jsem to tak blbe, ze to nejde pochopit? V podstate jsem napsal to same co vy. A to tykani.... Ja nevim proste.
Internet ma puvod v Americe. V Americe se žádné vykani neřeší. Zvykni si. Na internetu se tyka. Posledních asi třicet let. Jinak ja nevím no, na co si stezujes.
Tykaj jenom burani. Slusnost je vykat, kdyz nekoho neznam. Ja jsem vcelku zvyklej, protoze buranu je na netu spoustu.
Sam jste buran. A tedy odted Vam vykam Vy burane. Aby jste se nepodelal. Burane.
Byste se hlavne mel naucit slusne chovat, kdyz vas to nenaucili rodice.
No vy by jste mel dostat od vasich rodicu ihned facku. Mozna i dve, Kdyz nevite, ze za to, ze vam nekdo tykne se hned lidem nerika burane. Vy burane. Typicky buran. Jeste k tomu nevychovany.
Dochazi vam argumenty, prichazi facky.... Vite kdo je buran? Ten kdo se neumi chovat. A to jste presne vy.
Ja to delam tak, ze kdyz delam pocku, tak klidne ten balast pouziju (kdyz to rozumne funguje a kdyz to neni slozitejsi, nez napsat si to sam). Pro projekty si to radsi napisu sam. Co nikdy nepisu a vzdycky pouziju neco, co se vice v komunite pouziva, to jsou sifrovaci knihovny, knihovny pro praci s certifikaty, prace s videem, grafickymi formaty a podobne. U toho ostatniho treba tu knihovnu vezmu (kdyz je zdrojak k dispozici) a vybagruju z ni to co potrebuju a upravim to do takoveho stylu, jakym pisu ja, pripadne to funkcne upravim dle potreby (argumenty fci a metod, zapozdreni do objektu atd). Samozrejme zalezi na licenci, preferuju MIT a licenci vzdycky uvadim, i kdyz se jen "inspiruji" nebo to sproste "vykradu".No a frameworky... Kdyz to je slozity... Treba takovej .Net bych bez frameworku nepsal. U Javy uz si tim tak jistej nejsem, protoze ten Spring je proste strasne slozitej a nabubrelej. Psat vetsi SPAcko bez frameworku, to si taky ale neumim uplne dost dobre predstavit. Proste nejakej ten balast pouzit clovek musi, pokud se z toho nechce zblaznit. Jen vybrat ten zpravnej, kterej ma jakous takous podporu a pravdepodobne ji nejakou dobu mit bude :)
Názor byl 4× upraven, naposled 11. 8. 2021 14:20
Jo, tenhle web je docela hnůj. Podle mě je tam historicky zakopaná hromada bordelu. Hodně mě udivilo, co se stane, když změníte přezdívku (to jsem vůbec nepochopil), proč nejde změnit registrační email... reklamy řeší jiný tým, takže redaktoři na jejich obsah nemají moc vliv, a z podobného bordelu budou podle mě i ty cookies.
Jo no, dokud to cely nekdo nevezme a neprepise, tak to bude jak to je... Proste se to casem nabali a neni dost dobre mozny tomu zabranit. Ty businesaci si totiz vymyslej hrozny veci, se kteryma se dopredu neda pocitat... Krom toho, ty technologie se taky nejak vyviji, pochybuju, ze by dneska nekdo pouzil pro novej vetsi projekt treba PHPko nebo ASP.NET.
pane Boze🙄
User-Agent jsem používal před lety ve webové aplikaci sloužící k multimediálním prezentacím. A protože podpora audio a video formátů a kodeků, byla v té době různorodá (v podstatě jen mp4 s H.264 byla v té době univerzální) tak bylo třeba rozeznat prohlížeč a podle toho nabídnout možnosti, aby to nedovolilo nasypat tam uživateli něco, co mu pak nepůjde spustit.Když si pak někdo pohrával s User-Agentem tak se pak mohlo stát, že mu to vyhazovalo nepodporovaný obsah i když byl podporovaný a naopak.Dnes už v podstatě jen Safari a iphone neumí kodek VP8, VP9 a formát WebM, jinak to už není třeba řešit.
Standardom je MP4 a H.264 potazmo H.265, zmier sa s tym. VP okrem Mozilly neriesi nikto (ti zas defaultne na Linuxe nepodporuju H.264/265). A nebavime sa len o browseroch, ale o vsetkom – mobily, videokamery, strihovy SW, streamovacie sluzby…Ono to ma svoje dovody – akceleracne cipy na video na mobiloch ziadne kvazi otvorene VP8/VP9 nepodporuju a nie su schopne akcelerovat, co znaci ze sa vyuziva hlavny procesor na ukor spotreby baterie.Jo a mimochodom, Safari VPcko tiez podporuje uz nejaku dobu, akurat nikto z toho odvareny nie je.
Názor byl 2× upraven, naposled 11. 8. 2021 10:08
https://caniuse.com/webm
Po geoblockingu na základě IP mi diskriminace user-agentů vadí asi nejvíc. HTML (potažmo CSS a java) mají snad nějaké standardy a kód stránky by neměl být závislý na tom, jak se prohlížeč podepíše. Některé věci si mohou různé prohlížeče zobrazit po svém, nic proti tomu, pokud vývojář nenadefinuje, jak má prvek vypadat, ať si prohlížeč použije své styly. Fingerprinting nechám stranou, to by bylo na delší debatu, ale nikdy jsem nepochopil, proč psát kód několikrát pro různé prohlížeče, jen to dělá neplechu a kompatibilita se ztrácí, protože nikdo nemyslí na standard, ale na to, jak to obejít u konkrétního prohlížeče. Trochu mi to připomíná hry psané pro DirectX, kde se na standardy kašle a chyby (odchylky od standardu) konkrétních her se opravují ovladači grafiky…
IP Geoblocking mi taky dost vadí, v poslední době je stále více agresivní a používá třeba i blacklisty známých VPN, je tedy téměř neprůstřelná. Nicméně falšování user-agentu jsem občas používal pro vynucení staré verze Youtube která se načítala výrazně rychleji
Dneska to skutecne smysl moc nema. Vetsina rozdilu je jen v CSS a podpore nekterych JS API, coz serverovy skript neresi.Ale v minulosti to skutecne bylo potreba. Ty rozdily byly propastne. Standard nestandard, prohlizece delaly neplechu (explorer asi nejvic) a pokud jste chtel aby web fungoval pro nejakych 90% lidi spolehlive, tak jste nemel na vyber - musel jste kazdemu prohlizeci posilat jiny kod.
Nebo to nejak pokoutne osetrovat na strane klienta, coz byla taky dost zabava, protoze ani JS nebyl vzdy stejny JS na vsech browserech :) Dneska uz je to vazne legranda a da se celkem jednoduse napsat apka, ktera funguje vsude. Jen to mobilni safari.... to porad zlobi a nekdy i umyslne.
Názor byl 1× upraven, naposled 11. 8. 2021 12:26
Problém není ani tak konec user-Agentu, ale když někdo píše o něčem o čem má základní znalosti a myslí si, že tomu rozumí. To pak jedna bejkárna střídá jinou 😀
Potvrďte prosím přezdívku, kterou jsme náhodně vygenerovali, nebo si zvolte jinou. Zajistí, že váš profil bude unikátní.
Tato přezdívka je už obsazená, zvolte prosím jinou.