<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Felipe Murakami</title>
    <description>The latest articles on Forem by Felipe Murakami (@fhmurakami).</description>
    <link>https://forem.com/fhmurakami</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F288213%2Fbe31e945-5093-453e-bd2b-f5d346282ab4.png</url>
      <title>Forem: Felipe Murakami</title>
      <link>https://forem.com/fhmurakami</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/fhmurakami"/>
    <language>en</language>
    <item>
      <title>Containers and Docker: Simplifying Software Development</title>
      <dc:creator>Felipe Murakami</dc:creator>
      <pubDate>Tue, 04 Mar 2025 16:12:48 +0000</pubDate>
      <link>https://forem.com/fhmurakami/containers-and-docker-simplifying-software-development-86i</link>
      <guid>https://forem.com/fhmurakami/containers-and-docker-simplifying-software-development-86i</guid>
      <description>&lt;p&gt;If you're a developer, you've probably heard of containers and Docker. But if you're not yet familiar with these terms, don't worry! We'll explain everything clearly and objectively, without beating around the bush.&lt;/p&gt;

&lt;h2&gt;
  
  
  Containers: The Foundation of Everything
&lt;/h2&gt;

&lt;p&gt;Imagine you need to send an application to a server. In addition to the code itself, it needs various dependencies to function correctly: libraries, frameworks, configurations, etc. Containers are like boxes that package all of this together, ensuring that the application works in any environment, withou conflicts or unpleasant surprises.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why use containers?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Portability:&lt;/strong&gt; Your application will run anywhere that has containers, whether on your computer, the company server, or in the cloud.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Isolation:&lt;/strong&gt; Each container is like a separate environment, which prevents one application from interfering with the operation of others.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Efficiency:&lt;/strong&gt; Containers are lighter than virtual machines, which means you can run more applications on the same server.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Docker: The Facilitator
&lt;/h2&gt;

&lt;p&gt;Docker is a tool that allows you to create and manage containers simply and efficiently. With it, you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Create images:&lt;/strong&gt; Images are like molds of containers, containing everything needed to run an application.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Manage containers:&lt;/strong&gt; Docker allows you to start, stop, restart, and remove containers easily.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Share images:&lt;/strong&gt; You can share your images with other developers, which facilitates teamwork.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Containers vs. Virtual Machines: What's the Difference?
&lt;/h2&gt;

&lt;p&gt;Virtual machines, or VMs, are like complete computers that run within another computer. Containers share the host's operating system, making them lighter and more efficient. To better understand the differences, let's analyze some key points:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Size:&lt;/strong&gt; Containers are generally much smaller than VMs, as they don't need a complete operating system.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Startup:&lt;/strong&gt; Containers start much faster than VMs, as they don't need to "turn on" an operating system.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resources:&lt;/strong&gt; VMs consume more resources (CPU, memory, disk) than containers, as each VM has its own operating system.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  When to use VMs:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Complex applications and legacy systems:&lt;/strong&gt; VMs are more suitable for larger and more complex applications, which may have various dependencies and specific configurations. In these cases, the stronger isolation offered by VMs is crucial.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Application that require high security:&lt;/strong&gt; VMs offer greater isolation between environments, as each VM has its own operating system and kernel. This can be important for applications that handle sensitive data or require high security.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Running different operating systems:&lt;/strong&gt; VMs allow you to run different operating systems on the same host, which can be useful in heterogeneous environments. This flexibility is an important advantage for companies that need to keep old systems running.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  When to use containers:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Microservices and lightweight applications:&lt;/strong&gt; Containers are ideal for smaller and independent applications, which communicate with each other to form a larger system.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Applications that need to be scalable:&lt;/strong&gt; Containers can be easily added or removed to meet demand, ensuring that the applicatoin is always available.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Development and testing environments:&lt;/strong&gt; Containers can allow you to create consistent and isolated environments to test applications before sending them to production.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Open Container Initiative (OCI): Standardization for an Open Ecosystem
&lt;/h2&gt;

&lt;p&gt;The Open Container Initiative (OCI) is a fundamental organization for the world of containers. It was created to define open technical standards for container image formats and runtimes (the tools that run containers).&lt;/p&gt;

&lt;h3&gt;
  
  
  Why is the OCI important?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Interoperability:&lt;/strong&gt; Thanks to OCI standards, you can use different tools to create, manage, and run containers, without worrying about compatibility issues.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Innovation:&lt;/strong&gt; By establishing a solid and open foundation, the OCI allows different companies and projects to contribute and innovate in the world of containers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Community:&lt;/strong&gt; The OCI is an open community, where developers and companies collaborate to create and maintain standards.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What does the OCI do?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Specifications:&lt;/strong&gt; The OCI defines detailed specifications for the container image format (Image Spec) and for the runtime (Runtime Spec).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Projects:&lt;/strong&gt; The OCI maintains open-source projects that implement these specifications, such as &lt;em&gt;runc&lt;/em&gt;, a lightweight and efficient container runtime.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By ensuring standardization, the OCI prevents the container market from becoming fragmented and allows you to choose the tools that best meet your needs, without being tied to a single vendor.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of Using Containers and Docker
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Agility:&lt;/strong&gt; Application development and deployment become faster and more efficient.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Portability:&lt;/strong&gt; Applications run in any environment, without the need for adaptations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scalability&lt;/strong&gt;: It is possible to increase or decrease the number of containers according to demand.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Efficiency:&lt;/strong&gt; Containers consume fewer resources than VMs, which generates cost savings.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Containers and Docker are powerful tools that facilitate the development, deployment, and execution of applications. If you are not yet using them, it is worth giving them a chance and discovering how they can transform you workflow.&lt;/p&gt;

&lt;p&gt;If you liked this article, and want a part 2, leave it in the comments. :)&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Docker Documentation:&lt;/strong&gt; &lt;a href="https://docs.docker.com/" rel="noopener noreferrer"&gt;https://docs.docker.com/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open Container Initiative:&lt;/strong&gt; &lt;a href="https://opencontainers.org/faq/" rel="noopener noreferrer"&gt;https://opencontainers.org/faq/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docker vs. Virtual Machines:&lt;/strong&gt; &lt;a href="https://www.docker.com/resources/what-container/" rel="noopener noreferrer"&gt;https://www.docker.com/resources/what-container/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>docker</category>
      <category>beginners</category>
      <category>programming</category>
      <category>learning</category>
    </item>
    <item>
      <title>CSS: Learning box model with analogies</title>
      <dc:creator>Felipe Murakami</dc:creator>
      <pubDate>Mon, 08 Jul 2024 21:29:31 +0000</pubDate>
      <link>https://forem.com/fhmurakami/css-learning-box-model-with-analogies-20jj</link>
      <guid>https://forem.com/fhmurakami/css-learning-box-model-with-analogies-20jj</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;If you're studying CSS, you may have already encountered the term &lt;em&gt;box model&lt;/em&gt;. If not, don't worry; we'll address this topic in this article.&lt;/p&gt;

&lt;p&gt;Every element in a web page is a rectangle called &lt;em&gt;box&lt;/em&gt;; that's where the &lt;em&gt;box model&lt;/em&gt; name came from. Understanding how this model works is the basis for creating more complex layouts with CSS or aligning the items correctly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/v1.Y2lkPTc5MGI3NjExZXdoa2wwOXAyNHcwa2F5MmI4dHcxa3AwYnRpc2pyaTJsMzR3cjFydiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/13FrpeVH09Zrb2/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/v1.Y2lkPTc5MGI3NjExZXdoa2wwOXAyNHcwa2F5MmI4dHcxa3AwYnRpc2pyaTJsMzR3cjFydiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/13FrpeVH09Zrb2/giphy.gif" alt="Peter Griffin CSS Meme GIF" width="300" height="289"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When inspecting an element (clicking with the right button or opening the &lt;strong&gt;DevTools&lt;/strong&gt; with &lt;code&gt;Ctrl+Shift+C&lt;/code&gt; or &lt;code&gt;F12&lt;/code&gt;, depending on your browser) at the &lt;em&gt;Computed&lt;/em&gt; tab, you'll probably see something like this:&lt;/p&gt;

&lt;p&gt;&lt;a id="computed"&gt;&lt;/a&gt;&lt;br&gt;
  &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkf8uwcl1pijc24a2s5qv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkf8uwcl1pijc24a2s5qv.png" alt="DevTools' Computed tab print" width="243" height="152"&gt;&lt;/a&gt;&lt;br&gt;Fig.1 - Element's proprieties (&lt;em&gt;Computed&lt;/em&gt; tab)
  &lt;/p&gt;

&lt;p&gt;In the next section, we'll see what each part of this image means in detail.&lt;/p&gt;

&lt;h2&gt;
  
  
  The &lt;strong&gt;Box model&lt;/strong&gt;'s basic structure
&lt;/h2&gt;

&lt;p&gt;Inspired by this article [1], we will use the construction of a house on a lot as our example to illustrate the basic structure of the box model.&lt;/p&gt;

&lt;p&gt;The parts that make up the structure are:&lt;/p&gt;

&lt;h3&gt;
  
  
  Content
&lt;/h3&gt;

&lt;p&gt;Content refers to the most central part of Fig.1 in blue and is related to the content within an HTML tag, such as text in a paragraph (&lt;strong&gt;&lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt;&lt;/strong&gt;).&lt;/p&gt;

&lt;p&gt;The content is composed of two properties, width and height.&lt;/p&gt;

&lt;p&gt;In our example, the content will be the little house below (Fig.2) (if you inspect the image of the house, you will see that the measurements are the same as Fig.1). The dimensions of the house are 81px wide and 93px tall.&lt;/p&gt;

&lt;p&gt;&lt;a id="home"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F04qnyrtcsnvy9dhtxpr3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F04qnyrtcsnvy9dhtxpr3.png" alt="House made in pixel art" width="134" height="120"&gt;&lt;/a&gt;&lt;br&gt;Fig. 2 - Content (house) and its dimensions
 &lt;/p&gt;

&lt;p&gt;The content needs to be inside an HTML structure, so we will place our little house inside a lot to represent this structure:&lt;/p&gt;

&lt;p&gt;&lt;a id="casa-lote"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs35or8xhu0dgqlf96hql.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs35or8xhu0dgqlf96hql.png" alt="House positioned in the center of the lot" width="256" height="256"&gt;&lt;/a&gt;&lt;br&gt;Fig. 3 - House positioned in the center of the lot
 &lt;/p&gt;

&lt;h3&gt;
  
  
  Padding
&lt;/h3&gt;

&lt;p&gt;The green part of Fig.1 is the &lt;code&gt;padding&lt;/code&gt; property, which creates space around the content.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;padding&lt;/code&gt; is demonstrated by the land part, where the garden will be, for example:&lt;/p&gt;

&lt;p&gt;&lt;a id="padding"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn9mqclmz37kqdgbi7wq3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn9mqclmz37kqdgbi7wq3.png" alt="Padding added to the lot as an area of ​​land around the house" width="256" height="256"&gt;&lt;/a&gt;&lt;br&gt;Fig. 4 - Padding added as a land area around the house
 &lt;/p&gt;

&lt;h3&gt;
  
  
  Border
