Eduardo Zepeda's latests posts
Azure AZ-900 Certification Exam: My Experience
- software architecture
- opinion
<p>On Saturday, August 6, 2022 I sat for and approved my Microsoft Azure AZ-900 certification exam.</p><h2 id="what-does-az-900-certification-consist-of">What does AZ-900 certification consist of?</h2><p>The AZ-900 Fundamentals certification ensures that a person knows ...
Read more
Dynamic sitemap with django
- django
- seo
<p>A sitemap is an xml file that functions as a map to navigate your site. Hence the name; Site-map. Search engines, such as google, bing, yahoo and others, use the sitemap of a site as a starting point to analyze its content and include it in their search results.</p><p>A s...
Read more
Logging with the standard library in Go
- go
<div class="google-ads-container-8672022193"> <ins class="adsbygoogle" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-ad-client="ca-pub-4250730649804995" data-ad-slot="86720...
Read more
How Does a Docker Container Work Internally?
- docker
- linux
- go
<p>Containers, especially Docker containers, are used everywhere, we tend to see them as small isolated operating systems that are inside our system. Using the <a class="markdown-link" href="https://coffeebytes.dev/en/docker/the-most-useful-and-basic-docker-commands/">D...
Read more
Autocomplete, Suggestions and Related Content: Solr and Django
- django
- linux
<p>Solr, together with Lucene, is an outstanding search engine that allows you to perform searches with advanced features. In this post I bring you a summary of some of the most interesting features of Solr and Django Haystack.</p><p>I assume you already have a <a ...
Read more
How to implement Solr for searches or queries in Django?
- django
- linux
<p>Previously I explained you how to implement <a class="markdown-link" href="https://coffeebytes.dev/en/django/full-text-search-and-searches-with-django-and-postgres/">full text search in Django</a> and <a class="markdown-link" href="https://coffeebytes....
Read more
Understand How Git Submodules Works and its Workflow
- git
- linux
<p>A git submodule is a record within a git repository that points to a commit in an external repository. They are handled exactly as you would with a repository, they even have a <em>.git</em> file that points to the location where a changelog is kept.</p><a hx-boost="false...
Read more
Top 5 Favorite Algorithm Problems at Codewars
- opinion
- algorithms
<h2 id="what-is-codewars">What is codewars?</h2><div class="google-ads-container-8672022193"> <ins class="adsbygoogle" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" da...
Read more
REST API: Best practices and design
- software architecture
- opinion
<p>How do I design a REST API? How many levels should I nest my related resources? Relative or full URLs? This post is a compilation of some recommendations about some good REST API design practices that I have found in books and articles on the internet. I leave the sources at t...
Read more
REST API basic characteristics and recommendations
- software architecture
- opinion
<p>This publication is a minimal guide of practical tips on REST API design, what is a characteristic of the REST API? I don't go too deep into the theory. On top of that, I may oversimplify many concepts in order to keep the text as short and simple as possible.</p><p...
Read more
As you probably already know, you should not use prints for debugging. The standard go logging library is much more versatile, it adds dates, filenames and other information, plus you can redirect the logs to standard output, to a file or wherever you want. This can make your debugging process more enjoyable and your go testing easier.
","datePublished":"Wed, 06 Jul 2022 00:00:00 +0000","dateModified":"Wed, 06 Jul 2022 00:00:00 +0000","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/go/logging-with-the-standard-library-in-go/"}},{"@type":"BlogPosting","headline":"How Does a Docker Container Work Internally?","description":"Containers, especially Docker containers, are used everywhere, we tend to see them as small isolated operating systems that are inside our system. Using the Docker commands we can modify them, create them, delete them and even get inside them and run commands, but have you ever wondered how they work internally?
We know that a container is a linux process with several characteristics:
- A linux process, or group of processes, executed by a user.
- It is isolated from the operating system that hosts it (Namespaces).
- It has a limited amount of resources (Cgroups).
- It has a file system independent of the operating system in which it runs (Chroot).
To achieve this, docker, and other container technologies, take advantage of some features of GNU/Linux (from now on only linux):
","datePublished":"Sat, 18 Jun 2022 00:00:00 +0000","dateModified":"Sat, 18 Jun 2022 00:00:00 +0000","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/docker/how-does-a-docker-container-work-internally/"}},{"@type":"BlogPosting","headline":"Autocomplete, Suggestions and Related Content: Solr and Django","description":"Solr, together with Lucene, is an outstanding search engine that allows you to perform searches with advanced features. In this post I bring you a summary of some of the most interesting features of Solr and Django Haystack.
I assume you already have a configured django app with Solr , in case you don’t, check my previous post.
Behavior of default AND and OR searches
Haystack allows us to define a default behavior for all searches, either by joining terms with AND or OR operators. The default value is AND but you can modify it in the configuration file.
","datePublished":"Sun, 29 May 2022 00:00:00 +0000","dateModified":"Sun, 29 May 2022 00:00:00 +0000","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/django/autocomplete-suggestions-and-related-content-solr-and-django/"}},{"@type":"BlogPosting","headline":"How to implement Solr for searches or queries in Django?","description":"Previously I explained you how to implement full text search in Django and trigrams-and-search-rank using Postgres. Solr comes to offer us something better, a robust, stable and feature-rich search engine, ready to use, in exchange for a little more complexity, more dependencies and having to include Java (yes, Java) in our project.
How does Solr work?
Internally Solr uses Lucene, which is the search engine that is in charge of generating an index to make the queries and all the options related to the searches, Solr adds some extra functions and gives us a friendly interface to work with. From now on I will refer to the union of Lucene and Solr only as Solr.
","datePublished":"Thu, 26 May 2022 00:00:00 +0000","dateModified":"Thu, 26 May 2022 00:00:00 +0000","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/django/searches-with-solr-with-django-haystack/"}},{"@type":"BlogPosting","headline":"Understand How Git Submodules Works and its Workflow","description":"A git submodule is a record within a git repository that points to a commit in an external repository. They are handled exactly as you would with a repository, they even have a .git file that points to the location where a changelog is kept.

