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 - Standa Blábol

Stran: 1 ... 4 5 [6] 7 8 ... 16
76
Hardware / Flipchart pro Teams meety
« kdy: 02. 06. 2021, 15:58:46 »
Cau,

potreboval bych nejakou kominaci SW/HW, ktera bude fungovat jako papirovy flipchart behem MS Teams meetu.
Obdoba cmarani fixou po flipchartu v zasedacce, na ktery cumi vsichni zucastneni.

Nejake hinty?

77
Vývoj / Re:Vývoj webových aplikací pro nenáročné
« kdy: 26. 05. 2021, 16:42:29 »
Ja taky z javascriptu bliju a pro ruzne webove udelatka pouzivam primefaces.org - variantu pro JSF2.

Muzes ukazat priklad, jak s tim udelam tabulku, ktera se mi bude kazdou 1s aktualizovat novymi zaznamy z backendu? A pak bych rosil jeste jednou tu samou tabulku, ktera se mi aktualizuje nikoliv periodicky, ale az kdyz na backendu data zmenila, tzn. vyuziva to treba Websocket.

Tak jestli jsem te tim prilis nezaskocil, tak diky.

Na periodicke pollovani je tu primefaces Poll
http://www.primefaces.org:8080/showcase/ui/ajax/poll.xhtml?jfwid=90af5

Ne webfoctek standardni JSF2.3 <f:websocket>
https://stackoverflow.com/questions/3787514/how-can-server-push-asynchronous-changes-to-a-html-page-created-by-jsf/49852105#49852105

Ve starych Primefaces do verze 6.2 byla jejich interni implementace websocketu, tu odstranili, kdyz to zacala podporovat primo JSF


Sam jsem to nikdy nepouzil, nepotreboval jsem
Ma to fungovat velice jednoduse, ze na urvni XHTML page se websocket notifikace zachyti jako AJAX event, na ktery pripojim update prislusne komponenty, napr <p:datatable> se zobrazenim dat

Divam se na to a nechapu, v cem si pomuzes oproti Vue.js. Vzdyt budes mit napsane vesmes to same. Akorat ze kolem nebudes mit tu tucnou vrstvu javovske abstrakce. A ten poll - umi to vubec upadovat i tabulku, tzn. aplikovat ty data jako foreach template?

V JSF2 se zadny foreach template nikam nestrka, zapomen na generovani HTML kodu.

Udela se XHTML deklarace, ktera na stranku nastrka widgety a propoji je s backing beanem. Npriklad pro tabulku backing bean poskytne List<> beanu, atributy beanu obsahuji jednotlive sloupce.

viz nejjednodussi priklad hole tabulky
https://www.primefaces.org/showcase/ui/data/datatable/basic.xhtml?jfwid=f505c

Kód: [Vybrat]
<h:form>
    <div class="card">
        <p:dataTable var="product" value="#{dtBasicView.products}" id="testtable">
            <p:column headerText="Code">
                <h:outputText value="#{product.code}" />
            </p:column>

            <p:column headerText="Name">
                <h:outputText value="#{product.name}" />
            </p:column>

            <p:column headerText="Category">
                <h:outputText value="#{product.category}" />
            </p:column>

            <p:column headerText="Quantity">
                <h:outputText value="#{product.quantity}" />
            </p:column>
        </p:dataTable>
    </div>
</h:form>


Tahle deklarace si z named backing beanu "dtBasicView" vezme List<> beanu s daty a zobrazi je v tabulce.
Ona komponenta ma svoje id="testtbl" (v origo examplu ani neni, pridal jsem), pokud nejakym eventem zavolas update pro tento id - jenom tato samotny datatable widget se updatuje bez reloadu stranky.
A je uplne jedno, jestli ten event vedouci na update idu "testtbl" pristal ze zmacknuti tlacitka, z periodickeho pollu, nebo z websocketu.

Takze jako koder udelas vyse popsanou XHTML dekraraci, udelas primitivni backing bean, co vraci List<> a hotovo.

V onom odkazu jsou i zdrojaky onoho backing beanu a dokonce i fake servica, co pro bean generuje data.

