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

Stran: 1 ... 6 7 [8] 9 10 ... 47
106
Vývoj / Re:Rada při návrhu db tabulek
« kdy: 21. 06. 2021, 19:54:25 »
Když se tabulka jmenuje sallary, nazvěte klíč sallary_id. Když je tabulka company, nazvěte klíč company_id. Jinak se v tom ztratíte velice lehce. Ať se stejná hodnota v databázi jmenuje stejně ať je to primární nebo cizí klíč nebo cokoliv jiného. Berte to jako "must do"

Proč? Salary.id říká docela přesně, o co se jedná. Nesnáším pleonasmy.

107
Vývoj / Re:Rada při návrhu db tabulek
« kdy: 21. 06. 2021, 15:04:12 »
Table Salary:
- id
- employee_id
- date_from
- date_to

108
Hardware / Re:Náhrada HDD za SSD v RAID1?
« kdy: 13. 06. 2021, 10:57:08 »
RAID0 vydrží v serveru mnohem déle než RAID1.

109
Vývoj / Re:Zlepšení čitelnosti vlastního kódu
« kdy: 01. 06. 2021, 15:21:05 »
Tohle především nemají řešit lidi, ale stroje a nástroje (eslint, checkstyle,...) - ideálně nastavené napříč organizací. Jejich (opodstatněné) porušení pak řešit anotací/při code review.

Počet znaků je pak přímo úměrný velikosti monitorů které vyfasujete ;)

Stroj (zatím) nedovede smysluplně pojmenovat proměnnou nebo funkci, která by vznikla rozpadem dlouhého příkazu na větší množství krátkých.

Na velikosti monitoru by vůbec nemělo záležet. Co když si to pak chci číst na tabletu nebo na mobilu?

110
Vývoj / Re:Zlepšení čitelnosti vlastního kódu
« kdy: 01. 06. 2021, 12:08:37 »
Dále: 80 znaků je archaismus, ale občas to řádky zalomit chce (mluvím k sobě, mám máslo na hlavě, kolega řešící diff nějakého mého kódu mi za to nedávno nedával...)

80 znaků je dobrý softlimit, ještě lepší je 65 znaků. Lépe se to čte.

Zalamování se snažím vyhýbat, raději řádek rozdělím do proměnných, jejichž názvy poslouží jako komentáře a poté je použiji ve výsledném příkazu, který je pak kratší.

Alternativou je důsledné zalomení parametrů volané funkce či metody, aby byly hezky pod sebou, ale tam pak chybí ty komentáře v názvech proměnných.

111
Vývoj / Re:Zlepšení čitelnosti vlastního kódu
« kdy: 01. 06. 2021, 11:54:11 »
Trochu si rypnu. Ten if (device.Type == "android")  je stoprocentne pouze na jednom miste v programu :-)

To jsem si vymyslel za chodu, to neni z zadneho programu. Normalne by byl android nejaky enum, ale pro citelnost teto kratke ukazky jsem tam nechal "android" aby jakoze bylo jasne, co se oproti cemu kontroluje.

Taky by se dalo napsat
Kód: [Vybrat]
if (device.IsAndroid) ...

113
Vývoj / Re:Doporučte rychlý WWW widget pro view SQL tabulky
« kdy: 21. 05. 2021, 12:49:05 »
tento přístup jde zrovna pro záznamy typu logy, kde člověka zpravidla zajímá blízká budoucnost, dobře a funkčně implementovat s filtrováním jen na klientovi. A to máš s dobrým widgetem v podstatě zadarmo, popř. musíš napsat jeden malej JS helper apod. Takže Ti to naopak často práci ušetří
Vidím, že načíst si celou tabulku do paměti a pak záznamy filtrovat a řadit na serveru v PHP, už není v módě. Teď se celá ta tabulka rovnou přestěhuje až na klienta.

Někdy bylo v módě načítat celou tabulku do paměti a pak teprve zpracovávat v PHP? No fuj!

i když je dat tolik a usecase je takové, že je potřeba součinnost filtrování na klientu a serveru, tak ta námitka je úplně mimo, protože doplnit do serverového api filtrování je práce tak asi na čtvrt hodiny. Takže za malej kus práce získáš svižnější aplikaci (nemusí si v mnoha případech říkat serveru o data)

(samozřejmě, tento přístup přestane bejt vhodnej v okmažiku, kdy bude tad tolik, že budou k rozumné práci potřeba indexy).
Ony existují i aplikace, které zpracovávají větší objem dat, než je nějaký blogísek. Filtrovací logika může být dost komplikovaná, např. se do SQL dotazu připojují další tabulky, které tam nejsou, když příslušný filtr není použit. Když to budete chtít řešit na klientovi, nebudete k němu po síti stěhovat jen celou tabulku, ale rovnou celou databázi.

Stačí klientovi poskytnout view.
která ovše s Tebou původně navrhovanou technologií, kterou jsme kritizovali:
Citace
Tak evidentně je to pro některé novinka, že se může do prohlížeče poslat jen HTML fragment a vyměnit jen část stránky
....nemá společného vůbec nic.
Řeč byla o tom, zda se rychleji zobrazí HTML → nativní HTML parser → DOM, nebo JSON → nativní JSON parser → JavaScript → DOM. Na tomto příkladu je to dobře vidět, protože ta komplikace se SSG a SSR se dělá právě proto, že první cesta je pro zobrazení výrazně rychlejší. No a princip je úplně stejný, jako s tím mým příkladem – z hlediska rychlosti je prohlížeči jedno, zda parsuje celé HTML, nebo jen HTML fragment.

