Bylo by uzitecne, kdyby to nekdo porovnal s implementaci v JS. Nejaky driver na Minio existuje, pro grafy je knihoven kupa, tak by to asi nebylo tak kratke a prehledne jako tady Python, ale dostatecne kratke ne?
JS to pouziva jen na vyskakovani popupu? Myslite backend v JS? Potom byste musel pouzit neco jineho na generovani grafu.
Spis by me zajimalo srovnani toho Minia s django adminem.
12. 5. 2022, 13:48 editováno autorem komentáře
Někdy mě ta provázanost v Pythonu na Numpy a Pandas štve. Když chcete ten jednoduchý graf vykreslit bez Pandas, tak je to strašný.
Člověk co pojmenuje utilitu mc je asi totálně mimo a upozorní me to, že v projektu může být víc podobných nesmyslů. Navíc kdyby třeba minioc bylo nějak dlouhé.
Co je spatneho na Midnight Commanderu? :)
(myslim, ze se snazi priblizit puvodnimu unixu, kde vetsina casto pouzivanych utilit ma jmeno na dve pismena - kupodivu je tam stale dost volnych kombinaci, akorat to mc tedy koliduje)
PS: OpenShift ma taky `oc`. Ted nove jeste `odo`, ktere ma delsi nazev, protoze `od` je uz obsazeno jednou unixovou utilitou (takze nemaji kolizi).
jj tranzitivni zavislosti jsou nekdy docela velke. Na druhou stranu se Pandas pouziva fakt dobre, hlavne rozhrani pro nacteni ze vseho mozneho jsou povedena.
Zajimave.
Jak vyrobit DevOps peklo milionu slepenych utilitek snadno a rychle.
Ja osobne bych podobne reseni stavel na Java 17 + Spring Boot 2.6.x jako REST backend provider (skeleton vygenerovany na Spring starteru) a Vue3 s PrimeVUE komponentami, na grafovani Dygraphs.
Frontend kompletne v typescriptu, nejsme prasata.
Trochu slozitejsi setup projektu, vysledek snaze udrzovatelny a DevOps je deployment jednoho FAT JAR, kteremu staci nastavit chmod +x a primo jej nechat ovladat systemd.
Tisic lidi, tisic chuti.
Tady autor prvniho komentare a castecne (bohuzel) i DevOps :)
Kde je konkretne problem a rozdil?
- mate javu + vecicky okolo + Maven
- mate Python + pip
V obou pripadech se nekde v pred-deployi (podle nastaveni) vytvori image aplikace a ta se po probehnuti CI/CD pipeliny nasazuje. Jestli je to JAR uz je prece jedno, kdyz se pracuje s jednou uz hotovou image. Btw mam tady i programy v Go a je to to stejny porad dokola, s tim, ze namisto fat jar je tam primo spustitelna binarka bez dalsich zavislosti (krome glibc).
Jinak ten clanek je o pozadavku na itranetovej tool bezici nad S3/Miniem, kterej je idealne hotovej za tech pul hodiny + dalsich 7,5 hodiny se to vykazuje, aby se nezvysovala latka :p Ale rad bych (skutecne rad) videl ten projekt napsanej v technologiich, ktere zminujes, bylo by to zajimave porovani (jsem se ptal na JS reseni, ale Java je taky fajne).
13. 5. 2022, 10:02 editováno autorem komentáře
Zavisi od toho ako velmi to chces robit do buducna (teda napr. responzivny design, lokalizacia, automaticky refresh atd.) - na jednorazovu utilitku co bude pouzivana z desktop je to uplne v pohode, neviem ako by to fungovalo na mobile/tablete.
Najjednoduchsie JS riesenie by IMO bolo postavene na Next.js (https://nextjs.org/) s deployom na Vercel. Mozes spravit v podstate to iste (server-side predgenerovat data a pushnut uz celu stranku na klienta cez https://nextjs.org/docs/basic-features/data-fetching/get-server-side-props), UI a popupy cez MaterialUI (https://mui.com/) a grafy bud v canvas element v browseri cez chart.js (https://www.chartjs.org/) / D3.js (https://d3js.org/) alebo urobit endpoint co vygeneruje JPG/PNG na serveri (napr. image-charts https://www.npmjs.com/package/image-charts kedze to bezi na strane servera tak sa medze nekladu a moze to byt aj Python skript).
MinIO klient je dostupny priamo ako balicek pre Node.js (https://github.com/minio/minio-js) takze s tym by nemal byt problem. Ak mas data natahane v MinIO a pojdes so standardnou temou na MaterialUI tak ratam ze tych cca 30 minut - 1 hodina to bude trvat tiez ak vies co a ako pouzit.
Ak bude zaujem tak to mozno cez vikend spacham a hodim to sem.
13. 5. 2022, 23:20 editováno autorem komentáře
Na tohle je nextjs overkill. Nepotrebujete zadny tlusty backend, backend je minio.
16. 5. 2022, 12:37 editováno autorem komentáře
Udelate takovou vec za pul hodiny? Vcetne toho administracniho rozhrani? Kompatibility s AWS? Odkazte sem repo.
Ostatni by stravili mesic ucenim se Vaseho stacku. Autor jasne pise, ze zvolil dane reseni, protoze je to cisty python a je to rychle.
13. 5. 2022, 15:26 editováno autorem komentáře
Bylo by zajimave, kdyby tam nekde byl odkaz na bezici vzorek. Nebo yt video, aby bylo zrejme, jak vypada vysledek.
Za sebe - mereni z pythonu, do influxu a grafana do nej chodi tahat data. Vetsinu prace tu uz udelal nekdo jiny.
Ale diky za zajimave podnety, neni mi jasne, kde je silna stranka minio - to se mohlo trochu rozebrat.
Výsledek by měl být aspoň trošku vidět ze screenshotů. Prostě jediná stránka s odkazy, které vedou k zobrazení popup okna s tabulkou popř. s grafem. Nikde se nic viditelně nepřekresluje, protože pod kapotou to není request-response, ale neustále propojení BE s FE.
Minio je tady použito jen jako lokální náhrada za S3 (navíc plně open source, nemusíte si na AWS tvořit testovací account atd.). Meze změny kódu (jen přepísem URL a obou klíčů) to jde přesměrovat na plnohodnotnou produkční S3.