• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    BLAMIThe Go Programming Language - moderni programovaci jazyk

    Go is an open source programming environment that makes it easy to build simple, reliable, and efficient software.

    Pro vyhledavani clanku/blogu/informaci o Go v Google je potreba misto vyrazu "Go" pouzivat "Golang".

    Web:
    golang.org - ofic. www stranky projektu Go
    Go Playground - piskoviste na vyzkouseni Go
    blog.golang.org - ofic. blog projektu Go
    pkg.go.dev - vyhledavac knihoven a dokumentace
    Awesome Go - seznam oblibenych projektu, knihoven a blogu

    Literatura:
    The Way To Go: A Thorough Introduction To The Go Programming Language (Ivo Balbaert)
    Programming in Go: Creating Applications for the 21st Century (Developer's Library) (Mark Summerfield)

    Komunita:
    Slack Gophers - server pro uzivatele a skupiny okolo projektu v Go
    rozbalit záhlaví
    VELDRANE
    VELDRANE --- ---
    DRUDRIGER2: vzhledem k tomu ze to sou vsechno microservisy v kubernetes tak to resim helmem
    BLAMI
    BLAMI --- ---
    DRUDRIGER2: systemd neni na deployment ale na lifecycle management. Ono zalezi jak (co je unit of deployment) a kam to deplojujes
    - jestli na nejakou VM s Linuxem co mas cely pod kontrolou - v takovym pripade bych volil distribucni balik distribuce, kterou pouzivas
    - do cloudu - tam zalezi na providerovi a runtimu ale typicky chces nejakej nemennej setup (docker kontejner, vm image, k8s deployment unit + kontejner)

    Co se tyce toho jak tu unit of deployment vytvorit, tak zase zalezi kde mas kod a jaky jsou tam procesy. Je tuna moznosti od selfhostovanyho Jenkinse, Drone CI nebo jinyho z milionu CICD reseni, pres Github Actions a Gitlab CI/CD az po nejaky udelatka co ma treba Amazon nebo GCP.
    DRUDRIGER2
    DRUDRIGER2 --- ---
    jak resite deployment.?
    delam si v GO male projekty, kdy se snazim rozbit jeden php monilt na mensi microservices v go. na ten monolit je udelanej celej deploy proces, postaveny na gitu.
    Mne zatim napadlo nebo co sem koukal, pouzivat na to systemd. jak to resite vy, pripadne co by jste poradili.?
    DRUDRIGER2
    DRUDRIGER2 --- ---
    Vypadá to dobře
    BULHI
    BULHI --- ---
    BULHI: tak Gorilla ma evidentne novej tym https://github.com/gorilla#announcement
    LARS_GUNNER
    LARS_GUNNER --- ---
    BULHI:
    VELDRANE:
    Supr, projdem si to.
    S partakama potrebujeme umet vytvorit web, ktery by nam slouzil interne, popr. jej pak nabidnout jako option pro zakazniky. Zaroven vidime v Go zajimavou budoucnost, protoze uz bylo par poptavek na mensi projekty a vypada to, ze by Go mohlo jit dopredu a bude soucasti poptavek.
    Ono totiz hlavni hybnou silou byl impulz od jednoho korporatniho udrzovace monolitu, ktery to zhejtil, tak se si rek, ze to bude asi zajimavy. :)
    VELDRANE
    VELDRANE --- ---
    LARS_GUNNER: Jak uz tu zaznelo, sel bych cestou nejakyho frameworku. Za sebe muzu doporucit treba Goa framework, v tom se to pise zkoro samo:

    GitHub - goadesign/goa: Design-based APIs and microservices in Go
    https://github.com/goadesign/goa
    BULHI
    BULHI --- ---
    LARS_GUNNER: me tyhle kurzy vzdycky prijdou hrozne zdlouhavy a plny informaci, ktery jsi ani nepotreboval, nebo uz jsou zastaraly.. zacal bych urcite s ofiko tutorialem: https://go.dev/tour/welcome/1

    Dokumentace standardni knihovny mi casto prijde docela hutna, aby ses do ni jen tak ponoril, pouzivam ji spis jen jako referenci. Takze jako dalsi krok bych urcite spis doporucil treba https://gobyexample.com/

    No a dal zalezi, co presne chcete udelat. Standard lib ma http server, templates atd., ale asi bych se podival spis na nejakej framework, jako treba Gin, Beego. Pripadne v praci pouzivame https://github.com/gorilla/mux coz neni uplne framework, spis jen balik nastroju pro http, nicmene autori to prestali udrzovat. Nam to ale zatim staci a driv to bylo hodne popularni.
    WILD_A
    WILD_A --- ---
    gRPC na Go Meetupu v Praze
    Go Meetup #12, Wed, Jun 14, 2023, 6:00 PM | Meetup
    https://www.meetup.com/prague-golang-meetup/events/293834888/
    LARS_GUNNER
    LARS_GUNNER --- ---
    Ahoj vsem, pro letosni R&D batch jsme si vybrali Go. Cilem je se naucit zaklady a nasadit s tim web/blog s moznosti rozsireni o jednoduchy e-shop a tim si vyzkouset "extensioning".
    Mame pristup do Udemy, kde je pomerne dost kurzu, ale nedokazu posoudit kvalitu. Otazkou je, je to vubec potreba? Neni referencni dokumentace dost dobra a obsahla? Investice je to financne velmi mala(Udemy), ale chceme si vybrat casove efektivni zpusob uceni/cas. Muj background je plain C/(C++ uz nastesti jen nekdy) a C#. Vsichni jsme zamereni hodne prakticky, ale ja konkretne nedelame sitove a webove aplikace, takze uplne ciste surovy kod asi nebudu schopen vzdy jednoduse pochopit.
    MYSUNK
    MYSUNK --- ---
    ahoj, kdyby mel nekdo zajem, shanim medior/senior Gockare na praci na Fintech platforme (mikrosluzby, Kubernetes) - jedna se o maly tym lidi co to bavi:
    Go Developer - Medior/Senior - Full Remote | zebrabased s.r.o.
    https://www.startupjobs.cz/nabidka/36366/go-developer-medior-senior-full-remote

    Mejte pekne svatky!
    WILD_A
    WILD_A --- ---
    Go meetup ve stredu 30/11/2022 v SentinelOne:
    Go Meetup #9, Wed, 30 Nov 2022, 6:00 pm | Meetup
    https://www.meetup.com/en-AU/prague-golang-meetup/events/289247920/
    VELDRANE
    VELDRANE --- ---
    DANIELSOFT: Mne dost pomohly kurzy na udemy viz treba:

    https://www.udemy.com/course/multithreading-in-go-lang/
    RAGNAROK
    RAGNAROK --- ---
    DANIELSOFT:
    docela pekny clanky jsou na medium
    ADAMBERNAU
    ADAMBERNAU --- ---
    Pro uplne zaklady bych odkazal na A Tour of Go a Go by Example
    DRUDRIGER2
    DRUDRIGER2 --- ---
    DANIELSOFT: Ahoj.
    Taky sem se pred nedavnem pustil do uceni GO a musim rici ze ve finale mi nejvice pomohl tutorial na rootu
    tady.
    Seriál Programovací jazyk Go - Root.cz
    https://www.root.cz/serialy/programovaci-jazyk-go/
    DANIELSOFT
    DANIELSOFT --- ---
    ahoj, existuje nějaké dobré volně šířitelné stažitelné PDF s Go? ale nechci aby tam byly jenom úplné základy (jako Gobook z prvního linku z googlu) ale víc do hloubky pro člověka, který předtím dělal v C++ (není podmínkou, aby to PDF srovnávalo C++ a Go, ale různé detaily kolem interfaců, duck typing a standardní knihovny, tj. ekosystému by byly super.
    REDGUY
    REDGUY --- ---
    V Pure Storage poradame Go Meetup: 31.8., 17:30, Rohanske nabrezi 661/5
    Go Meetup Tickets, Wed, Aug 31, 2022 at 5:30 PM | Eventbrite
    https://www.eventbrite.com/e/go-meetup-tickets-405296190817

    A nabirame Go vyvojare do Portworkx tymu (integrace nasich storage krabic do Kubernetes). Skvela firma, skvela prace, kdyby to nekoho zajimalo, at se ozve 8)
    VELDRANE
    VELDRANE --- ---
    GIX: Mno ja sem prave gorutiny do ted nepotreboval, paac bud to za me udelal nakej framework a nebo mne slo spis o ty knihovny, ktery se v golangu vazou na ekosystem kolem kubernetes. Nejsem programator! Obcas ale potrebuju naky ty systemovy integrace no :), sem tam taky neco pacham k IoT a prijde mi ze tenhle koncept (periodickej worker na backgroundu, kterej pripravuje data pro publikovanimpres rest) musi bejt vcelku castej a bez mutexu se to nejspis neobejde.

    Jeste me napadlo jit na to pres dve active<->backup memory regiony. (mit tu public structure 2x)Zkratka ze bych publikoval data z jiny oblasti nez do ktery by zapisoval pri dalsim behu worker paac tech dat neni tolik. A pri zapisu bych jen switchnul pointery (coz by stejne asi chtelo mutex)

    Kazdopadne diky za tip, v ramci selfstudy to zkusim nabastlit pres ten sync balicek a mutexy.
    GIX
    GIX --- ---
    VELDRANE: ty reci o komunikaci misto sdileni se datujou do prvnich let go, kdy se vsichni snazili naroubovat vsechny problemy na kanaly.
    z cehoz imho komunita dost vystrizlivela. (asi kazdej zacatecnik v go si projde fascinaci goroutinama, kdy dela z jednoduchejch problemu monstra propojeny kanalama, aby zjistil, ze v 99% pripadu je lepsi pouzivat je jen na trivialni synchronizaci pri ukonceni behu goroutiny)

    pouzivej balicek sync. konkretne sync.Mutex, popripade RWMutex je asi pro tebe vhodnej.

    kdyz si prolezes standardni knihovnu, tak sync se pouziva vsude mozne (treba http.Server). atomic spis vyjimecne(i kdyz je i v tom http.Server).
    VELDRANE
    VELDRANE --- ---
    NYX: Diky moc, zkusim nastudovat nicmene jedna z prvnich vet dokumentace “… These functions require great care to be used correctly” me trochu desi ;)
    NYX
    NYX --- ---
    VELDRANE: Muzes pouzit treba sync/atomic a SwapPointer.
    Kliknutím sem můžete změnit nastavení reklam