&lt;/h3&gt;

&lt;p&gt;Next, we have the &lt;code&gt;border&lt;/code&gt; property, which is responsible for delimiting our content and is represented by yellow in Fig.1. The border is the last property of our element that can be seen.&lt;/p&gt;

&lt;p&gt;The border can be represented as the wall or, in our case, the fence of the house:&lt;/p&gt;

&lt;p&gt;&lt;a id="border"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9jz6dnyxrche2h91ublv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9jz6dnyxrche2h91ublv.png" alt="Border added around the padding" width="256" height="256"&gt;&lt;/a&gt;&lt;br&gt;Fig. 5 - Border added around the padding
 &lt;/p&gt;

&lt;h3&gt;
  
  
  Margin
&lt;/h3&gt;

&lt;p&gt;Finally, we have the &lt;code&gt;margin&lt;/code&gt; property in orange (Fig.1), which includes an empty area around our element. As can be seen in the image:&lt;/p&gt;

&lt;p&gt;&lt;a id="margin"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbb2tbrnugafdsga9thn5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbb2tbrnugafdsga9thn5.png" alt="Margin added to the element, creating an empty area around the border" width="256" height="256"&gt;&lt;/a&gt;&lt;br&gt;Fig. 6 - Margin added to the element, creating an empty area around the border
 &lt;/p&gt;

&lt;p&gt;In this case, we reduced the &lt;code&gt;padding&lt;/code&gt; so that the margin could be represented in the image.&lt;/p&gt;

&lt;h2&gt;
  
  
  The &lt;code&gt;box-sizing&lt;/code&gt; property
&lt;/h2&gt;

&lt;p&gt;Now that we know the structure of the &lt;em&gt;box model&lt;/em&gt;, we can address the &lt;code&gt;box-sizing&lt;/code&gt; property. This property allows us to tell the browser how it should calculate the height and width of the element. We only have 2 possible values:&lt;/p&gt;

&lt;h3&gt;
  
  
  content-box
&lt;/h3&gt;

&lt;p&gt;This is the default value, where the element's height and width include only the content. Therefore, if we have content with a &lt;code&gt;height&lt;/code&gt; and &lt;code&gt;width&lt;/code&gt; of 100px, plus 10px of &lt;code&gt;padding&lt;/code&gt;, 5px of &lt;code&gt;border&lt;/code&gt; and 5 of &lt;code&gt;margin&lt;/code&gt;, we will see that the size of our element changed from 100px to 130px:&lt;/p&gt;

&lt;p&gt;&lt;a id="content-box-example"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftsf578lm7q1mnhmeqb4e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftsf578lm7q1mnhmeqb4e.png" alt="Image description" width="590" height="316"&gt;&lt;/a&gt;&lt;br&gt;Fig. 7 - Div with 100 px height and width, 10px padding, 5px border and 5px margin using the default value &lt;code&gt;content-box&lt;/code&gt;
 &lt;/p&gt;

&lt;p&gt;See the code here:&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/fhmurakami/embed/QWXLdpX?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;This occurs because the &lt;em&gt;&lt;code&gt;height&lt;/code&gt;&lt;/em&gt; and &lt;em&gt;&lt;code&gt;width&lt;/code&gt;&lt;/em&gt; properties are only applied to the content (the blue part of Fig.1, remember?). However, we also added &lt;code&gt;padding&lt;/code&gt;, &lt;code&gt;border&lt;/code&gt; and &lt;code&gt;margin&lt;/code&gt;:&lt;/p&gt;

&lt;p&gt;100px (&lt;code&gt;height&lt;/code&gt;/&lt;code&gt;width&lt;/code&gt;) + 2 * 10px (&lt;code&gt;padding&lt;/code&gt;) + 2 * 5px (&lt;code&gt;border&lt;/code&gt;) + 2 * 5px (&lt;code&gt;margin&lt;/code&gt;) = &lt;strong&gt;140px&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Attention!&lt;/strong&gt; ⚠️
&lt;/h4&gt;

&lt;p&gt;Huh?! 🤔&lt;/p&gt;

&lt;p&gt;The image shows the element with 130px and not 140px!&lt;br&gt;
Exactly! Remember that &lt;code&gt;margin&lt;/code&gt; is an external property of the element (or empty space around it) and should not be added to its height and width.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We can think that the &lt;code&gt;box-sizing&lt;/code&gt; property, with the value &lt;code&gt;content-box,&lt;/code&gt; will grow our element as we add more "layers."&lt;br&gt;
To explain, I will use another analogy: Imagine a balloon, like those at a children's party, with sweets inside (it's like the Brazilian version of piñata).&lt;/p&gt;

&lt;center&gt;
   &lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
    &lt;tr&gt;
      &lt;td&gt;
        
          &lt;a id="balloon"&gt;&lt;/a&gt;
          &lt;img alt="Balloon where we will put the sweets" src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjx739awww0jowwoonp8o.png" width="256" height="256"&gt;Fig. 8 - Birthday party big balloon (&lt;code&gt;border&lt;/code&gt;)
          
        
      &lt;/td&gt;
      &lt;td&gt;
        
          &lt;a id="candies"&gt;&lt;/a&gt;
          &lt;img alt="Sweets" src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqf5zf5o7tvhr0l0ez9jd.png" width="170" height="256"&gt;Fig. 9 - Sweets (&lt;code&gt;content&lt;/code&gt;)
          
        
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td colspan="2"&gt;
        
          &lt;a id="balloon-candies"&gt;&lt;/a&gt;
          &lt;img alt="Balloon cut to display the candy inside" src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F23d4459r9hpc24dinodj.png" width="256" height="256"&gt;Fig. 10 - Balloon with sweets inside
          
        
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;&lt;/div&gt;
&lt;/center&gt;

&lt;p&gt;The sweets will be our content, with a fixed height and width. To make it possible to pop the balloon, we will add padding (air) inside the balloon. The balloon itself is the &lt;code&gt;border&lt;/code&gt; and the &lt;code&gt;margin&lt;/code&gt; is all the space around the balloon:&lt;/p&gt;


 &lt;a id="full-balloon"&gt;&lt;/a&gt;
 &lt;img alt="Balloon suspended from the ceiling with empty space around it" src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhuhrywjs718o6twheanr.png" width="256" height="256"&gt;Fig. 11 - Sweets (&lt;code&gt;content&lt;/code&gt;), air (&lt;code&gt;padding&lt;/code&gt;), balloon (&lt;code&gt;border&lt;/code&gt;), space around the balloon (&lt;code&gt;margin code&amp;gt; code&amp;gt;)&lt;/code&gt;
 


&lt;p&gt;Did you see how our element grew as we added more properties or if we added more air (&lt;code&gt;padding&lt;/code&gt;) to the balloon?&lt;/p&gt;

&lt;p&gt;Another example of a &lt;code&gt;content-box&lt;/code&gt; using an analogy is a bag of popcorn in the microwave, where we initially have the &lt;code&gt;content&lt;/code&gt; (corn), the &lt;code&gt;border&lt;/code&gt; (paper bag), and the &lt;code&gt;margin&lt;/code&gt; (internal space of the microwave). However, padding (air/steam inside the bag) is slowly added when heating.&lt;/p&gt;
&lt;h3&gt;
  
  
  border-box
&lt;/h3&gt;

&lt;p&gt;The other possible value for the &lt;code&gt;box-sizing&lt;/code&gt; property is &lt;code&gt;border-box&lt;/code&gt;. It is handy when you want to be sure of the space your element will occupy on the page; instead of limiting the height and width to just the content, it uses the entire element (&lt;code&gt;content + padding + border&lt;/code&gt;). This helps create responsive layouts, as we guarantee that the elements have the exact size defined even using relative measurements (&lt;code&gt;%&lt;/code&gt;, &lt;code&gt;em&lt;/code&gt;, &lt;code&gt;rem&lt;/code&gt; etc.).&lt;/p&gt;

&lt;p&gt;Using the same example as Fig.7, but adding the &lt;code&gt;box-sizing: border-box;&lt;/code&gt; property, we will have a final element with 100px height and width as previously defined.&lt;/p&gt;


 &lt;a id="border-box-example"&gt;&lt;/a&gt;
 &lt;img alt="Div with 100 px height and width, 10px padding, 5px border and 5px margin, but this time using the border-box value" src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fga0e6zyju1aqknvc71vy.png" width="556" height="344"&gt; Fig. 12 - Div with 100 px height and width, 10px padding, 5px border and 5px margin, but this time using the value &lt;code&gt;border-box&lt;/code&gt; 
 


&lt;p&gt;The difference is that our content has now been reduced to 70px in height and width so that it does not exceed 100px.&lt;/p&gt;


 &lt;a id="computed-border-box"&gt;&lt;/a&gt;
 &lt;img alt="Image of the computed tab showing that the content has been reduced to 70px in height and width" src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgn7pkcr45w7nup242uoi.png" width="282" height="223"&gt; Fig. 13 - &lt;code&gt;Computed&lt;/code&gt; tab when inspecting the element
 


&lt;p&gt;See the code here:&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/fhmurakami/embed/wvLwggR?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;In this case, we must think of something in which the final measurements cannot exceed a certain size. For this, we will use a cooler as the maximum size; therefore, the box will represent the &lt;code&gt;border&lt;/code&gt; of our element:&lt;/p&gt;

&lt;p&gt;&lt;a id="empty-cooler"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm9whp64mx7skktnnryns.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm9whp64mx7skktnnryns.png" alt="Red thermal box with white border and no lid" width="256" height="256"&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
 Fig. 14 - Cooler (&lt;code&gt;border&lt;/code&gt;)&lt;br&gt;
 
 &lt;/p&gt;

&lt;p&gt;The &lt;code&gt;content&lt;/code&gt; will be a drink that we want to chill, and the ice is the &lt;code&gt;padding&lt;/code&gt;:&lt;/p&gt;

&lt;center&gt;
 &lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
 &lt;tr&gt;
 &lt;td&gt;
 
 &lt;a id="barril-beer"&gt;&lt;/a&gt;
 &lt;img alt="Beer barrel" src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frq41pe25twoxpbzli7g2.png" width="256" height="256"&gt;Fig. 15 - Beer barrel (&lt;code&gt;content&lt;/code&gt;)
 
 
 &lt;/td&gt;
 &lt;td&gt;
 
 &lt;a id="ice"&gt;&lt;/a&gt;
 &lt;img alt="Ice cubes" src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3soshxk0pfw00i2iju2a.png" width="256" height="256"&gt;Fig. 16 - Ice cubes (&lt;code&gt;padding&lt;/code&gt;)
 
 
 &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td colspan="2"&gt;
 
 &lt;a id="cooler-full"&gt;&lt;/a&gt;
 &lt;img alt="Cooler box with drink and ice" src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7rpvts1fh4n098sntuw7.png" width="256" height="256"&gt;Fig. 17 - Cooler with the drink and ice
 
 
 &lt;/td&gt;
 &lt;/tr&gt;
 &lt;/table&gt;&lt;/div&gt;
&lt;/center&gt;

