• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    KOJAProgramovani 40+
    Diskuze o obzive programovanim pro starsi a pokrocile.
    rozbalit záhlaví
    DELVIT
    DELVIT --- ---
    Toho se nám sešlo :). Díky za podněty. Osobně si myslím, že se toho moc neudálo. Za mě jsou největší zajímavostí kvantové počítače i když jim tedy moc nerozumím a vypadá to, že ani lidé co je vytvářejí jim úplně nerozumí. V oblasti kryptografie Eliptické křivky i když tedy jejich parametry a jak jsou odolné/náchylné musím ještě pořádně pochopit

    Zahraji si trochu na ďáblova advokáta:

    JIMX: Princip FW tu už byl dávno, jenom se aplikovali na JS, což tedy žádná revoluce v mých očích není. Tyhle JS frameworky mě minuly i když o nich vím. Určitě usnadnila práci, ale že by byla revoluční? Samozřejmě ušetří spousty času, ale všechno by šlo dělat stále v JS ne? Takže jsou to hlavně takové berličky, aby toho programátor stihl více za méně času. Nevýhodou bude spousta závislostí, které pak musíš tahat a když se něco v tom řetězu po tak si v pytli.

    GARFIELD: robo vysavač je samozřejmě nejzajímavější, když na něm jezdí kočka.
    - ML zpracování obrazu... tady se moc neorientuji, ale zatím samořiditelná spolehlivá auta nejsou :).
    - NLP... v čem to pokročilo? Mohu vzít náhodný text a dát ho na zpracovaní a pochopí dvojsmysly atd.? To se me zatím nezdá.
    - Rails tak to je rozšíření MVC, případně MVP na web ne? To vyplynulo tím, že to už to tu bylo a potřebovali to dát na web.
    - Cloud ... tak tohle bohužel za mě je krok špatným směrem, giga-korporáty využívají práce dobrovolníků, gpl, atd. a když se jim vzepřou tak si udělají fork a jedou dál (viz amazon a elastic - https://www.infoq.com/news/2021/04/amazon-opensearch). Navíc ta centralizace a kontrola nad daty...
    - Vsude mobilni internet... za mě spíše evoluce - první mobilní telefon co dokázal, samozřejmě primitvně, na net bylo někdy v půlce devadesátých let. Rozšíření internetu jednoduše pokračovalo na mobilní zařízení IoT atd. A zase tu díky tomu máme hegemonii googlu s apple.

    MARASAN: VMka udělali určitě pokrok za 20 let, ale zase je to postupné vylepšování toho co tu bylo a když chceš využít ten výkon co mají dnešní počítače, tak je to logický směr rozšiřovaní.

    RUST je super, mám ho na seznamu, ale zase je to spíše oprava toho co tu bylo a Cčko udělalo špatně. Tj. poučení se z chyb a pokus udělat to správně ostatně jako se snaží D(dlang), atd.

    ARM ... to je RISCový procesor, který tu máme od 80tých let. Jistě zmenšil se, je efektivnější, protože jsou lepší, levnější výrobní linky. To se mě více libí RISC-V. Rozšíření jednočipů je kvůli tomu, že je výroba konečně dostatečně výkonná a levná.

    3D tisk...počátky byly tak v 90letch možná dříve, ala něco jako "Sanders Prototype" Až se tak budou stavět domy a auta na to se těším, ale k replikátoru ze ST to má stále daleko :D.

    MLEKAR_STEIN: Z pohledu vývojáře super, ale nějak objevné mě to nepřijde. Opět dotažení nějakého konceptu za nějakým účelem, tak aby to bylo rychlé a použitelné hlavně pro vývoj.

    UNTOY: no myslel jsem spíše v oblasti programování a počítačů. Ale tak se na to podíváme
    Space-X je super nápad, ale Space Shuttle tu byl dříve (od 1981?) v oblasti znovupoužitelnosti. Space-X to chce dotáhnout což je pěkné.

    Neznám GPT-3, ale jsem na cestách jsem trochu DALL-E 2 potkal a zase mě to přijde jako evoluce a snaha pokročit v AI oblasti o krůček dál, žádná zásadní změna. V AI mě zaujal úspěch AlphaGo v GO (hlavně AlphaGo Zero)a i v jiných oblastech. Principy noise-cancelling jde hluboko do začátků 20. století, první patent byl něco jako 1933.

    AMBIENTIUM: Bitcoin je určitě zajímavá oblast využití kryptografie, ale je to "jen" geniální spojení několika nápadů - ale tedy to využití elektrické energie mě jako dobrý nápad nepřijde. Co se vlastně stane, až se vytěží poslední bitcoin? K ML jsem se už rozepsal nahoře. NoSQL databáze alias non-relational tu jsou s náma od 60tých let mimulého století, jenom teď se jim říká NoSQL. Výpočty grafáren to se "jenom" zlepšili vývojové procesy a holt grafárny se staly dost výkonné na to, aby je bylo rozumné je použít na určité spektrum výpočtů.
    AMBIENTIUM
    AMBIENTIUM --- ---
    DELVIT: za mě docker a k8s, machine learning (pattern recognition a natural language processing), kryptografie okolo bitcoinu a defi, za super věc považuju úplný oddělení frontendu od backendu s Reactem a GraphQL, super je serverless koncept, asynchronní kód, všechny možný různý nosql databáze jako Elastic, využití výpočetních jader grafáren….
    MLEKAR_STEIN
    MLEKAR_STEIN --- ---
    DELVIT: čim mi přišel objevnej docker:
    1. přišel s kompletním toolboxem. Možná v něčem blbým, ale relativně kompletním. tohle považuju za asi základ úspěchu.
    2. je to jednoduchý na použití. stáhnu image a pustím. v podstatě jail na steroidech. jen k tomu neni opich s vytvářením.
    3. dá se s tim dobře hýbat pokud chcípl server, nebo to prostě potřebuju dát jinam, tak obnovím data/datové volumes. instalace apky je na pět minut.
    4. vývojáři začli přemýšlet, kde mají data. najednou mi zmizely hádky typu "no ale ten tmp nám promazávat nesmite, my tam máme nastavení"
    5. povinnost sestavit image, tedy v podstatě provést instalaci a elementarní konfiguraci, spadla na vývojáře. následkem toho zmizely hadky typu "do baliku vám ty závislosti psát nebudu, máte v dokumentaci seznam a děláte si to stejně ansiblem" případně "to je popsaný v ticketu v jire" protože pokud něco nejede.v image, tak se to rychle otestuje hned po vyrobení a když tak padne vývoji zpět na hlavu dříve, než se to dostane k ops. a když náhodou něco uteče, tak se post mortem vývoji řekne no, tak tohle si koukejte rychle opravit. a utece toho tak do produkce podstatně míň.
    MARASAN
    MARASAN --- ---
    DELVIT: zrovna i virtualizace je velkej pokrok a snad nema vic nez 20 let (?)

    Pak ja povazuju za velkou vec RUST, kterej je schopen skvele nahradit sileny C. A zrovna RUST sem zacal pouzivat po ctyricitce kdy duvodem bylo, ze chci neco delat rychle a RUST je rychlej a proto sem se RUST zacal ucit.

    V poslednich 20 letech je toho kvanta, spousta veci je starsich, ale vysvihla se ted. Uz treba ARM a s nim mobily, maly pocitace (RPi apod). Rozsireni jednocipu kvuli Arduinu. 3D tisk. Tuny tuny veci a vsechny desne zajimavy a hodny vyzkouseni. Oproti tomu novy JS frameworky jsou uplna sracka IMO.
    GARFIELD
    GARFIELD --- ---
    DELVIT: Robo vysavac! (sorry, mam ho kratce a nemuzu si pomoct :)

    Za me treba

    * ML zpracovani obrazu a NLP
    * Rails - neskutecna produktivita pro webovy startup
    * Cloud
    * Vsude mobilni internet (kdyz jsem psal pred 10+ lety aplikaci pro zachranku tak mobilni data mi prisly cutting edge)
    JIMX
    JIMX --- ---
    DELVIT: mně přišly celkem revoluční frameworky typu react/vuejs/... předtím jQuery sice super (oproti plain JS v tý době), ale oproti těmto fw je to asi jako kopat díru lopatou vs bagrem
    DELVIT
    DELVIT --- ---
    MLEKAR_STEIN: To je zajímavá otázka. Ono toho moc nového vlastně není. Docker mě nepřijde jako nějaká revoluční novinka, dle mého pohledu to je "jen" VMka dotažená pro vývoj. Přesně jak psal
    UNTOY:, kde máš nějakou historickou platformu a chceš vyvinout novou a chceš to nějak používat a zároveň chceš vyvinout náhradu. Případně mít stejné prostředí pro všechny, čehož se dá dosáhnout jinak, ale tohle je pohodlnější.

    Já bych se tedy zeptal jinak. Co za revoluční novinku jste viděli v posledních 20+ letech?
    SATAI
    SATAI --- ---
    KOLCON: tohle Ops stejně musí řešit, teď k tomu jen má nástroje
    UNTOY
    UNTOY --- ---
    KOLCON: tu pravou hodnotu poznas ve chvili, kdy se setkas s use-casem, ktery se tim zpusobem dat vyresit lip nez jakymkoliv jinym zpusobem. Priklad - mame monolit appku Python2+Vuejs bezici na legacy AppEngine (1st gen). Pro beh to potrebuje specifickou verzi GCloud SDK, Pythonu a dalsich zavislosti. Chceme to prepsat, ale nemuzeme zastavit novy vyvoj na x mesicu jen abychom ziskali vicemene 1:1 kopii toho co jsme meli. Takze to bezi side-by-side s novym Python3 backendem, kde postupne vznikaji nove API endpointy a presouvaji se tam ty existujici z Python2. Oba backendy idealne potrebuji pristup k te same databazi. A vedle toho k tomu piseme jeste novy frontend. Aby tohle vsechno u sebe dokazal vyvojar nainstalovat, nakonfigurovat a spustit, tak by tim stravil v lepsim pripade minimalne 2 dny, a to za predpokladu ze to dela na nejakym *nix systemu.
    S Dockerem jsou to 4 predkonfigurovany kontejnery (DB, Python2, Python3, Frontend), ktery se spusti jednim `docker-compose` prikazem a je to. Vsechno je reprodukovatelny, takze se nedostanes do situace, kdy to jednomu vyvojari funguje na jeho stroji, druhymu ne a zkus na dalku zjistit v cem je problem.

    Co se tyce deploymentu do produkce, v tomhle mi Docker porad prijde lepsi nez starsi zpusob, kdy se (treba) pres Ansible neco nekam uploadovalo, buildilo, restartovalo a doufalo se. Ale zminovany GCP AppEngine mi prijde jeste o krok dal. Je to sice vendor lockin, ale jediny co je potreba je 1 yaml soubor s prehlednou konfiguraci aplikace, popr. jednoduchy pravidla jak to ma skalovat (min/max pocet bezicich instanci, cpu usage, requestu...) a hotovo. Uplne tim odpada potreba psat Dockerfiles nebo resit veci jako Kubernetes, protoze to je temer fulltime job pro dalsiho cloveka.
    AMBIENTIUM
    AMBIENTIUM --- ---
    KOLCON: pro admina je to to nejlepší co může bejt, pokud to ještě fičí na Kubernetes. Všechno automatizovaný, deployment, auto-scaling (roste zátěž? Prima, spustí se další pody, klesla, ok, vypnou se), infrastructure as code je naprostá paráda. K tomu tooly jako Lens, kde vidíš celej live setup, proklikáš se do libovolnýho živýho podu, vidíš tam logy a můžeš si spustit bash konzoli, vytahat z toho třeba soubory (třeba detailní crash reporty)…. Plus v cloudu nemáš železo, neřešíš chcíplej hardware, appky neběží na “serverech”. Místo toho máš prostě prostor - X CPU, Y RAM atd. a v tom necháš Kubernetes rozprostírat automaticky ty běžící kontejnery…

    Aktualizace třeba programovacího jazyka na vyšší verzi? Ok, změníš jedno čísilko v Docker konfiguraci, buildneš a je to za pár minut, buildnutej image testneš a nasadíš do produkce. Neřešíš, jestli produkce má vyhovující OS a závislosti… a nějaký přípravy na upgrade abys nesbořil existující produkci…. K tomu obří komunita okolo a veškerej myslitelnej tooling k dispozici zdarma…
    QWWERTY
    QWWERTY --- ---
    KOLCON: afaik pointou kontejneru (jednou z mnoha) je, ze zmenis release/konfiguraci v ramci Dockerfile, stary kontejnery vypnes a nechas nahradit novyma (viz "cattle vs pets")
    + se pak daji docela snadno delat i takovy veci jako napr. pro testovani rozjet 1 kontejner s novou verzi a zbylych X nechat na stare, dokud se to neotestuje v ostrym provozu. tzn. potencialni fail neohrozi vsechny uzivatele sluzby a postizeny uzivatele hodi loadbalancer pri dalsim requestu velmi pravdepodobne na starou verzi. stejne jako gradualni/rolling replacement

    za me osobne je to taky super v tom, ze kdyz treba potrebuju pouzit nejaky tool (napr. ESPHome pro flashovani firmware do IoT/embed), tak nemusim delat cely dev environment setup (nedejboze kdyby ten tool chtel jiny zavislosti, nez ty ktery mam aktualne v ramci systemu). takhle si stahnu kontejner, predam mu jenom parametry a ono to funguje
    KOLCON
    KOLCON --- ---
    SATAI: Jako z pohledu programátora to ještě asi chápu. Ale z pohledu admina to musí být peklo, mít takových (cizích) aplikací v systému hodně...
    SATAI
    SATAI --- ---
    KOLCON: pak to přebuilduješ a máš
    KOLCON
    KOLCON --- ---
    SATAI: a pak to nebudu muset 50x udržovat a patchovat?
    SATAI
    SATAI --- ---
    KOLCON: tak si je stav nad jedním base image
    GARFIELD
    GARFIELD --- ---
    Me porad bavi ucit se "novy" (pro me) veci a zkoumat ruzny technologie. Ale musi mi to resit nejakej realnej problem.

    Priklady veci, co me napada z posledni doby:

    * zkoumani architektury/toolu na nejaky business analytics a data pipeline (firma chce lepe utracet penize a ziskavat vic zakazniku)
    * Rails 7 (nase firma bezi na Rails)
    * Apple M1 (co budeme davat programatorum za pocitace)
    * indie web (nemam rad pomaly stranky a seo spam)
    * robo vysavace a veci okolo toho (https://www.youtube.com/watch?v=Y31__uv05KI) (uklizeni po detech)

    Naopak se nedokazu donutit k tomu se ucit neco jen tak do prace. Treba

    * cist si po nocich Knutha (muj realnej zaber je v business aplikacich),
    * bitcoin ¯\_(ツ)_/¯
    * docker (infrastrukturu resime jinak a zatim dostatecne)
    * preact, react, svelte, nextjs, ...
    KOLCON
    KOLCON --- ---
    MLEKAR_STEIN: Já docker moc nepochopil, proč má každá aplikace sebou tahat vlastní operační systém. Proč tam mám mít 50 verzí jedné knihovny pro 60 aplikací. Vždyť to je i bezpečnostní problém...
    MLEKAR_STEIN
    MLEKAR_STEIN --- ---
    co pro vás znamená nová technologie?
    a čim vám přijde nová?
    mě takhle přišel objevnej docker.
    hlavně tim, že se s tim dá dobre hýbat, můzu to mit doma, stejně jako někde v oblacích. můžu mít vedle sebe víc verzí téhož atd.
    KOJA
    KOJA --- ---
    KOC256: Ja to spis vidim tak, ze snazit se delat diru do sveta s necim co je sice nove ale o nicem je nesmysl. Co je in me vlastne nezajima, spis to kde se resi fundamentalni problemy.
    KOC256
    KOC256 --- ---
    KOJA:
    Jo, jo...

    Mládi vpřed, a staří na svá místa.

    Asi je fajn si přiznat, že v nejnovější technologii už díru do světa neuděláme. Tak je fajn se naopak zaměřit na to, co je dlouhodobě IN a s čím to tu už doklepeme :-) ...myšleno v tom pozitivním slova smyslu.
    KOJA
    KOJA --- ---
    KOJA: A motivuje me k tomu asi hlavne zvedavost a frustrace z vlastni ignorance? Do urcity miry tyhle temata mam v popisu prace ale vetsina uplne potrebna neni.
    Kliknutím sem můžete změnit nastavení reklam