List of videos

DDD and FSM: tackling complexity with state machines | Ilya Kaznacheev | Conf42 Golang 2021
Ilya Kaznacheev Technical Lead @ MTS Cloud The talk will describe how you can simplify the implementation of complex domain models, using FSM as a basis for building logic and interactions between elements. At the same time, the topic contains a minimum of theory and a maximum of practical advice and examples from the author’s experience. The participant will learn: - how FSM is applied to a domain model; - how to manage the state of complex data models with many independently changing entities; - how to implement interaction of different domains depending on their states; - how to make error handling in complex processes fault-tolerant; - how to use this technique in distributed systems with synchronous, asynchronous, and event-driven communication. — 0:00 Intro 0:25 Talk More Timestamps to come — 🥇 Gold Sponsors Mattermost Teleport 🥈 Silver Sponsors Envato Last9.io Magic RestorePoint 🤝 Media Partners AWS Infosec Conferences Inside Dev Manning Packt — Website 🚀🪐 https://www.conf42.com Reach Out 📧📭 mark@conf42.com Discord Server 🧑🤝🧑💬 https://discord.com/invite/dT6ZsFJ5ZM LinkedIn 👨💼💼 https://www.linkedin.com/company/4911... Twitter 🎵🐦https://twitter.com/conf42com Conf42Cast 🎧 http://www.conf42.com/podcast
Watch
Using Arch-Go to test the quality of our architecture | Francisco Daines | Conf42 Golang 2021
Francisco Daines Senior Software Developer @ Walmart In every product, we start by defining architectural guidelines and code conventions, but the hard part is to check if the code adheres to these definitions over the time. Arch-Go is a testing tool that can be included as part of the CI pipeline to continuously verify our architectural guidelines. Most authors defines software architecture as a set of important decisions which are hard to change. If we are working in a software artifact, then these decisions are represented as architectural guideline, because of that it’s very common to talk about some unwritten rules like “Don’t call repository components from components in the presentation packages”, or “prefer the use of structs over too many parameters or return values in functions/methods”. We can check this kind of rules as part of a code review process, but as this is manual, is errors-prone, then is possible to pass this quality-gate and push code into our master branch that breaks our guidelines, so we need a way to automatically check if our code adheres to these rules. This talk is about Arch-Go, a testing tool which provides a simple way to document the architectural guidelines and checks if our Go code complies with those rules as part of a continuous integration pipeline. We will review why we need to check architecture quality and how Arch-Go can help us to automate it. — 0:00 Intro 0:25 Talk More Timestamps to come — 🥇 Gold Sponsors Mattermost Teleport 🥈 Silver Sponsors Envato Last9.io Magic RestorePoint 🤝 Media Partners AWS Infosec Conferences Inside Dev Manning Packt — Website 🚀🪐 https://www.conf42.com Reach Out 📧📭 mark@conf42.com Discord Server 🧑🤝🧑💬 https://discord.com/invite/dT6ZsFJ5ZM LinkedIn 👨💼💼 https://www.linkedin.com/company/4911... Twitter 🎵🐦https://twitter.com/conf42com Conf42Cast 🎧 http://www.conf42.com/podcast
Watch
KinD, nGinx Ingress Controller & Secured gRPC server | Mahendra Bagul | Conf42 Golang 2021
Mahendra Bagul Software Engineer @ Infracloud Technologies Would you like to know how I verified mTLS gRPC Client-Server setup on KinD based Kubernetes clusters? I want to share that experience in this session. The gRPC server is configured with server-side certificates and running behind nginx based ingress on KinD Kubernetes cluster. The gRPC Client with client certificates can talk to this gRPC server, thus creating mTLS communication. I will cover all configurations and code changes in the talk. Excited? Setting up mTLS for Client-Server powered with gRPC (Golang and NodeJs) Golang gRPC Server (Runs with server-certificates) NodeJs gRPC Client (possesses its own client-certificates) — 0:00 Intro 0:25 Talk More Timestamps to come — 🥇 Gold Sponsors Mattermost Teleport 🥈 Silver Sponsors Envato Last9.io Magic RestorePoint 🤝 Media Partners AWS Infosec Conferences Inside Dev Manning Packt — Website 🚀🪐 https://www.conf42.com Reach Out 📧📭 mark@conf42.com Discord Server 🧑🤝🧑💬 https://discord.com/invite/dT6ZsFJ5ZM LinkedIn 👨💼💼 https://www.linkedin.com/company/4911... Twitter 🎵🐦https://twitter.com/conf42com Conf42Cast 🎧 http://www.conf42.com/podcast
Watch
WebRTC: The secret power you didn't know Go has | Sean DuBois | Conf42 Golang 2021
Read the abstract ➤ https://www.conf42.com/Golang_2021_Sean_Dubois_WebRTC_secret_power Other sessions at this event ➤ https://www.conf42.com/golang2021 Join Discord ➤ https://discord.gg/DnyHgrC7jC Github ➤ https://github.com/pion Slack ➤ https://pion.ly/slack/ Twitter ➤ https://twitter.com/_pion Chapters 0:00 intro 0:24 pion 1:03 go and pion make this 2:46 what is webrtc 4:16 webrtc for the curious 4:47 what does it solve 8:57 time to build 11:01 open source showcase 15:41 pion needs you
Watch
Building applications in the Cloud using Go and the AWS CDK | Vincent Lesierse | Conf42 Golang 2021
Vincent Lesierse Solutions Architect @ AWS CDK stands for Cloud Development Kit and it allows developers to define their infrastructure using the code they know and love. The AWS CDK is now available in preview for Go developers. In this talk we will explore what the AWS CDK is and how it can help you define your Cloud infrastructure. We will show practical examples of how this CDK can help you build your Go applications in AWS. — 0:00 Intro 0:25 Talk More Timestamps to come — 🥇 Gold Sponsors Mattermost Teleport 🥈 Silver Sponsors Envato Last9.io Magic RestorePoint 🤝 Media Partners AWS Infosec Conferences Inside Dev Manning Packt — Website 🚀🪐 https://www.conf42.com Reach Out 📧📭 mark@conf42.com Discord Server 🧑🤝🧑💬 https://discord.com/invite/dT6ZsFJ5ZM LinkedIn 👨💼💼 https://www.linkedin.com/company/4911... Twitter 🎵🐦https://twitter.com/conf42com Conf42Cast 🎧 http://www.conf42.com/podcast
Watch
Choose Your Own (QA) Adventure | Dana Scheider | Conf42 Golang 2021
Dana Scheider Senior Software Engineer @ Envato Every organisation needs quality processes in place to ensure the software it produces is maintainable and satisfies customer needs. But what to do when your organisation doesn’t have, or can’t have, a dedicated QA team? You’re in luck. This talk covers everything you’ll need to know to not only adopt quality processes within your development teams, but to create an organisational culture conducive to releasing reliable, maintainable, and consistently high quality software. — 0:00 Intro 0:25 Talk More Timestamps to come — 🥇 Gold Sponsors Mattermost Teleport 🥈 Silver Sponsors Envato Last9.io Magic RestorePoint 🤝 Media Partners AWS Infosec Conferences Inside Dev Manning Packt — Website 🚀🪐 https://www.conf42.com Reach Out 📧📭 mark@conf42.com Discord Server 🧑🤝🧑💬 https://discord.com/invite/dT6ZsFJ5ZM LinkedIn 👨💼💼 https://www.linkedin.com/company/4911... Twitter 🎵🐦https://twitter.com/conf42com Conf42Cast 🎧 http://www.conf42.com/podcast
Watch
How we accidentally created a Cloud on our Cloud | Mofizur Rahman | Conf42 Golang 2021
Mofizur Rahman Developer Advocate @ IBM In an effort to automate tasks for our users we ended up creating a cloud (kind of). In this talk we will describe our journey towards automation, and how we accidentally created a Cloud on our Cloud and why we chose go to do it all. Part of the job of a Developer Advocate is the ability to demo or show off portions of your technology stack to possible users. At IBM we run many workshops and tech demos every week for our clients and conferences. We need to create, monitor, maintain and clean these assets. In this talk we will describe our automation journey from bash scripts run and maintained by individual developers to automating the creations and deletion on automatic schedule with a UI. We will discuss situation, our iterations on what we tried and the painful portions of them, and how we accidentally created a Cloud interface on top of the IBM Cloud, or easier said, we created a Cloud on our Cloud. Ideally, we’ll show our journey and the lessons we learned along the way, and as an audience member, you’ll come away with nuggets of useful tooling to make your cloud usage more streamlined, and hopefully, you’ll see the pitfalls we fell in and you can avoid them yourself. We’ll show off some bad code, some good code, and some robust code; all open source and in Go and available to allow you to leverage it too. — 0:00 Intro 0:25 Talk More Timestamps to come — 🥇 Gold Sponsors Mattermost Teleport 🥈 Silver Sponsors Envato Last9.io Magic RestorePoint 🤝 Media Partners AWS Infosec Conferences Inside Dev Manning Packt — Website 🚀🪐 https://www.conf42.com Reach Out 📧📭 mark@conf42.com Discord Server 🧑🤝🧑💬 https://discord.com/invite/dT6ZsFJ5ZM LinkedIn 👨💼💼 https://www.linkedin.com/company/4911... Twitter 🎵🐦https://twitter.com/conf42com Conf42Cast 🎧 http://www.conf42.com/podcast
Watch
Concurrency primitives of Golang - how to use and how not to | Piyush Verma | Conf42 Golang 2021
Piyush Verma CTO @ Last9.io Every marginally, sophisticated Golang code that I write needs refactoring to solve race and deadlocks. The concurrency primitives like atomic, sync, channels, and waitGroups have their uses and fail. The lack of understanding ends up with a lot of rewrites. This talk aims to solve that. I have seen more Go code shipped as glue programs and binaries than actual web servers, usually intended to do the heavy-lifting of data transfers shortly and reliably. With such clinical needs comes a need to handle concurrency and parallelism. And each time more than one worker is doing a job, there will be contention and starvation. A lack of useful design principle guides ends up in Engineers writing non-performant, race-condition prone codes or ending up refactoring. To provide an example, some of the things I wish I had known: - the real difference of when to use a Channel, a waitGroup, an atomic, or a mutex - one shouldn’t be using a wg.Add() inside a goroutine. - How does one solve the problem of multiple listeners waiting on an event? - How atomic Int operations can synchronize multiple workers signaling completion of work. The talk is not limited to the above scenarios. It intends to cover a few of these constructs to reduce the refactoring that Golang engineers have to go through while also building a better understanding of distributed systems’ design patterns. — 0:00 Intro 0:25 Talk More Timestamps to come — 🥇 Gold Sponsors Mattermost Teleport 🥈 Silver Sponsors Envato Last9.io Magic RestorePoint 🤝 Media Partners AWS Infosec Conferences Inside Dev Manning Packt — Website 🚀🪐 https://www.conf42.com Reach Out 📧📭 mark@conf42.com Discord Server 🧑🤝🧑💬 https://discord.com/invite/dT6ZsFJ5ZM LinkedIn 👨💼💼 https://www.linkedin.com/company/4911... Twitter 🎵🐦https://twitter.com/conf42com Conf42Cast 🎧 http://www.conf42.com/podcast
Watch
Premiere - Conf42 Golang 2022
Conf42 Golang - Say hello the the Gophers from outer space! 🦦 Schedule, Lineup & RSVP: https://www.conf42.com/golang2022 🛸 Join Discord to interact: https://discord.gg/DnyHgrC7jC — 0:00 intro, sponsors & partners Keynotes 3:12 Agnes Muthoni 4:29 Adelina Simion & Andy Kuszyk 5:24 Walter Demian Schroeder 6:18 Tamimi getting started 6:57 Kazuki Higashiguchi 7:37 Liam Hampton 8:23 Joe Karlsson 9:10 Francisco Daines deep dive 10:01 Akilan Selvacoumar 10:40 Savas Ziplies 11:41 Jesus Espino lessons learned 12:06 Herve Ah-Leung 13:10 Ranjan Mohan 13:39 Thank you, Join our Discord to interact! https://discord.gg/DnyHgrC7jC
Watch