&lt;p&gt;Note that the more ice we add, the smaller the drink we can chill. As we cannot have content with negative measurements, the smallest possible size will be 0px. However, assuming that our box is 100px &lt;code&gt;height&lt;/code&gt; by 120px &lt;code&gt;width&lt;/code&gt;, and we define a &lt;code&gt;padding&lt;/code&gt; of 60px, we will have all 120px of ice both horizontally and vertically; that is, the ice will overflow to the cooler.&lt;/p&gt;

&lt;p&gt;&lt;a id="padding-overflow"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7v4qnxgw0piducwagqdl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7v4qnxgw0piducwagqdl.png" alt="Red thermal box with ice exceeding the maximum height of the box" width="256" height="256"&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
   18 - Ice overflowing at the maximum limit (height) of the cooler&lt;br&gt;
 
 &lt;/p&gt;

&lt;p&gt;The same happens with our HTML element:&lt;/p&gt;

&lt;p&gt;&lt;a id="border-box-overflow"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5uzc82a908v1a80mhoe3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5uzc82a908v1a80mhoe3.png" alt="Image of the computed tab showing that the content has been reduced to 0px in height and width, but the total height of the element has increased to 150px" width="580" height="708"&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
 Fig. 19 - Inspecting the element, we can see that when adding padding greater than the total size of the element, the content was reduced to 0x0 px, and the height increased to 150px, even with &lt;code&gt;box-sizing: border-box&lt;/code&gt;&lt;br&gt;
 
 &lt;/p&gt;

&lt;p&gt;See the code here:&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/fhmurakami/embed/mdZbJZp?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Now that you know the basic structure of the &lt;em&gt;Box Model&lt;/em&gt; and the &lt;code&gt;box-sizing&lt;/code&gt; property, it will be easier to understand how the elements behave on your web page and know when to use each value ​​(&lt;code&gt;content-box&lt;/code&gt; and &lt;code&gt;border-box&lt;/code&gt;). Inspecting the elements of the websites you use daily, you will see that the majority use &lt;code&gt;border-box&lt;/code&gt; for their elements, as this property has made responsive design much easier. :)&lt;/p&gt;

&lt;p&gt;Congratulations on getting this far!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flsjnxtd5bpk1hyen7iqq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flsjnxtd5bpk1hyen7iqq.png" alt="Beer mugs toasting" width="256" height="160"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Do you have any questions or suggestions? Feel free to leave a comment or, if you prefer, send a private message on &lt;a href="https://www.linkedin.com/in/felipe-murakami/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Note&lt;/strong&gt; ❗🚫
&lt;/h3&gt;

&lt;p&gt;I made all images in this article; please do not use them without due consent/credit.&lt;br&gt;
The free ready-made assets I used are in the references, and use for non-commercial projects is permitted.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;p&gt;&lt;a id="ref1"&gt;&lt;/a&gt;[1] &lt;a href="https://blog.codeanalogies.com/2017/03/27/the-css-box-model-explained-by-living-in-a-boring-suburban-neighborhood/" rel="noopener noreferrer"&gt;The CSS Box Model Explained by Living in a Boring Suburban Neighborhood&lt;/a&gt;&lt;br&gt;
&lt;a id="ref2"&gt;&lt;/a&gt;[2] &lt;a href="https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/The_box_model" rel="noopener noreferrer"&gt;MDN Web Docs - The box model&lt;/a&gt;&lt;br&gt;
&lt;a id="ref3"&gt;&lt;/a&gt;[3] &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_box_model/Introduction_to_the_CSS_box_model" rel="noopener noreferrer"&gt;MDN Web Docs - Introduction to the CSS basic box model&lt;/a&gt;&lt;br&gt;
&lt;a id="ref4"&gt;&lt;/a&gt;[4] &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing" rel="noopener noreferrer"&gt;MDN Web Docs - box-sizing&lt;/a&gt;&lt;br&gt;
&lt;a id="ref5"&gt;&lt;/a&gt;[5] &lt;a href="https://www.w3schools.com/css/css_boxmodel.asp" rel="noopener noreferrer"&gt;W3Schools - CSS Box Model&lt;/a&gt;&lt;br&gt;
&lt;a id="ref6"&gt;&lt;/a&gt;[6] &lt;a href="https://www.w3schools.com/css/css3_box-sizing.asp" rel="noopener noreferrer"&gt;W3Schools - CSS Box Sizing&lt;/a&gt;&lt;br&gt;
&lt;a id="ref7"&gt;&lt;/a&gt;[7] &lt;a href="https://www.theodinproject.com/lessons/foundations-the-box-model#introduction" rel="noopener noreferrer"&gt;The Odin Project - Foundations Course - The Box Model&lt;/a&gt;&lt;br&gt;
&lt;a id="ref8"&gt;&lt;/a&gt;[8] &lt;a href="https://www.youtube.com/watch?v=nSst4-WbEZk" rel="noopener noreferrer"&gt;Learn CSS BOX MODEL - With Real World Examples&lt;/a&gt;&lt;br&gt;
&lt;a id="ref9"&gt;&lt;/a&gt;[9] &lt;a href="https://www.youtube.com/watch?v=rIO5326FgPEhttps://www.youtube.com/watch?v=rIO5326FgPE" rel="noopener noreferrer"&gt;Learn CSS Box Model in 8 minutes&lt;/a&gt;&lt;br&gt;
&lt;a id="ref10"&gt;&lt;/a&gt;[10] &lt;a href="https://www.youtube.com/watch?v=HdZHcFWcAd8" rel="noopener noreferrer"&gt;box-sizing: border-box (EASY!)&lt;/a&gt;&lt;br&gt;
&lt;a id="ref11"&gt;&lt;/a&gt;[11] &lt;a href="https://butterymilk.itch.io/tiny-wonder-farm-asset-pack" rel="noopener noreferrer"&gt;Assets used in the images for the Box Model examples&lt;/a&gt;&lt;br&gt;
&lt;a id="ref12"&gt;&lt;/a&gt;[12] &lt;a href="https://henrysoftware.itch.io/godot-pixel-food" rel="noopener noreferrer"&gt;Assets - Beer mug&lt;/a&gt;&lt;/p&gt;

</description>
      <category>css</category>
      <category>learning</category>
      <category>beginners</category>
      <category>frontend</category>
    </item>
    <item>
      <title>CSS: Aprendendo box model com analogias</title>
      <dc:creator>Felipe Murakami</dc:creator>
      <pubDate>Fri, 05 Jul 2024 14:50:09 +0000</pubDate>
      <link>https://forem.com/fhmurakami/css-aprendendo-box-model-com-analogias-5a9a</link>
      <guid>https://forem.com/fhmurakami/css-aprendendo-box-model-com-analogias-5a9a</guid>
      <description>&lt;h2&gt;
  
  
  Introdução
&lt;/h2&gt;

&lt;p&gt;Se você está estudando CSS, talvez já tenha se deparado com o termo &lt;em&gt;box model&lt;/em&gt;. Caso ainda não tenha, não se preocupe, iremos abordar esse assunto nesse artigo.&lt;/p&gt;

&lt;p&gt;Basicamente todo elemento em uma página web é um retângulo chamado de &lt;em&gt;box&lt;/em&gt; (caixa), e daí vem o nome &lt;em&gt;box model&lt;/em&gt; ou &lt;em&gt;modelo de caixa&lt;/em&gt;. Entendermos como funciona esse modelo é a base para conseguirmos criar layouts mais complexos com CSS, ou alinhar itens corretamente.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/v1.Y2lkPTc5MGI3NjExZXdoa2wwOXAyNHcwa2F5MmI4dHcxa3AwYnRpc2pyaTJsMzR3cjFydiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/13FrpeVH09Zrb2/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/v1.Y2lkPTc5MGI3NjExZXdoa2wwOXAyNHcwa2F5MmI4dHcxa3AwYnRpc2pyaTJsMzR3cjFydiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/13FrpeVH09Zrb2/giphy.gif" alt="Meme GIF CSS - Peter Griffin de Family Guy tentando arrumar uma persiana" width="300" height="289"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ao inspecionar um elemento (clicando com o botão direito ou abrindo o &lt;strong&gt;DevTools&lt;/strong&gt; com os atalhos Ctrl+Shift+C ou F12, dependendo do seu navegador), na aba &lt;em&gt;Computed&lt;/em&gt; (Calculado), você provavelmente irá ver a imagem a seguir:&lt;/p&gt;

&lt;p&gt;&lt;a id="computed"&gt;&lt;/a&gt;&lt;br&gt;
  &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkf8uwcl1pijc24a2s5qv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkf8uwcl1pijc24a2s5qv.png" alt="Print da aba 'calculado' do DevTools" width="243" height="152"&gt;&lt;/a&gt;&lt;br&gt;Fig.1 - Propriedades do elemento (aba &lt;em&gt;Computed&lt;/em&gt;)
  &lt;/p&gt;

&lt;p&gt;No próximo tópico iremos ver detalhadamente o que significa cada parte dessa imagem.&lt;/p&gt;

&lt;h2&gt;
  
  
  Estrutura básica do &lt;strong&gt;box model&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Para ilustrar a estrutura básica do &lt;em&gt;box model&lt;/em&gt; irei utilizar como exemplo a construção de uma casa em um terreno. Essa ideia foi inspirada neste artigo [1] (em inglês).&lt;/p&gt;

&lt;p&gt;As partes que compõem a estrutura do &lt;em&gt;box model&lt;/em&gt; são:&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Conteúdo&lt;/strong&gt; (&lt;em&gt;Content&lt;/em&gt;)
&lt;/h3&gt;

&lt;p&gt;O conteúdo se refere à parte mais central da Fig.1 em azul, e está relacionado ao conteúdo dentro de uma tag HTML, como por exemplo o texto em um parágrafo (&lt;strong&gt;&lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt;&lt;/strong&gt;).&lt;/p&gt;

