Eduardo Zepeda's latests posts
Generating PDFs with Django and Reportlab
- django
<p>With django and reportlab we can generate PDFs dynamically, using information from our database, user input or any other business logic we want.</p><h2 id="installation-of-reportlab">Installation of reportlab</h2><p>The first thing will be to install reportlab, we ca...
Read more
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
Define PDF response type in Django
Once installed, the first lines we will write will be to make sure that the browser knows that we will return a pdf, we will do it through an HTTP header, the Content-Type header, through the content_type variable.
","datePublished":"Thu, 22 Sep 2022 00:00:00 +0000","dateModified":"Thu, 22 Sep 2022 00:00:00 +0000","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/django/generating-pdfs-with-django-and-reportlab/"}},{"@type":"BlogPosting","headline":"Azure AZ-900 Certification Exam: My Experience","description":"On Saturday, August 6, 2022 I sat for and approved my Microsoft Azure AZ-900 certification exam.
What does AZ-900 certification consist of?
The AZ-900 Fundamentals certification ensures that a person knows all the basic services that Microsoft’s cloud, Azure, and its enterprise applications have.
For practical purposes, it prepares you to serve as an intermediary who recommends Microsoft Azure services to a company or third party, according to their needs. Or, as a software professional, you can take advantage of all the services that Azure has to offer. It often reads like a no-brainer, but Azure has a wealth of services.
","datePublished":"Fri, 02 Sep 2022 00:00:00 +0000","dateModified":"Fri, 02 Sep 2022 00:00:00 +0000","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/software-architecture/azure-az-900-certification-exam-my-experience/"}},{"@type":"BlogPosting","headline":"Dynamic sitemap with django","description":"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.
A sitemap is crucial in SEO and a sitemap with errors can plummet your site views , as it happened to me.
","datePublished":"Wed, 20 Jul 2022 00:00:00 +0000","dateModified":"Wed, 20 Jul 2022 00:00:00 +0000","author":{"@type":"Person","name":"Eduardo Zepeda"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://coffeebytes.dev/en/django/dynamic-sitemap-with-django/"}},{"@type":"BlogPosting","headline":"Logging with the standard library in Go","description":"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/"}}]}