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

Stran: [1] 2 3
1
Vývoj / Re:Zobrazenie obrázkov z DB na webe bez koncovky
« kdy: 08. 11. 2025, 11:07:35 »
Teda rôzne typy obrázkov by som ukladal do rôznych podadresárov a tým nastavil príslušný ForceType.
Na první pohled to vypadá jako super nápad. Ale když se nad tím zamyslím, jak budete z "/imgs/5b17f8185e71449983e3600a0c2d8527" rozlišovat do jakého podadresáře se má dotazovat?

Boli by tam adresáre ako images/jpeg, images/png atď. Logika kontrolera je potom asi takáto...

  • Príde dopyt na ImageCacheService, napr. na https://.../cache-service/123
  • ImageCacheService urobí rýchly select do DB, aby zistil správy mime-type, timestamp a vyskladal cestu ako https://.../public/images/jpeg/123. Selectu sa teda nevyhneme, ale je podstatne rýchlejší ako ťahať z databázy celé raw dáta.
  • Ak je to potrebné, príslušný obrázok na disku v adresáry /var/www/public/images/jpeg/123 sa vytvorí, prípade updatne.
  • Kontroler odpovie pomocou 302 Moved Temporarily https://.../public/images/jpeg/123
  • Browser načíta daný obrázok, ktorý Apache odošle so správnym mime type.

Tento prístup s 302 sa môže zdať ako okľuka, ale umožňuje práve updatovanie zmenených obrázkov, kontrolu prístupových práv a tak podobne. V prípade potreby by sa to dalo vyriešiť aj bez neho, keď by sa obrázky updatovali napr. vždy v noci.

Otázkou samozrejme ostáva, či to má nejaký zmysel. Používateľ si môže obrázok stále stiahnuť, len ten súbor nebude mať koncovku. Technicky zdatnejšieho používateľa to nezastaví. A pre najjednoduchších používateľov je asi lepšie zakázať right click alebo dať pred obrázok priesvitný div.

2
Vývoj / Re:Zobrazenie obrázkov z DB na webe bez koncovky
« kdy: 07. 11. 2025, 19:36:38 »
Ak som správne pochopil, tak tie obrázky sa posielajú skrze ImageCacheService. Teda cez nejaký endpoint v tvojej aplikácii, ktorý pri dopyte načíta obrázok z disku a odošle ho. A pravdepodobne to beží v nejakom interpretovanom jazyku ako PHP, Ruby, Python alebo tak...

Moja skúsenosť je taká, že tento prístup je veľmi pomalý a nebude zvládať obsluhovať ani menší počet klientov. O niekoľko rádov rýchlejšie je ukladať obrázky do public adresára a zvyšok nechať na webserver (Apache?). Ten nie je interpretovaný a je na tento use-case optimalizovaný.

V taktom prípade by bolo najjednoduchšie ponechať koncovky a webserver sa o všetko postará.

Druhou možnosťou je odstrániť koncovky a podsunúť webserveru správny mime-type. Napr. Apache má niečo ako direktívu ForceType. Teda rôzne typy obrázkov by som ukladal do rôznych podadresárov a tým nastavil príslušný ForceType.

3
Studium a uplatnění / Re:Lze podnikat v IT?
« kdy: 30. 10. 2025, 14:44:50 »
Mne sa to neosvedčilo. Pred rokmi som robil priamo pre malých lokálnych klientov. Nejaké weby, menšie interné systémy na mieru, branding / dizajn, desktop publishing a všetko iné možné aj nemožné. Malý klienti mali veľmi rôznorodé požiadavky, málo peňazí a prehnané očakávania na kvalitu a rýchlosť dodania. Bolo bežné, že niekto mi pri prvom stretnutí predstavil svoj "geniálny" startup nápad vytvoriť novú sociálnu sieť, mal na to 10 000 Eur a chcel to mať hotové za 3 mesiace. Potreboval som "fušovať" do množstva vecí, každú chvíľu sa učiť a robiť niečo úplne iné, riešiť brigádnicku výpomoc a stále zháňať zákazky. Finančne ani časovo sa mi to vôbec nevyplatilo.

Dlhodobo preferujem prácu na kontrakt pre stredne veľkú firmu. Robím si svoju prácu, môžem sa špecializovať na zopár konkrétnych vecí, firma má realistické očakávania, dokáže oceniť môj prínos a zatiaľ mi bola každá faktúra vyplatená.

