• ú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í
    TOOMIX
    TOOMIX --- ---
    DELVIT: 20 let je dlouhá doba, za mě to je .NET Framework a jeho následník .NET, GIT, Subversion, MSSQL Server, Virtualbox
    JANFROG
    JANFROG --- ---
    DELVIT:

    20 let - to je v podstate cela ma profesionalni kariera :-)

    Za me rozhodne nejvetsi vec je rozmach open-source, i kdyz to neni novinka poslednich 20 let, ale pred 20 lety to bylo dost jinde. Nejde ani tak o to ze to je "free" ani o to ze "tam je mene chyb protoze vic oci" (coz neni ani moc pravda), ale o to ze kdyz neco nefunguje nebo nevis co presne to dela, mas moznost si to dohledat a upravit.

    Z tech technickych veci za me:

    - LLVM (protoze to neuveritelne akcelerovalo experimentovani s jazykama)
    - RISC-V a v mensi mire OpenPOWER (protoze jsou otevrene, viz vyse, a protoze konecne nemusis vymyslet jak obejdes HW, kdyz ho muzes zmenit)
    - Pokrocile SMT solvery - Z3 / CVC (protoze to umoznuje vyvoj nove generace nastroju).
    - asi bych sem zradil i virtualizaci, nejen HW ale (hlavne) SW (QEMU, gem5) - protoze i kdyz ta neni tak nova (LPAR, zony) ta masivni dostupnost vsude a snadnost pouziti na levnem HW me dost zjednodusila praci :-)
    UNTOY
    UNTOY --- ---
    DELVIT: mimo veci co zminili ostatni treba tohle:

    - znovupouzitelne rakety ala Space-X
    - AIs aplikace jako DALL-E 2 nebo GPT-3. Tyhle veci jsou (zatim) blackbox, takze kdyby nemely instantni vysledky, tak by v mych ocich slo o typicky pripad Chinese Room Though Experiment.
    - sice to neni vec ktera vznikla behem poslednich 20 let, ale za poslednich 20 let se to dostalo do end-consumer oblasti: noise-cancelling sluchatka. Vec, bez ktere si nedovedu predstavit svuj den
    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.
    KOJA
    KOJA --- ---
    QWWERTY: Ja se popravde uz delsi dobu ucim spis “stary” veci ktery jsou dost hluboko pod vetsinou soucasnejch i novejch veci. Veci jako generovani assembly ktery implementuje C-cko, jak je zhruba naimplementovanej valgrind, jak funguje staticka analyza apod. A to me bavi.
    Dal me bavi novy veci ktery neco opravdu posouvaji dal (i v rovine technicke, ne pouze proklamacni). A tech neni moc.
    Co me nebavi je videt n+prvni vyhypovany a nedomrly pokus o neco jiz existujiciho.
    JANFROG
    JANFROG --- ---
    QWWERTY: Asi zvedavost. Me bavi se v tech vecech stourat a hat si s tim. Ovsem ne nutne (pro me) nove veci jsou "nove technologie". Spis nez s motivaci je problem najit cas :-)

    A teda neni to tak ze bych si rekl "tak co bych se ted naucil", spis to tak nejak vyplyne samo z ruznych podruznych problemu co se naskytnou nebo na co me nasmeruji znami. Neridim se ani tak tim co je ted trend nebo nove (nebo co chteji zamestnavatele) jako spis tim co zajima me. Pak je to jednodussi s tou motivaci.
    JANFROG
    JANFROG --- ---
    TILIO: Hele ani ne, spis si predstavuji, ze se topi v penezich :-)

    Asi mas pravdu, ja mam s patentovymi pravniky jen omezene a zprostredkovane zkusenosti. Ale co vim, tak treba treba pravnici pracujici pro Eclipse Foundation jsou vesmes byvali programatori, alespon to mi rikal typek, kdyz jsem se ptal proc muj PR jeste neni mergnutej, ak pry ze k tomu musi vyjadrit parta pravniku. Kdyz jsem se divil co z toho asi jako vyctou, rikal ze v poho, ze vetsina z nich umi programovat :-) Ale jasne, jaka je realita netusim.
    TILIO
    TILIO --- ---
    JANFROG: Myslim ze si praci patentovyho pravnika predstavuhes trochu jak Hurvinek valku :D

    //Neberte me vazne, jsem jenom patentovej pravnik co sel zrovna okolo ;)
    MLEKAR_STEIN
    MLEKAR_STEIN --- ---
    QWWERTY: tak jsou věci, ktery se musím maucit, orotoze jsou dnes standard, třeba docker, nějaky ty dirigenti typu ansible a pod.
    a pak se na mladá kolena učim trochu programovat. nemám nějakou závratnou ambici, ale na takovy ty adminský potřeby s pythonem.
    Kliknutím sem můžete změnit nastavení reklam