Simplified outline of git submodules
git submodules are useful when we want to incorporate third-party code into a project and at the same time we want to keep strict control of the updates of that code through git. For example:
","datePublished":"Wed, 18 May 2022 00:00:00 +0000","dateModified":"Wed, 18 May 2022 00:00:00 +0000","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/git/understand-how-git-submodules-works-and-its-workflow/"}},{"@type":"BlogPosting","headline":"Top 5 Favorite Algorithm Problems at Codewars","description":"What is codewars?
Codewars is a social network of programmers who get together to challenge each other to solve code challenges. Codewars is one of the best websites for practicing algorithms and solving Katas. Katas? Yes, as in Karate.
What are katas in codewars?
In the spirit of martial arts, more specifically Karate, these code problems are called katas. The katas are divided, ascendingly, according to their difficulty. There are katas from 8th kyu to 1st kyu, with 1st kyu being the most difficult type of kata of all.
","datePublished":"Sat, 30 Apr 2022 00:00:00 +0000","dateModified":"Sat, 30 Apr 2022 00:00:00 +0000","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/opinion/top-5-favorite-algorithm-problems-at-codewars/"}},{"@type":"BlogPosting","headline":"REST API: Best practices and design","description":"How do I design a REST API? How many levels should I nest my related resources? Relative or full URLs? This post is a compilation of some recommendations about some good REST API design practices that I have found in books and articles on the internet. I leave the sources at the end of the article in case you are interested in going deeper or see where this information comes from.
","datePublished":"Thu, 28 Apr 2022 00:00:00 +0000","dateModified":"Thu, 28 Apr 2022 00:00:00 +0000","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/software-architecture/rest-api-best-practices-and-design/"}},{"@type":"BlogPosting","headline":"REST API basic characteristics and recommendations","description":"This publication is a minimal guide of practical tips on REST API design, what is a characteristic of the REST API? I don’t go too deep into the theory. On top of that, I may oversimplify many concepts in order to keep the text as short and simple as possible.
In the next post I will talk about some more subjective questions such as: how to return JSON correctly, how to nest an API, what are the ways to version a REST API, and what are some of the ways to version a REST API.
","datePublished":"Thu, 07 Apr 2022 00:00:00 +0000","dateModified":"Thu, 07 Apr 2022 00:00:00 +0000","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/software-architecture/basic-characteristics-of-an-api-rest-api/"}}]}