4
Vývoj / Re:Typescript module vs namespace
« kdy: 14. 10. 2025, 20:46:52 »
Termín "module" už má v ECMAScript-e svoj význam a TypeScript ho len rešpektuje (t.j. ES6 prípadne CommojJS modules). Preto sa táto ďalšia/iná vlastnosť volá "namespace" a príde mi to ako technicky presné pomenovanie.

Citace
Každopádne v TS je modul synonimum pre namespace

Nie je, sú to dve odlišné veci. Možno ťa mýli, že pred dávnymi rokmi sa terminológia TypeScript-u trochu líšia, ale to je fakt dávno.

Citace
v iných jazykoch je NS čisto len menný priestor (C++, C#).

Takto ho vnímam aj v TypeScript-e.

Citace
A modul je skutočne element jazyka, ktorý sa stará aj o viditelnosť (exporty) taktiež modul môže byť v jednom súbore len jeden zato namespace môže byť rozdelený do viac súborov.

Takto to v TypeScript-e je.

Ale možno mi len niečo uniká, namespaces vôbec nevyužívam.

v TS nie su odlisne. Ale semanticky je to nezmysel.

>> Takto ho vnímam aj v TypeScript-e.

menný priestor nemá riešiť viditelnosť (exporty), a má byť možné ho definovať vo viacerých súboroch. namespace v TS neni možné definovať vo viacerých súboroch a obsahuje exporty, teda to neni skutočný menný priestor ale modul. TS skutočné menné priestory neobsahuje obsahuje len moduly pomenované menný priestor.

keď si trabant microsoft premnuje na lambo tak stále to bude trabant a nie lambo :D

Si si istý, že si to s niečim nepletieš? Modul v JavaScripte aj TypeScripte je prakticky jeden zdrojový súbor. Namespace je menný priestor definovaný ako `namespace  {...}`. Sú to dve odlišné veci. Ak si myslíš, že je to inak, prosím vysvetli bližšie na príkladoch.

5
Vývoj / Re:Typescript module vs namespace
« kdy: 12. 10. 2025, 21:58:10 »
Termín "module" už má v ECMAScript-e svoj význam a TypeScript ho len rešpektuje (t.j. ES6 prípadne CommojJS modules). Preto sa táto ďalšia/iná vlastnosť volá "namespace" a príde mi to ako technicky presné pomenovanie.

Citace
Každopádne v TS je modul synonimum pre namespace

Nie je, sú to dve odlišné veci. Možno ťa mýli, že pred dávnymi rokmi sa terminológia TypeScript-u trochu líšia, ale to je fakt dávno.

Citace
v iných jazykoch je NS čisto len menný priestor (C++, C#).

Takto ho vnímam aj v TypeScript-e.

Citace
A modul je skutočne element jazyka, ktorý sa stará aj o viditelnosť (exporty) taktiež modul môže byť v jednom súbore len jeden zato namespace môže byť rozdelený do viac súborov.

Takto to v TypeScript-e je.

Ale možno mi len niečo uniká, namespaces vôbec nevyužívam.





6
Vývoj / Re:Komerční web a SEO - JQuery a PHP?
« kdy: 21. 06. 2025, 11:58:43 »
PHP s nejakým MVC frameworkom pre server rendering je podľa mňa fajn. Na frontende by som ale išiel do niečoho modernejšieho, možno by som skúsil htmx (https://htmx.org/).

Mimochodom, vždy som mal pocit, že celé SEO je postavené na hlavu. Cieľom webu by malo byť poskytnúť relevantný / kvalitný obsah a dobrý user experience (to samozrejme zahŕňa aj browser compatibility, standards compliance, assistive technology...). Cieľom search enginu by zas malo byť ohodnotiť, nakoľko sa to podarilo. Fakt, že weby sa vyvýjajú v prvom rade tak, aby sa páčili search enginom, mi príde otočený naopak. Ak search engine v dnešnej dobe nie je schopný spracovať client-side rendered stránku, tak to nie je dobrý search engine a mali by sme sa na neho všetci kolektívne vykašľať :)

7
Vývoj / Re:K čemu je v PHP dobré použít framework?
« kdy: 03. 06. 2025, 13:56:21 »
No a v práci stejně dělám backend v Javě, takže budu věřit, že vyjma SQL injection nemusím moc co v kombinaci s Vue.js řešit.

PHP má oproti Jave tú výhodu, že backend rozbehneš na lacnom hostingu za pár desiatok eur na rok. Naproti tomu, pre Java backend budeš potrebovať aspoň VPS server, a to stojí rádovo 10x viac. Plus potrebuješ byť trochu zbehlý v administrácii vlastného servera. V závislosti od tvojich potrieb to možno zaváži, možno nie :)

Mimochodom, framework pre PHP má zhruba taký istý význam, ako framework pre Javu. Ten backend v práci určite nepíšeš v čistom Java Servlet API, ale používaš niečo ako Spring.


8
Vývoj / Re:K čemu je v PHP dobré použít framework?
« kdy: 02. 06. 2025, 13:26:57 »
Framework za teba vyrieši veci, ktoré by si inak musel naprogramovať sám, prípadne sám lepiť dokopy rôzne knižnice. Napr:

- MVC architektúra, adresárová štruktúra projektu, routovanie URL na konkrétnu logiku, friendly URL, šablónovanie a tak
- formuláre, validácia vstupov, error handling
- security, authentication, authorization, RBAC, ochrana proti útokom ako SQL injection, XSS, CSRF...
- datová vrstva, najeký ORM systém, migrácie dát
- REST API, GraphQL API
- ...

Niektoré frameworky toho ponúkajú viac, iné menej (tzv "microframeworks"). Niektoré sú veľmi striktné ohľadom spôsobu ich použitia ("opiniated"), iné ti nechajú viac voľnosti. Stačí si vybrať.

Spomínal si, že poznáš React a Vue. Takže nejaký microframework s REST API a ORM by mohol byť pre teba fajn.

Ak plánuješ riešiť frontend priamo cez PHP bez JS frameworku, vyber si nejaký opiniated framework, ktorý poskytuje úplne všetko. Budeš mať menej priestoru urobiť nevhodné rozhodnutie.


9
Server / Re:Hotový systém na prehliadanie údajov z DB?
« kdy: 29. 05. 2025, 08:09:57 »
Pridávam ďalšiu možnosť https://www.sqlmaestro.com/products/mysql/phpgenerator/ . Dá sa v tom vyklikať celý takýto webový systém a ono to vygeneruje príslušný kód PHP aplikácie. Programovanie nie je potrebné, ale znalosť relačných databáz áno.

Robil som s tým asi 5 rokov dozadu. Bol som schopný urobiť v tom podobné systémy na mieru zhruba za 30 hodín. Neviem ale povedať, v akom stave / kvalite je to teraz.

Vyzerá to trochu old-school, ale oproti cloud riešeniam ako airtable to má pár výhod.

  • Dáta máš na svojom serveri, máš kontrolu nad dodržaním GDRP a podobne. (jasne, pre niekoho výhoda, pre niekoho nevýhoda)
  • Platba za licenciu je jednorazová (free trial je 30 dní).
  • Môžeš sa pohrabať vo vygenerovaných zdrojákoch a trochu ich ešte poupravovať. (ale ak ich opäť pregeneruješ, budeš musieť svoje dodatočné zmeny opäť aplikovať)

Majú verziu napr. aj pre SQLite https://www.sqlmaestro.com/products/sqlite/phpgenerator/ .



10
Studium a uplatnění / Re:Výběr rekvalifikačního kurzu
« kdy: 20. 05. 2025, 13:19:41 »
Ešte som sa zabudol vyjadriť k tej Jave... Ak s ňou už máte nejakú skúsenosť, tak ok. Ale ak začínate od nuly, skúste sa pozrieť napr. aj na tej Python. Úprimne, ja ho nemám moc rád, ale momentálne je veľmi trendy a je jednoduchší.

11
Studium a uplatnění / Re:Výběr rekvalifikačního kurzu
« kdy: 20. 05. 2025, 13:16:34 »
V prvom rade to chce dobrú angličtinu. Bez tej to nemá veľmi zmysel, keďže všetky programovacie jazyky, dokumentácia, učebné materiály ale často aj denná komunikácia na projekte sú v angličtine.

No a ak máte angličtinu, tak zdrojov na učenie je prakticky nekonečne veľa a zadarmo :) Ja mám rád coursera.org. Skúste si tam pohľadať napr. kurzy Python pre začiatočníkov. Ale pohrabte sa aj náhodne medzi inými kurzami a možno Vás osloví niečo úplne iné. Pri prihlasovaní na kurz to na prvý pohľad vyzerá, že sú všetky platené, ale na väčšinu z nich sa dá dostať zadarmo (s nejakými obmedzeniami ohľadom kontroly zadaní a tak).

