Git Product home page Git Product logo

dotgo2017's Introduction

Konferencija dotGo 2017, Pariz

Agenda:

  • o konferenciji (i dot serijalu)
  • workshop i meetupi
  • pregled održanih predavanja
  • detaljnija analiza predavanja (code): Ajmani, Kennedy

Gobot workshop

Na workshopu je sudjelovalo 20tak ljudi. Atmosfera gotovo identična Golang meetupima u Zagrebu. Tema workshopa je bila gobot paket koji omogućava komunikaciju sa mnoštovom remote uređaja koristeći Go. Workshop je vodio Ron Evans, jedan od autora paketa.

Ovdje je source s kojim smo se igrali. Na workshopu smo isprobali Arduino (i neke njegove pluginove), Sphero, Ollie i razne dronove kojima smo upravljali pomoću joysticka (sve to koristeći Go).

Gathering of International Gophers

Klasični meetup, 6 predavanja. Snimke ovih predavanja neće biti dostupne online.

Mainflux: IoT platform written in Go - Draško Drašković

Predstavio je platformu za mikroservise koju su napravili. Ključne riječi: gokit, MQTT, CoAP, NATS, SenML, Cassandra, Docker, Kubernetes.

CGo: When and when not to use it - Karl Matthias

Osvrt na neke pitfalle kada se koristi CGo. Ako je vjerovati predavaču CGo nije baš lako obuzdati. Fotografija na kojoj je side sa popisom najvećih concerna:

Performance profiling in golang - Thomas Solignac

Solidno predavanje o dobro poznatom pprof paketu.

Unseen hero of modern compilers - Olivier Cano

Teoretska priča o optimizacijama u Go compileru i SSA formi.

Dynaroutes - Pietro de Salvia

Pietru se svidio dynamic routing kakvog ima Netflixov Zuul. Točnije, sviđa mu se mogućnost konfiguracije bez restartanja servisa. Zato je napravio svoj proxy u kojem se koristi Golang za pisanje routing pravila. Pravila se mogu mijenjati bez reloadanja.

Kasnije sam malo popričao s njim; proizvod je još miljama daleko od ozbiljnije produkcije. Samo eksperiment.

Goland IDE, JetBrains - Florin Patan

Komercijalni IDE. Predstavili su dosta featurea. Zapele su mi za oko opcije find type which implements interface i obrnuto koje VS Code nema. Sutradan su na main eventu također imali štand.

Inače, predavači na main tracku su gotovo isključivo koristili VS Code. Uključujući Campoya.

Afterparty

Konferencija

Zasad su dostupni video zapisi tri predavanja. Ubrzo se očekuju i ostala predavanja.

Simulating a real-world system in Go - Sameer Ajmani

Sameer je manager Go teama. Pokušao je objasniti concurrency u Golangu usporedbom sa stvarnim svijetom. Gorutine, mutexi, kanali, buffered kanali. Izmjerio je koliko sve od toga zasebno donosi poboljšanja i koji su limiti. Pokazao je primjere i dao source kod za igranje. Ponajbolje predavanje.

Go Lift - John Cinnamond

John se nadovezuje na blog post Rob Pikea o hendlanju grešaka. Opisuje simpatičan primjer organizacije koda tako da se error provjeri samo jedanom na kraju funkcije. Da, problem je stvaran.

The art of testing - Matt Ryer

Autor paketa testify i knjige Go Programming Blueprints opisuje neke općenite principe zašto i kako testirati kod. Preporuča nam paket moq za automatsko generiranje mockanih interfacea za testove i httptest za testiranje REST apia.

Behavior Of Channels - William Kennedy

Autor knjige Go in action se profesionalno bavi Go trainingom (1, 2). Na predavanju je ispričao priču kako mu je jednom nemogućnost pisanja u log zaustavila produkciju. I kako je to onda vješto spriječio dropanjem log zapisa pomoću select naredbe. U stotinjak linija koda je lijepo iskoristio nekoliko dobrih Go patterna.

Functional design in Go - Sam Boyer

Sam Boyer je maintainer dep-a. Ispričao je kako je koristio memoizaciju za ubrzanje dep-a. Od više ljudi na konferenciji sam čuo da koriste dep za dependency management.

Runtime scheduler - Jaana B. Dogan

Jaana je Software developer at Google. Pričala je o detaljima runtime schedulera za Go. Preslikavanje gorutina na sistemske threadove M:N.

Networking in Go - Cindy Sridharan

Cindy objašnjava kako je implementiran networking stack u Gou. Krene od http.ListenAndServe pa do dođe do sistemskih file deskriptora. Ideja dobra, preznetacija konfuzna.

Debuggers from scratch - Liz Rice

Liz je autor knjige How to containerize your Go code. Objasnila je kako koristiti ptrace i gosym paket za napraviti vlastiti Go debugger. Spusti se u assembler i zamjeni željenu assembler naredbu sa breakpointom.

Machine Learning in Go - Francesc Campoy

Moj omiljeni youtuber objašnjava zašto Go nije top izbor za machine learning. Uzeo je jedan basic primjer (linear regression) i isprobao nešto napraviti pomoću gonum paketa. Onda pogledao u svoj kod i nije bio sretan.

Go in enterprise applications - Brian Ketelsen

Može li Go u tom segmentu konkurirati postojećim .NET ili Java frameworcima? Može u performansama, skalabilnosti i robustnosti. Problemi su u sučeljima prema enterprise alatima, sa centraliziranim upravljanjem aplikacijom te sa premalo Go frameworka i ekosustava.

Lightning talks

Daniel Marti opisuje kako je napisao program za reduciranje go koda. Smith (random generator koda) i reduce (skraćivač koda) se koriste za intenzivnije testiranje Go compilera. Po uzoru na csmith i creduce.

Jaime Silvela nam kaže da možemo odmah poslati response na web request (korisnik vidi da je uspješno submitao), odraditi posao u gorutini i onda vratiti rezultat. Da korisnik ne čeka predugo. (Ovo mislim da je doista basic)

Fabio Raposelli je napisao alat za provjeru licenci programa. Prođe kroz sve dependencie i njihove licence pa provjeri zadovoljavaju li oni zadana poslovna pravila (whitelist, blacklist).

Pascal Constanza je uspješno iskoristio Go za DNA sekvenciranje.

Massimiliano Pippi iz data doga (real-time performance monitoring) priča o problemima embedanja Pythona u Go.

Ron Evans je predstavio Go paket za computer vision. Wrapper za OpenCV 3.3+. Domena uključuje tracking faces, recognize people, autonomuos vehicles, augmented people...

Laurent Leveque priča o exposeanju Goa za Andriod i Python.

Diana Ortega priča o inicijativi za Go deep learning.

Marcel van Lohuizen priča o hendlanju errora u Golangu (deja vu).

Blake Mizerany, koji je inače bio i MC konferencije, predstavlja svoju platformu backplane.io. Upravo su dobili investiciju. Backplane is a managed service that unifies discovery, routing, and load balancing for web servers written in any language, running in any cloud or datacenter.

Detaljnije o predavanjima

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.