<?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>DEV Community: Nana</title>
    <description>The latest articles on DEV Community by Nana (@shebangbash).</description>
    <link>https://dev.to/shebangbash</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%2F252314%2Fe61c4b6a-d7b5-4507-9ea0-f3cb0a14f77a.jpeg</url>
      <title>DEV Community: Nana</title>
      <link>https://dev.to/shebangbash</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shebangbash"/>
    <language>en</language>
    <item>
      <title>Tornado 🌪️ and Load Balancing Tutorial</title>
      <dc:creator>Nana</dc:creator>
      <pubDate>Fri, 18 Aug 2023 23:36:23 +0000</pubDate>
      <link>https://dev.to/shebangbash/tornado-and-load-balancing-tutorial-2fc2</link>
      <guid>https://dev.to/shebangbash/tornado-and-load-balancing-tutorial-2fc2</guid>
      <description>&lt;p&gt;This tutorial will guide you through setting up the Tornado web framework, creating a simple "Hello, world" application, and implementing load balancing using NGINX. 🌪️&lt;/p&gt;

&lt;h2&gt;
  
  
  Tornado Web Framework
&lt;/h2&gt;

&lt;p&gt;Tornado is a Python web framework and asynchronous networking library originally developed by FriendFeed. It leverages non-blocking network I/O, allowing it to scale to handle numerous open connections. This makes it ideal for tasks such as long polling, WebSockets, and applications requiring persistent connections for each user. You can find more information in the official &lt;a href="https://www.tornadoweb.org/en/stable/"&gt;documentation&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;

&lt;p&gt;Installing Tornado is straightforward using &lt;code&gt;pip3&lt;/code&gt;:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pip3 install tornado&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Hello World Application
&lt;/h2&gt;

&lt;p&gt;Let's start by creating a basic "Hello, world" application using Tornado.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a file named &lt;code&gt;HelloWorld.py&lt;/code&gt; and add the following code:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;tornado.ioloop&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;tornado.web&lt;/span&gt;

&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;MainHandler&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tornado&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;web&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;RequestHandler&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello, world"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;make_app&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;tornado&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;web&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Application&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
        &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;r&lt;/span&gt;&lt;span class="s"&gt;"/"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;MainHandler&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="p"&gt;])&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;"__main__"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;app&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;make_app&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;listen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;8888&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;tornado&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ioloop&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;IOLoop&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;current&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="n"&gt;start&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Run the application in your terminal:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;python3 HelloWorld.py&lt;/code&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Access the application in your browser at &lt;code&gt;http://localhost:8888&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Load Balancing with Tornado and NGINX
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Understanding Load Balancing
&lt;/h3&gt;

&lt;p&gt;Load balancing is a technique used in computer networking to distribute incoming network traffic across multiple servers. The primary goal of load balancing is to ensure optimal utilization of resources, enhance performance, and maintain high availability for web applications.&lt;/p&gt;

&lt;p&gt;By distributing traffic across multiple servers, load balancing prevents any single server from becoming overwhelmed by a large number of requests, leading to improved response times and reduced downtime.&lt;/p&gt;

&lt;h3&gt;
  
  
  Balancing Multiple Servers
&lt;/h3&gt;

&lt;p&gt;Now, let's delve into load balancing by creating multiple instances of the server using Tornado.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a file named &lt;code&gt;index.py&lt;/code&gt; and add the following code:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;tornado.ioloop&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;tornado.web&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;sys&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;os&lt;/span&gt;

&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;basicRequestHandler&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tornado&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;web&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;RequestHandler&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"Served from &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getpid&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;"__main__"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;app&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tornado&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;web&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Application&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
        &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;r&lt;/span&gt;&lt;span class="s"&gt;"/basic"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;basicRequestHandler&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;])&lt;/span&gt;

    &lt;span class="n"&gt;port&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;8882&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;argv&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;__len__&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;port&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sys&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;argv&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

    &lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;listen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;port&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"Application is ready and listening on port &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;port&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;tornado&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ioloop&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;IOLoop&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;current&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="n"&gt;start&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Run the application in your terminal:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;python3 index.py&lt;/code&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Access the application in your browser at &lt;code&gt;http://localhost:8882/basic&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;To explore load balancing, run the application on different ports:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;python3 index.py 1111 python3 index.py 2222 python3 index.py 3333&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You'll notice that the server number changes as you access the URL in different browsers.&lt;/p&gt;

&lt;h3&gt;
  
  
  Using NGINX for Load Balancing
&lt;/h3&gt;

&lt;p&gt;To automate the process of load balancing, we will utilize NGINX.&lt;/p&gt;

&lt;h4&gt;
  
  
  Installation
&lt;/h4&gt;

&lt;p&gt;Install NGINX based on your operating system. Detailed instructions can be found in the official &lt;a href="https://www.nginx.com/resources/wiki/start/topics/tutorials/install/"&gt;documentation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;After installation, start NGINX using:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo nginx&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Writing the Configuration File
&lt;/h4&gt;

&lt;p&gt;Create a new file named &lt;code&gt;python.conf&lt;/code&gt; and define the servers, ports, and URLs for NGINX to balance:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight conf"&gt;&lt;code&gt;&lt;span class="n"&gt;upstream&lt;/span&gt; &lt;span class="n"&gt;pythonweb&lt;/span&gt;{

    &lt;span class="n"&gt;server&lt;/span&gt; &lt;span class="n"&gt;localhost&lt;/span&gt;:&lt;span class="m"&gt;1111&lt;/span&gt;;
    &lt;span class="n"&gt;server&lt;/span&gt; &lt;span class="n"&gt;localhost&lt;/span&gt;:&lt;span class="m"&gt;2222&lt;/span&gt;;
    &lt;span class="n"&gt;server&lt;/span&gt; &lt;span class="n"&gt;localhost&lt;/span&gt;:&lt;span class="m"&gt;3333&lt;/span&gt;;
}