Správně, nenechme se zmást benchmarky, které tvrdí opak.

114
Vývoj / Re:Doporučte rychlý WWW widget pro view SQL tabulky
« kdy: 20. 05. 2021, 19:33:11 »
Docela výrazně - generování JSON spotřebuje asi jednu desetinu výkonu oproti HTML.
Jo, ty špičaté závorky se v tom procesoru zasekávají, složené projdou mnohem líp… Na tohle se fakt nedá nic jiného napsat…

Nejde jen o špičaté závorky. Data musí být patřičně ošetřena - přitom json_encode() to již má v sobě.

Navíc je zbytečné renderovat HTML i na klientovi, takže klient ho nemusí ani parsovat.
Nějak mi uniká, co jste touhle větou chtěl říct.

že Javascript to umí zapisovat přímo do DOM a umí do něj doplnit i potřebnou bižuterii, kterou není nutné přenášet. Mezičlánek HTML je tedy možné vypustit.

115
Vývoj / Re:Doporučte rychlý WWW widget pro view SQL tabulky
« kdy: 20. 05. 2021, 19:13:38 »
Pokud se html generuje na klientovi a interakce s ui je také řešena na klientovi, ušetří se výpočetní výkon serveru který je pak k dispozici pro obsluhu dalších požadavků. Část výpočetního výkonu se tedy distribuuje mezi klienty. Data se ze serveru přenáší typicky pomocí JSON. Co k tomu víc dodat?
Ten JSON se podle vás vezme kde? Nebo myslíte, že když bude server generovat {"jmeno": "Jiří Novák"} místo <td>Jiří Novák</td>, ušetří se tím nějak výrazně jeho výkon?

Docela výrazně - generování JSON spotřebuje asi jednu desetinu výkonu oproti HTML. Navíc je zbytečné renderovat HTML i na klientovi, takže klient ho nemusí ani parsovat.

116
Odkladiště / Re:Destilované UML
« kdy: 18. 05. 2021, 14:06:29 »
Značka Martin Fowler je skvělá. Otázkou je, jak je skvělý i český překlad. Kniha zastaralá nebude.

117
Software / Re:xmlstarlet xpath
« kdy: 25. 04. 2021, 23:23:52 »
No jasně, shell spolkl apostrofy. Tohle by mělo fungovat:
Kód: [Vybrat]
xmlstarlet ed -s "/main/groups/group[name='group2']/members" -t elem -n user -v newUser <data.xml

118
Software / Re:xmlstarlet xpath
« kdy: 25. 04. 2021, 23:07:37 »
Zvláštní. Tohle mi funguje:
Kód: [Vybrat]
xmlstarlet ed -s /main/groups/group[2]/members -t elem -n user -v newUser <data.xml

ale tohle ne:
Kód: [Vybrat]
xmlstarlet ed -s /main/groups/group[name='group2']/members -t elem -n user -v newUser <data.xml

119
Software / Re:Program na editaci
« kdy: 25. 04. 2021, 18:24:43 »
Moje preferovana varianta pro strojovou operaci "SET" je:
  • smazat vsechny radky obsahujici case insensitive verzi: ^\s*KeyWord\s.*
  • append na konec, KeyWord NewValue
Vychazim totiz z predpokladu, ze soubor nemusi obsahovat dany parametr, nebo ho muze obsahovat jinak napsanej. A pak se hodi videt historii zmen / customizaci nastave na konci souboru na jednom miste, nez abych musel delat diff vuci distribucnimu default configu.

Něco na tom bude, protože původní parametr nejraději zakomentuji a hned pod něj uvedu s novou hodnotou.

Jsou ještě dva přístupy k tomuto problém:

  • generovat konfigurační soubory ze šablon
  • dělat změny ručně + verzovat ve verzovacím systému + aplikovat patche

Verze 2 je IMHO nejpokročilejší, drží i historii a je decentralizovaná. Existují na to i hotové systémy (nemám zkušenost).

Tím "nejpokročilejším" způsobem si verzuji hlavně konfiguraci Vimu. Byl bych docela nerad, kdyby se mi někde ztratila a dalo by mi dost práce ji napsat znovu.

Ovšem u systémových konfiguráků jsou poněkud odlišné požadavky na verzování.

Generování ze šablon je fajn, jen je nutné mít v záhlaví poznámku, kde má být ta konfigurace změněna tak, aby nebyla v zápětí přepsána.

120
Software / Re:Program na editaci
« kdy: 25. 04. 2021, 14:53:45 »
Moje preferovana varianta pro strojovou operaci "SET" je:
  • smazat vsechny radky obsahujici case insensitive verzi: ^\s*KeyWord\s.*
  • append na konec, KeyWord NewValue
Vychazim totiz z predpokladu, ze soubor nemusi obsahovat dany parametr, nebo ho muze obsahovat jinak napsanej. A pak se hodi videt historii zmen / customizaci nastave na konci souboru na jednom miste, nez abych musel delat diff vuci distribucnimu default configu.

Něco na tom bude, protože původní parametr nejraději zakomentuji a hned pod něj uvedu s novou hodnotou.

Stran: 1 ... 6 7 [8] 9 10 ... 47