&lt;p&gt;O conteúdo é composto basicamente por duas propriedades, largura (&lt;code&gt;width&lt;/code&gt;) e altura (&lt;code&gt;height&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;No nosso exemplo, o conteúdo será a casinha abaixo (Fig.2) (se você inspecionar a imagem da casa, verá que as medidas são as mesmas da Fig.1). As dimensões da casa são 81px de largura e 93 px de altura.&lt;/p&gt;

&lt;p&gt;&lt;a id="casa"&gt;&lt;/a&gt;&lt;br&gt;
  &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F04qnyrtcsnvy9dhtxpr3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F04qnyrtcsnvy9dhtxpr3.png" alt="Casa feita em pixel art" width="134" height="120"&gt;&lt;/a&gt;&lt;br&gt;Fig. 2 - Conteúdo (casa) e suas dimensões
  &lt;/p&gt;

&lt;p&gt;O conteúdo precisa estar dentro de uma estrutura HTML, portanto colocaremos nossa casinha dentro de um lote para representar esta estrutura:&lt;/p&gt;

&lt;p&gt;&lt;a id="casa-lote"&gt;&lt;/a&gt;&lt;br&gt;
  &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs35or8xhu0dgqlf96hql.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs35or8xhu0dgqlf96hql.png" alt="Casa posicionada no centro do lote" width="256" height="256"&gt;&lt;/a&gt;&lt;br&gt;Fig. 3 - Casa posicionada no centro do lote
  &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Preenchimento&lt;/strong&gt; (&lt;em&gt;Padding&lt;/em&gt;)
&lt;/h3&gt;

&lt;p&gt;A parte em verde da Fig.1 é a propriedade chamada de &lt;code&gt;padding&lt;/code&gt; (preenchimento), que cria um espaço ao redor do conteúdo.&lt;/p&gt;

&lt;p&gt;O &lt;code&gt;padding&lt;/code&gt; é demonstrado pela parte de terra, onde será o jardim, por exemplo:&lt;/p&gt;

&lt;p&gt;&lt;a id="padding"&gt;&lt;/a&gt;&lt;br&gt;
  &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn9mqclmz37kqdgbi7wq3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn9mqclmz37kqdgbi7wq3.png" alt="Padding adicionado ao lote como uma área de terra ao redor da casa" width="256" height="256"&gt;&lt;/a&gt;&lt;br&gt;Fig. 4 - Padding adicionado como uma área de terra ao redor da casa
  &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Borda&lt;/strong&gt; (&lt;em&gt;Border&lt;/em&gt;)
&lt;/h3&gt;

&lt;p&gt;A seguir temos a propriedade &lt;code&gt;border&lt;/code&gt;, ou borda, que é responsável por delimitar nosso conteúdo e está representada pela cor amarela na Fig.1. A borda é a última propriedade do nosso elemento que pode ser vista.&lt;/p&gt;

&lt;p&gt;A borda pode ser representada como o muro ou, no nosso caso, a cerca da casa:&lt;/p&gt;

&lt;p&gt;&lt;a id="border"&gt;&lt;/a&gt;&lt;br&gt;
  &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9jz6dnyxrche2h91ublv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9jz6dnyxrche2h91ublv.png" alt="Border (Cerca) adicionada ao redor do padding" width="256" height="256"&gt;&lt;/a&gt;&lt;br&gt;Fig. 5 - Border (Cerca) adicionada ao redor do padding
  &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Margem&lt;/strong&gt; (&lt;em&gt;Margin&lt;/em&gt;)
&lt;/h3&gt;

&lt;p&gt;Por fim, temos a propriedade &lt;code&gt;margin&lt;/code&gt;, em laranja (Fig.1), que inclui uma área vazia ao redor do nosso elemento. Como pode ser visto na imagem:&lt;/p&gt;

&lt;p&gt;&lt;a id="margin"&gt;&lt;/a&gt;&lt;br&gt;
  &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbb2tbrnugafdsga9thn5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbb2tbrnugafdsga9thn5.png" alt="Margem adicionada ao elemento, criando uma área vazia ao redor da borda" width="256" height="256"&gt;&lt;/a&gt;&lt;br&gt;Fig. 6 - Margem adicionada ao elemento, criando uma área vazia ao redor da borda
  &lt;/p&gt;

&lt;p&gt;Neste caso, reduzimos o &lt;code&gt;padding&lt;/code&gt; para que a margem pudesse ser representada na imagem.&lt;/p&gt;

&lt;h2&gt;
  
  
  A propriedade &lt;strong&gt;&lt;code&gt;box-sizing&lt;/code&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Agora que conhecemos a estrutura do &lt;em&gt;box model&lt;/em&gt;, podemos abordar a propriedade &lt;code&gt;box-sizing&lt;/code&gt;. Essa propriedade nos permite dizer ao navegador como ele deve calcular a altura e a largura do elemento. Temos apenas 2 valores possíveis:&lt;/p&gt;

&lt;h3&gt;
  
  
  content-box
&lt;/h3&gt;

&lt;p&gt;Este é o valor padrão, em que a altura e a largura do elemento incluem apenas o conteúdo. Portanto, se tivermos um conteúdo com &lt;code&gt;height&lt;/code&gt;(altura) e &lt;code&gt;width&lt;/code&gt;(largura) de 100px, mais 10px de &lt;code&gt;padding&lt;/code&gt;, mais 5px de &lt;code&gt;border&lt;/code&gt; e 5 de &lt;code&gt;margin&lt;/code&gt;, veremos que o tamanho do nosso elemento mudou de 100px para 130px:&lt;/p&gt;

&lt;p&gt;&lt;a id="content-box-example"&gt;&lt;/a&gt;&lt;br&gt;
  &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftsf578lm7q1mnhmeqb4e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftsf578lm7q1mnhmeqb4e.png" alt="Image description" width="590" height="316"&gt;&lt;/a&gt;&lt;br&gt;Fig. 7 - Div com 100 px de altura e largura, 10px de padding, 5px de border e 5px de margin utilizando o valor padrão &lt;code&gt;content-box&lt;/code&gt;
  &lt;/p&gt;

&lt;p&gt;Veja o código aqui:&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/fhmurakami/embed/QWXLdpX?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Isso ocorre pois as propriedades &lt;em&gt;&lt;code&gt;height&lt;/code&gt;&lt;/em&gt; e &lt;em&gt;&lt;code&gt;width&lt;/code&gt;&lt;/em&gt;, são aplicadas somente ao conteúdo (a parte azul da Fig.1, lembra?). Porém adicionamos ainda o &lt;code&gt;padding&lt;/code&gt;, a &lt;code&gt;border&lt;/code&gt; e a &lt;code&gt;margin&lt;/code&gt;:&lt;/p&gt;

&lt;p&gt;100px (&lt;code&gt;height&lt;/code&gt;/&lt;code&gt;width&lt;/code&gt;) + 2 * 10px (&lt;code&gt;padding&lt;/code&gt;) + 2 * 5px (&lt;code&gt;border&lt;/code&gt;) + 2 * 5px (&lt;code&gt;margin&lt;/code&gt;) = &lt;strong&gt;140px&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Atenção!&lt;/strong&gt; ⚠️
&lt;/h4&gt;

&lt;p&gt;Ué?! 🤔&lt;/p&gt;

&lt;p&gt;A imagem mostra o elemento com 130px e não 140px!&lt;br&gt;
Exato! Lembre-se que a &lt;code&gt;margin&lt;/code&gt; é uma propriedade externa (ou um espaço vazio em volta) do elemento e por isso não deve ser somada à altura e à largura do mesmo.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Podemos pensar que com a propriedade &lt;code&gt;box-sizing&lt;/code&gt; com o valor &lt;code&gt;content-box&lt;/code&gt;, nosso elemento vai crescendo conforme adicionamos mais "camadas".&lt;br&gt;
Para explicar, utilizarei mais uma analogia: Imagine um balão, daqueles de festa de criança, com doces dentro.&lt;/p&gt;

&lt;center&gt;
  &lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
    &lt;tr&gt;
      &lt;td&gt;
        
          &lt;a id="baloon"&gt;&lt;/a&gt;
          &lt;img alt="Balão onde iremos colocar os doces" src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjx739awww0jowwoonp8o.png" width="256" height="256"&gt;Fig. 8 - Balão de festa (&lt;code&gt;border&lt;/code&gt;)
          
        
      &lt;/td&gt;
      &lt;td&gt;
        
          &lt;a id="candies"&gt;&lt;/a&gt;
          &lt;img alt="Doces" src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F15qcojcdwti9cpc9ops0.png" width="128" height="192"&gt;Fig. 9 - Doces (&lt;code&gt;content&lt;/code&gt;)
          
        
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td colspan="2"&gt;
        
          &lt;a id="baloon-candies"&gt;&lt;/a&gt;
          &lt;img alt="Balão cortado para exibir os doces dentro" src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F23d4459r9hpc24dinodj.png" width="256" height="256"&gt;Fig. 10 - Balão com os doces dentro
          
        
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;&lt;/div&gt;
&lt;/center&gt;

&lt;p&gt;Os doces serão o nosso conteúdo, com uma altura e largura fixos. Para que seja possível estourar o balão, vamos adicionar um &lt;code&gt;padding&lt;/code&gt; (ar) dentro do balão. O balão em si, é a &lt;code&gt;border&lt;/code&gt; e a &lt;code&gt;margin&lt;/code&gt; é todo o espaço em volta do balão:&lt;/p&gt;


  &lt;a id="baloon-full"&gt;&lt;/a&gt;
  &lt;img alt="Balão pendurado no teto com espaço vazio ao seu redor" src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhuhrywjs718o6twheanr.png" width="256" height="256"&gt;Fig. 11 - Doces (&lt;code&gt;content&lt;/code&gt;), ar (&lt;code&gt;padding&lt;/code&gt;), balão (&lt;code&gt;border&lt;/code&gt;), espaço em volta do balão (&lt;code&gt;margin&lt;/code&gt;)
  


&lt;p&gt;Viu como nosso elemento foi crescendo conforme adicionamos mais propriedades? Ou se adicionarmos mais ar (&lt;code&gt;padding&lt;/code&gt;) ao balão?&lt;/p&gt;

&lt;p&gt;Outro exemplo de &lt;code&gt;content-box&lt;/code&gt; utilizando analogia: um saco de pipoca no microondas, onde temos inicialmente o &lt;code&gt;content&lt;/code&gt; (milho), a &lt;code&gt;border&lt;/code&gt; (saco de papel) e &lt;code&gt;margin&lt;/code&gt; (espaço interno do microondas). Porém ao aquecer, lentamente um &lt;code&gt;padding&lt;/code&gt;(ar/vapor dentro do saco) vai sendo adicionado.&lt;/p&gt;
&lt;h3&gt;
  
  
  border-box
&lt;/h3&gt;

&lt;p&gt;O outro valor possível para a propriedade &lt;code&gt;box-sizing&lt;/code&gt; é o &lt;code&gt;border-box&lt;/code&gt;. Ele é muito útil quando você quer ter certeza do espaço que seu elemento irá ocupar na página, pois ao invés de atribuir a altura e a largura apenas ao conteúdo, ele utiliza o elemento todo (&lt;code&gt;content + padding + border&lt;/code&gt;). Isso ajuda na criação de layouts responsivos, pois garantimos os elementos terão o tamanho exato que for definido mesmo utilizando medidas relativas (&lt;code&gt;%&lt;/code&gt;, &lt;code&gt;em&lt;/code&gt;, &lt;code&gt;rem&lt;/code&gt; etc.).&lt;/p&gt;

&lt;p&gt;Utilizando o mesmo exemplo da Fig.7, porém adicionando a propriedade &lt;code&gt;box-sizing: border-box;&lt;/code&gt; teremos um elemento final com os 100px de altura e largura como definimos anteriormente.&lt;/p&gt;


  &lt;a id="border-box-example"&gt;&lt;/a&gt;
  &lt;img alt="Div com 100 px de altura e largura, 10px de padding, 5px de border e 5px de margin, porém desta vez utilizando o valor border-box" src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fga0e6zyju1aqknvc71vy.png" width="556" height="344"&gt; Fig. 12 - Div com 100 px de altura e largura, 10px de padding, 5px de border e 5px de margin, porém desta vez utilizando o valor &lt;code&gt;border-box&lt;/code&gt; 
  


&lt;p&gt;A diferença é que agora nosso conteúdo reduziu para 70px de altura e largura para não ultrapassar os 100px no total.&lt;/p&gt;


  &lt;a id="computed-border-box"&gt;&lt;/a&gt;
  &lt;img alt="Imagem da aba computed mostrando que o conteúdo foi reduzido para 70px de altura e largura" src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgn7pkcr45w7nup242uoi.png" width="282" height="223"&gt; Fig. 13 - Aba &lt;code&gt;computed&lt;/code&gt; ao inspecionar o elemento 
  


&lt;p&gt;Vejo o código aqui:&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/fhmurakami/embed/wvLwggR?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Neste caso, devemos pensar em algo em que as medidas finais não possam ultrapassar um determinado tamanho. Para isso utilizaremos uma caixa térmica como o tamanho máximo, sendo assim, a caixa representará a &lt;code&gt;borda&lt;/code&gt; do nosso elemento:&lt;/p&gt;

&lt;p&gt;&lt;a id="cooler-vazio"&gt;&lt;/a&gt;&lt;br&gt;
  &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm9whp64mx7skktnnryns.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm9whp64mx7skktnnryns.png" alt="Caixa térmica vermelha com borda branca e sem tampa" width="256" height="256"&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
    Fig. 14 - Caixa térmica (&lt;code&gt;border&lt;/code&gt;)&lt;br&gt;
  
  &lt;/p&gt;

&lt;p&gt;O &lt;code&gt;conteúdo&lt;/code&gt; será a bebida que queremos gelar, e o gelo é o &lt;code&gt;padding&lt;/code&gt;:&lt;/p&gt;

&lt;center&gt;
  &lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
    &lt;tr&gt;
      &lt;td&gt;
        
          &lt;a id="barril-chopp"&gt;&lt;/a&gt;
          &lt;img alt="Barril de chopp" src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frq41pe25twoxpbzli7g2.png" width="256" height="256"&gt;Fig. 15 - Barril de chopp (&lt;code&gt;content&lt;/code&gt;)
          
        
      &lt;/td&gt;
      &lt;td&gt;
        
          &lt;a id="gelo"&gt;&lt;/a&gt;
          &lt;img alt="Cubos de gelo" src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3soshxk0pfw00i2iju2a.png" width="256" height="256"&gt;Fig. 16 - Cubos de gelo (&lt;code&gt;padding&lt;/code&gt;)
          
        
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td colspan="2"&gt;
        
          &lt;a id="cooler-cheio"&gt;&lt;/a&gt;
          &lt;img alt="Caixa térmica com a bebida e o gelo" src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7rpvts1fh4n098sntuw7.png" width="256" height="256"&gt;Fig. 17 - Caixa térmica com a bebida e o gelo
          
        
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;&lt;/div&gt;
&lt;/center&gt;

&lt;p&gt;Perceba que quanto mais gelo colocarmos, menor será a bebida que conseguiremos gelar. Como não podemos ter um conteúdo com medidas negativas, o menor tamanho possível será de 0px. Porém, supondo que nossa caixa tenha 100px de &lt;code&gt;altura&lt;/code&gt; por 120px de &lt;code&gt;largura&lt;/code&gt; , e definirmos um &lt;code&gt;padding&lt;/code&gt; de 60px, ao todo teremos 120px de gelo tanto na horizontal quanto na vertical, ou seja, o gelo irá transbordar a caixa térmica. &lt;/p&gt;

&lt;p&gt;&lt;a id="padding-overflow"&gt;&lt;/a&gt;&lt;br&gt;
  &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7v4qnxgw0piducwagqdl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7v4qnxgw0piducwagqdl.png" alt="Caixa térmica vermelha com gelo ultrapassando a altura máxima da caixa" width="256" height="256"&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
    Fig. 18 - Gelo transbordando o limite máximo (altura) da caixa térmica&lt;br&gt;
  
  &lt;/p&gt;

&lt;p&gt;O mesmo acontece com nosso elemento HTML:&lt;/p&gt;

&lt;p&gt;&lt;a id="border-box-overflow"&gt;&lt;/a&gt;&lt;br&gt;
  &lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5uzc82a908v1a80mhoe3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5uzc82a908v1a80mhoe3.png" alt="Imagem da aba computed mostrando que o conteúdo foi reduzido para 0px de altura e largura, mas a altura total do elemento aumentou para 150px" width="580" height="708"&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
    Fig. 19 - Inspecionando o elemento é possível ver que, ao adicionar um padding maior do que o tamanho total do elemento, o conteúdo foi reduzido para 0x0 px e a altura aumentou para 150px, mesmo com o &lt;code&gt;box-sizing: border-box&lt;/code&gt;&lt;br&gt;
  
  &lt;/p&gt;

&lt;p&gt;Vejo o código aqui:&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/fhmurakami/embed/mdZbJZp?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusão
&lt;/h2&gt;

&lt;p&gt;Agora que você já conhece a estrutura básica do &lt;em&gt;Box Model&lt;/em&gt;, e a propriedade &lt;code&gt;box-sizing&lt;/code&gt;, ficará mais fácil entender como os elementos se comportam na sua página web e saber quando usar cada um dos valores (&lt;code&gt;content-box&lt;/code&gt; e &lt;code&gt;border-box&lt;/code&gt;). Se você inspecionar os elementos dos sites que utiliza no dia-a-dia, verá que a maioria utiliza &lt;code&gt;border-box&lt;/code&gt; para seus elementos, pois essa propriedade tem facilitado muito o design responsivo. :)&lt;/p&gt;

