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 - Wal-De-Mar

Stran: 1 ... 10 11 [12] 13 14 ... 18
166
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 17:17:32 »

Takže za runtime mi nie je TS nič platné?Dokonca, všeobecne mi za runtime ani v staticky, ani v dynamicky typovanom jazyku s TS nie sú typy nič platné a musím si typy vstupných hodnôt ustrážiť sám?

A co by tak runtime kontrola jako měla udělat?

Skontrolovať správnosť typu hodnoty zo vstupu počas behu programu? Aby funkcia ktorá tú hodnotu obdrží nespôsobila pád programu v prípade staticky typovaného jazyka, alebo nevrátila nezmysel v prípade dynamicky typovaného?

Ale uvědomuješ si, že v případě TS takový scénář nenastane?

TS vie počas transpilácie čo mi príde na vstup za behu? Či vo formulári, či v GET, či v JSON?

Ano.

A ty že v čom programuješ? Robot Karel?

Jak to souvisí s problematikou?

Tak, že si povedal čistý nezmysel. Alebo mi povedz ako si dospel k tomu, že v JS dopredu viem typ hodnoty aká mi príde na vstupe. Očakávam, že príde 123, miesto toho príde 'Jožo'. Odkiaľ by som toto mohol vedieť vopred?

167
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 17:10:23 »

Takže za runtime mi nie je TS nič platné?Dokonca, všeobecne mi za runtime ani v staticky, ani v dynamicky typovanom jazyku s TS nie sú typy nič platné a musím si typy vstupných hodnôt ustrážiť sám?

A co by tak runtime kontrola jako měla udělat?

Skontrolovať správnosť typu hodnoty zo vstupu počas behu programu? Aby funkcia ktorá tú hodnotu obdrží nespôsobila pád programu v prípade staticky typovaného jazyka, alebo nevrátila nezmysel v prípade dynamicky typovaného?

Ale uvědomuješ si, že v případě TS takový scénář nenastane?

TS vie počas transpilácie čo mi príde na vstup za behu? Či vo formulári, či v GET, či v JSON?

Ano.

A ty že v čom programuješ? Robot Karel?

168
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 17:09:13 »
Otázka je jednoduchá a čakám jednoduchú odpoveď. Áno, definovanie typu zabezpečí pri transpilácii dopísanie kontroly na daný typ / Nie, pri transpilácii sa kontrola na daný typ do kódu nedopíše.

ne.

Takže za runtime mi nie je TS nič platné?Dokonca, všeobecne mi za runtime ani v staticky, ani v dynamicky typovanom jazyku s TS nie sú typy nič platné a musím si typy vstupných hodnôt ustrážiť sám?

píšeš, že používáš Flow. Typescript je náhrada za Flow. Nic víc.

Vyhol si sa odpovedi. Navyše,  Flow nie je náhrada, a ani ho nepoužívam. Nie v tom zmysle, že si v JS definujem typy. Len nad kódom, bez typov, po dopísaní spustím automatickú kontrolu od Flow. Takže? Skúsiš odpoveď na moju predošlú otázku? Alebo ani netreba, lebo mám pravdu a len sa ti to blbo pripúšťa?

Ano, musíš typy kontrolovat sám, ale nemusíš v každé funkci, stačí pouze na vstupu. Typescript ohlídá, že to děláš správně. Stejně jako Flow. To je odpověď na předchozí otázku. Typescript s anotacemi je +- to stejné co Flow s anotacemi.

Ale prirodzene, že runtime kontroly píšeš len do funkcií, ktoré berú vstupy. Akurát sa pletieš v tom, že TS nijak neohlídá či to robím správne. Nemá ako.

169
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 17:00:37 »

Takže za runtime mi nie je TS nič platné?Dokonca, všeobecne mi za runtime ani v staticky, ani v dynamicky typovanom jazyku s TS nie sú typy nič platné a musím si typy vstupných hodnôt ustrážiť sám?

A co by tak runtime kontrola jako měla udělat?

Skontrolovať správnosť typu hodnoty zo vstupu počas behu programu? Aby funkcia ktorá tú hodnotu obdrží nespôsobila pád programu v prípade staticky typovaného jazyka, alebo nevrátila nezmysel v prípade dynamicky typovaného?

Ale uvědomuješ si, že v případě TS takový scénář nenastane?

TS vie počas transpilácie čo mi príde na vstup za behu? Či vo formulári, či v GET, či v JSON?

