Ivan Pesenti
Software Engineer@CrowdStrike
Bergamo, Italy
Actions
Ivan is an Italian guy who loves coding and computer stuff. He lives in a small town in the north of Italy.
Since 2014, he works as a software developer. He's mainly focused on server-side programming, especially in building Web APIs and serverless applications. Two of his major concerns about software development are code security and tests.
During his spare time, he loves sharing his knowledge with the community by giving talks related to computer science stuff. He also writes technical blog posts sharing his expertise and best practices. He's also a mentor for junior developers and also for students who aim to be professional software developers in their lives. He tries to help everyone (without distinction in gender, nationality, age, and so on) with empathy and determination. He's also a course author.
One of the things he loves most by far is problem-solving. His attitude reflects on Q&A platforms, like Stack Overflow, where he tries to help others figure out their challenges.
He's a great listener. One of his mantras is: "We can learn everything from everyone.".
He's funny and loves spending time with friends and geeks. During his activities, his primary goal is not to be toxic in the community. He always tries to help others with a smile without any distinction.
Area of Expertise
Topics
Test like a ninja with Go
If you want to test your Go source code like a master, don't miss this session! We'll cover a wide variety of topics that may give you a boost in your developer journey.
The session starts with an introduction to testing. Why are tests so much relevant? How should you write the source code to make it well-testable? We also cover the different kinds of tests and which one to choose.
Why Go? We'll cover the factors behind the choice and what differentiates Go from other programming languages regarding testing. There will also be room to talk about the Go Test Runner.
Then, we'll move into a more practical part. We'll see the different third-party packages we can use in our test code. We'll briefly touch on benefits and see a bunch of use cases.
We'll also cover fundamental concepts such as test suites and mocks.
We'll look at other testing techniques, such as benchmarking, fuzzing, and example test functions.
Finally, we'll focus on integration tests: how to write them and use the Testcontainers technology to smoothen the process.
At the end of the session, I hope you'll be aware of many new concepts for your new, fresh, efficient tests.
Not tested? Not done! Yet another talk about tests? I aim to present you with the techniques and tools you might use to build efficient and reliable tests. We'll use Go, which provides a great testing experience. I'll show you overlooked techniques such as benchmarking, fuzzing, etc. Plus, I'll introduce you to the most popular libraries and packages used to test Go code.
Swiss knife for Go debugging with VSCode
One of the most important things when we're writing code is the ability to debug it. Many IDEs have an integrated debugger that can smoothen our coding experience. The debugger for the Go source code is called Delve. It's tightly integrated with VSCode and the Go extension. As you might know, the debugger allows us to step through our code, focus on specific sections that may deserve more attention, inspect variables' values, stack traces, etc.
Sometimes, debugging turns into a hassle. The process supposed to help us becomes an insurmountable obstacle. Sometimes, we abandon the debugging or log directly into the code. Both of the options end up decreasing our productivity as developers.
Thus, this talk aims to provide a working solution to debug Go code in VSCode. I chose this IDE since it's free, highly customizable, performant, and my favorite!
Since we can build different projects, I try to provide you with a working solution for each. The scenarios you're likely to face are (list not exhaustive):
- Debug unit tests
- Debug integration tests
- Debug a package
- Attach to an already running process (both locally and remotely)
- Debug multiple microservices with the compound configuration
To overcome these challenges, you're requested to tweak settings in the `launch.json` file within the hidden .vscode folder. In this file are listed what are known as profiles. These are selectable in the "Run View" area. Within this file, we have the option to set different values, such as:
- environment variables or env file
- whether to show global variables' values
- which console to use
- and many others
Throughout this talk, I share hints on Delve and how to make the most of it. I also touch on some overlooked aspects of VSCode that can make a huge difference in your debugging experience.
Finally, I'll give you some mind-blowing tips and tricks on debugging. If you'd like to improve your debugging skills, please don't miss my session!
Being able to debug your code in the IDE should be an easy process. If you ever struggled with debugging Go code in Visual Studio Code, this session is definitely for you. We'll take a look at how to debug several kinds of projects by only tweaking settings in the dreaded "launch.json" file. You'll discover how many options and customizations you can apply to this file to leverage your debugging experience. Finally, we briefly touch on the key features of the Delve debugger.
GoLab 2024 Sessionize Event Upcoming
Codemotion Milan 2024 Sessionize Event
Come To Code 2024 Sessionize Event
KubeHuddle Toronto 2024 Sessionize Event
Build Stuff 2023 Lithuania Sessionize Event
API World 2023 Sessionize Event
Nerdearla 2023 Sessionize Event
Working Software 2023 Sessionize Event
DevOpsDays Zurich 2023 Sessionize Event
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top