&lt;p&gt;Parabéns por ter chegado até aqui!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flsjnxtd5bpk1hyen7iqq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flsjnxtd5bpk1hyen7iqq.png" alt="Canecas de cerveja brindando" width="256" height="160"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ficou com alguma dúvida? Tem alguma sugestão? Fique a vontade para deixar seu comentário, ou se preferir, mande uma mensagem privada no &lt;a href="https://www.linkedin.com/in/felipe-murakami/" rel="noopener noreferrer"&gt;Linkedin&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Observação&lt;/strong&gt; ❗🚫
&lt;/h3&gt;

&lt;p&gt;Todas as imagens deste artigo foram feitas por mim, favor não utilizá-las sem o devido consentimento/crédito.&lt;br&gt;
Os assets prontos que utilizei estão nas referências, e o uso para projetos não-comerciais é permitido.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Referências
&lt;/h2&gt;

&lt;p&gt;&lt;a id="ref1"&gt;&lt;/a&gt;[1] &lt;a href="https://blog.codeanalogies.com/2017/03/27/the-css-box-model-explained-by-living-in-a-boring-suburban-neighborhood/" rel="noopener noreferrer"&gt;The CSS Box Model Explained by Living in a Boring Suburban Neighborhood&lt;/a&gt;&lt;br&gt;
&lt;a id="ref2"&gt;&lt;/a&gt;[2] &lt;a href="https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/The_box_model" rel="noopener noreferrer"&gt;MDN Web Docs - The box model&lt;/a&gt;&lt;br&gt;
&lt;a id="ref3"&gt;&lt;/a&gt;[3] &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_box_model/Introduction_to_the_CSS_box_model" rel="noopener noreferrer"&gt;MDN Web Docs - Introduction to the CSS basic box model&lt;/a&gt;&lt;br&gt;
&lt;a id="ref4"&gt;&lt;/a&gt;[4] &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing" rel="noopener noreferrer"&gt;MDN Web Docs - box-sizing&lt;/a&gt;&lt;br&gt;
&lt;a id="ref5"&gt;&lt;/a&gt;[5] &lt;a href="https://www.w3schools.com/css/css_boxmodel.asp" rel="noopener noreferrer"&gt;W3Schools - CSS Box Model&lt;/a&gt;&lt;br&gt;
&lt;a id="ref6"&gt;&lt;/a&gt;[6] &lt;a href="https://www.w3schools.com/css/css3_box-sizing.asp" rel="noopener noreferrer"&gt;W3Schools - CSS Box Sizing&lt;/a&gt;&lt;br&gt;
&lt;a id="ref7"&gt;&lt;/a&gt;[7] &lt;a href="https://www.theodinproject.com/lessons/foundations-the-box-model#introduction" rel="noopener noreferrer"&gt;The Odin Project - Foundations Course - The Box Model&lt;/a&gt;&lt;br&gt;
&lt;a id="ref8"&gt;&lt;/a&gt;[8] &lt;a href="https://www.youtube.com/watch?v=nSst4-WbEZk" rel="noopener noreferrer"&gt;Learn CSS BOX MODEL - With Real World Examples&lt;/a&gt;&lt;br&gt;
&lt;a id="ref9"&gt;&lt;/a&gt;[9] &lt;a href="https://www.youtube.com/watch?v=rIO5326FgPEhttps://www.youtube.com/watch?v=rIO5326FgPE" rel="noopener noreferrer"&gt;Learn CSS Box Model in 8 minutes&lt;/a&gt;&lt;br&gt;
&lt;a id="ref10"&gt;&lt;/a&gt;[10] &lt;a href="https://www.youtube.com/watch?v=HdZHcFWcAd8" rel="noopener noreferrer"&gt;box-sizing: border-box (EASY!)&lt;/a&gt;&lt;br&gt;
&lt;a id="ref11"&gt;&lt;/a&gt;[11] &lt;a href="https://butterymilk.itch.io/tiny-wonder-farm-asset-pack" rel="noopener noreferrer"&gt;Assets utilizados nas imagens para os exemplos de Box Model&lt;/a&gt;&lt;br&gt;
&lt;a id="ref12"&gt;&lt;/a&gt;[12] &lt;a href="https://henrysoftware.itch.io/godot-pixel-food" rel="noopener noreferrer"&gt;Assets - Caneca de cerveja&lt;/a&gt;&lt;/p&gt;

</description>
      <category>css</category>
      <category>learning</category>
      <category>beginners</category>
      <category>braziliandevs</category>
    </item>
    <item>
      <title>Dicas de estudo para se manter atualizado em TI</title>
      <dc:creator>Felipe Murakami</dc:creator>
      <pubDate>Mon, 16 Oct 2023 15:02:27 +0000</pubDate>
      <link>https://forem.com/fhmurakami/dicas-de-estudo-para-se-manter-atualizado-em-ti-3l6f</link>
      <guid>https://forem.com/fhmurakami/dicas-de-estudo-para-se-manter-atualizado-em-ti-3l6f</guid>
      <description>&lt;p&gt;Se você decidiu entrar para o mundo da TI, já deve ter ouvido alguém falar que você vai ser um eterno estudante, pois precisamos estar sempre atualizados sobre as novidades da área e, ao mesmo tempo, aprofundar os conhecimentos que já possuímos.&lt;/p&gt;

&lt;p&gt;Segundo Andy Hunt, em &lt;strong&gt;Pensamento e Aprendizado Pragmático: Refatore seu cérebro&lt;/strong&gt; [1], as duas habilidades mais importantes hoje em dia são:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Habilidade de comunicação;&lt;/li&gt;
&lt;li&gt;Habilidade de aprendizagem e pensamento.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Neste artigo iremos focar na segunda habilidade, mas esta pode não ser uma tarefa tão simples quando se tem tanta informação à disposição e a cada dia nasce uma nova tecnologia. Portanto, antes de começar a tentar absorver tudo o que vê pela frente, talvez seja necessário estruturar o seu aprendizado, ou em outras palavras, aprender a aprender.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mas, afinal, o que é aprender?
&lt;/h2&gt;

