Eduardo Zepeda's latests posts
Go: introduction to goroutines and concurrency
- go
<p>As I mentioned in the introduction to the go programming language: <a class="markdown-link" href="https://coffeebytes.dev/en/go/go-programming-language-introduction-to-variables-and-data-types/">go is a specialized concurrency language</a>. It is a language that...
Read more
Go: package import and module management
- go
<p>In go <strong>you can consider a package as all the files contained in a directory and a module as a collection of packages</strong>. To use the code of a package we need to import it, however, in Go there are no relative module imports. Before Go 1.8, to import packages (ther...
Read more
Go: Structs, inheritance, polymorphism and encapsulation
- go
<p>As I already mentioned to you in the <a class="markdown-link" href="https://coffeebytes.dev/en/go/go-programming-language-introduction-to-variables-and-data-types/">introduction to Golang or Go programming language</a>, this language does not have a reserved wor...
Read more
Golang runes strings and bytes explained
- go
<p>In this entry I will briefly explain the basics of how golang runes, strings and bytes work in go, and even a little bit of utf-8 just to spice things up.</p><p>To explain the topic I will assume you know the basics of slices and data types in go, if you don't know ...
Read more
Golang maps or dictionaries
- go
<p>In the go programming language, a map or hash table is the equivalent of a dictionary; they have a key that is related to a value. The key and value can be of different data types, but all keys must be of a single type and all values must be of the same type.</p>
...
Read more
Go: slices and arrays, basic characteristics and most common uses
- go
<p>In go or golang slices, arrays and <a class="markdown-link" href="https://coffeebytes.dev/en/go/golang-maps-or-dictionaries/">maps</a> are structures for handling data collections. In this entry I am going to talk about the first two: slices and arrays.</p>...
Read more
Go: loops for, break, continue, defer, if and else
- go
<p>This entry will deal with loops in the go programming language.</p><p class="message info"> <span><img width="60" height="60" src="https://res.cloudinary.com/dwrscezd2/image/upload/v1717959563/Go_gopher_favicon_uzxa20.svg" alt=""></span> <a targe...
Read more
Go: functions, arguments and the fmt package
- go
<p>This entry will discuss the basic syntax of Go functions. If you know absolutely nothing about go visit my entry <a class="markdown-link" href="https://coffeebytes.dev/en/go/go-programming-language-introduction-to-variables-and-data-types/">go: introduction to progra...
Read more
Go, coding language, introduction to variables and data types
- go
<p>Golang, also known as go, is a compiled programming language developed by Google. It is a language quite appreciated according to the latest Stackoverflow surveys (2023), as you can see in my python vs go post, where I also compare the good, the bad and the ugly of this langua...
Read more
Django channels: channel layers, groups and users
- django
<p>Channel layers allow you to interact and share information with different consumers in django channels. This allows each consumer to communicate with the rest. For example, when in a chat a user sends a message, everyone can read the message, when a user leaves a room, everyon...
Read more
Concurrency is not parallelism
Before we begin, remember that parallelism and concurrency are different. This post is too small to deal with such a broad topic, however there are two resources I want to highlight:
","datePublished":"Wed, 19 Jan 2022 00:00:00 +0000","dateModified":"Wed, 19 Jan 2022 00:00:00 +0000","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/go/go-introduction-to-goroutines-and-concurrency/"}},{"@type":"BlogPosting","headline":"Go: package import and module management","description":"In go you can consider a package as all the files contained in a directory and a module as a collection of packages. To use the code of a package we need to import it, however, in Go there are no relative module imports. Before Go 1.8, to import packages (there were no modules) it was necessary to use the absolute path, considering as base the path pointed to by the environment variable $GOPATH or. Since Go 1.11, the easiest way to work with packages is to use go mod. I will explain the latter.
","datePublished":"Wed, 12 Jan 2022 00:00:00 +0000","dateModified":"Wed, 12 Jan 2022 00:00:00 +0000","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/go/go-package-import-and-module-management/"}},{"@type":"BlogPosting","headline":"Go: Structs, inheritance, polymorphism and encapsulation","description":"As I already mentioned to you in the introduction to Golang or Go programming language , this language does not have a reserved word for dealing with classes, it still mimicks some behavior, we’re going to see how to handle golang inheritance, golang polymorphism and of course encapsulation.
","datePublished":"Tue, 04 Jan 2022 00:00:00 +0000","dateModified":"Tue, 04 Jan 2022 00:00:00 +0000","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/go/go-structs-inheritance-polymorphism-and-encapsulation/"}},{"@type":"BlogPosting","headline":"Golang runes strings and bytes explained","description":"In this entry I will briefly explain the basics of how golang runes, strings and bytes work in go, and even a little bit of utf-8 just to spice things up.
To explain the topic I will assume you know the basics of slices and data types in go, if you don’t know about these topics visit my array, slices in golang entry.
","datePublished":"Tue, 28 Dec 2021 00:00:00 +0000","dateModified":"Tue, 28 Dec 2021 00:00:00 +0000","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/go/golang-runes-strings-and-bytes-explained/"}},{"@type":"BlogPosting","headline":"Golang maps or dictionaries","description":"In the go programming language, a map or hash table is the equivalent of a dictionary; they have a key that is related to a value. The key and value can be of different data types, but all keys must be of a single type and all values must be of the same type.
","datePublished":"Tue, 21 Dec 2021 00:00:00 +0000","dateModified":"Tue, 21 Dec 2021 00:00:00 +0000","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/go/golang-maps-or-dictionaries/"}},{"@type":"BlogPosting","headline":"Go: slices and arrays, basic characteristics and most common uses","description":"In go or golang slices, arrays and maps are structures for handling data collections. In this entry I am going to talk about the first two: slices and arrays.
In this entry I am going to use data types, zero values, and other very basic aspects of go. If you don’t know what I’m talking about, visit my entry Golang: introduction to the language, variables and data types .
","datePublished":"Tue, 14 Dec 2021 00:00:00 +0000","dateModified":"Tue, 14 Dec 2021 00:00:00 +0000","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/go/go-slices-and-arrays-basic-characteristics-and-most-common-uses/"}},{"@type":"BlogPosting","headline":"Go: loops for, break, continue, defer, if and else","description":"This entry will deal with loops in the go programming language.
Go handles loops a little differently than what you are used to. If you’re already fluent in any other programming language, you probably remember while, do while and for loops. And if you come from Python or Javascript, you’ll remember how useful for x in or for x of loops are.
","datePublished":"Tue, 07 Dec 2021 00:00:00 +0000","dateModified":"Tue, 07 Dec 2021 00:00:00 +0000","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/go/go-cycles-or-loops-for-break-continue-defer-if-and-else/"}},{"@type":"BlogPosting","headline":"Go: functions, arguments and the fmt package","description":"This entry will discuss the basic syntax of Go functions. If you know absolutely nothing about go visit my entry go: introduction to programming language, variables and data types to start from the beginning of this tutorial series.
Now, let’s move on to the functions.
Functions in go
In go functions are declared by prefixing the word func to the function name. As follows:
","datePublished":"Tue, 30 Nov 2021 00:00:00 +0000","dateModified":"Tue, 30 Nov 2021 00:00:00 +0000","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/go/go-functions-arguments-and-the-fmt-package/"}},{"@type":"BlogPosting","headline":"Go, coding language, introduction to variables and data types","description":"Golang, also known as go, is a compiled programming language developed by Google. It is a language quite appreciated according to the latest Stackoverflow surveys (2023), as you can see in my python vs go post, where I also compare the good, the bad and the ugly of this language.
Go is used even in colossal projects, like the typescript compiler.

Typescript decidió utilizar Go para su compilador en lugar de Rust, lo que enfureció a algunos desarrolladores de Rust.
","datePublished":"Tue, 23 Nov 2021 00:00:00 +0000","dateModified":"Tue, 23 Nov 2021 00:00:00 +0000","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/go/go-programming-language-introduction-to-variables-and-data-types/"}},{"@type":"BlogPosting","headline":"Django channels: channel layers, groups and users","description":"Channel layers allow you to interact and share information with different consumers in django channels. This allows each consumer to communicate with the rest. For example, when in a chat a user sends a message, everyone can read the message, when a user leaves a room, everyone can know that he left it. With this capability it is possible to create a distributed application in which information is shared among the different users.
","datePublished":"Tue, 16 Nov 2021 00:00:00 +0000","dateModified":"Tue, 16 Nov 2021 00:00:00 +0000","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/django/django-channels-channel-layers-groups-and-users/"}}]}