170
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 16:57:40 »

píšeš, že používáš Flow. Typescript je náhrada za Flow. Nic víc.

Typescript přidává generiku. Má javascript generiku?

Aha. No tak mi povedz ako generiku implementujú po transpilácii vo výslednom JS.

171
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 16:54:06 »

Takže za runtime mi nie je TS nič platné?Dokonca, všeobecne mi za runtime ani v staticky, ani v dynamicky typovanom jazyku s TS nie sú typy nič platné a musím si typy vstupných hodnôt ustrážiť sám?

A co by tak runtime kontrola jako měla udělat?

Skontrolovať správnosť typu hodnoty zo vstupu počas behu programu? Aby funkcia ktorá tú hodnotu obdrží nespôsobila pád programu v prípade staticky typovaného jazyka, alebo nevrátila nezmysel v prípade dynamicky typovaného?

172
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 16:45:43 »
Otázka je jednoduchá a čakám jednoduchú odpoveď. Áno, definovanie typu zabezpečí pri transpilácii dopísanie kontroly na daný typ / Nie, pri transpilácii sa kontrola na daný typ do kódu nedopíše.

ne.

Takže za runtime mi nie je TS nič platné?Dokonca, všeobecne mi za runtime ani v staticky, ani v dynamicky typovanom jazyku s TS nie sú typy nič platné a musím si typy vstupných hodnôt ustrážiť sám?

píšeš, že používáš Flow. Typescript je náhrada za Flow. Nic víc.

Vyhol si sa odpovedi. Navyše,  Flow nie je náhrada, a ani ho nepoužívam. Nie v tom zmysle, že si v JS definujem typy. Len nad kódom, bez typov, po dopísaní spustím automatickú kontrolu od Flow. Takže? Skúsiš odpoveď na moju predošlú otázku? Alebo ani netreba, lebo mám pravdu a len sa ti to blbo pripúšťa?

173
Vývoj / Re:Jak nahlížíte na front-end developery?
« kdy: 12. 10. 2018, 16:40:36 »
Jsem primarne javascriptovy developer ktery zacinal na backendu a pilne studoval CS.

V ramci javascriptaku, kteri pouzivaji SPA framework(angular/react/vue etc) moc rozdilu nepoznate - vsechno je temi frameworky nalinkovane za vas, ano i v reactu (muzete to delat 10 zpusoby, ale vsichni delaji ten jeden stejne) - rozdil mezi temito developery je minimalni, v podstate vidi kod z dokumentace, tu lepsi, tu lepsi horsi mikrokod ve funkcich - v jistem smyslu je to dobre, kod je standardizovany, ovsem sikovny developer se muze zde schovat a tvarit se ze umi programovat.

Pokud probirate cokoliv netrivialniho s temito developery, pak rychle zjistite, ze hodne z nich nic jineho nez jednu naucenou framework kucharku nezvladnou a rozhled maj velmi slaby, kdyby mel zitra zacit od piky prgat v necem jinem, byl by zoufale ztracenej.

Je to i naopak, velmi dobry programator neukaze v tom boilerplatu sve schopnosti, v podstate je to jen o tom najit ten spravny vzor pro boilerplate (v lepsim pripade v dokumentaci, v horsim nejaky vyjimecne dobry tutorial).

Takze jak nahlizim na frontendaky? Ze zkusenosti se vsichni tvari ze to je bud 1)bavi 2)zacinaji 3)ze to je prestupna stanice - a casem chtej delat neco jineho, 95% procent z toho jsou kecy jakmile zjisti co vsechno by je cekalo jinde, protoze vono to nejak na tom frontendu jde zpatlat vzdycky a tvarit se nabusene.

No a čo autori tých frameworkov? Oni tiež len niečo spatlali a iba sa tvária nabúšene? Bez ohľadu na milióny stiahnutí tých frameworkov každý mesiac?

autori frameworku jsou velmi casto velmi dobri, zkuseni a kvalitni programatori, to nic nevypovida o jejich uzivatelich, at uz je produktem outlook nebo angular:)