&lt;p&gt;O termo &lt;strong&gt;aprendizagem&lt;/strong&gt; vem do latim &lt;em&gt;apprehendere&lt;/em&gt;, que significa “apoderar-se”, “tomar posse de”. Ou seja, ao aprender algo, estamos tomando posse desse conhecimento.&lt;/p&gt;

&lt;p&gt;Porém, esse termo muitas vezes traz uma bagagem negativa. Por exemplo, o formato do ensino aqui no Brasil, com aulas expositivas, é um pouco ultrapassado e pouco eficiente, pois é muito mais comum ver o conteúdo ser simplesmente despejado em cima do aluno, sem se importar de fato se ele está aprendendo ou não.&lt;/p&gt;

&lt;p&gt;É uma abordagem pouco eficiente, pois:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;A aprendizagem não é feita para você; é algo que você faz. Ou seja, o modelo que funciona para um, pode não funcionar para outro. Além disso, não é algo que alguém possa fazer por você, não é possível delegar essa tarefa.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Dominar o conhecimento por si só, sem experiência, não é eficaz.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Uma abordagem aleatória, sem metas e feedback, tende a gerar resultados aleatórios. Em outras palavras, isso dificultará a medição do seu progresso e você não saberá qual abordagem funciona melhor para você.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;O processo de aprendizado pode ser um pouco frustrante às vezes, afinal quem nunca ficou dias quebrando a cabeça tentando resolver um problema? Isso faz parte do aprendizado, quando estamos aprendendo algo novo, precisamos nos desafiar para conseguir evoluir. Mas podemos tornar esse processo um pouco menos frustrante, através da programação de ensino.&lt;/p&gt;

&lt;p&gt;Devemos ir aumentando o nível dos desafios aos poucos, para que a jornada não seja aversiva ao ponto de nos fazer querer desistir logo no começo, e possamos perceber nossa evolução ao longo do tempo. :)&lt;/p&gt;

&lt;p&gt;A seguir veremos como tornar a aprendizagem mais eficaz no mundo real, como acelerar a aprendizagem abordando-a de maneira mais metódica com as melhores ferramentas disponíveis para o trabalho em questão.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fshelgx408wyj2yn5bvgw.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fshelgx408wyj2yn5bvgw.jpg" alt="Imagem de mulher com livro no rosto" width="640" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Antes de mergulhar de cabeça nos livros, vamos aprender sobre alguns métodos de estudos.&lt;/p&gt;

&lt;p&gt;Para começar, vamos dar uma olhada mais de perto em como gerenciar metas e planejamento usando metas SMART e o Plano de Investimento Pragmático.&lt;/p&gt;

&lt;h2&gt;
  
  
  Metas SMART
&lt;/h2&gt;

&lt;p&gt;O termo SMART vem do inglês:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;S&lt;/strong&gt;pecific (Específico)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;M&lt;/strong&gt;easurable (Mensurável)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;A&lt;/strong&gt;chievable (Atingível)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;R&lt;/strong&gt;elevant (Relevante)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;T&lt;/strong&gt;ime-bound (Temporal)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Mas o que isso quer dizer?&lt;/p&gt;

&lt;h3&gt;
  
  
  Específico
&lt;/h3&gt;

&lt;p&gt;Devemos evitar objetivos muito genéricos como: “Quero emagrecer” ou ”Quero aprender Ruby on Rails”. O ideal é termos uma meta bem definida como: “Quero perder &lt;em&gt;x&lt;/em&gt; kg” ou “Quero ser capaz de criar uma página web utilizando Ruby on Rails”.&lt;/p&gt;

&lt;h3&gt;
  
  
  Mensurável
&lt;/h3&gt;

&lt;p&gt;Como saber que você atingiu seu objetivo? Você precisa ser capaz de medir seu progresso.&lt;/p&gt;

&lt;p&gt;Este item está bastante atrelado ao item anterior, pois é difícil medir algo genérico ou abstrato.&lt;/p&gt;

&lt;p&gt;Se você não conseguir mensurar seu objetivo, talvez não esteja sendo específico o bastante.&lt;/p&gt;

&lt;p&gt;É como em uma viagem, você não precisa enxergar seu destino final, apenas alguns metros à sua frente.&lt;/p&gt;

&lt;h3&gt;
  
  
  Atingível
&lt;/h3&gt;

&lt;p&gt;Como comentamos anteriormente, uma meta não atingível apenas gera frustração.&lt;/p&gt;

&lt;p&gt;Seja realista ao definir suas metas. “Quero perder 10kg em uma semana”, é praticamente impossível, a menos que você corte fora partes do seu corpo (espero que você não faça isso), ao invés disso, que tal começar com “Quero fazer 10 minutos de caminhada todo dia”?&lt;/p&gt;

&lt;p&gt;Seu objetivo deve ser atingível a partir do ponto em que você se encontra atualmente.&lt;/p&gt;

&lt;h3&gt;
  
  
  Relevante
&lt;/h3&gt;

&lt;p&gt;Seu objetivo precisa ser relevante para você, ou você irá perder a motivação.&lt;/p&gt;

&lt;p&gt;Novamente usando o exemplo da perca de peso, por que isso é importante para você?&lt;/p&gt;

&lt;p&gt;Um objetivo relevante poderia ser: “Quero perder peso, para conseguir jogar bola com meu filho”.&lt;/p&gt;

&lt;h3&gt;
  
  
  Temporal
&lt;/h3&gt;

&lt;p&gt;Por último, e talvez o item mais importante. Você precisa colocar um prazo para atingir seu objetivo.&lt;/p&gt;

&lt;p&gt;Sem um prazo, as chances de você deixar de lado sua meta aumentam, pois sempre irá aparecer algo “mais urgente/importante”.&lt;/p&gt;

&lt;p&gt;Por isso a importância de se ter metas pequenas e atingíveis, pequenos progressos frequentes são melhores do que um grande avanço que foi deixado de lado.&lt;/p&gt;

&lt;h2&gt;
  
  
  Defini minhas metas, e agora?
&lt;/h2&gt;

&lt;p&gt;Após definir suas metas, você deve criar um plano de ação para executá-las.&lt;/p&gt;

&lt;p&gt;O &lt;strong&gt;Plano de Investimento Pragmático&lt;/strong&gt; (PIP), de Andy Hunt e Dave Thomas [2], se baseia na ideia de que você deve gerenciar sua carteira de conhecimento com o mesmo cuidado que administraria uma carteira de investimentos financeiros.&lt;/p&gt;

&lt;p&gt;Segundo eles, apenas ter um plano já é um passo bastante eficaz para alcançar seus objetivos, mas há um ponto em que devemos estar atentos: geralmente, tendemos a deixar essas tarefas para nosso “tempo livre”, mas essa é uma receita para o fracasso, pois nunca teremos tempo “livre” de verdade.&lt;/p&gt;

&lt;p&gt;Devemos deliberadamente alocar um horário na agenda para nossa aprendizagem.&lt;/p&gt;

&lt;p&gt;O PIP define alguns pontos importantes a serem seguidos para a manutenção da nossa carteira de conhecimento:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tenha um plano concreto&lt;/strong&gt;: Está muito relacionado com as metas SMART, seja específico em seu plano; crie diferentes níveis de metas ao longo do tempo, por exemplo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Agora (Qual é a próxima ação que você pode realizar?);&lt;/li&gt;
&lt;li&gt;Metas para o próximo ano;&lt;/li&gt;
&lt;li&gt;Metas para daqui há cinco anos.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Estes prazos são apenas um exemplo, você deve adaptá-los conforme suas necessidades.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Diversifique&lt;/strong&gt;: Assim como nos investimentos financeiros, devemos diversificar nossa atenção, por exemplo entre a área técnica e a não técnica. Devemos sempre levar em consideração a relação &lt;strong&gt;risco versus retorno&lt;/strong&gt;, aprender uma tecnologia já consolidada no mercado tem baixo risco, mas o retorno é igualmente baixo pois há maior concorrência. Já focar em uma nova tecnologia que acabou de ser lançada tem alto risco, pois pode não vingar, mas também pode trazer um alto retorno pois há poucos profissionais no mercado. A parte boa é que, diferentemente dos investimentos financeiros, o investimento em conhecimento sempre terá algum valor.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Faça um investimento ativo, não passivo&lt;/strong&gt;: Assim como no mundo financeiro, é necessário parar e reavaliar sua carteira de tempo em tempos. Ainda faz sentido aprender o framework &lt;em&gt;x&lt;/em&gt;? Ou a linguagem &lt;em&gt;y&lt;/em&gt;? Reveja seu plano de ação constantemente e recalcule a rota caso necessário.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Faça um investimento regular&lt;/strong&gt;: Ao investir em ações, às vezes irá pagar muito barato, às vezes irá pagar caro, mas pensando no longo prazo, essas diferenças são suavizadas, e a empresa irá se valorizar, fazendo com que seu capital aumente. Devemos investir regularmente em nosso conhecimento também, criar um ritual e nos comprometer a dedicar um tempo mínimo para os estudos. E assim como os preços das ações podem variar, nem toda sessão de estudo será igualmente produtiva, mas ao realizá-las regularmente, no longo prazo seu conhecimento aumentará.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Para ajudar aproveitar ao máximo sua sessão de estudos, planeje o que irá fazer previamente. Vá ao banheiro, pegue uma bebida, separe os materiais necessários, elimine as distrações (deixe o celular em outro cômodo, ou no modo “Não perturbe”).&lt;/p&gt;

&lt;h2&gt;
  
  
  Que tipo de aprendizagem é melhor para você?
&lt;/h2&gt;

&lt;p&gt;Com suas metas e plano de estudos bem definidos, agora é hora de conhecer algumas formas de aprendizado [3], assim saberá quais métodos de estudo serão mais eficazes para você.&lt;/p&gt;

&lt;p&gt;Basicamente, podemos dividir em 3 grupos:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Visual&lt;/strong&gt;: São aqueles que precisam ver o material. Aprendem melhor com imagens, gráficos e até mesmo linguagem corporal;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Auditivo&lt;/strong&gt;: Aprendem melhor ouvindo. Deve buscar palestras, podcasts etc., até mesmo o tom de voz ou velocidade podem influenciar no aprendizado desse grupo;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Cinestésico&lt;/strong&gt;: São aqueles que precisam tocar/mover o material. Este tipo é bastante comum em esportes ou artes. Pessoas desse grupo geralmente precisam “por a mão na massa” para aprender.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Lembrando que você não precisa se encaixar apenas em um único grupo, irá depender da habilidade que está tentando desenvolver. Teste abordagens diferentes e descubra quais irão te ajudar a aprender com mais facilidade.&lt;/p&gt;

&lt;h2&gt;
  
  
  Chega de enrolação, vamos à prática
&lt;/h2&gt;

&lt;p&gt;A seguir serão apresentados alguns métodos de estudo que podem te ajudar a fixar o conteúdo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Divida o conteúdo em pequenas partes&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Alguns estudos apontam que as pessoas tendem a se lembrar melhor das coisas quando aprendem algo novo em pequenas doses, ao invés de tentar digerir todo o conteúdo de uma só vez.&lt;/p&gt;