Nikde neni ani radek javascriptu. (I kdyz mas samozrejme moznost i s tim pracovat)


78
Vývoj / Re:Vývoj webových aplikací pro nenáročné
« kdy: 26. 05. 2021, 16:01:34 »
Co myslis pod "moderni javascript"
jako javascript obecne, protoze vznikl relativne "nedavno"
nebo nejakou ECMA?

Protoze ja porad jeste musim pracovat na platforme, co podporuje jenom ECMA 5 a vetsi shit proste neni.
Takze ja v javascriptu delam a prave proto ho intenzivne nenavidim.
Ale ja se v mladi ucil Pascal a assembler, tak ja vam mladym uz nerozumim.

Jinak co si myslet o jazyku, kde vsichni reknou, "ono kdyz se to umi a kdyz pouzijes TypeScript, tak se to osefuje".
tak jazyk 1 potrebuje jazyk 2, aby byl seriozneji pouzitelny (tim nemyslim vytvoreni zeleneho tlacitka na www strance"


Nechapu, jak nekdo muze preferovat Javu pred modernim Javascriptem.

modernim javascriptem myslim to co podporuji dnesni prohlizece a nodejs. Typescript nepotrebujete, typove anotace jdou psat do komentaru. Typovy system je mnohem mocnejsi nez ten v Jave.

Nechces zacit radit lidem od Angularu a Vue?
Ti pomylenci switchli na TS.

79
Vývoj / Re:Vývoj webových aplikací pro nenáročné
« kdy: 26. 05. 2021, 15:57:21 »
Nechapu, jak nekdo muze preferovat Javu pred modernim Javascriptem.

Myslim, ze tohle muze nechapat jenom nekdo, kdo o Jave nic nevi.
Se skripenim zubu je pouzitelny Typescript, prave proto, ze z Javascriptu dela Javu rizlou C#.

Angular 2 uz na TS jede, Vue 3 taky, React uz to taky podporuje, i kdyz jeste z compatibility duvodu podporuje holy JS

80
Vývoj / Re:Vývoj webových aplikací pro nenáročné
« kdy: 26. 05. 2021, 15:49:29 »
Ja taky z javascriptu bliju a pro ruzne webove udelatka pouzivam primefaces.org - variantu pro JSF2.

Muzes ukazat priklad, jak s tim udelam tabulku, ktera se mi bude kazdou 1s aktualizovat novymi zaznamy z backendu? A pak bych rosil jeste jednou tu samou tabulku, ktera se mi aktualizuje nikoliv periodicky, ale az kdyz na backendu data zmenila, tzn. vyuziva to treba Websocket.

Tak jestli jsem te tim prilis nezaskocil, tak diky.

Na periodicke pollovani je tu primefaces Poll
http://www.primefaces.org:8080/showcase/ui/ajax/poll.xhtml?jfwid=90af5

Ne webfoctek standardni JSF2.3 <f:websocket>
https://stackoverflow.com/questions/3787514/how-can-server-push-asynchronous-changes-to-a-html-page-created-by-jsf/49852105#49852105

Ve starych Primefaces do verze 6.2 byla jejich interni implementace websocketu, tu odstranili, kdyz to zacala podporovat primo JSF


Sam jsem to nikdy nepouzil, nepotreboval jsem
Ma to fungovat velice jednoduse, ze na urvni XHTML page se websocket notifikace zachyti jako AJAX event, na ktery pripojim update prislusne komponenty, napr <p:datatable> se zobrazenim dat

81
Vývoj / Re:Vývoj webových aplikací pro nenáročné
« kdy: 26. 05. 2021, 14:43:59 »
Ja taky z javascriptu bliju a pro ruzne webove udelatka pouzivam primefaces.org - variantu pro JSF2.

Podivej se na joinfaces.org, tam je na to i maven starter.
vespod je klasicky Spring Boot, co vygeneruje samonosny fat JAR s embedded Tomcatem.

Pro bezne webove udelatko staci definovat JSF2 XHTML definice a java backing beany, od toho Javascript zprasku jsi plne odstinen. Mas k dispozici Spring Security, normalni serverside session, pro male veci ideal.

Osobne nechapu tu snahu na vse naroubovat JS frameworky,jejichz primarnim ucelem je offload loadu na klienta pro gigaaplikace googlu, kdyz na tom pak v realu jedou 3 useri konkurentne...

82
Studium a uplatnění / Re:Město, nebo vesnice?
« kdy: 19. 05. 2021, 12:14:03 »
Možná bydlet v ČR, ale pracovat v Reichu.
Rozhodně nezůstávat v tomhle marastu tady.

Když si REICHU naspoříš ten základní miliónek třeba za 4 roky, aby ses nemusel moc omezovat, bude se ti na té vesnici mnohem lépe začínat. A nic tě nebude omezovat dál pracovat v zahraničí.

EDIT: Dokonce i v Praze jsou programátoři, zkušení, s praxí, po škole, ale hlavně PRACOVITÍ, kteří mají problém naspořit řekněme 300 tisíc ročně. Naspořit si 1 mega za 4 roky je v ČR pro rybízka po škole celkem SciFi. V Reichu to díky dobré pozici, šetření nákladů a drobným brigádám SciFi není.

Zajimave, ja mam zkusenosti presne opacne.
V Praze neni sebemensi problem delat na ICO za 6000 manday, to je100k cisteho na ruku mesicne.
V Nemecku jako zamestnanec je clovek okraden brutalnimi danemi a naklady na zivobyti, z platu Java developera 50k euro (https://www.payscale.com/research/DE/Job=Java_Developer/Salary)  rocne zustane v cistym cca pulka, plus naklady, to je pak opravdu ten smesny usetreny milon na 4 roky, na byt v panelaku za 5 micu setreni 20 let...

Kvuli zdaneni je uz dlouho nesmysl jit delat IT do Nemecka. Cesky icar je na tom mnohem lip.
Naopak dava smysl jako cesky icar do Nemecka dodavat.

83
Vývoj / Doporučte rychlý WWW widget pro view SQL tabulky
« kdy: 18. 05. 2021, 15:05:16 »
Pisu ted jednoduchy nastroj (Spring Boot 2.4.5), ktery prijima eventy na REST a uklada je do Postgresql tabulky pomoci PLSQL procedury, ta interne provadi deduplikaci eventu se stejnym ID pomoci "INSERT ... ON CONFLICT DO UPDATE ..."

TO vsechno funguje pekne, je to rychle, udruzuje se v tom cca 20-30k eventu.

REST API "getAll" mi vysype vsecky  udalosti CURLem za cca 800ms, po restartu Springu i Postgresu, pak se to po nakesovani zrychli  na cca 250ms, download speed 22MB/s, naprosto postacuje.
Chome dtto, zobrazeni raw JSON textu prakticky okamzite

Problem mi nastal, kdyz se pokousim ty data vizualizovat na webu, obvykle pouzivam JSF2 widget Primefaces::Datatable s paginaci, zatim jsem pouzival paginaci cca 30 radku, tam to funguje skvele.
Nyni potrebuju paginaci radove 1000 zobrazenych radku (nebo uplne bez paginace), a tam mi pri paginaci 1000 radku trvalo robrazeni Primefaces Datatable pres minutu.

Vystup profileru:

Kód: [Vybrat]
971 ms  Loading
13791 ms  Scripting
36149 ms  Rendering
7187 ms  Painting
4322 ms  System
4115 ms  Idle
66534 ms  Total

Load dat pod sekundu, pak tam Chrome neco pres minutu vyrabi. Klientska stanice je pomerne vykonna, Lenovo P50 s Core i7 a 64 GB RAM

Muze nekdo doporucit neco lepciho, cim se da zobrazit na webu vetsi tabulka dat s podporou paginace, filtrovani, sortovani?

84
Server / Re:MariaDB vs Postgres vs SQL Server
« kdy: 21. 04. 2021, 18:18:18 »
Citace
A kdy bys je chtěl jako mít? Na čtyřech místech?
Jsou dvě možnosti. Buďto to nemá vliv na kvalitu aplikace. Pak ať ji mají programátoři kde chtějí.Anebo to má vliv, který popisoval Pavel. Pak je Tvoje výtka podobná, jako kdyby zedník říkal: a to jako po mne chceš, abych dával to okno do vodováhy? Jak si programátor zajistí konzistenci DB a zdrojových kódů je na něm. Ale nemá tím "otravovat zákazníka".
Samozřejmě, logika v DB je pro programátora (obzvlášť toho, co s tím neumí pracovat) problém a prodražuje to vývoj, zesložiťuje deploy atd. atd.... Takže se prodává spousta programů "bez voken ve vodováze" a na spoustě míst - spoustě zákazníků - to stačí. Na tom není nic špatného.

Jen prostě je třeba vědět, že to není jediný správný model baráku, a že někde je ta vodováha prostě potřeba, a pak se programátor nemůže vymlouvat na svoji "lenost". Jo, může a má si to nechat zaplatit (ale zas, má to umět, pak se to neprodraží tolik).

====
A ad k denormalizaci: správný postřeh IMHO je to, že denormalizace jsou často defakto materializované pohledy. A IMHO to i osvětluje, jak se k potřebě denormalizace (která někdy nastane) postavit.

Zdrojak ma byt na jednom miste ...  v GITu, vcetne PLSQL porcedur.
A kam se to rozstrka je vec DevOpsu

Osobne pouzivam pristup, kdy je DB backend pevne definovan a constraintovan a NENI MOZNO vlozit nekonzistentni data.
Pak si nad tim udelam sadu PLSQL procedurek, ktere slouzi jako data manipulation API. Jsou delane jako atomicke operace, cele projde/cele rollbackne.
A business kod v aplikacnim serveru je krasne citelny a jednoduchy, abstrahovany od technikalii. Prakticky se v nem stridaji selecty dat a executy atomickych procedur.
Vybec nemusim resit nejake transakce a locky na aplikacni urovni, luxusni debugging a izolace chyby.
Apliakac ma pravo na SELECT a EXECUTE obajene do kratockych Service metod, nema jak rozprasit data.

A kdyz potrebuju REST API, nacpu ve Springu na ty servisni metody @Restful anotaci a hotovo.

Je ale potreba opravdu udelat navrh, ne so po hlave vrhnout do sracek a rikat tomu SCRUM.
Taky se to nehodi pro nestrukturovana data, to ka skonci prijoinovanou keypair tabulkou s datovym hnojem.

Jinak samy pozitiva a socialni jistoty.
Vysledek je udrzovatelny, prehledny, snadno predatelny.

85
Server / Re:MariaDB vs Postgres vs SQL Server
« kdy: 20. 04. 2021, 13:27:49 »
To se netýká jen práce s databází. Často jsou celé aplikace psané tak, že se na nich nedá výkon škálovat.
Programátoři se neradi zajímají o takové "detaily", že server je jen stroj, má jen určitou paměť, počet jader procesoru. Nezajímá je, že nelze nastavit např.  PHP tak, aby byl povolený běh scriptu desítky sekund a zároveň, že se nezahltí FPM a nepřestane přijímat další požadavky (v lepším případě).

Programátoři by podle mě měli vědět, že existují limity technologií, jaká je náročnost algoritmu, jak se dá škálovat a jak optimalizovat (třeba v budoucnosti). Netýká se to jen SQL.

Pocit, ať to napíšu, jak to napíšu, bude to fungovat, a když ne, tak se zaplatí vyšší výkon serveru, prostě není platný. Co funguje dobře v malém a bez dat, nemusí vůbec jít škálovat do velkého. Pokud script běží 100 ms, za sekundu jich prostě neobsloužíte víc jak 10 x počet jader, a to ještě v úplně ideálním případě. Pokud chcete vyřešit i střední odezvu, tak mnohem méně.

Programátor nemusí umět spravovat server, nastavovat databázi, umět dokonale určit vhodné indexy. Ale měl by umět poznat, kde je potřeba se zeptat - správce serveru, SQL specialisty, a dalších. Problém tedy není v tom, že neumí vše, ale že ani neví o tom, že to někdo jiný umět může a dokáže poradit.

Toto nezachráníte žádnou magickou technologií, ale širším přehledem - celkově, vzděláním v oboru.

Práce s relačními databázemi má aspoň tu výhodu, že tam ten prostor pro optimalizaci obvykle nějaký zůstává a někdy i obrovský. U jiných vám nezbude, než škálovat horizontálně, což taky není žádný med, zbytek aplikace na to musí být připravený (což třeba běžná aplikace v PHP prostě není ani vzdáleně).

IMHO jsou dnesni IT zamestnanci cim dal blbejsi a linejsi.
Co se tyce relacnich databazi, rozhodne nejsem odbornik jako Pavel Stehule, prece mam s jejich vlastnostmi velice dobre zkusenosti.
Potrebne znalosti za rozumnou praci s RDBMS s pohledu vyvojare jsou tyto:
-umet definovat tabulku a select joinem, integritni omezeni
-chapat co je to index a jeho vliv na select a update
-chapat problem redundance x vykon ve forme 3 zakladnich NF
-chapat co je to transakce, jak se projevuje (forknuti dat), pochopit rozdil truncate/delete
-vedet co je to trigger a jak se pouziva
-vedet co je to explain plan
-chapat se existuje neco jako PL/SQL, kde si v primitivnim jazyce na urovni shellu vyrobim proceduralni kod
 - a kdyz vyse uvedene nestacilo, zeptal jsem se lidi s vetsi hlavou, to nastalo snad jenom  dvakrat.

Vyse uvedene mi staci ke stesti. Nic, co by normalni hlava s IQ nad 100 nepobrala za dve odpoledne skoleni.
V realu, kdyz jsem delal s Oraclem, sedel jsem u Toada a jak opice jsem klepal na ikonu sanitky (explain plan) a rypal do toho jak tak dlouho, az Toad prestal zvyraznovat cervene nested loopy. Pak par hintu, aby se jako vychozi tabulka pro join pouzivala ta vzdalena pres DBLink (byla o nekolik radu vetsi), vysledek funguje upokojive dodnes.

Staci povsechne povedomi a RDBMS se pouziva luxusne.


Zato dneska vidim magory, co tahaj megabajty resultsetu mezi DB a aplikacem, aby to pres ORM namapovali do beanu, pak nad tim provedli agregace, jehoz vysledkem je jeden KPI integer.
Pricemz to samy slo udelat s prstem v nose v PLSQL a z pohledu aplikace jeden primitivni "select genKPI() from dual;"
Jenze k tomu je potreba vubec vedet,  ze PLSQL existuje.
A kdyz uz vim, ze PLSQL existuje, pak treba i zjistim, ze Oracle podporuje Java stored procedury. Kde udelam s velice rychlym lokalnim pristupem k datum i takove ficurky jako je test pruchodnosti grafem s vyhledanim optimalni cesty podle vah.


Hlupak se strasne nadre, to plati vzdy a ve vsech oborech.

Prave mi pristal mail s HW sizingem pro jeden system postaveny kolem Elasticu, 48 CPU cores a 100GB RAM.
Podle ceniku AWS $1000 mesicne list price.
A podle meho laickeho nahledu by ty pozadavky dala dvojice postgresu (live + historic data) s TimescaleDB extenzi. Pro kazdy 8GB RAM a 4 CPU cores.

86
Co je tohle za blaboleni?

Python i Javu muzu muzu mit bez omezeni primo na Woknech, sam to tak mam a funguje to flawless. Netusim, co by mi to jako melo prinest, oba jazyky jsou dusledne multiplatformni. A zrovna Pycharm si i virtualenvy spravuje sam

Pro terminal mam koupenou plnou verzi MobaXTerm a veru netusim, co vic bych si mel prat, ani Mac Linux terminaly kvality moby nedosahuji.

WSL2 neni nic jinyho, nez mirne upravena HyperV virtualka s predkonfigurovanyma diskama, pak jeste VSCode ma plugin, ze to s WSL2 pracuje v projektech nativne.

Osobne pouzivam primo HyperV virtualky, kdyz ladim.na linux, tak hezky presne na cilovou verzi, kdyz potrebuju CetOS 7.4, mam tam Centos 7.4.
HyperV funguje na woknech zdaleka nejlip, je to tier1 hypervisor, VMWare player na to nelepi. A  pri pouziti WSL2 stejne dojde k prepnuti hostitelskych oken do urovne nula virtualniho modu a cely slavny VMware player se stava zpomalovacem nad HyperV backendem, ona totiz virtualizace ve virtualizaci je E!E.
HyperV na w10 pro devel ucely funguje skvele, luxusni je hlavne mechanismus checkpointu, vyvoj Ansible playbooku si bez toho uz ani nedokazu predstavit.

Mam pocit, ze mistni osazenstvo ustrnulo nekde v dobach WinXP.

87
Hardware / Re:Lenovo Thinkpad vs Dell Latitude pro vývojáře
« kdy: 31. 03. 2021, 15:16:00 »
Osobne pro tyto ucely pouzivam starsi Lenovo P50 s plnotucnou zacvakavaci dockinou.
64GB RAM, v hyper-v spoustim virtualek bezne 4 kusy vedle sebe, kdyz ladim ansible playbook ma ruzne verze linuxu, klidne i vic.

Na vyvoj neni potreba nejak moc CPU vykonu, pokud je problem s dobou kompilace na starem i7 v P50, popremyslel bych spis o optimalizaci kompilace

88
Server / Re:Databáze - 300 GB tabulka
« kdy: 14. 03. 2021, 21:28:21 »
Mno, uplne sice nechapu zadani, lec pokud je potreba pracovat s time-series daty, doporucil bych time-series databazi.
Konkretne v postgresu velice schopna extenze TimescaleDB, kdera podporuje i komprimaci

Jinak co se tyce mych zkusenosti s Postgresem, je nutno mit na mysli, ze je to databaze transakcni.
Mnoho podivnych brzd v Postgresu uz vyresilo nastrkani commitu, kde je vsude mozno logicky strcit.
 

89
Vývoj / Re:Náhrada PHP nebo ASP.NET Core
« kdy: 17. 02. 2021, 10:23:55 »
PanVP to ze PHP je pre patlaly su strasne kecy. Najdes patlalov aj v Jave aj ASP. V tvojom svete je to tak ze cim kompilovanejsie tym lepsie? Minule som sa bavil s jednim kolegom ktory ma na vsetku silu presviedcal podobne ako ty. Resp. mal rovnaky nazor a nakoniec s neho vypadlo ze PHP je zlo lebo to moze pisat aj "franto od lopaty" ale Javu tak lahko nedas. Argument ako prasa. Zaujimave je ze taky FB si tiez ide PHP. To znamena ze je tam patlalovo? Casto krat ide o to ako rychlo vies dodat riesenie zakaznikovy a s pohladu firmy o to najst kvalitnych ludi ktory pisu rychlo, dobre a lacno.

Hlavni rozdil je v tom, ze v Jave nebo C# jsou frameworky zabezpecene by default, napr ochrana CSFR nebo cross origin  pro rest API se musi aktivne vypinat. A tak koder, co nema poneti, pise bezpecne by default.
V PHP, co si neudelas, to nemas.

90
Vývoj / Re:Náhrada PHP nebo ASP.NET Core
« kdy: 16. 02. 2021, 13:33:05 »
Zkratka je to porad nejlepsi a postupne se doiterovavame k vynalezeni kola, viz Typescript, cop Jave ze zadnice vylezl.

Jak říkám, nomen omen. Typescript používá typový systém založené na úplně jiné filosofii, než Java (a podobné jazyky).

Heh, ducktyping je prosty implementacni detail, ktery je jednodussi na transpilaci do Javascriptu.
Staci se podivat, jak se zapisuji v Typescriptu generika, do spicatejch zavorek, stejne jako v Jave. A jak dekoratory, zajimavy, ze pres zavinac jako Java anotace...
Jo, zajimava shoda nahod.
Resultat je takovy ze Typescript jest implementaci Java-like jazyka do sveta JS bordelu.
A snazi se drzet predlohy verne, akorat cast terminologie bere z C#, viz namespaces.

Takze JS je proste takova genialita, az to ze zoufalstvi prepisoujou do Java like syntaxe s obdobnym feature setem.

Stran: 1 ... 4 5 [6] 7 8 ... 16