Zrovnávať Outlook, výsledný program s freworkom na jeho tvorbu je naprosto scestné. Ale inak mi tvoja odpoveď stačila a vidím, že chápeš, čo si napísal odveci v predošlom príspevku. Nie je frontend developer ako frontend developer, čo však platí pre akýkoľvek programovací jazyk, a v každom sú dobrí aj zlí programátori. Tí dobrí vedia proste programovať, baví ich to, nie sú začiatočníkmi, ani to pre nich nie je prestupná stanica a frameworky nepoužívajú preto, že nevedia programovať, ale len kvôli väčšej efektivite práce, zasa ako ktokoľvek v ktoromkoľvek inom jazyku. Takže vlastne nechápem tvoj názor na frontendistov a zdá sa, že ani ty vlastne presne nevieš čo si máš myslieť.

174
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 16:31:15 »
Otázka je jednoduchá a čakám jednoduchú odpoveď. Áno, definovanie typu zabezpečí pri transpilácii dopísanie kontroly na daný typ / Nie, pri transpilácii sa kontrola na daný typ do kódu nedopíše.

ne.

Takže za runtime mi nie je TS nič platné?Dokonca, všeobecne mi za runtime ani v staticky, ani v dynamicky typovanom jazyku s TS nie sú typy nič platné a musím si typy vstupných hodnôt ustrážiť sám?

175
Vývoj / Re:Jak nahlížíte na front-end developery?
« kdy: 12. 10. 2018, 16:25:55 »
Jsem primarne javascriptovy developer ktery zacinal na backendu a pilne studoval CS.

V ramci javascriptaku, kteri pouzivaji SPA framework(angular/react/vue etc) moc rozdilu nepoznate - vsechno je temi frameworky nalinkovane za vas, ano i v reactu (muzete to delat 10 zpusoby, ale vsichni delaji ten jeden stejne) - rozdil mezi temito developery je minimalni, v podstate vidi kod z dokumentace, tu lepsi, tu lepsi horsi mikrokod ve funkcich - v jistem smyslu je to dobre, kod je standardizovany, ovsem sikovny developer se muze zde schovat a tvarit se ze umi programovat.

Pokud probirate cokoliv netrivialniho s temito developery, pak rychle zjistite, ze hodne z nich nic jineho nez jednu naucenou framework kucharku nezvladnou a rozhled maj velmi slaby, kdyby mel zitra zacit od piky prgat v necem jinem, byl by zoufale ztracenej.

Je to i naopak, velmi dobry programator neukaze v tom boilerplatu sve schopnosti, v podstate je to jen o tom najit ten spravny vzor pro boilerplate (v lepsim pripade v dokumentaci, v horsim nejaky vyjimecne dobry tutorial).

Takze jak nahlizim na frontendaky? Ze zkusenosti se vsichni tvari ze to je bud 1)bavi 2)zacinaji 3)ze to je prestupna stanice - a casem chtej delat neco jineho, 95% procent z toho jsou kecy jakmile zjisti co vsechno by je cekalo jinde, protoze vono to nejak na tom frontendu jde zpatlat vzdycky a tvarit se nabusene.

No a čo autori tých frameworkov? Oni tiež len niečo spatlali a iba sa tvária nabúšene? Bez ohľadu na milióny stiahnutí tých frameworkov každý mesiac?

176
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 16:20:38 »
Kód: [Vybrat]
function naDruhu (num) {
  return num * num
}

Táto funkcia si vôbec nestráži typ a pokiaľ ju niekto zavolá so zle zadaným parametrom z formulára, napríklad v tvare naDruhu('Jožo'), funkcia dá nečakaný výsledok. Použijem teda akože TS a nadefinujem typ:

Kód: [Vybrat]
function naDruhu (num: number) {
  return num * num
}

Nedal som do kódu žiadnu kontrolu, pretypovanie, či parsovanie parametru. Lebo veď som nadefinoval typ parametru a spolieham naň. Že to nie je presný syntax TS nie je dôležité. Dôležité je, na čo sa pýtam, že čo sa udeje pri transpilácii. Lebo pokiaľ sa po transpilácii vyššie uvedená funkcia s typmi jednoducho transpiluje do čistého JS tak, že sa len odstránia definície typov, čiže naspäť do pôvodného tvaru,

Kód: [Vybrat]
function naDruhu (num) {
  return num * num
}

tak mi je TS a celé typy na kokot, akurát tak mám hinty počas písania a kontrolu počas transpilácie, ktorá však nič zlé nezistí, lebo nevie dopredu, či mi užívateľ zadá vo formulári platné číslo. Keby však robila to, čo chcem vedieť či naozaj robí, či definícia typu zároveň zabezpečí, že pri transpilácii sa môj kód rozšíri o kontrolu typu, aby fungoval aj počas behu aplikácie, takže napríklad takto:

