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

Stran: 1 ... 69 70 [71] 72 73 ... 133
1051
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 16:55:54 »

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?

1052
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 16:35:46 »
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?

ne,

TS je platné, nemusíš si typy vstupních hodnot strážit sám.

1053
Vývoj / Re:Jak nahlížíte na front-end developery?
« kdy: 12. 10. 2018, 16:33:26 »
Karel: to není tak úplně pravda. I mezi kódy využívajícími framework bývají propastné rozdíly. Jde o to, jestli někdo framework používá proto, že mu usnadňuje práci, ale klidně by to napsal i bez něj nebo jestli ve skutečnosti vůbec netuší, jak to vlastně funguje a framework je jediná možnost, jak něco ubastlit.

Dobrej framework (na rozdíl od knihovny) má tu vlastnost, že nedává moc volnosti. Takže i když je ten vývojář dutej, tak ho ten FW přinutí to udělat správně.

1054
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 16:23:03 »
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.

Tuto odpověď jsi už dostal, co chceš víc?

1055
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 16:12:32 »
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.

1056
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 15:49:55 »
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ý :*

Ale já ti to neberu. Jen je mi to tak nějak jedno.

1057
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 15:38:10 »
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.
Hoďte na něj někdo deku  ::)

+1

1058
Vývoj / Re:Jak nahlížíte na front-end developery?
« kdy: 12. 10. 2018, 15:37:28 »
Asi to neni to na co se ptas, ale vsimnul jsem si, ze (aspon v mem okoli) frontendaci lepe vypadaji :-) dbaji o sebe.
Backendaci maji pupky a hreben nikdy nevideli.
Pozorujete to taky?

To akoze potom fullstack developeri maju tlste cecky, ale brucho nie? A ucesane vlasy ale zle natrimovanu bradu?
Potom, ako sa to meni od miery frontedovitosti? Ci to si musi menit handry a tlstnut/chudnut podla toho, co prave kodi? :)

:D

1059
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 15:30:14 »
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ě.

Jen tě doplním, že TS není z kategorie neprůstřelných. Tudíž si nevynutí (jako Elm), aby byly vstupy monadické, tudíž to nedohlídá.

PS: Tento příspěvek není pro @Wal-De-Mar

1060
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 15:20:20 »
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.

1061
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 15:02:17 »
... ako TS súvisí / eliminovalo špagety kód vo vašej firme.

Souvisí to s typováním. Jakmile začneš do těch špaget rvát typy, tak se to začne pročišťovat. Přirozený refactoring. Dále tomu pomáhá skutečnost, že ty typy se dají přidávat postupně. Takže odpadá strach z megapřepisu.

??? Kokot to je argument. Pridanie definície typov prečisťuje kód.

Co se ti nezdá?

Napríklad to, že fungujúci špagety kód mi pridanie typov žiadnym spôsobom neprečistí? Že typy a špagety kód nemajú fakt nič spoločné?

To, že se ti to nezdá, že já to tak použít umím, protože ten jazyk používám, zatímco ty neumíš, protože jsi to nikdy nedělal, páč by si se tak neptal - to není známka špatného argumentu.

1062
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 15:00:11 »
Ergo, "zahučí" mi aplikácia za run-time pri odovzdaní nesprávneho typu parametru ako pri staticky typovanom jazyku, alebo je TS len o hintoch počas kódenia?
Řekl bych, že úplně nerozumíte tomu, co znamená staticky typovaný jazyk. V běžně používaných staticky typovaných jazycích (C, C++, Java,...) se žádná runtime kontrola nesprávného typu nedělá. Proč taky, to garantuje kompilátor, že tam je správný typ. U některých se dají různými oklikami vynutit checky, ale to už je jiná kapitola. Pokud by to totiž bylo běžnou součástí, tak by šla výkonnost prudce dolů. A pro váš neklidný spánek vám prozradím ještě jedno sladké tajemství, u většiny se standardně neprovádí ani kontrola přetečení/podtečení u číselných typů.

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?

Ano. Zajímá tě Maybe/Option typ.

1063
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 14:41:38 »
... ako TS súvisí / eliminovalo špagety kód vo vašej firme.

Souvisí to s typováním. Jakmile začneš do těch špaget rvát typy, tak se to začne pročišťovat. Přirozený refactoring. Dále tomu pomáhá skutečnost, že ty typy se dají přidávat postupně. Takže odpadá strach z megapřepisu.

??? Kokot to je argument. Pridanie definície typov prečisťuje kód.

Co se ti nezdá?

1064
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 14:34:06 »
Lenže ja neriešim blbosť, ale principiálnu otázku: má vôbec TS zmysel?

Ano má. Protože chceme kód otestovat před spuštěním, ne za běhu. Ty se tážeš, zda ti to bude testovat za běhu, ale o to nikdo nemá zájem. To nebyl důvod, proč byl TS vymyšlen.

Mňa naopak zaujímajú správne typy hodnôt za behu. Lebo len to je pre mňa bezpečnostné riziko. A zdá sa, že TS mi nijak nepomôže s neznámym JSON za behu. Tým pádom je pre mňa TS zbytočné.

Tak pokud myslíš, že to potřebuješ, použij už uváděné knihovny. TS za tímto účelem nebyl vymyšlen.

1065
Vývoj / Re:Funguje TypeScript aj za run-time?
« kdy: 12. 10. 2018, 14:31:56 »
... ako TS súvisí / eliminovalo špagety kód vo vašej firme.

Souvisí to s typováním. Jakmile začneš do těch špaget rvát typy, tak se to začne pročišťovat. Přirozený refactoring. Dále tomu pomáhá skutečnost, že ty typy se dají přidávat postupně. Takže odpadá strach z megapřepisu.

Stran: 1 ... 69 70 [71] 72 73 ... 133