Stať sa seniorom v IT je práca na pár rokov, tak držím palce :)

12
Vývoj / Re:Jak napsat objekt N to N
« kdy: 29. 04. 2025, 10:54:24 »
To znie ako pokus naprogramovať neurónovú sieť. Ak je to tak, odporúčam túto sériu kurzov https://www.coursera.org/specializations/deep-learning. V prvom kurze sa prejde všetko od základov algebry až po sprogramovanie kompletnej samoučiacej siete.

Ak je to inak, zadanie vyvoláva fúru otázok. Ako presne mám rozumieť "plnej ceste". Výpočet beží v nejakých lock-step iteráciách, zľava doprava, alebo ad-hoc? Ako sa z N prijatých čísel vygeneruje jedno, ktoré sa pošle ďalej?... Naozaj by to chcelo popísať problém konkrétnejšie.

13
Vývoj / Re:SQL: vypis susedov
« kdy: 26. 04. 2025, 14:20:58 »
Udržiavať si stav na backende asi nie je riešenie. Predpokladám, že stránkovanie môže vracať rôzne výsledky v závislosti od nastavenia filtrov a zoradenia. Teda jeden používateľ môže mať otvorených viac tabov a v každom vidieť inak stránkované záznamy. Takže z pohľadu backendu by to malo byť stateless.
Udržovat si stav na backendu je řešení. Věci jako session už byly vynalezeny. Každá záložka v prohlížeči si může pamatovat identifikátor své sady záznamů uložené na serveru.