&lt;p&gt;Isso está relacionado com a capacidade da nossa memória de trabalho [4] e a forma como nosso cérebro transforma memórias de curto prazo em memórias de longo prazo. Ao tentar consumir todo o conteúdo de uma vez, estamos lidando com uma grande quantidade de informações, porém nossa memória de trabalho não consegue armazenar tudo isso e a tendência é que nos esqueçamos de boa parte do que aprendemos.&lt;/p&gt;

&lt;p&gt;Além disto, o ser humano não consegue se manter completamente focado em uma atividade por períodos muito longos, por isso é importante distribuir o conteúdo em sessões menores. Esta técnica é chamada de Prática Distribuída [5], e ela não apenas nos ajuda a nos mantermos focados como também a fixar melhor o conteúdo, pois ao retomar o mesmo assunto após um tempo, nosso cérebro entende que aquilo é importante e irá reter esse conhecimento na memória de longo prazo.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Técnica Pomodoro&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;del&gt;Para esta técnica iremos precisar de 5 tomates, 2 dentes de alho..&lt;/del&gt;&lt;/p&gt;

&lt;p&gt;Esta técnica foi desenvolvida por um italiano chamado Francesco Cirillo [6] e, apesar do nome, nada tem a ver com tomates (pomodoro, em italiano).&lt;/p&gt;

&lt;p&gt;Buscando aumentar sua produtividade nos estudos, ele utilizou um timer de cozinha para se manter focado em suas atividades durante o tempo estipulado.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8cujqmck3uesqz28f1s9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8cujqmck3uesqz28f1s9.png" alt="Timer de cozinha em formato de tomate" width="680" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Timer utilizado por Francesco Cirillo, motivo dele ter batizado a técnica com o nome Pomodoro.&lt;/p&gt;

&lt;p&gt;Esta prática está diretamente ligada com a &lt;em&gt;Prática Distribuída&lt;/em&gt;, e consiste em:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Ajustar um timer para o tempo desejado;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Trabalhar na tarefa escolhida sem interrupções;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fazer uma pequena pausa quando o alarme tocar.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Este ciclo é chamado de "pomodoro", normalmente utiliza-se um período de 25 minutos focados, seguidos de 5 minutos de descanso. Ao completar 4 "pomodoros", deve-se fazer uma pausa um pouco maior, de 10 a 15 minutos.&lt;/p&gt;

&lt;p&gt;Esses tempos são apenas uma sugestão, o ideal é que você teste e ajuste de acordo com sua necessidade.&lt;/p&gt;

&lt;p&gt;Caso você não possua um timer de cozinha, há alguns sites e aplicativos que você pode utilizar para aplicar esta técnica, como &lt;em&gt;TomatoTimer&lt;/em&gt; ou &lt;em&gt;Pomofocus.io&lt;/em&gt;, entre outros. Basta procurar no Google por "&lt;em&gt;pomodoro timer&lt;/em&gt;".&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SQ3R&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Há indícios de que a leitura é um dos meios menos eficazes de se aprender, uma vez que o ser humano é bastante visual e aprende muito bem observando e imitando comportamentos. Como por exemplo, um bebê que aprende a falar e caminhar apenas observando os adultos.&lt;/p&gt;

&lt;p&gt;Porém há uma técnica conhecida como &lt;em&gt;SQ3R&lt;/em&gt; [6], que é capaz de aumentar a eficácia da leitura. Esta é uma sigla que vem do inglês: &lt;em&gt;&lt;strong&gt;S&lt;/strong&gt;urvey&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;Q&lt;/strong&gt;uestion&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;R&lt;/strong&gt;ead&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;R&lt;/strong&gt;ecite&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;R&lt;/strong&gt;eview&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Iremos abordar cada uma das etapas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Survey (Inspecione/pesquise)&lt;/strong&gt;: Analise o sumário, os resumos, títulos e subtítulos dos capítulos, bem como imagens e tabelas, para ter uma visão geral do conteúdo do livro.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Question (Questione)&lt;/strong&gt;: Anote suas dúvidas a respeito dos temas de cada capítulo, o que você espera aprender em cada um deles? Quais assuntos estão relacionados?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Read (Leia)&lt;/strong&gt;: Leia todo o conteúdo buscando as respostas para as perguntas feitas anteriormente, destaque trechos que julgar importante.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Recite (Recite)&lt;/strong&gt;: Faça resumos, anotações, escreva com suas próprias palavras o que entendeu. Você também pode falar em voz alta ou mentalmente, como se estivesse explicando para alguém.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Review (Revise)&lt;/strong&gt;: Releia brevemente o material e/ou suas anotações, veja se pode fazer melhorias nelas. O processo de revisão é uma processo contínuo, e pode ser feito entre um capítulo e outro, ou até entre cada sessão de estudo.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Aqui, o importante é não ter pressa para terminar a leitura, se necessário, diminua o ritmo nas partes mais difíceis, releia até compreender bem o assunto. Caso ainda sobre dúvidas, tente procurar em outras fontes, discutir o assunto com alguém (as comunidades online são uma ótima opção).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Faça revisões periódicas&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Como dito anteriormente, o processo de revisão deve ser contínuo para que não esqueçamos o que aprendemos.&lt;/p&gt;

&lt;p&gt;O conceito de &lt;em&gt;curva do esquecimento&lt;/em&gt; [8] foi criado pelo psicólogo alemão Hermann Ebbinghaus. Em seus estudos a respeito da nossa memória, ele conseguiu demonstrar, através de uma representação gráfica, a relação entre as informações adquiridas e o tempo em que elas permanecem em nossa memória, como pode ser visto na imagem abaixo.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwx866nw5ktm76zheghno.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwx866nw5ktm76zheghno.jpg" alt="Curva do esquecimento - Hermann Ebbinghaus" width="800" height="852"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ebbinghaus notou que, em 24 horas, entre 50% a 80% do aprendizado havia sido perdido. Nosso cérebro não consegue absorver grandes quantidades de informação ao mesmo tempo, e as informações menos utilizadas, é como se ele enviasse para a &lt;em&gt;Lixeira&lt;/em&gt;, e após alguns dias, caso essas informações não sejam "restauradas", é realizada a exclusão definitiva.&lt;/p&gt;

&lt;p&gt;Para evitar esse processo, devemos realizar revisões periódicas, assim seu cérebro irá entender que esta informação é importante e irá retê-la em sua memória de longo prazo.&lt;/p&gt;

&lt;p&gt;Esta prática de revisões é conhecida como &lt;em&gt;Sistema de Repetição Espaçada (SRE)&lt;/em&gt; [9], e se baseia na curva do esquecimento para propor os melhores momentos para realizar as revisões.&lt;/p&gt;

&lt;p&gt;O SRE é dividido em 5 etapas de revisão:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;1ª Revisão - Imediata&lt;/strong&gt;: Assim que terminar de ver o conteúdo, revise os pontos mais importantes por 5 a 10 minutos.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;2ª Revisão - após 24 horas&lt;/strong&gt;: Faça revisões de 10 minutos&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;3ª Revisão - após 7 dias&lt;/strong&gt;: Faça revisões de 5 a 10 minutos&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;4ª Revisão - após 30 dias&lt;/strong&gt;: Faça revisões de 5 minutos&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;5ª Revisão - a cada 30 dias&lt;/strong&gt;: Faça revisões de 5 minutos&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Estas revisões podem ser: rever suas anotações, realizar exercícios ou construir mapas mentais, veremos sobre isso a seguir.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Mapas mentais&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Os mapas mentais [10] são uma maneira visual de organizar e representar informações. Eles funcionam como uma espécie de diagrama mental, que permite representar de forma clara e concisa as informações. Além disso, os mapas mentais são fáceis de usar e personalizar, o que significa que podem ser adaptados aos interesses e necessidades de cada um.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F02xnw80zh33umur4oqpz.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F02xnw80zh33umur4oqpz.gif" alt="Exemplo de mapa mental" width="800" height="661"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para criar um mapa mental, é preciso escolher um tema ou assunto e começar a desenhar um diagrama com ramificações para as ideias relacionadas. É importante usar imagens, símbolos e cores para tornar o mapa mais atraente e memorável. Além disso, os títulos das ramificações devem ser curtos e claros para facilitar a leitura.&lt;/p&gt;

&lt;p&gt;O objetivo dos mapas mentais é ajudar a estabelecer conexões entre os assuntos e facilitar a compreensão dos conceitos relacionados. Ao criar conexões entre ideias, é possível ver como as informações estão relacionadas entre si e como elas formam uma estrutura mais ampla. Isso pode ajudar a identificar padrões e relações importantes que podem não ser óbvias de outra forma.&lt;/p&gt;

&lt;p&gt;E se você descobrir mais sobre o assunto? Não tem problema! Basta atualizar o seu mapa mental.&lt;/p&gt;

&lt;p&gt;Em resumo, os mapas mentais são uma ferramenta valiosa para quem deseja melhorar o seu aprendizado e a retenção de informações. Eles ajudam a visualizar o material de uma forma clara e concisa, além de forçar o cérebro a processar as informações de uma forma mais ativa. Se você ainda não experimentou criar mapas mentais, vale a pena dar uma chance e ver como eles podem ajudar na sua jornada de aprendizado.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Ensine&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Aprender ensinando é uma abordagem de estudo eficaz que ajuda a solidificar o conhecimento e aprofundar a compreensão de um assunto. Quando se ensina algo, é necessário explicar o assunto de forma clara e concisa, o que pode ajudar a identificar áreas que ainda não são compreendidas. Além disso, o ato de ensinar ajuda a criar uma ligação mais forte com o assunto, o que pode aumentar a memória e a capacidade de lembrar informações.&lt;/p&gt;

&lt;p&gt;Ensinar pode ser feito de muitas maneiras, como explicar a alguém, dar uma palestra ou apresentação, escrever um artigo ou resumo, ou até mesmo explicar para um patinho de borracha (ou qualquer outro objeto inanimado).&lt;/p&gt;


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/CCHZomtD79D/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;


