Learn Icon

Learn

Learning to code, leveling up, building your skills. Expand your résumé and pursue a fulfilling developer career.
183 Stories
All Topics

Go github.com

Learn Go with this huge repository of examples, exercises, and quizzes

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.

Austin Henley web.eecs.utk.edu

Books I recommend to my software engineering students

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.

Books I recommend to my software engineering students

Smashing Magazine Icon Smashing Magazine

Aleem Isiaka explores Node's internals

This is a nice, Smashing deep-dive by the author of React HereMaps:

Armed with basic knowledge, beginner and intermediate developers of Node.js struggle with many things: “It’s just a runtime!” “It has event loops!” “Node.js is single-threaded like JavaScript!”
While some of these claims are true, we will dig deeper into the Node.js runtime, understanding how it runs JavaScript, seeing whether it actually is single-threaded, and, finally, better understanding the interconnection between its core dependencies, V8 and libuv.

Scott Weingart scottbot.net

The route of a text message (a love story)

“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.

Ilija Eftimov ieftimov.com

Understanding bytes in Go by building a TCP protocol

Ilija Eftimov:

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).

Lars Wikman underjord.io

A web development self-evaluation checklist

Lars Wikman:

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.

Kubernetes github.com

What happens when ... Kubernetes edition

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?

Feross Aboukhadijeh cs253.stanford.edu

Stanford CS253: Web Security

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.

Dániel Kántor github.com

An experiment to create a community-driven language learning platform

Dániel Kantor:

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

Productivity superorganizers.substack.com

How to make yourself into a learning machine

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.

Amos Wenger fasterthanli.me

30 minutes to learn Rust

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.

Go Time Go Time #119

Stop the presses

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.

JavaScript github.com

Clean Code concepts adapted for JavaScript

Software engineering principles, from Robert C. Martin’s book Clean Code, adapted for JavaScript. This is not a style guide. It’s a guide to producing readable, reusable, and refactorable software in JavaScript.

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.

Learn github.com

How I write backends

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:

  1. Share it with you.
  2. Systematize it for future reference and improvement.
  3. Learn from your feedback.
0:00 / 0:00