Session je jedna pre všetky taby. Implementuje sa ako ID-čko uložené v cookies, a cookies sú naviazané na adresu webu, nie na tab. Alebo máte na mysli nejakú inú formu session?

Vytiahnuť si susedov hneď s daným záznamom tiež nerieši problém úplne. Ako poznamenal Zdeno Sekerák vyššie, len po posunie problém o krok (n-krokov) ďalej.
Řeší to problém úplně, protože při přechodu na jinou stránku a pošle požadavek na server a načte se nová trojice.

Práve ste povedali, že pri prechode sa načíta nová trojica => musí sa nanovo spustiť stránkovacia query. Tomu sa predsa OP chce vyhnúť, to je podstata tejto diskusie.

14
Vývoj / Re:SQL: vypis susedov
« kdy: 24. 04. 2025, 20:17:35 »
Udržiavať si stav na backende asi nie je riešenie. Predpokladám, že stránkovanie môže vracať rôzne výsledky v závislosti od nastavenia filtrov a zoradenia. Teda jeden používateľ môže mať otvorených viac tabov a v každom vidieť inak stránkované záznamy. Takže z pohľadu backendu by to malo byť stateless.

Vytiahnuť si susedov hneď s daným záznamom tiež nerieši problém úplne. Ako poznamenal Zdeno Sekerák vyššie, len po posunie problém o krok (n-krokov) ďalej.

Chcelo by to storage, ktorý je "tab-local". Ak tých záznamov nie je veľa, možno by sa celá sekvencia ID-čiek dala poslať a uložiť na frontend. Znie to obludne, ale myslím, že array s pár tisícami čísel by v praxi fungoval ok. V prípade, že ide o old school web, kde sa stránka stále načítava odznova, dalo by sa to "uložiť" ako URL query parameter ("records.html?filters=...&order=...&ids=1,2,3,4,..."). Priznávam, ešte väčšia obludnosť, ale funkčná :)

Ak je tých záznamov naozaj veľa a platí môj úvodný predpoklad, tak dodatočnej query by som sa asi nevedel vyhnúť.

15
Vývoj / Re:Co znamená v JavaScriptu výraz debugger?
« kdy: 21. 04. 2025, 15:45:18 »
Je to breakpoint. Ak sa vyskytuje v produkčnom kóde, nejaký developer ho zabudol po debugovaní vymazať.
On mozna nezabudol, muze tam byt schvalne
https://devtoolstips.org/tips/en/disable-abusive-debugger-statement/

Hehe, tak toto by mi nenapadlo :) Pobavilo skoro ako keď je na stránke <body style="overflow: hidden;"> :)

Stran: [1] 2 3