&lt;p&gt;Há uma técnica conhecida como &lt;em&gt;Rubber duck debugging&lt;/em&gt; [11], ou &lt;em&gt;Debug com Pato de borracha&lt;/em&gt;, que basicamente consiste em tentar explicar o problema para um pato de borracha, decrevendo o código linha a linha. A ideia é que, ao explicar o problema em detalhes para o pato, você consiga identificar a raiz do problema e encontrar uma solução, pois este processo ajuda a organizar os pensamentos e a ter uma visão mais clara.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dicas extras&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Exercite-se antes de estudar&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Exercitar-se antes de estudar pode ter várias vantagens [12], tanto para a saúde física quanto mental. Algumas dessas vantagens incluem:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Aumento da energia&lt;/strong&gt;: O exercício ajuda a liberar endorfinas, que são substâncias químicas responsáveis por aumentar a sensação de bem-estar e aumentar a energia. Isso pode ajudar a mantê-lo alerta e concentrado durante o estudo.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Melhora da memória&lt;/strong&gt;: O exercício físico ajuda a estimular a circulação sanguínea e a oxigenação do cérebro, o que pode melhorar a capacidade de retenção de informações e aumentar a memória.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Redução do estresse&lt;/strong&gt;: O estresse pode ser um grande obstáculo para o foco e a formação da memória (graças ao hormônio cortisol), realizar exercícios físicos pode ajudar a reduzir o estresse e a ansiedade, e melhorar o bem-estar geral e a concentração.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Aumento da autoestima&lt;/strong&gt;: O exercício físico pode ajudar a aumentar a autoestima e a confiança, o que pode ter um impacto positivo na motivação e na concentração durante o estudo.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Melhora da qualidade do sono&lt;/strong&gt;: O exercício físico regular pode ajudar a melhorar a qualidade do sono, o que é fundamental para uma boa saúde mental e física e para um melhor desempenho acadêmico.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Tenha um grupo de estudos&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ter um grupo de estudos no trabalho pode trazer muitas vantagens tanto para os indivíduos quanto para a equipe e a organização como um todo. Algumas dessas vantagens incluem:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Aprendizado compartilhado&lt;/strong&gt;: Um grupo de estudos permite que os membros da equipe compartilhem seus conhecimentos e habilidades, o que pode ajudar a preencher lacunas no entendimento e aumentar a compreensão do assunto.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Melhoria da colaboração&lt;/strong&gt;: Estudar em grupo pode ajudar a construir relações de trabalho mais fortes e melhorar a colaboração entre os membros da equipe.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Desenvolvimento profissional&lt;/strong&gt;: Participar de um grupo de estudos no trabalho pode ajudar os membros da equipe a desenvolver habilidades e conhecimentos importantes para seu crescimento profissional.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Solução de problemas&lt;/strong&gt;: Discutir questões e fazer perguntas em um grupo de estudos pode ajudar a encontrar soluções para problemas complexos e aumentar a eficiência na resolução de tarefas.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Inovação&lt;/strong&gt;: O compartilhamento de conhecimentos e perspectivas diferentes em um grupo de estudos pode levar a novas ideias e inovações que podem ser aplicadas no trabalho.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Tente manter o grupo com não mais do que oito pessoas, pois grupos menores permitem que todos participem ativamente.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Não tenha medo de errar&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Nosso cérebro não foi feito para simplesmente absorver conteúdo passivamente e armazená-lo em nossa memória. Devemos praticar para consolidar este conhecimento.&lt;/p&gt;

&lt;p&gt;Durante a prática, você irá cometer erros, ficará confuso e/ou frustrado. Tome um tempo para analisar o erro e tentar entendê-lo, procurar erros semelhantes que você já tenha resolvido pode te ajudar a seguir em frente.&lt;/p&gt;

&lt;p&gt;Costumamos ver o fracasso como algo extremamente negativo, algo a ser evitado a qualquer custo. Não tenha medo ou vergonha de dizer "Eu não sei".&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Acertar na primeira vez não é importante; o importante é acertar na última vez. [13]&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Tenha um ambiente onde seja seguro testar, sem se preocupar com o resultado. Se no trabalho você não tiver um ambiente de teste que possa quebrar, teste em um projeto pessoal.&lt;/p&gt;

&lt;p&gt;Outra forma de reduzir o medo de errar é poder reverter suas alterações para um estado anterior, e o Git é ótimo para isso (caso não saiba o que é Git vale a pena dar uma olhada neste artigo &lt;a href="https://www.atlassian.com/br/git/tutorials/what-is-version-control" rel="noopener noreferrer"&gt;O que é controle de versão?&lt;/a&gt; [14]). Testes automatizados [15] também podem aumentar sua confiança na hora de realizar uma alteração, pois ajudam a garantir que tudo continuará funcionando como o esperado.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusão
&lt;/h2&gt;

&lt;p&gt;Como dito no início deste artigo, a área de TI está em constante evolução (enquanto você lê esse artigo, um novo framework já deve ter sido lançado). Com tanta informação disponível, é normal nos sentirmos meio perdidos de vez em quando.&lt;/p&gt;

&lt;p&gt;Espero que com as dicas desse artigo você consiga se manter motivado nos estudos. Não tenha pressa, vá no seu ritmo e lembre-se:&lt;/p&gt;


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/Cm9QxXVrftF/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;


&lt;h2&gt;
  
  
  Críticas e sugestões são bem-vindas, caso queira compartilhar alguma dica que não foi citada, deixe nos comentários. :)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Referências&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;[1] &lt;a href="https://www.casadocodigo.com.br/products/livro-pensamento-aprendizado" rel="noopener noreferrer"&gt;Pensamento e Aprendizado Pragmático: Refatore seu cérebro - Capítulo 1 - Andy Hunt&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;[2] &lt;a href="https://www.casadocodigo.com.br/products/livro-pensamento-aprendizado" rel="noopener noreferrer"&gt;Pensamento e Aprendizado Pragmático: Refatore seu cérebro - Seção 6.3 - Andy Hunt&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;[3] &lt;a href="https://www.hotcourses.com.br/study-abroad-info/once-you-arrive/tipos-de-aprendizado-auditivo-cinestesico-e-visual/" rel="noopener noreferrer"&gt;Tipos de aprendizagem&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;[4] &lt;a href="https://pt.wikipedia.org/wiki/Mem%C3%B3ria_de_trabalho" rel="noopener noreferrer"&gt;Memória de trabalho&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;[5] &lt;a href="https://enembulando.com.br/estudando-efetivamente-com-a-pratica-distribuida" rel="noopener noreferrer"&gt;Prática Distribuída&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;[6] &lt;a href="https://francescocirillo.com/products/the-pomodoro-technique" rel="noopener noreferrer"&gt;Técnica Pomodoro&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;[7] &lt;a href="https://estudoesquematizado.com.br/sq3r/" rel="noopener noreferrer"&gt;Método SQ3R&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;[8] &lt;a href="https://www.twygoead.com/site/blog/curva-de-esquecimento/" rel="noopener noreferrer"&gt;Curva do esquecimento de Ebbinghaus&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;[9] &lt;a href="https://www.blogdoead.com.br/tag/metodologias-de-estudo/repeticao-espacada" rel="noopener noreferrer"&gt;SRE - Sistema de Repetição Espaçada&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;[10] &lt;a href="https://neilpatel.com/br/blog/mapas-mentais-o-que-e/" rel="noopener noreferrer"&gt;O que é Mapa Mental?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;[11] &lt;a href="https://pt.wikipedia.org/wiki/Debug_com_Pato_de_Borracha" rel="noopener noreferrer"&gt;Debug com Pato de Borracha&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;[12] &lt;a href="https://www.collegeraptor.com/find-colleges/articles/tips-tools-advice/5-study-hacks-proven-by-science-and-why-they-work/" rel="noopener noreferrer"&gt;5 Study Hacks Proven By Science - College Raptor Blog&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;[13] &lt;a href="https://www.casadocodigo.com.br/products/livro-pensamento-aprendizado" rel="noopener noreferrer"&gt;Pensamento e Aprendizado Pragmático: Refatore seu cérebro - Seção 7.3 - Andy Hunt&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;[14] &lt;a href="https://www.atlassian.com/br/git/tutorials/what-is-version-control" rel="noopener noreferrer"&gt;O que é controle de versão?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;[15] &lt;a href="https://dayvsonlima.medium.com/entenda-de-uma-vez-por-todas-o-que-s%C3%A3o-testes-unit%C3%A1rios-para-que-servem-e-como-faz%C3%AA-los-2a6f645bab3" rel="noopener noreferrer"&gt;Entenda de uma vez por todas o que são testes unitários, para que servem e como fazê-los&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Imagens&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;[1] &lt;a href="https://unsplash.com/pt-br/fotografias/hgFY1mZY-Y0" rel="noopener noreferrer"&gt;Imagem de mulher com livro no rosto&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;[2] &lt;a href="https://www.istockphoto.com/br/foto/pomodoro-t%C3%A9cnica-de-gm509628331-45947620" rel="noopener noreferrer"&gt;Timer em formato de tomate&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;[3] &lt;a href="https://www.twygoead.com/site/blog/curva-de-esquecimento/" rel="noopener noreferrer"&gt;Curva do esquecimento de Ebbinghaus&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;[4] &lt;a href="https://gogeometry.com/software/programming-paradigms-sw-mind-map.htm" rel="noopener noreferrer"&gt;Imagem de exemplo de um mapa mental&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;[5] &lt;a href="https://www.instagram.com/p/CCHZomtD79D/" rel="noopener noreferrer"&gt;A post shared by Mariana Andrello (@oimare)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;[6] &lt;a href="https://www.instagram.com/p/Cm9QxXVrftF/" rel="noopener noreferrer"&gt;Guilherme Bandeira on Instagram: "🐌"&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Mais algumas referências que podem ser úteis&lt;/p&gt;

&lt;p&gt;&lt;a href="https://todoist.com/pt-BR/productivity-methods/pomodoro-technique" rel="noopener noreferrer"&gt;The Pomodoro Technique - Why It Works &amp;amp; How To Do It&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://pt.wikipedia.org/wiki/T%C3%A9cnica_pomodoro" rel="noopener noreferrer"&gt;Técnica pomodoro - Wikipédia, a enciclopédia livre&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/pulse/como-aplicar-o-m%C3%A9todo-sq3r-para-estudar-de-forma-mais-mario-coseglio/?trk=pulse-article_more-articles_related-content-card&amp;amp;originalSubdomain=pt" rel="noopener noreferrer"&gt;Como aplicar o método SQ3R para estudar de forma mais efetiva e aprimorar o aprendizado (um exemplo prático)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://canaldoestudante.com.br/metodo-sq3r-de-leitura/" rel="noopener noreferrer"&gt;As 5 etapas do método SQ3R para leitura&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://uwaterloo.ca/campus-wellness/curve-forgetting" rel="noopener noreferrer"&gt;Curve of Forgetting | Campus Wellness&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/@princessmiwi/um-resumo-do-curso-aprendendo-a-aprender-de-barbara-oakley-8d7253f51d21" rel="noopener noreferrer"&gt;Um Resumo do Curso "Aprendendo a Aprender", de Barbara Oakley&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=O96fE1E-rf8" rel="noopener noreferrer"&gt;TEDx - Learning how to learn - Barbara Oakley&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para quem se interessou pelo livro, esse artigo do &lt;a class="mentioned-user" href="https://dev.to/evertones"&gt;@evertones&lt;/a&gt; comenta sobre alguns pontos que não foram abordados aqui (em inglês):&lt;br&gt;
&lt;a href="https://dev.to/evertones/pragmatic-thinking-and-learning-45bf"&gt;Book: Pragmatic Thinking and Learning&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://fia.com.br/blog/mapas-mentais-beneficios-como-construir-dicas-e-modelos/" rel="noopener noreferrer"&gt;Mapas mentais: benefícios, como construir, dicas e modelos&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://git-scm.com/doc" rel="noopener noreferrer"&gt;Documentação oficial do Git&lt;/a&gt;&lt;/p&gt;

</description>
      <category>learning</category>
      <category>braziliandevs</category>
      <category>career</category>
    </item>
  </channel>
</rss>
