• GoWroc #35: Diagnose Your Go App Anytime, Anywhere!

    Ingrid, Centra, Young/Skilled Office

    📅 Agenda 🕖 6:45 Networking 🕖 7:00 Talks ➡️ Mateusz Dymiński: Diagnose Your Go App Anytime, Anywhere! The Go ecosystem provides a large suite of APIs and tools to diagnose logic and performance problems in Go programs. This presentation summarizes the available tools and shows how to pick the right one for the specific problem. Following aspects will be covered during the presentation: - profiling - how to profile Go application, what kind of profiles are available in Go tool pprof, examples how to find find problems with CPU and Memory, tracing - how to trace Go, application, examples with analysis of application latency in a Go process, - debugging - how to debug Go application, what need’s to enabled to debug app and how to debug app remotely, - runtime statistics and events - how to print and access events and stats collected by package runtime, - instrumenting - how to instrument and trace application with external tools like Prometheus. 🕗 8:30 Networking 👥 Speakers ➡️ Mateusz - Software engineer with strong technical background in software development, sometimes DevOps. Loves backend, tolerates frontend, 4+ years of experience in Java, but since the beginning of 2014 fascinated by the Golang. One of the GoWroc (Golang User Group Wroclaw) leaders. During the daily duties he's building reliable and scalable distributed systems in cloud environment at Nokia. 🌍 Go Developers Network We are a part of GDN, which is a collection of Go user groups working together with a shared mission to empower developer communities with the knowledge, experience, and wisdom to build the next generation of software in Go. 💰 About Sponsors ➡️ Ingrid (https://www.ingrid.com/) creates smart shipping solutions for e-commerce platforms. ➡️ Young/Skilled (https://www.youngskilled.com/) helps global brands succeed in commerce.

    3
  • GoWroc #34: Code organization & Go modules

    Ingrid, Centra, Young/Skilled Office

    == Agenda 6:45 Networking 7:00 Talks - Tobiasz Heller - How to organize Go code In this talk I will discuss best practices in organizing libraries and applications code in Go. - Sebastian Ławniczak - Introduction to Go modules Go 1.13 release is coming soon which makes GOPATH obsolete in favour of Go modules. Subject of this talk is to give the audience a quick overview and discuss pros and cons of Go modules. Additionally we’re going to discuss some hints on moving your existing projects to the new solution. 8:00 Networking == Speakers Tobiasz - software developer with 5 years of experience. He started his career building hardware-in-the-loop systems using graphical language (LabVIEW), but recently he's switched to web development and Go. Sebastian - software engineer working with Go for almost 2 years. Before that he was building embedded systems based on Linux for over 3 years. == Go Developers Network We are a part of GDN, which is a collection of Go user groups working together with a shared mission to empower developer communities with the knowledge, experience, and wisdom to build the next generation of software in Go. == About Sponsors - Ingrid (https://www.ingrid.com/) creates smart shipping solutions for e-commerce platforms. - Young/Skilled (https://www.youngskilled.com/) helps global brands succeed in commerce.

    4
  • GoWroc #33: Distributed tracing

    Ingrid, Centra, Young/Skilled Office

    == Agenda 6:45 Networking 7:00 Talks - Ilia Mikhailov - Intro to cloud functions with focus on GCF - Paweł Kowalak - Enable distributed tracing in your web app Distributed tracing allows to quickly identify problems, that would be difficult to find otherwise. This talk will introduce tracing in Go based on example web application and Zipkin tracer. 8:00 Networking == Speakers Ilia, while being a CTO at Ingrid, is still an active engineer in the team. As far as non-techical side, he is a wrestler and a really nice guy that loves joking around. If you think those jokes are bad, it's probably your fault. Pawel is a developer, who started his career as a geeky Linux ops and networking freak, which gave him solid devops skills. Later, hooked up by programming in dynamic languages like Perl and Python, pushing them to the limits. A few years ago he discovered Go and fell in love with strong typing and microservices architecture. == Go Developers Network We are a part of GDN, which is a collection of Go user groups working together with a shared mission to empower developer communities with the knowledge, experience, and wisdom to build the next generation of software in Go. == About Sponsors - Ingrid (https://www.ingrid.com/) creates smart shipping solutions for e-commerce platforms. - Young/Skilled (https://www.youngskilled.com/) helps global brands succeed in commerce.

    2
  • GoWroc #32

    Ingrid, Centra, Young/Skilled Office

    GoWroc #32 == Agenda 6:45 Networking 7:00 Talks - Tobiasz Heller - Context cancellation - common pitfalls I will briefly explain how context cancel works in Go and demonstrate common pitfalls with handling context errors. - Krzysztof Dryś - Go and Google Cloud Pub/Sub: introduction and live demo Over the last period of time, my company had moved parts of its infrastructure to Cloud Pub/Sub, offered on the Google Cloud Platform. So far, we are very happy with this decision. We like the reliability of the product offered by Google, but what we like even more is pub/sub - a messaging pattern. I will be talking about both: a messaging pattern and it's implementation by Google. I will describe, how we use Pub/Sub to communicate our services. How it simplifies adding new services and manage the complexity of the system. But also the problems we have encountered. The second part will be a live coding session. I will create a few simple applications, which will talk to each other using Cloud Pub/Sub. 8:00 Networking == Speakers Tobiasz - software developer with 5 years of experience. He started his career building hardware-in-the-loop system using graphical language (LabVIEW), but recently he's switched to web development and Go. Krzysztof - a software developer, with a passion for creating systems which work. He likes clean code, designing complex applications and working with people. For the last four years, he has been programming in Go. == About Sponsors - Ingrid (https://www.ingrid.com/) creates smart shipping solutions for e-commerce platforms. - Young/Skilled (https://www.youngskilled.com/) helps global brands succeed in commerce. - Centra (https://www.centra.com/) - the powerhouse e-commerce platform that does it all, so you can focus on growth.

    1
  • GoWroc #31

    Ingrid, Centra, Young/Skilled Office

    GoWroc #31 == Agenda 6:45 Networking 7:00 Talks - Paweł Słomka - Deploying Go with Docker to Heroku A short lightning talk about moving your application from the local environment to the cloud in a few minutes. - Michał Matczuk - "Reflection is not for you" ... or maybe it is? The talk will try to demystify the reflection in Go. I will share lesson learnt from the work on scylla/gocqlx and other tools, such as jmoiron/sqlx. The presented techniques are generic, the talk will help you understand inner workings of reflection based tools and build some of your own. 8:00 Networking == Speakers Paweł - Go developer at Ingrid, tries to stay up-to-date with the latest tools and IT solutions, some of them he describes on his technical blog: https://mycodesmells.com/. Michał - He is a Software Engineer at ScyllaDB a NoSQL database company. He is a contributor to Scylla/Cassandra Go driver gocql/gocql, and author of the driver extension/ORM package scylladb/gocqlx == About Sponsors - Ingrid (https://www.ingrid.com/) creates smart shipping solutions for e-commerce platforms. - Young/Skilled (https://www.youngskilled.com/) helps global brands succeed in commerce. - Centra (https://www.centra.com/) - the powerhouse e-commerce platform that does it all, so you can focus on growth.

    3
  • GoWroc #30: We are BACK!

    Ingrid, Centra, Young/Skilled Office

    GoWroc is back! New location alert! == Agenda 6:45 Networking 7:00 Speakers - Paweł Słomka: A introduction to WebAssembly using Go 1.11 - Tobiasz Heller: Building CLI tools in Go with Cobra 8:00 Networking == Speakers Paweł - In the software development industry for over six years now, he started his journey with Java and spent some time in Java Script, but recently he's been working exclusively with Go. He tries to stay up-to-date with the latest tools and IT solutions, some of them he describes on his technical blog: https://mycodesmells.com/. Tobiasz - software developer with 5 years of experience. He started his career building hardware-in-the-loop system using graphical language (LabVIEW), but recently he's switched to web development and Go. == About Sponsors - Ingrid (https://www.ingrid.com/) creates smart shipping solutions for e-commerce platforms. - Young/Skilled (https://www.youngskilled.com/) helps global brands succeed in commerce. == Location details The surroundings of the building is still under construction, so we suggest avoiding mud and enter from Wszystkich Świętych St. (directions are available in the photos section).

    3
  • GoWroc #29: Kubernetes Auto-Scaling

    Ingrid Office

    Agenda 6:45 Networking 7:00 Speakers Mateusz Dymiński: Kubernetes Auto-Scaling Mateusz will cover Kubernetes Auto-Scaling and will present a live demo of CPU/Memory/custom metrics scenarios. 8:00 Networking About Speaker Software engineer with a strong technical background in software development, sometimes DevOps. Loves backend, tolerates frontend, 4+ years of experience in Java, but since the beginning of 2014 fascinated by the Golang. One of the GoWroc (Golang User Group Wroclaw) leaders. During the daily duties, he's building reliable and scalable distributed systems in the cloud environment at Nokia. About Sponsors Ingrid (https://www.ingrid.com/) creates smart shipping solutions for e-commerce platforms. Young/Skilled (https://www.youngskilled.com/) helps global brands succeed in commerce.

    4
  • GoWroc #28: Documenting Go Code with Beatiful Tests

    Agenda 6:45 Networking 7:00 Speakers Paweł Słomka: Documenting Go Code with Beatiful Tests Whether you believe in TDD or not, you must agree that it's unwise to build production code with no tests. They verify your application, but also act as a perfect documentation for the development team. I would like to show a couple of tips and tricks on how you can write pretty and effective tests. 8:00 Networking About Speaker I've been in the software development industry for over six years now, started my journey with Java and spent some time in Java Script, but recently I've been working exclusively with Go. I try to stay up-to-date with the latest tools and IT solutions, some of them I describe on my technical blog: https://mycodesmells.com/. About Sponsors Ingrid (https://www.ingrid.com/) creates smart shipping solutions for e-commerce platforms. Young/Skilled (https://www.youngskilled.com/) helps global brands succeed in commerce.

    7
  • GoWroc #27: Zero-Downtime deployments with Kubernetes

    Agenda 6:45 Networking 7:00 Speakers Mateusz Dymiński: Zero-Downtime deployments with Kubernetes Developers, Ops teams, and end users have always been nervous about deployments because maintenance windows had a tendency to expand, causing unwanted downtime. Teams of ops engineers used to handle deployment efforts by-hand or via scripting - this process might take hours, if not all night. The revolutionary Kubernetes deployment system, on the other hand, has built-in features that automate this operations effort, where end-user won't be able to notice that the application version has changed in meantime. The presentation shows the technics which we as developers might use to make the deployment smooth and invisible for our users. Of course, the work needs to be done on both sides: development and operations to achieve our Zero-Downtime goal - so presentation would be rather a code and Kubernetes examples heavy than the plain theory. 8:00 Networking About Speaker Software engineer with strong technical background in software development, sometimes DevOps. Loves backend, tolerates frontend, 4+ years of experience in Java, but since the beginning of 2014 fascinated by the Golang. One of the GoWroc (Golang User Group Wroclaw) leaders. During the daily duties he's building reliable and scalable distributed systems in cloud environment at Nokia. About Sponsors Ingrid (https://www.ingrid.com/) creates smart shipping solutions for e-commerce platforms. Young/Skilled (https://www.youngskilled.com/) helps global brands succeed in commerce.

    1
  • GoWroc #26: Battle-tested service health monitoring using Kubernetes API

    Agenda 6:45 Networking 7:00 Speakers Paweł Słomka: Battle-tested integration with Kubernetes API for service health monitoring One of the hardest things to do when building microservice architecture is to have a proper monitoring and visibility of all the working parts. I would like to share with you how we build a small, yet powerful integration with Kubernetes API and Slack to provide us with the insights of how our services operate, how they rely on each other, and how the development team can get notified every time something is wrong, or even when it’s just slightly off. 8:00 Networking About Speaker I've been in the software development industry for over six years now, started my journey with Java and spent some time in Java Script, but recently I've been working exclusively with Go. I try to stay up-to-date with the latest tools and IT solutions, some of them I describe on my technical blog: https://mycodesmells.com/. About Sponsors Ingrid (https://www.ingrid.com/) creates smart shipping solutions for e-commerce platforms. Young/Skilled (https://www.youngskilled.com/) helps global brands succeed in commerce.

    7