Kód: [Vybrat]
// moja definícia
function (num: number) {
  return num * num
}

// po transpilácii napríklad takto,
// ako tu písal iný, s parseInt
function (num) {
  if (!parseInt(num)) throw new Error()
  return num * num
}

Už to tu zaznělo. Místo držkování čítaj.

1. Takto se to nepřeloží, protože TS je staticky typovanej.
2. Typy jsou transitivní, takže by si měl ohlídat, že uvedenou funkci zavolám s výrazem odpovídajícího typu.
3. TS neohlídá všechno (pokud mi něco neuniklo), takže pokud mu něco "vnutíš" tak slítne. Ale obvykle máš vstupy otypovaný, tudíž víš, že ten formulář ti vrátí string, a tak tě to přinutí k tomu ho přetypovat na int. Při normální práci ti to nespadne.

Otázka je jednoduchá a čakám jednoduchú odpoveď. Áno, definovanie typu zabezpečí pri transpilácii dopísanie kontroly na daný typ / Nie, pri transpilácii sa kontrola na daný typ do kódu nedopíše.

177
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 16:05:47 »
Zasa. Nemudrovať nad konkrétnym kódom. Otázka znie: zabezpečí mi definícia typu, že bude kontrolovaná otypovaná premenná aj za behu? Alebo parsovanie / pretypovanie / kontrolu na správny typ dodanej za behu, vopred neznámej za návrhu, si musím robiť sám, ručne si ju dopísať do kódu?

kontrola funguje jen uvnitř typescriptu. Když výsledný javascript voláte z javascriptu, žádná kontrola neprobíhá. Když uvnitř typescriptu načítáte vstup z konzole, dostanete string a typescript ohlídá jeho konverzi na číslo před použítím ve funkci, která vyžaduje číslo. Ta konverze zůstane i ve výsledném javascriptu.

Čiže TS kód ide spustiť v tom tvare ako je napísaný? A čítať napríklad z konzoly? On na neho už existuje natívny interpreter a nemusí sa pred behom transpilovať do JS?

178
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 16:00:38 »
Takže v Jave budem čítať vstup, čo len z konzoly, a pri pokuse priradiť načítaný string do premennej typu int mi program nespadne na runtime error?

to typescript nedovolí. Musíte nejdřív převést na číslo.

Ale dovolí. Lebo za runtime tam z TS syntaxu neostane ani zmienka. Vo formulári ti užívateľ zadá text miesto čísla a TS ti s tým nijak nepomôže. Len si pletieš buildtime s runtime.

TS rozumí konverzím a assercím. Ví, že výsledek parseInt, Number, parseFloat je číslo. Rozumí testování na NaN. V runtime zmizí pouze anotace specifické pro TS, javascriptové asserce zůstanou. Flow funguje stejně.

Hurá, blížime sa k tomu, na čo som pôvodne pýtal. Takže to spresním: majme funkciu v čistom JS:

Kód: [Vybrat]
function naDruhu (num) {
  return num * num
}

Táto funkcia si vôbec nestráži typ a pokiaľ ju niekto zavolá so zle zadaným parametrom z formulára, napríklad v tvare naDruhu('Jožo'), funkcia dá nečakaný výsledok. Použijem teda akože TS a nadefinujem typ:

Kód: [Vybrat]
function naDruhu (num: number) {
  return num * num
}

Nedal som do kódu žiadnu kontrolu, pretypovanie, či parsovanie parametru. Lebo veď som nadefinoval typ parametru a spolieham naň. Že to nie je presný syntax TS nie je dôležité. Dôležité je, na čo sa pýtam, že čo sa udeje pri transpilácii. Lebo pokiaľ sa po transpilácii vyššie uvedená funkcia s typmi jednoducho transpiluje do čistého JS tak, že sa len odstránia definície typov, čiže naspäť do pôvodného tvaru,

Kód: [Vybrat]
function naDruhu (num) {
  return num * num
}

tak mi je TS a celé typy na kokot, akurát tak mám hinty počas písania a kontrolu počas transpilácie, ktorá však nič zlé nezistí, lebo nevie dopredu, či mi užívateľ zadá vo formulári platné číslo. Keby však robila to, čo chcem vedieť či naozaj robí, či definícia typu zároveň zabezpečí, že pri transpilácii sa môj kód rozšíri o kontrolu typu, aby fungoval aj počas behu aplikácie, takže napríklad takto:

