This repository contains the examples, exercises, and quizzes for my Go course: Learn Go Programming: Complete Bootcamp Course. However, even without the course, using this repository, you can learn a great deal of information about Go. Inside, there are thousands of examples, exercises and quizzes.
You’re welcome to contribute your own exercises, quizzes and wiki.
Learn how a CNN model transforms different images into class predictions with all of the intermediate steps along the way. It’s interactive, so you can select individual neurons and inspect the details.
Level up your SSH game with this nice rundown of tricks. How to: add a second factor to your SSH login, use agent forwarding safely, exit from stuck sessions, share a remote terminal session with a friend, and more.
From principles like “always be aware of what’s going on in your team and product” to hiring advice like “what to look for in senior engineers”, this repo is brimming with knowledge anyone in (or considering) management should be aware of.
I’ve read 2 of 6 books on this list, so I concur on those (The Design of Everyday Things and Outliers).
Students occasionally ask me for book recommendations. Since I’m always recommending the same ones, I decided to write up this list. You’ll notice that several of them are not directly about software engineering or even computer science. The students have already had plenty of exposure to the classic CS material (and will continue to in their careers), so I try to consider books that are relevant but might not be obvious.
But hey, frequent Go Time guest panelist Thorsten Ball made the list below the list with his book Writing an Interpreter in Go.
This is a nice, Smashing deep-dive by the author of React HereMaps:
“I love you”, my wife texted me. I walk downstairs to wish her goodnight, because I know the difference between the message and the message, you know?
It’s a bit like encryption, or maybe steganography: anyone can see the text, but only I can decode the hidden data.
My translation, if we’re being honest, is just one extra link in a remarkably long chain of data events, all to send a message (“come downstairs and say goodnight”) in under five seconds across about 40 feet.
The message presumably began somewhere in my wife’s brain and somehow ended up in her thumbs, but that’s a signal for a different story. Ours begins as her thumb taps a translucent screen, one letter at a time, and ends as light strikes my retinas.
With a setup like that, you know this #longread is going to be worth your time and attention.
For folks that do not have experience with lower level languages, understanding bytes and how to work with them can be challenging.
That’s why I wrote this article, taking a simple idea such as a Slack chat, turning the interactions (join/leave channel, send message to channel or user, etc) into a TCP protocol. Then I show the reader how they can implement the protocol in Go, by building a concurrent TCP server and learn more about bytes and working with bytes in the process.
I love it when people take things we do understand (like basic Slack interactions) and use them to teach us something we don’t understand (how to build a TCP protocol).
Super-simplified reimplementations of complex pieces of software are a great way to learn for the author and reader alike. When you can boil it down to just 33 lines like this, the surface area is minimal enough that reading it shouldn’t be too tough, but there’s definitely some code golf going on.
You’ll learn DynamoDB, Elastic Beanstalk, Serverless and more. Quincy and the gang keep cranking out the hits with free online training videos for developers of many stripes. They now have free courses for 3 out of the 12 AWS Certifications.
I’ve been thinking a lot about inexperienced (junior, if you must) web developers and just how much there is to learn about programming in general but the web in particular. You often hear people say that you don’t need to know everything but you should have a solid foundation. Well, how do you establish a solid foundation and how do you know if you have one? How do you get introduced to all the relevant terminology and how do you find out what you haven’t learned yet?
To help with this, Lars created a self-evaluation checklist tool.
Remember that README that answers the age old question:
What happens when you type google.com into your browser’s address box and press enter?
Well, the format is back with a Kubernetes focus, this time answering:
Imagine I want to deploy nginx to a Kubernetes cluster. I’d probably type something like this in my terminal:
kubectl run nginx --image=nginx --replicas=3
and hit enter. After a few seconds, I should see three nginx pods spread across all my worker nodes. It works like magic, and that’s great! But what’s really going on under the hood?
Hey folks! Feross from JS Party here. I taught a course on web security last quarter at Stanford. All the course materials, slides, and videos are freely available online and I wanted to share with the broader community, in case anyone is interested in learning more about secure web programming.
The course goal is to build an understanding of the most common web attacks and their countermeasures. Given the pervasive insecurity of the modern web landscape, there is a pressing need for programmers and system designers improve their understanding of web security issues. We’ll be covering the fundamentals as well as the state-of-the-art in web security.
A great beginners guide to ASTs, what they are and how to make use of them in your day-to-day lives as a developer! This workshop was originally planned to be in-person at EmberConf but now it’s free for everyone to try out 🎉
My goal is to start a community-driven language-learning platform that gives it’s users and contributors a way to influence it’s future and adapt it to special requirements.
Once course content is properly decoupled from the software, it should be possible to experiment with alternative ways of using course content: for example, the creation of audiobooks or print material.
The Spanish course is already started for demo purposes
Clocks in under 1,000 lines of code.
Simon Eskildsen (Director of Product Engineering at Shopify) shares his elaborate system to read, retain, and apply the lessons in hundreds of books.
Along the way he discovered that reading broadly was the best way to get to the bottom of things, and therefore the best way to get better at his job.
We explore his elaborate system for remembering what he reads using Readwise and Anki, how he built his own custom Zettelkasten in Markdown, his process for automating his language learning, and his project to cook a dish from every country in the world.
In order to increase fluency in a programming language, one has to read a lot of it. But how can you read a lot of it if you don’t know what it means?
This 28 minute read will walk you through lots of Rust snippets and explain the meaning of the keywords and symbols they contain. Additional learning resources are included at the end too.
Special thanks to the 46 patrons mentioned by name at the end of the post who enable Amos to write and share this type of content.
awk is an incredibly powerful tool, you just have to know how to harness it. Learning by example is so often the best way to do that!
Newsletters play a unique role for developers. As the Go community continues to grow and mature, these newsletters provide a much-needed filter for the oft overwhelming stream of new articles, talks, and libraries produced by the community on a weekly basis.
In this episode Johnny, Jon, and Mat are joined by Peter Cooper of the Golang Weekly newsletter to discuss his role as a newsletter curator. We explore difficult topics that touch on ethics and responsibilities of a curator and of course, the impact Peter and his team have on shaping, at least in part, what many in the Go community get exposed to.
Pierre de Wulf aggregated hundreds of “best programming book” blogs posts and forums responses to produce this list of the 25 most recommended titles. You’ll probably find a lot of the usual suspects here (they are the most recommended, after all), but as is often the case, a few of them should be new to you.
Not every principle herein has to be strictly followed, and even fewer will be universally agreed upon. These are guidelines and nothing more, but they are ones codified over many years of collective experience by the authors of Clean Code.
This repository is an overview of what you need to learn penetration testing and a collection of hacking tools, resources and references to practice ethical hacking. Most of the tools are UNIX compatible, free and open source.
From late 2012 to the present I have been writing backends (server-side code) for web applications. This document summarizes many aspects of how I write these pieces of code.
I’m writing this lore down for three purposes:
- Share it with you.
- Systematize it for future reference and improvement.
- Learn from your feedback.