&lt;span class="n"&gt;server&lt;/span&gt;{
    &lt;span class="n"&gt;listen&lt;/span&gt; &lt;span class="m"&gt;80&lt;/span&gt;;

    &lt;span class="n"&gt;location&lt;/span&gt; /&lt;span class="n"&gt;basic&lt;/span&gt;{
        &lt;span class="n"&gt;proxy_pass&lt;/span&gt; &lt;span class="s2"&gt;"http://pythonweb/basic"&lt;/span&gt;;
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Explanation of &lt;code&gt;upstream&lt;/code&gt;: An &lt;code&gt;upstream&lt;/code&gt; defines a "cluster" to which you can send proxy requests. It's commonly used to define a cluster of web servers for load balancing or a cluster of application servers for routing/balancing.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  Configuring NGINX
&lt;/h4&gt;

&lt;p&gt;Navigate to the NGINX configuration files:&lt;/p&gt;

&lt;p&gt;bashCopy code&lt;/p&gt;

&lt;p&gt;&lt;code&gt;cd /usr/local/etc/nginx/&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Open the file &lt;code&gt;nginx.conf.default&lt;/code&gt;. Add the line &lt;code&gt;include /path/to/folder/with/python.conf&lt;/code&gt; below the line &lt;code&gt;include servers/*;&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Be careful not to modify other parts of the NGINX configuration.&lt;/p&gt;

&lt;p&gt;After making the configuration changes, reload NGINX settings:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo nginx -s reload&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Load Balancer Ready
&lt;/h4&gt;

&lt;p&gt;Your load balancer is now ready. Run the Tornado application using:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;python3 index.py&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Access the application in your browser at &lt;code&gt;http://localhost:8882/basic&lt;/code&gt;. You will observe different server numbers, indicating successful load balancing.&lt;/p&gt;

&lt;p&gt;By following these steps, you've set up a basic Tornado web application and implemented load balancing using NGINX. This tutorial provides a starting point for exploring more advanced features and configurations of both Tornado and NGINX.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Webhook and Ansible</title>
      <dc:creator>Nana</dc:creator>
      <pubDate>Fri, 18 Aug 2023 22:47:46 +0000</pubDate>
      <link>https://dev.to/shebangbash/webhook-and-ansible-5hd4</link>
      <guid>https://dev.to/shebangbash/webhook-and-ansible-5hd4</guid>
      <description>&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Installation&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Usage&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Routes and Endpoints&lt;/strong&gt;

&lt;ol&gt;
&lt;li&gt;GET Method - '/'&lt;/li&gt;
&lt;li&gt;POST Method - '/webhook'&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Running the Server&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Testing the Webhook&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automating Webhook Setup and Testing with Ansible&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Webhooks and Ansible: Brief Explanation:&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  1. Introduction
&lt;/h2&gt;

&lt;p&gt;This documentation outlines the functionality and usage of a Flask web server that acts as a webhook listener. The server responds to GET requests to confirm its operational status and listens for POST requests on a designated endpoint to process incoming webhook data.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Installation
&lt;/h2&gt;

&lt;p&gt;Before using this code, ensure you have Ansible and Flask installed. You can install Flask using the command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pip3 install Flask&lt;/code&gt; and &lt;code&gt;pip3 install ansible&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Usage
&lt;/h2&gt;

&lt;p&gt;The provided code establishes a Flask web server with two primary routes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;flask&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Flask&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;request&lt;/span&gt;



&lt;span class="n"&gt;HTTP_METHODS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'GET'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;'POST'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;



&lt;span class="n"&gt;app&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Flask&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;__name__&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;



&lt;span class="c1"&gt;# ADD A GET METHOD TO CHECK IF THE SERVER IS RUNNING
&lt;/span&gt;
&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;route&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'/'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;methods&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'GET'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;index&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;

&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s"&gt;"Running!"&lt;/span&gt;



&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;route&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'/webhook'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;methods&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'POST'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;webhook_listener&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;

&lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;

&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Received the data:"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s"&gt;"Success!"&lt;/span&gt;



&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;'__main__'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;

&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;host&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"0.0.0.0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;port&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;5000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;debug&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  4. Routes and Endpoints
&lt;/h2&gt;

&lt;h3&gt;
  
  
  4.1. GET Method - '/'
&lt;/h3&gt;

&lt;p&gt;This route is designed to verify the server's status. It responds with a simple "Running!" message.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Endpoint:&lt;/strong&gt; &lt;a href="http://localhost:5000/"&gt;http://localhost:5000/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4.2. POST Method - '/webhook'
&lt;/h3&gt;

&lt;p&gt;This route receives webhook data via a POST request. Upon receiving the request, the server prints the received JSON data and returns a success message.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Endpoint:&lt;/strong&gt; &lt;a href="http://localhost:5000/webhook"&gt;http://localhost:5000/webhook&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Running the Server
&lt;/h2&gt;

&lt;p&gt;To start the server, execute the script in a terminal:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;python3 script_name.py&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Replace &lt;code&gt;script_name.py&lt;/code&gt; with the actual name of the script containing the provided code. The server will run on &lt;code&gt;http://localhost:5000&lt;/code&gt; by default.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Testing the Webhook
&lt;/h2&gt;

&lt;p&gt;The code includes a comprehensive unit test suite for evaluating webhook functionality. The test emulates a POST request to the &lt;code&gt;/webhook&lt;/code&gt; endpoint with JSON data.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;unittest&lt;/span&gt;

&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;webhook&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;app&lt;/span&gt;



&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;TestWebhook&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;unittest&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;TestCase&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;setUp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;

&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;app&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;test_client&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;



&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;test_webhook_listener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;

&lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="s"&gt;"key"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;"value"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;

&lt;span class="s"&gt;"another_key"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;"another_value"&lt;/span&gt;

&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'/webhook'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;assertEqual&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;status_code&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;assertEqual&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;decode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'utf-8'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="s"&gt;"Webhook working with success!"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;



&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;'__main__'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;

&lt;span class="n"&gt;unittest&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run the tests using the following command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;python3 test_script_name.py&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Replace &lt;code&gt;test_script_name.py&lt;/code&gt; with the name of the test script containing the provided test code.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Automating Webhook Setup and Testing with Ansible
&lt;/h2&gt;

&lt;p&gt;This section introduces an Ansible playbook that automates both the setup and testing of the Flask web server and webhook functionality. The playbook initiates the Flask app, waits for it to become operational, and then executes unit tests. To run the playbook, save it as &lt;code&gt;setup_and_test.yml&lt;/code&gt;, replace the path on &lt;code&gt;command&lt;/code&gt; and use the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;

&lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Automate Local Webhook Setup and Test&lt;/span&gt;

&lt;span class="na"&gt;hosts&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;localhost&lt;/span&gt;

&lt;span class="na"&gt;connection&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;local&lt;/span&gt;

&lt;span class="na"&gt;gather_facts&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="no"&gt;false&lt;/span&gt;



&lt;span class="na"&gt;tasks&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;

&lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Run Webhook App&lt;/span&gt;

&lt;span class="na"&gt;command&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;python3 path/for/your/test/scrip&lt;/span&gt;

&lt;span class="na"&gt;async&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;45&lt;/span&gt;

&lt;span class="na"&gt;poll&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;



&lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Wait for the app to start&lt;/span&gt;

&lt;span class="na"&gt;local_action&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;wait_for&lt;/span&gt;

&lt;span class="s"&gt;host=127.0.0.1&lt;/span&gt;

&lt;span class="s"&gt;port=5000&lt;/span&gt;

&lt;span class="s"&gt;timeout=60&lt;/span&gt;



&lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Run unit tests&lt;/span&gt;

&lt;span class="na"&gt;command&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;python3 path/for/your/test/scrip&lt;/span&gt;

&lt;span class="na"&gt;register&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;result&lt;/span&gt;

&lt;span class="na"&gt;failed_when&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;result.rc != &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;

&lt;span class="na"&gt;changed_when&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="no"&gt;false&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;ansible-playbook setup_and_test.yml&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  8.  Webhooks and Ansible: Brief Explanation:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Webhook&lt;/strong&gt;: A webhook is a user-defined HTTP callback. It's used to deliver data from one application to another, allowing real-time information exchange.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ansible&lt;/strong&gt;: Ansible is an open-source automation tool that simplifies IT tasks such as configuration management, application deployment, and task automation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  9. Conclusion
&lt;/h2&gt;

&lt;p&gt;The Flask web server and webhook listener offer a straightforward means to manage incoming webhook data. You can modify the code to suit specific data-processing requirements or integrate it into larger applications.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>ansible</category>
      <category>webhook</category>
      <category>python</category>
    </item>
    <item>
      <title>Como eu gerencio o meu tempo.</title>
      <dc:creator>Nana</dc:creator>
      <pubDate>Wed, 09 Sep 2020 15:25:12 +0000</pubDate>
      <link>https://dev.to/shebangbash/como-eu-gerencio-o-meu-tempo-hbf</link>
      <guid>https://dev.to/shebangbash/como-eu-gerencio-o-meu-tempo-hbf</guid>
      <description>&lt;p&gt;Muitas vezes eu me perguntava se o dia poderia ter 48hrs ou se eu estava fazendo tudo errado com a minha vida pra não ter tempo pra nada... &lt;/p&gt;

&lt;p&gt;A questão de como eu deveria gerenciar o meu tempo veio a tona quando eu fiquei quase 4 anos sem tirar férias direito e eu só me sentia cansada. Além de várias questões familiares e psicológicas resolvi parar um final de semana e decidi me conhecer melhor e desde então consegui chegar numa metodologia que funcionasse pra mim. &lt;/p&gt;

&lt;h2&gt;
  
  
  O que você precisa saber
&lt;/h2&gt;

&lt;p&gt;Antes de seguir com o texto gostaria de te informar algumas coisas e a primeira é, eu sou uma pessoa autista e tendo a me desvirtuar rapidamente do que eu estou fazendo a não ser que seja algo que me chame muito a atenção. E a segunda coisa é que provavelmente isso não funcione para todas as pessoas. &lt;/p&gt;

&lt;h2&gt;
  
  
  Como você consegue dormir 8 horas por dia?
&lt;/h2&gt;

&lt;p&gt;Então, hoje eu sou uma pessoa que prioriza muito a saúde e o auto cuidado (porque a idade vem chegando né hehe).&lt;/p&gt;

&lt;p&gt;Explicando um pouco sobre a minha rotina, geralmente eu levanto entre 7:00 e 07:30 da manhã, preparo aquele cafezinho e estudo inglês por mais ou menos uma hora, lá pelas 08:30 eu começo a trabalhar e vou até mais ou menos umas 17:30. Importante frisar que aqui na Irlanda, diferente do Brasil, geralmente não fazemos aquela uma hora de almoço. &lt;/p&gt;

&lt;p&gt;E depois do trabalho? Bom, separo entre uma hora e uma hora e meia para estudar as coisas da faculdade, e depois disso, ainda saio pra caminhar. Ainda de quebra troco uma ideia com algumas pessoas. &lt;/p&gt;

&lt;p&gt;Isso tudo encerra por volta das 23horas, ressalvo de algumas excessões como algumas reuniões de projetos que participo e na sexta, porque sexta presto mentoria e porque é sexta. 😬&lt;/p&gt;

&lt;p&gt;E os finais de semana eu faço absolutamente nada, eu dedico os fins de semana pra mim e pro marido. 😁&lt;/p&gt;

&lt;h2&gt;
  
  
  O que eu acho importante e quais as vantagens que tenho
&lt;/h2&gt;

&lt;p&gt;"Não é que você não tenha tempo, só não é prioridade agora."&lt;/p&gt;

&lt;p&gt;Até eu chegar no método que uso hoje eu errei muitas vezes, já priorizei coisas erradas e por ai vai. Quando eu gerenciava mal o meu tempo eu tive além de vários empecilhos no dia a dia (ex. esqueci de ir numa consulta e de fazer trabalho na faculdade) além de estresse e muitas noites sem dormir, porque eu estava fazendo o que eu  deveria ter feito durante o dia. Por isso eu acho importante ter um bom gerenciamento de tempo, para que essas coisa não voltem a ocorrer. &lt;/p&gt;

&lt;p&gt;Sobre as vantagens: hoje eu consigo ter mais tempo livre para poder praticar os meus hobbies ou fazer absolutamente nada, eu me sinto uma pessoa muito mais produtiva e com mais foco, eu vejo que realizar os meus objetivos não se tornou algo impossível e claro hoje eu sou uma pessoa muito menos estressada e sem aquela sensação de sobrecarga. &lt;/p&gt;

&lt;h2&gt;
  
  
  O meu planejamento
&lt;/h2&gt;

&lt;p&gt;Primeiro eu olhei para onde eu estava e aonde eu queria chegar e a partir disso defini as minhas metas e os meus objetivos, dei-me prazos e tornei tudo isso em tarefas. Depois que eu transformei tudo em tarefas eu as dei prioridades, quais eram mais importantes finalizar primeiro e quais não. &lt;/p&gt;

&lt;p&gt;Para qualquer atividade que eu estou fazendo, como por exemplo, escrever esse texto eu uso pomodoro, cada pomodoro com 25 minutos, cada ciclo tem um intervalo de 5 minutos e a cada 4 ciclos tem um intervalo de 20 minutos. &lt;/p&gt;

&lt;p&gt;Diminuir as distrações como o celular e também manter o seu ambiente de trabalho/estudo organizado ajuda muito. &lt;/p&gt;

&lt;h2&gt;
  
  
  Ferramentas que utilizo
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Planner:&lt;/strong&gt; sim gente, eu utilizo um planner para fazer anotações diarias e de reuniões.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Notion&lt;/strong&gt;: acho ele excelente para organizar os posts no site, também utilizo o Notion para planejar os conteúdos que compartilho.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Focus to-do&lt;/strong&gt;: eu tentei utilizar o todoist mas, o focus todo além de conseguir colocar as minhas tarefas (faculdade, cursos, dia a dia) ele também tem um pomodoro e gera um gráfico sobre quanto tempo eu consegui me dedicar para as tarefas.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Google Calendar:&lt;/strong&gt; centralizo todos os meus calendários (pessoal e trabalho) em um calendário que é a ferramenta que no fim mais me ajuda durante o dia a dia.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Calendly:&lt;/strong&gt; utilizo a versão free do calendly, onde eu ponho os meus horários livres para poder ajudar as pessoas que eu mentoro e ajudo de alguma forma, ele gera um link com esses horários disponíveis e as pessoas podem agendar horários ali e vai direto para o meu google calendar.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Então é dessa forma e com essas ferramentas que eu consigo gerenciar o meu dia a dia, espero que eu tenha conseguido mostrar para vocês e também espero que ajude vocês de alguma forma. E qualquer dúvida ou sugestão é só entrar em contato.&lt;/p&gt;

</description>
      <category>portuguese</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Meu SetUp</title>
      <dc:creator>Nana</dc:creator>
      <pubDate>Thu, 23 Jul 2020 10:17:31 +0000</pubDate>
      <link>https://dev.to/shebangbash/meu-setup-19io</link>
      <guid>https://dev.to/shebangbash/meu-setup-19io</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1jmkjalfp3q1ysin0dme.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1jmkjalfp3q1ysin0dme.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Eu fiquei muito inspirada com tantos setups que eu vi que eu também resolvi escrever sobre o meu atual setup, com a função de mudar de país, conseguir um emprego lindo e maravilhoso demorou um pouco para ir estabilizando as coisas. Obviamente que morando fora do Brasil fica um pouco mais fácil juntar dinheiro para ir comprando os equipamentos, etc.&lt;/p&gt;

&lt;p&gt;Vou tentar descrever um pouco do que tenho usado e sim tem muita coisa nessa mesa, mas eu juro pra voces&lt;br&gt;
 que eu uso tudo 😬. E eu também sou muito espaçosa 😬 e por motivos de pandemia e apartamento pequeno estamos ainda um pouco improvisados trabalhando de casa.&lt;/p&gt;




&lt;p&gt;Mas o que eu faço hoje? Então, atualmente (e eu espero que para sempre) eu estou trabalhando na RedHat e o meu trabalho é totalmente remoto, ou seja, eu trabalho de casa 😊.&lt;/p&gt;

&lt;p&gt;Também eu tento sempre que possível colaborar com a comunidade de tecnologia gerando conteúdo através de live stream na twitch, youtube, tutoriais, participações em outras lives e tem mais a mentoria. &lt;/p&gt;

&lt;p&gt;De forma geral o meu setup tem me atendido muito bem, a única coisa que eu pretendo fazer nos próximos meses é apenas me mudar para um lugar um pouco maior 😬. Volta e meia eu acabo comprando alguma coisinha, um gadget novo ou algum eenfeite, mas acho que até a mudança o setup está 80% completo.&lt;/p&gt;

&lt;p&gt;Obs: Eu detesto fios 😬 sempre pesquiso por opções wireless. &lt;/p&gt;

&lt;p&gt;Abaixo tem tudinho que eu utilizo ⬇️&lt;/p&gt;

&lt;p&gt;💻 &lt;b&gt;&lt;u&gt;Computador:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Por enquando eu tenho usado somente o computador da empresa que é um MacBook Pro 16. &lt;/p&gt;

&lt;p&gt;O MacBook tem a seguinte configuração:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;16Gb de RAM&lt;/li&gt;
&lt;li&gt;Processador Intel i7 2.6GHz&lt;/li&gt;
&lt;li&gt;SSD de 256GB&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Eu vou comprar um para total uso pessoal lá por setembro e provavelmente vai ser outro MacBook. &lt;/p&gt;

&lt;p&gt;No meu ponto de vista é um ótimo computador (sendo que é a primeira vez que trabalho com o MacBook), ele roda tudo que eu utilizo no trabalho tranquilamente sem travar, mas às vezes parece que ele vai voar (é culpa do Cypress&lt;br&gt;
😄).&lt;/p&gt;

&lt;p&gt;Infos sobre ele &lt;a href="https://www.apple.com/ie/macbook-pro-16/" rel="noopener noreferrer"&gt;aqui&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🖥️ &lt;b&gt;&lt;u&gt;Monitor:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Modelo: Dell SE2417HGX&lt;/li&gt;
&lt;li&gt;  24 polegadas&lt;/li&gt;
&lt;li&gt;  FHD (1920 x 1080) AT 60 Hz&lt;/li&gt;
&lt;li&gt;  2xHDMI e 1xVGA (é... não tem USB)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Esse monitor faz parte de uma linha de monitores gamers da Dell, o motivo da compra dele é que era um dos poucos disponíveis quando começamos a pesquisar para comprar. Aqui em Dublin quando começou o lockdown quase não tinha muitos produtos (monitor e webcam por exemplo) em estoque. &lt;/p&gt;

&lt;p&gt;De modo geral é um ótimo monitor e não tenho reclamações sobre. Eu realmente gosto do "anti-glare" ou "eye-care" dos monitores da Dell, porque eu tenho alta sensibilidade nos olhos e de fato os monitores terem isso minimiza alguns futuros problemas.&lt;/p&gt;

&lt;p&gt;Obs: Eu uso um cabo HDMI &amp;gt; USB-C para esse monitor. &lt;/p&gt;

&lt;p&gt;Infos sobre ele &lt;a href="https://www.dell.com/al/business/p/dell-se2417hgx-monitor/pd" rel="noopener noreferrer"&gt;aqui&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🖱️ &lt;b&gt;&lt;u&gt;Mouse:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Marca: DELUX&lt;/li&gt;
&lt;li&gt;  Modelo: M618 mini&lt;/li&gt;
&lt;li&gt;  Wireless Dual Mode&lt;/li&gt;
&lt;li&gt;  6 botões e 4 níveis de DPI&lt;/li&gt;
&lt;li&gt;  RBG&lt;/li&gt;
&lt;li&gt;  Carregamento via USB-C &amp;gt; USB-A&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Eu entrei na onde dos mouses ergonômicos 😬 &lt;br&gt;
Então, eu tenho lesão nos dois pulsos (LER) por motivos de instrumentos musicais e muito trabalho, mas no Brasil era quase impossível pra eu comprar um mouse ergonômico e aqui na Irlanda também. Pesquisando pela internet achei esse modelo que além de barato é muito bonitinho.&lt;/p&gt;

&lt;p&gt;O que me chamou a atenção nesse mouse? &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Primeiro o Dual Mode, pode conectar o mouse tanto com o nano receptor (USB-A) ou diretamente pelo bluetooth do computador. (E o MacBook só tem USB-C). &lt;/li&gt;
&lt;li&gt;  Segundo foi o tamanho, os mouses dessa marca podem ser comprados conforme o tamanho da mão (e a minha mão é bem pequena)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Infos sobre &lt;a href="http://www.deluxworld.com/en/" rel="noopener noreferrer"&gt;aqui&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;⌨️ &lt;b&gt;&lt;u&gt;Teclado:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Marca: Keychron&lt;/li&gt;
&lt;li&gt;  Modelo: K6&lt;/li&gt;
&lt;li&gt;  68 teclas e layout de 65% &lt;/li&gt;
&lt;li&gt;  Luzes RGB ou Branca&lt;/li&gt;
&lt;li&gt;  Conecta via cabo ou bluetooth (e em até 3 dispositivos)&lt;/li&gt;
&lt;li&gt;  Carregamento via USB-C &amp;gt; USB-A&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Eu sempre detestei trabalhar com teclados porque eu não gosto do teclado numérico, acho muito grande e desconfortável. Quando chegou o computador da empresa ele veio com o Magic Keyboard e é do modelo com teclado número, também achei muito baixinho e logo não me adaptei muito. Outro motivo de não ter me adaptado ao Magic Keyboard foi porque ele veio com o padrão UK e o MacBook tem veio com o padrão US de teclado 😬&lt;/p&gt;

&lt;p&gt;Então depois de perguntar para os seguidores do twitter encontrei essa maravilha que é o Keychron e já entrei no mundo dos teclado mecanicos. &lt;/p&gt;

&lt;p&gt;É um teclado muito bom, eu achei que ia me irritar com o barulho mas foi bem tranquilo (brown switch). &lt;/p&gt;

&lt;p&gt;Mas lembrando que é um teclado alto e se você não tiver o hábito recomendo comprar algum apoio para os punhos. &lt;/p&gt;

&lt;p&gt;Informações sobre ele &lt;a href="https://www.keychron.com/products/keychron-k6-wireless-mechanical-keyboard" rel="noopener noreferrer"&gt;aqui&lt;/a&gt;&lt;br&gt;
e eu invoco &lt;a href="//keychronwireless.refr.cc/nataliar"&gt;10%&lt;/a&gt; de desconto!&lt;/p&gt;

&lt;p&gt;🎧 &lt;b&gt;&lt;u&gt;Fones de ouvido&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Marca: Sony&lt;/li&gt;
&lt;li&gt;  Modelo: WH-1000XM3&lt;/li&gt;
&lt;li&gt;  Noise Cancelling&lt;/li&gt;
&lt;li&gt;  Carregamento via USB-C&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Começou o lockdown e os meus vizinhos começaram a reformar os apartamentos e mesmo tendo baixa audição os barulhos estavam me irritando muito então o meu marido me deu de presente esse fone, eu já estava de olho nele há muito tempo e sempre tive ótimas recomendações dele.&lt;/p&gt;

&lt;p&gt;Algumas pessoas me comentaram que ele não cancelada tanto assim o ruído, mas como eu tenho baixa audição pra mim, é muito tranquilo, para vocês terem uma ideia eu nem escuto o teclado quando estou usando os fones.&lt;/p&gt;

&lt;p&gt;A bateria dele dura mais ou menos uns dois ou três dias, pois eu só uso ele quando eu estou trabalhando. Outro motivo que me fez querer muito esse fone foi que ele não machuca o rosto, os outros fones que eu vinha utilizando machucavam muito a orelha principalmente a parte aonde passa a haste dos óculos.&lt;/p&gt;

&lt;p&gt;Infos sobre esse fone &lt;a href="https://www.sony.ie/electronics/headband-headphones/wh-1000xm3" rel="noopener noreferrer"&gt;aqui&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;📷 &lt;b&gt;&lt;u&gt;Webcam:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Marce: Logitech&lt;/li&gt;
&lt;li&gt;  Modelo: C615&lt;/li&gt;
&lt;li&gt;  Resoluções: 1080p/30fps - 720p/30fps&lt;/li&gt;
&lt;li&gt;  Ajuste automático de foco e brilho&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Com a geração de conteúdo optei por comprar uma webcam, essa é a primeira webcam que comprei na vida e muita gente me indicou a marca. A webcam foi mais um dos produtos que sumiram dos estoques de todas as lojas por aqui no início do lockdown e logo esse modelo era o único disponível no site da Logitech. &lt;/p&gt;

&lt;p&gt;Eu achei legal o fato dela ficar fechadinha e ser compacta, porém tenho tido alguns probleminhas com ela como, por exemplo com o ajuste automático de brilho que a maioria das vezes não funciona e fora alguns outros probleminhas com o Google Meet.&lt;/p&gt;

&lt;p&gt;Infos sobre &lt;a href="https://www.logitech.com/en-roeu/product/hd-webcam-c615" rel="noopener noreferrer"&gt;aqui&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🎙️ &lt;b&gt;&lt;u&gt;Microfone:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Marca: Sudotack&lt;/li&gt;
&lt;li&gt;  Modelo: ST-810 USB&lt;/li&gt;
&lt;li&gt;  Polar Pattern: Cardioid&lt;/li&gt;
&lt;li&gt;  Microphone-core: Dia.16mm Condenser&lt;/li&gt;
&lt;li&gt;  Frequency Response: 30 hz to 16khz&lt;/li&gt;
&lt;li&gt;  Sampling Rate: 192KHZ/24Bit&lt;/li&gt;
&lt;li&gt;  USB Cable: USB-A to USB-B&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Quando eu tive a ideia de começar a fazer stream e entrei pro Wakanda Streamers senti a necessidade de comprar um microfone, como eu nunca tive um e as indicações estavam divididas esse da Sudotack foi uma das poucas opções disponíveis na AmazonUK.&lt;/p&gt;

&lt;p&gt;Ele funciona bem se estiver usando alguma ferramenta de stream como OBS por exemplo, como ele não tem um software próprio (ele é plug and play) então se eu estiver usando com um Google Meet por exemplo ele corta muito a fala ou a voz fica meio "robotizada". &lt;/p&gt;

&lt;p&gt;Infos sobre &lt;a href="http://www.sudotack.com/Home/Products/detail/code/AMB1A04T#details" rel="noopener noreferrer"&gt;aqui&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;✏️ &lt;u&gt;&lt;b&gt;Tablet ou mesa de desenho:&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Marca: Wacom&lt;/li&gt;
&lt;li&gt;  Modelo: Intuos S Pistachio&lt;/li&gt;
&lt;li&gt;  Tamanho: 200 x 160 x 8.8 mm &lt;/li&gt;
&lt;li&gt;  Área: 152.0 x 95.0 mm &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Comprei esse tablet com o intuito de voltar a desenhar (e estou voltando aos pouquinhos), mas hoje ele tem outra funcionalidade, hoje eu uso ele para desenhar na tela durante alguma ligação com o Slack ou com qualquer outro tipo de tela compartilhada como o &lt;a href="https://miro.com/" rel="noopener noreferrer"&gt;Miro Board&lt;/a&gt;, por exemplo.&lt;/p&gt;

&lt;p&gt;Infos sobre o tablet &lt;a href="https://www.wacom.com/en-us/products/pen-tablets/wacom-intuos#Specifications" rel="noopener noreferrer"&gt;aqui&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Outras coisinhas
&lt;/h4&gt;

&lt;p&gt;&lt;u&gt;Adaptador do Laptop:&lt;/u&gt; Todos os outros itens acima precisam ser carregados em algum momento, esse adaptador tem 3 entradas USB-A, uma entrada HDMI, uma entrada USB-C e uma entrada para cabo de rede.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Kindle:&lt;/u&gt; Tenho um Kindle oitava geração e sempre deixo ele por perto para dar uma lida quando faço pequenas pausas. &lt;/p&gt;

&lt;p&gt;&lt;u&gt;Relógio:&lt;/u&gt; Migrei recentemente de um Amazfit para um Apple Watch, ainda sem muito o que dizer.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Carregador wireless do celular:&lt;/u&gt; Como eu citei mais acima eu detesto fio, esse carregador da pra carregar o celular e o relógio, acho bem prático já que é só apoiar o celular ali e pronto. &lt;/p&gt;

&lt;p&gt;&lt;u&gt;Planner:&lt;/u&gt; Sim gente, eu uso um planner, eu sou uma pessoa de rotina e preciso ter de forma exposta as reuniões, evento, streams por exemplo e também é muito útil pra fazer as anotações durante o dia. &lt;/p&gt;

&lt;p&gt;&lt;u&gt;Garrafa de água e as xícaras:&lt;/u&gt; Essa garrafa maravilhosa da RedHat que deixa a água fresquinha por um bom tempo (eu bebo muita água) e a caneca maravilhosa do OhMyZsh que é a minha favorita. &lt;/p&gt;

&lt;p&gt;&lt;u&gt;"Stress Toys":&lt;/u&gt; Ali tem um fidge cube e um tux, eu fico apertando eles durante as reuniões ou quando eu preciso me concentrar e pra mim ajuda muito mesmo! &lt;/p&gt;

&lt;p&gt;Bom, esse é o meu atual setup e as próximas aquisições serão uma standing desk (porque vida de baixinhe não é fácil), uma cadeira, um monitor e quem sabe um trackpad (mas isso só após a mudança de apartamento). &lt;/p&gt;

&lt;p&gt;É isso gente, até a próxima. &lt;/p&gt;

</description>
      <category>portugues</category>
      <category>setup</category>
    </item>
    <item>
      <title>Nevertheless, Nat Coded</title>
      <dc:creator>Nana</dc:creator>
      <pubDate>Mon, 09 Mar 2020 13:12:44 +0000</pubDate>
      <link>https://dev.to/shebangbash/nevertheless-nat-coded-3g2j</link>
      <guid>https://dev.to/shebangbash/nevertheless-nat-coded-3g2j</guid>
      <description>&lt;p&gt;I started very early, I was between 14 and 15 years old, unfortunately this is very common in Brazil because most families are poor and I was part of one of these families.&lt;br&gt;
I am a black woman, society differs us by the color of our skin, we doubt our ability and yet, unfortunately, we still receive less than white women.&lt;br&gt;
I am autistic and I have a hearing impairment, people think that people with disabilities should not work because they do not have the capacity for it ... I wrote a little about autism here.&lt;/p&gt;

&lt;h2&gt;
  
  
  Nevertheless, I keep working!
&lt;/h2&gt;

&lt;p&gt;Yes! I went through a lot of bad experiences, I never worked on any project or company that I really liked, but I was still on the job because I had bills to pay and I needed to prove to myself and everyone how capable I was, how able I still am!&lt;br&gt;
My area is infrastructure and data engineering!&lt;/p&gt;

&lt;h2&gt;
  
  
  Nevertheless, I mentor other black women!
&lt;/h2&gt;

&lt;p&gt;There is nothing more rewarding than being able to help other women, whether to teach, to help, to support! It's wonderful to know that I can be inspired by other black women and be able to help others.&lt;/p&gt;

&lt;h2&gt;
  
  
  Nevertheless, I'm from the community!
&lt;/h2&gt;

&lt;p&gt;I started speaking in 2018, it was my biggest personal challenge! Since then there have been more than 40 lectures, most of them technical and at the end of last year I received an event award called The Developers Conference and this year I received three nominations for Women In Open Source!&lt;br&gt;
I coordinated a global community called PyData (PyData Porto Alegre) and also created one of the first charity events in Brazil, Tech &amp;amp;&amp;amp; Beer.&lt;br&gt;
I love the community so much that I met my husband in it!&lt;/p&gt;

&lt;h2&gt;
  
  
  My mission ...
&lt;/h2&gt;

&lt;p&gt;Last year was a very difficult year I struggled with many problems but in the end everything worked out, I lost several hairs in this process but in the end I won. My mission is to continue engaging other people and not give up on them or me.&lt;/p&gt;

</description>
      <category>wecoded</category>
    </item>
    <item>
      <title>We Exist!</title>
      <dc:creator>Nana</dc:creator>
      <pubDate>Thu, 06 Feb 2020 18:45:24 +0000</pubDate>
      <link>https://dev.to/shebangbash/we-exist-58gj</link>
      <guid>https://dev.to/shebangbash/we-exist-58gj</guid>
      <description>&lt;p&gt;Today I didn't come here to write about technology, I scheduled myself weekly to publish something here but I didn't want to start talking about some deployment tool for example.&lt;/p&gt;

&lt;p&gt;Today I want to talk a little about people like me, people with autism.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NOTE: This text is about my experience&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  We exist!
&lt;/h1&gt;

&lt;p&gt;I want to share with you a few things about us.&lt;/p&gt;

&lt;h2&gt;
  
  
  Autism is a psychological problem. Lie!
&lt;/h2&gt;

&lt;p&gt;We are diagnosed as a child, or not, there are varying degrees of autism and the only way to find out is by observation.&lt;/p&gt;

&lt;h2&gt;
  
  
  One thing at a time.
&lt;/h2&gt;

&lt;p&gt;Yes, please, we know that some people can do several things at the same time, talk about different topics in a round of beer. But this is not the case for me and neither is the case for many people (whether they are autistic or not).&lt;br&gt;
I always had a lot of difficulties doing several tasks at the same time, or several tasks in the same sprint and when I couldn't deliver I was extremely frustrated doubting my own ability.&lt;/p&gt;

&lt;h2&gt;
  
  
  We don't live in our own world.
&lt;/h2&gt;

&lt;p&gt;We are able to communicate and we are not always extremely closed people (I am not, for example), sometimes yes, we have several sociability problems but we can live normally. We have a lot of empathy!&lt;br&gt;
Perhaps our means of connection are through another door that you are used to entering and leaving.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demonstrations of affection.
&lt;/h2&gt;

&lt;p&gt;Today I am a married person, but not showing affection does not mean that we do not feel. I, for example, always had a low tolerance for frustration, I still have some difficulties with communication even with my husband (even more now living in another country). In other words, we are sensitive people, but perhaps you are not used to how we express ourselves.&lt;br&gt;
There is no reason to get away from people, but don't forget that we are sensitive, social relationships generate a lot of anxiety and we don't even want someone to be touching or shouting.&lt;/p&gt;

&lt;h2&gt;
  
  
  We are not geniuses!
&lt;/h2&gt;

&lt;p&gt;What I've seen and heard from people saying that people with autism are extremely intelligent, math geniuses for example. It turns out that we have different abilities, for example, I remember practically everything they tell me or what I read, I decorate numbers on plaques, but I have enormous difficulties with writing and judging verbs. We can have mastery of ** ONE ** specific skill! For example, since I was a child I love drawing and playing and listening to music, but if you didn't know that, you would associate autism with the fact that I went to college in physics.&lt;br&gt;
But do not forget that there are several types of interconnection and each person wakes up in one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Associated things.
&lt;/h2&gt;

&lt;p&gt;They are anxiety disorders, separation anxiety, obsessive-compulsive disorder (OCD), motor tics, depressive episodes and self-injurious behaviors, attention deficit and hyperactivity disorders, intellectual disability, language deficit, sensory changes.&lt;/p&gt;

&lt;h3&gt;
  
  
  THIS DOESN'T PREVENT US FROM ANYTHING OK? THE TREATMENTS ARE WIDE AND EVERY PERSON AND EACH DEGREE RESPONDS IN A WAY.
&lt;/h3&gt;

&lt;h2&gt;
  
  
  And what is the connection of this with our technology area.
&lt;/h2&gt;

&lt;p&gt;Of so many, we talk about diversity and inclusion, who is this for? It's for everyone?&lt;br&gt;
I am a black woman, I have hearing loss because of a genetic disease and I am autistic. Although I can include myself in other clippings, I am still part of the one I write too.&lt;/p&gt;

&lt;p&gt;Have you ever thought that the environments in which you work are not inclusive for autistic people?&lt;/p&gt;

&lt;p&gt;We can and we live in a society like anyone else, let us all be facilitators so that autists can also join and stay in a technology career.&lt;/p&gt;

&lt;p&gt;Thanks for listening.&lt;/p&gt;

</description>
      <category>people</category>
      <category>career</category>
      <category>inclusion</category>
    </item>
    <item>
      <title>Nós Existimos</title>
      <dc:creator>Nana</dc:creator>
      <pubDate>Thu, 06 Feb 2020 18:41:22 +0000</pubDate>
      <link>https://dev.to/shebangbash/nos-existimos-2ffi</link>
      <guid>https://dev.to/shebangbash/nos-existimos-2ffi</guid>
      <description>&lt;p&gt;Hoje eu não vim aqui escrever sobre tecnologia, me programei semanalmente para publicar algo por aqui mas não queria iniciar falando sobre alguma ferramenta de deploy por exemplo. &lt;/p&gt;

&lt;p&gt;Hoje quero falar um pouco das pessoas como eu, das pessoas com autismo.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;OBS: Esse texto é sobre a minha experiencia&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Nós existimos!
&lt;/h1&gt;

&lt;p&gt;Quero compartilhar com vocês algumas coisas sobre nós. &lt;/p&gt;

&lt;h2&gt;
  
  
  O autismo é um problema psicológico. Mentira!
&lt;/h2&gt;

&lt;p&gt;Somos diagnosticados quando criança, ou não, existem vários graus de autismo e a única forma de descobrir é por observação. &lt;/p&gt;

&lt;h2&gt;
  
  
  Uma coisa de cada vez.
&lt;/h2&gt;

&lt;p&gt;Sim, por favor, sabemos que algumas pessoas conseguem fazer várias coisas ao mesmo tempo, falar diversos assuntos em uma rodada de cerveja. Mas não é o meu caso e nem o caso de muitas pessoas (sejam elas autistas ou não). &lt;br&gt;
Eu sempre tive muitas dificuldades de fazer várias tasks ao mesmo tempo, ou várias tasks na mesma sprint e quando não conseguia entregar eu ficava extremamente frustrada duvidando da minha própria capacidade.&lt;/p&gt;

&lt;h2&gt;
  
  
  Nós não vivemos no nosso próprio mundo.
&lt;/h2&gt;

&lt;p&gt;Somos capazes de nos comunicar e nem sempre somos pessoas extremamente fechadas (eu por exemplo não sou), as vezes sim, temos diversos problemas de sociabilidade mas podemos viver normalmente. Nós temos muita empatia! &lt;br&gt;
Talvez nossos meios de conexão sejam através de uma outra porta da qual você está acostumado a entrar e sair.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Demonstrações de afeto.
&lt;/h2&gt;

&lt;p&gt;Hoje eu sou uma pessoa casada, mas não demonstrar carinho não significa que não sentimos. Eu por exemplo sempre tive baixa tolerancia a frustação, ainda tenho algumas dificuldades com a comunicação inclusive com o meu marido (ainda mais agora vivendo em outro país). Ou seja, somos pessoas sensíveis, mas talvez você não estejam acostumados como nós nos expressamos. &lt;br&gt;
Não existe nenhum motivo para nos afastarmos das pessoas, mas não esqueçam que somos sensíveis, relações sociais geram muita ansiedade e nem queremos alguém que fique nos tocando ou gritando. &lt;/p&gt;

&lt;h2&gt;
  
  
  Não somos gênios!
&lt;/h2&gt;

&lt;p&gt;O que eu já vi e ouvi de pessoas falando que pessoas com autismo são extremamente inteligentes, gênios da matemática por exemplo. Acontece que temos capacidades diferentes, eu por exemplo, lembro de praticamente tudo o que me falam ou o que eu leio, decoro números de placas, porém tenho dificuldades enormes com escrita e julgar verbos. Podemos sim ter domínio em &lt;strong&gt;UMA&lt;/strong&gt; habilidade específica! Eu por exemplo, desde criança adoro desenhar e tocar e ouvir músicas, mas se vocês não soubessem disso iriam associar o autismo com o fato de eu ter cursado faculdade de física.&lt;br&gt;
Mas não esqueçam que existem diversos tipos de intêligencia e cada pessoa desperta-se em uma. &lt;/p&gt;

&lt;h2&gt;
  
  
  Coisas associadas.
&lt;/h2&gt;

&lt;p&gt;São elas: transtornos de ansiedade, ansiedade de separação, transtorno obsessivo compulsivo (TOC), tiques motores, episódios depressivos e comportamentos auto lesivos, transtornos de déficit de atenção e hiperatividade, deficiência intelectual, déficit de linguagem, alterações sensoriais. &lt;/p&gt;

&lt;h3&gt;
  
  
  ISSO NÃO NOS IMPEDE DE NADA OK? OS TRATAMENTOS SÃO AMPLOS E CADA PESSOA, E CADA GRAU RESPONDE DE UMA MANEIRA.
&lt;/h3&gt;

&lt;h2&gt;
  
  
  E qual é a ligação disso com a nossa área de tecnologia.
&lt;/h2&gt;

&lt;p&gt;De tantos falarmos sobre diversidade e inclusão, isso é pra quem? É para todos? &lt;br&gt;
Eu sou uma mulher negra, tenho perda auditiva por causa de uma doença genética e sou autista. Apesar de poder me incluir em outros recortes eu ainda faço parte desse o qual escrevo também. &lt;/p&gt;

&lt;p&gt;Vocês já pensaram que os ambientes em que vocês trabalham não são inclusivos para as pessoas autistas? &lt;/p&gt;

&lt;p&gt;Nós podemos e nós vivemos em sociedade como qualquer outra pessoa, sejamos todos nós facilitadores para que autistas também possam ingressar e se manter em uma carreira de Tecnologia.&lt;/p&gt;

&lt;p&gt;Obrigado pela atenção. &lt;/p&gt;

</description>
      <category>people</category>
      <category>career</category>
      <category>inclusion</category>
    </item>
    <item>
      <title>Como foram os meus primeiros 10 dias do desafio 100DaysOfCode?
</title>
      <dc:creator>Nana</dc:creator>
      <pubDate>Tue, 28 Jan 2020 17:37:44 +0000</pubDate>
      <link>https://dev.to/shebangbash/como-foram-os-meus-primeiros-10-dias-do-desafio-100daysofcode-34ko</link>
      <guid>https://dev.to/shebangbash/como-foram-os-meus-primeiros-10-dias-do-desafio-100daysofcode-34ko</guid>
      <description>&lt;h2&gt;
  
  
  Qual foi a minha motivação?
&lt;/h2&gt;

&lt;p&gt;Antes de explicar melhor sobre a minha motivação vou compartilhar com vocês algumas coisas que aconteceram. &lt;br&gt;
Eu estava trabalhando em uma empresa onde eu tive uma gestora péssima e isso de fato me machucou muito psicológicamente mas como meu avô sempre dizia que coisas ruins acontecem para que as boas possam acontecer. (Quero deixar explicado que foi apenas uma pessoa ok?) &lt;br&gt;
Depois de tudo isso vieram as coisas boas, casei e meu marido e eu saímos do Brasil e agora vivemos na Irlanda. &lt;/p&gt;

&lt;p&gt;Perdi a oferta de emprego qual que vim pra cá, comecei a olhar as vagas, conversar com pessoas e entender os requisitos então ai veio a minha motivação: &lt;strong&gt;EU PRECISAVA PRATICAR&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Mas porque eu decidi praticar? Porque eu passei e ainda passo sendo a pessoa que não sabe interagir muito bem com código sabe? &lt;br&gt;
Sempre trabalhei com infraestrutura então decidi praticar um pouco mais de programação. &lt;/p&gt;

&lt;p&gt;O que eu decidi praticar: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data Structures e Algorithms;&lt;/li&gt;
&lt;li&gt;Ruby e Rails;&lt;/li&gt;
&lt;li&gt;Um pouco de Python;&lt;/li&gt;
&lt;li&gt;Também um pouco de Go; &lt;/li&gt;
&lt;li&gt;Algumas coisas sobre IaaC (Infrastructure as a Code) que ainda estavam embaçadas pra mim.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Dia 001
&lt;/h2&gt;

&lt;p&gt;Nesse dia resolvi relembrar e praticar coisas básicas como números, strings, methods e data structures. &lt;br&gt;
Esse dia foi bem ok, peguei a documentação do Ruby e mais alguns tutoriais. &lt;/p&gt;

&lt;h2&gt;
  
  
  Dia 002
&lt;/h2&gt;

&lt;p&gt;Comecei a estudar mais afundo sobre data structures mas perdi o foco e fui praticar Orientação de Objetos, nesse dia eu percebi que estava perdendo o foco muito rápido. &lt;/p&gt;

&lt;h2&gt;
  
  
  Dia 003
&lt;/h2&gt;

&lt;p&gt;Resolvi fazer alguns exercicios de TDD na plataforma Exercism.io e tive um pouco de dificuldades porque os exercícios mesmo sendo level 'easy' envolviam algoritmos.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dia 004
&lt;/h2&gt;

&lt;p&gt;Fiz mais exercícios na plataforma exercism e depois fui ler sobre testes e RSpec. Ai percebi uma coisa, eu estava totalmente sem foco, com dor nas costas por causa da má postura e muita ansiedade. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Eu tive sérios problemas com a ansiedade, tinhamos que visitar apartamentos, fazer documentos, entrevistas em inglês. Eu também tive muita dor de cabeça por causa do frio e também por causa da língua. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Dia 005
&lt;/h2&gt;

&lt;p&gt;Fiz mais alguns exercícios no exercism e depois comecei a fazer o código para o sorteio de brindes do &lt;em&gt;RaislGirls Porto Alegre&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dia 006
&lt;/h2&gt;

&lt;p&gt;Como o meu marido também trabalha com tecnologia e também está fazendo o desafio fui ajudá-lo a resolver um Sudoku, foi muito desafiador acho que fiquei umas duas horas (ou bem mais) fazendo o código. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Fiquei refletindo sobre a minha falta de foco. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Dia 007
&lt;/h2&gt;

&lt;p&gt;Fiz mais alguns exercícios, dessa vez no leetcode e do exercism também. Para resolver o problema inicial do foco fiz um pequeno plano de estudos onde envolvia estudar arquitetura, data structures e algorithms e Ruby (óbvio). &lt;/p&gt;

&lt;h2&gt;
  
  
  Dia 008
&lt;/h2&gt;

&lt;p&gt;Depois de organizar os estudos, comecei de fato a estudá-los, fiz mais exercícios (leetcode e exercism) e depois mostrei para o Ruan (&lt;a class="mentioned-user" href="https://dev.to/rlnunes"&gt;@rlnunes&lt;/a&gt;
 - meu marido) como funciona o GitLab CI.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dia 009
&lt;/h2&gt;

&lt;p&gt;Nesse dia resolvi focar em arquitetura e data structures, sabe porque? Reprovei na entrevista do Facebook por não saber data structures e algoritmos, eu me senti extremamente mal por não saber essas coisas... &lt;br&gt;
Depois da dica de um amigo adotei o método pomodoro para manter o foco e coloquei no Google tasks o que estou estudano com alguns prazos estipulados. &lt;/p&gt;

&lt;h2&gt;
  
  
  Dia 010
&lt;/h2&gt;

&lt;p&gt;Terminei um breve curso sobre arquitetura hexagonal e que foi muito esclarecedor, segui estudando data structures e ruby. Coloquei os códigos no GitHub e GitLab. &lt;/p&gt;

&lt;h1&gt;
  
  
  O que eu aprendi.
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Aprendi que está tudo bem eu parar alguns dias, nós não somos máquinas certo? &lt;/li&gt;
&lt;li&gt;Também aprendi que está tudo bem eu não saber certas coisas. &lt;/li&gt;
&lt;li&gt;Eu não preciso ter pressa!!! &lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=RSBeDFM-3oA&amp;amp;feature=youtu.be"&gt;Nós não somos Super Heróis!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Links que eu tenho utilizado para estudar:
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://leetcode.com/"&gt;LeetCode&lt;/a&gt;&lt;br&gt;
&lt;a href="https://exercism.io/"&gt;Exercism&lt;/a&gt; &lt;br&gt;
&lt;a href="https://www.udemy.com/user/william-fiset/"&gt;Data Structures&lt;/a&gt;&lt;/p&gt;

</description>
      <category>daysofcode</category>
      <category>ruby</category>
      <category>python</category>
      <category>go</category>
    </item>
    <item>
      <title>How were my first 10 days of the 100DaysOfCode challenge?</title>
      <dc:creator>Nana</dc:creator>
      <pubDate>Tue, 28 Jan 2020 17:35:54 +0000</pubDate>
      <link>https://dev.to/shebangbash/how-were-my-first-10-days-of-the-100daysofcode-challenge-58p4</link>
      <guid>https://dev.to/shebangbash/how-were-my-first-10-days-of-the-100daysofcode-challenge-58p4</guid>
      <description>&lt;h2&gt;
  
  
  What was my motivation?
&lt;/h2&gt;

&lt;p&gt;Before explaining more about my motivation, I will share with you some things that happened.&lt;br&gt;
I was working in a company where I had a terrible manager and it really hurt me very psychologically but as my grandfather always said that bad things happen so those good things can happen too. (I want to explain that it was just one person ok?)&lt;br&gt;
After all that, good things came, I got married and my husband and I left Brazil and now we live in Ireland.&lt;/p&gt;

&lt;p&gt;I lost the job offer which came here, I started looking at vacancies, talking to people and understanding the requirements then my motivation came: &lt;strong&gt;I NEEDED TO PRACTICE&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;But why did I decide to practice? Why did I pass and still pass being the person who doesn't know how to interact very well with code?&lt;br&gt;
I always worked with infrastructure so I decided to practice a little more programming.&lt;/p&gt;

&lt;p&gt;What I decided to practice:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data Structures and Algorithms;&lt;/li&gt;
&lt;li&gt;Ruby and Rails;&lt;/li&gt;
&lt;li&gt;A little Python;&lt;/li&gt;
&lt;li&gt;Also a little Go;&lt;/li&gt;
&lt;li&gt;Some things about IaaC (Insfrastructure as a Code) that were still blurry for me.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Day 001
&lt;/h2&gt;

&lt;p&gt;That day I decided to remember and practice basic things like numbers, strings, methods and data structures.&lt;br&gt;
That day was very ok, I got the Ruby documentation and some more tutorials.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 002
&lt;/h2&gt;

&lt;p&gt;I started to study more deeply about data structures but I lost focus and went to practice Object Orientation, that day I realized that I was losing focus very quickly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 003
&lt;/h2&gt;

&lt;p&gt;I decided to do some TDD exercises on the Exercism.io platform and I had some difficulties because the exercises even being level 'easy' involved algorithms.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 004
&lt;/h2&gt;

&lt;p&gt;I did more exercises on the exercism platform and then went to read about tests and RSpec. Then I realized something, I was totally unfocused, with back pain because of poor posture and a lot of anxiety.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I had serious problems with anxiety, we had to visit apartments, do documents, interviews in English. I also had a lot of headaches because of the cold and also because of the language.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Day 005
&lt;/h2&gt;

&lt;p&gt;I did a few more exercises in exercism and then I started making the code for the raffle of gifts from &lt;em&gt;RaislGirls Porto Alegre&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 006
&lt;/h2&gt;

&lt;p&gt;As my husband also works with technology and is also doing the challenge I went to help him solve a Sudoku, it was very challenging I think I spent a couple of hours (or more) doing the code.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I was reflecting on my lack of focus.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Day 007
&lt;/h2&gt;

&lt;p&gt;I did a few more exercises, this time on leetcode and exercism too. To solve the initial problem of the focus I made a small study plan which involved studying architecture, data structures and algorithms and Ruby (obviously).&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 008
&lt;/h2&gt;

&lt;p&gt;After organizing the studies, I actually started to study them, did more exercises (leetcode and exercism) and then showed Ruan (&lt;a class="mentioned-user" href="https://dev.to/rlnunes"&gt;@rlnunes&lt;/a&gt;
 - my husband) how GitLab CI works.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 009
&lt;/h2&gt;

&lt;p&gt;That day I decided to focus on architecture and data structures, you know why? I failed in the Facebook interview for not knowing data structures and algorithms, I felt extremely bad for not knowing these things ...&lt;br&gt;
After a tip from a friend I adopted the pomodoro method to stay focused and put in Google tasks what I am studying with some deadlines.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 010
&lt;/h2&gt;

&lt;p&gt;I finished a short course on hexagonal architecture and it was very enlightening, I continued studying data structures and ruby. I put the codes on GitHub and GitLab.&lt;/p&gt;

&lt;h1&gt;
  
  
  What I've learned.
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;I learned that it's okay for me to stop for a few days, we're not machines right?&lt;/li&gt;
&lt;li&gt;I also learned that it's okay for me not to know certain things.&lt;/li&gt;
&lt;li&gt;I don't need to be in a hurry !!!&lt;/li&gt;
&lt;li&gt;&lt;a href="//Https://www.youtube.com/watch?v=RSBeDFM-3oA&amp;amp;feature=youtu.be"&gt;We are not Super Heroes!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Links that I have used to study:
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://leetcode.com/"&gt;LeetCode&lt;/a&gt;&lt;br&gt;
&lt;a href="https://exercism.io/"&gt;Exercism&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.udemy.com/user/william-fiset/"&gt;Data Structures&lt;/a&gt;&lt;/p&gt;

</description>
      <category>daysofcode</category>
      <category>ruby</category>
      <category>python</category>
      <category>go</category>
    </item>
    <item>
      <title>Data Mining? </title>
      <dc:creator>Nana</dc:creator>
      <pubDate>Tue, 26 Nov 2019 01:34:55 +0000</pubDate>
      <link>https://dev.to/shebangbash/data-mining-4kd5</link>
      <guid>https://dev.to/shebangbash/data-mining-4kd5</guid>
      <description>&lt;p&gt;Data Mining é uma técnica que utiliza algoritmos específicos, análise estatística, inteligência artificial e sistemas de banco de dados. O objetivo é extrair informações de grandes conjuntos de dados e convertê-los em uma estrutura compreensível para uso futuro.&lt;/p&gt;

&lt;p&gt;As grandes empresas orientadas a dados consideram útil a prática de mineração de dados e as suas ferramentas para lhes ajudar a minerar.&lt;/p&gt;

&lt;p&gt;A maior vantagem estratégica vem das análises de dados feitas de todas as maneiras possíveis.&lt;/p&gt;

&lt;p&gt;A mineração de dados é um processo automatizado de classificação de uma quantidade bem grande de dados para realizar e identificar tendências e padrões.&lt;/p&gt;

&lt;p&gt;Pesquisas indicam que as grandes empresas geram mais ou menos 2,5 quintilhões de bytes por dia, e mesmo assim as atividades de mineração de dados continuarão desempenhando um papel cada vez mais importante conforme as empresas aumentam suas operações no futuro.&lt;/p&gt;

&lt;p&gt;No entanto, como todas as atividades relacionadas a dados, o valor das operações de mineração de dados está diretamente ligado à qualidade e à variedade de dados disponíveis para mineração.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefícios da mineração de dados
&lt;/h2&gt;

&lt;p&gt;E para trabalhar com os dados mais recentes, mais limpos e adequadamente formatados, as empresas precisam de maneiras de agregar dados de fontes e estruturas diferentes em um único local de maneira eficaz, eficiente e segura para extraí-los.&lt;br&gt;
Benefícios da mineração de dados&lt;/p&gt;

&lt;p&gt;A mineração é muito abrangente quando o assunto é coletar, extrair, armazenar e analisar dados para insights ou para alguma inteligência. É como a mineração de minerais, escavar muitas camadas de materiais para achar algo de muito valor.&lt;/p&gt;

&lt;p&gt;Muitas empresas estão confiando na mineração de dados para reunir inteligência para usar em praticamente tudo – desde aplicativos a suporte de decisões que potencializarão os algoritmos de Inteligência Artificial a Machine Learning para o desenvolvimento de produtos, estratégias de marketing e modelagem financeira.&lt;/p&gt;

&lt;p&gt;A mineração de dados nada mais é que uma modelagem estatística que pode ser aplicada por regressões lineares ou logísticas e também combinada com a análise preditiva que pode revelar uma série de tendências, anomalias e demais percepções ocultas que auxiliam as empresas a melhorarem seus negócios.&lt;/p&gt;

&lt;h3&gt;
  
  
  Como a mineração de dados pode ser usada em alguns tipos de negócios:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Finanças: utiliza insights para criar modelos de risco precisos para empréstimos, fusões, aquisições e descobertas de atividades fraudulentas.&lt;/li&gt;
&lt;li&gt;Operações: coleta, processamento e analise de grandes volumes de dados de, por exemplo: aplicativos, redes e infraestrutura para achar insights sobre a segurança do sistema de TI e até desempenho da rede.&lt;/li&gt;
&lt;li&gt;Marketing: tendências e previsão de comportamento para desenvolver personas de comprador mais precisas e reais, criação de campanhas mais focadas que ajudarão a aumentar o engajamento e promover novos produtos ou serviços.&lt;/li&gt;
&lt;li&gt;Recursos humanos: dados e aplicativos de empregos podem fornecer uma visão abrangente de candidatos, identificação da melhor concorrência para cada função aberta utilizando a análise de dados para avaliar, por exemplo, experiências, habilidades, cargos e etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Ferramentas
&lt;/h2&gt;

&lt;p&gt;Como as empresas têm tomado decisões baseadas em dados, isso gera uma demanda por ferramentas de mineração de dados, como:&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;IBM Cognos&lt;br&gt;
Oracle Data Mining&lt;br&gt;
RapidMiner&lt;br&gt;
SAP Business Objects&lt;br&gt;
Orange&lt;br&gt;
Knime&lt;br&gt;
Sisense&lt;br&gt;
Apache Mahout&lt;br&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Desafios&lt;br&gt;
&lt;/h2&gt;

&lt;p&gt;A mineração tem muitos benefícios, mas ela também apresenta muitos desafios. Trabalhar com um enorme volume de dados tem uma preocupação em relação à qualidade e precisão dos dados, escalabilidade e investimento em softwares, hardwares e servidores.&lt;/p&gt;

&lt;p&gt;Baixa qualidade de dados, dados incompletos, imprecisos e até duplicados, podem até gerar valores negativos aos insights obtidos.&lt;/p&gt;

&lt;p&gt;A combinação de dados de diferentes fontes tem como desafio padronizar a padronização, já que “dados ricos” podem ter diversas formas, como: dados de geolocalização, mídia social, multimídia e muitos outros.&lt;/p&gt;

&lt;p&gt;Grande volume de dados para as atividades de mineração profunda quer dizer que os algoritmos de mineração de dados precisam ser eficientes e escalonáveis.&lt;/p&gt;

&lt;p&gt;Os modelos de dados devem ser atualizáveis para acomodar novas fontes de dados e para aumentar a velocidade dos dados.&lt;/p&gt;

&lt;p&gt;Tamanho de bancos de dados x distribuição dos dados: atividades de mineração devem ocorrer em paralelo, com algoritmos de mineração analisando conjuntos menores a serem recombinados.&lt;/p&gt;

&lt;p&gt;Em relação ao custo da mineração de dados, podem chegar facilmente a milhares de reais ou até dólares.&lt;/p&gt;

</description>
      <category>database</category>
      <category>datascience</category>
    </item>
  </channel>
</rss>