Kód: [Vybrat]
// moja definícia
function (num: number) {
  return num * num
}

// po transpilácii napríklad takto,
// ako tu písal iný, s parseInt
function (num) {
  if (!parseInt(num)) throw new Error()
  return num * num
}

Zasa. Nemudrovať nad konkrétnym kódom. Otázka znie: zabezpečí mi definícia typu, že bude kontrolovaná otypovaná premenná aj za behu? Tak, že mi do kódu dopíše nejakú kontrolu? Alebo si takéto parsovanie / pretypovanie / kontrolu na správny typ dodanej za behu, vopred neznámej za návrhu, musím aj tak robiť / dopísať do kódu ručne? Sám?

179
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 15:51:05 »
Takže v Jave budem čítať vstup, čo len z konzoly, a pri pokuse priradiť načítaný string do premennej typu int mi program nespadne na runtime error?

to typescript nedovolí. Musíte nejdřív převést na číslo.

Ale dovolí. Lebo za runtime tam z TS syntaxu neostane ani zmienka. Vo formulári ti užívateľ zadá text miesto čísla a TS ti s tým nijak nepomôže. Len si pletieš buildtime s runtime.

TS rozumí konverzím a assercím. Ví, že výsledek parseInt, Number, parseFloat je číslo. Rozumí testování na NaN. V runtime zmizí pouze anotace specifické pro TS, javascriptové asserce zůstanou. Flow funguje stejně.

Hurá, blížime sa k tomu, na čo som pôvodne pýtal. Takže to spresním: majme funkciu v čistom JS:

Kód: [Vybrat]
function naDruhu (num) {
  return num * num
}

Táto funkcia si vôbec nestráži typ a pokiaľ ju niekto zavolá so zle zadaným parametrom z formulára, napríklad v tvare naDruhu('Jožo'), funkcia dá nečakaný výsledok. Použijem teda akože TS a nadefinujem typ:

Kód: [Vybrat]
function naDruhu (num: number) {
  return num * num
}

Nedal som do kódu žiadnu kontrolu, pretypovanie, či parsovanie parametru. Lebo veď som nadefinoval typ parametru a spolieham naň. Že to nie je presný syntax TS nie je dôležité. Dôležité je, na čo sa pýtam, že čo sa udeje pri transpilácii. Lebo pokiaľ sa po transpilácii vyššie uvedená funkcia s typmi jednoducho transpiluje do čistého JS tak, že sa len odstránia definície typov, čiže naspäť do pôvodného tvaru,

Kód: [Vybrat]
function naDruhu (num) {
  return num * num
}

tak mi je TS a celé typy na kokot, akurát tak mám hinty počas písania a kontrolu počas transpilácie, ktorá však nič zlé nezistí, lebo nevie dopredu, či mi užívateľ zadá vo formulári platné číslo. Keby však robila to, čo chcem vedieť či naozaj robí, či definícia typu zároveň zabezpečí, že pri transpilácii sa môj kód rozšíri o kontrolu typu, aby fungoval aj počas behu aplikácie, takže napríklad takto:

Kód: [Vybrat]
// moja definícia
function (num: number) {
  return num * num
}

// po transpilácii napríklad takto,
// ako tu písal iný, s parseInt
function (num) {
  if (!parseInt(num)) throw new Error()
  return num * num
}

Zasa. Nemudrovať nad konkrétnym kódom. Otázka znie: zabezpečí mi definícia typu, že bude kontrolovaná otypovaná premenná aj za behu? Tak, že mi do kódu dopíše nejakú kontrolu? Alebo si takéto parsovanie / pretypovanie / kontrolu na správny typ dodanej za behu, vopred neznámej za návrhu, musím aj tak robiť sám, dopísať do kódu ručne? Sám?

180
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 15:23:30 »
Jeden tu motá dohromady build time s run time, iný motá dohromady refaktorizáciu s typmi. To je tak všetko, čo som sa dozvedel. Ako vždy na tomto fóre, nič.

Tak si říkám, možná by bylo užitečnější, když by si radil spíše ty nám, ne? Určitě se máme od tebe hodně co naučit.

Áno, preto mali moje kurzy také dobré hodnotenia, preto aj po čase nájdeš komentáre, že som dobrý :*

Stran: 1 ... 10 11 [12] 13 14 ... 18