<?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: Iago Silva</title>
    <description>The latest articles on Forem by Iago Silva (@iagosilva).</description>
    <link>https://forem.com/iagosilva</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%2F163484%2Fe862425a-2b01-489b-b02c-bcbb6273c319.jpg</url>
      <title>Forem: Iago Silva</title>
      <link>https://forem.com/iagosilva</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/iagosilva"/>
    <language>en</language>
    <item>
      <title>Say no to technological fad</title>
      <dc:creator>Iago Silva</dc:creator>
      <pubDate>Wed, 15 May 2019 22:10:04 +0000</pubDate>
      <link>https://forem.com/iagosilva/say-no-to-technological-fad-1nf2</link>
      <guid>https://forem.com/iagosilva/say-no-to-technological-fad-1nf2</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally posted on &lt;a href="https://medium.com/interage/diga-nao-ao-modismo-tecnologico-cbbfa2d4ed0a"&gt;Medium&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;How many of us already have been excited to know a new technology and right off the bat, no thinking, we begin to use it?&lt;/p&gt;

&lt;p&gt;Certainly, we all know the pleasure of using a technology to speed up our lives. On the other hand, the risks of investing in one and it doesn't bring out the expected results can be high.&lt;/p&gt;

&lt;p&gt;This problem is what we must avoid, thinking well before investing in certain technological trends, avoiding dissatisfaction.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--iwFTGncn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/o4webbb7x7f302qxfdol.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--iwFTGncn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/o4webbb7x7f302qxfdol.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Trend x Technological fad
&lt;/h2&gt;

&lt;p&gt;Being inside the technological innovations is important, but beware of the viability of its implantation, because not everything is the sea of ​​flowers that it appears to be. It's good to always be ahead of the trends, but don't confuse trend with fad.&lt;/p&gt;

&lt;p&gt;The term "technological fad" is the use of tools because they are new and not necessity. This ends up generating a learning curve and adaptation, and as consequence comes to the productivity deficit, generated by the lack of experience with the new tool, and the risks of depending on a tool that isn't yet consolidated in the community.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pYo6bOhx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/z7os0kqzmfzhxhhr3055.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pYo6bOhx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/z7os0kqzmfzhxhhr3055.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Investment x Result
&lt;/h2&gt;

&lt;p&gt;Sometimes we are presented to a new solution that seems to be better than the one we use, whether for beauty or functionality or even because we have been told about it.&lt;/p&gt;

&lt;p&gt;We may be talking about a new server in the networking area, a new language or a new framework in the programming area or, in general, a new machine that promises to revolutionize our lives. The important thing to note is: Will the benefits of this technology offset the investments and the risks?&lt;/p&gt;

&lt;p&gt;When the subject is time investment, it complicates, because time is money. Who knows if the current tool, which the team is already adapted, will bring us the same results as the new one? Or it will bring fewer results, but will it continue to be worth working with, rather than investing in a new tool to reap fewer results?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YQFPm-jJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/v506vic5b8twtyepihvu.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YQFPm-jJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/v506vic5b8twtyepihvu.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Adaptation
&lt;/h2&gt;

&lt;p&gt;Maintaining a team adapted to a way of working is important because this provides comfort and security in the work. Adaptive time is often good as getting out of the rut and learning something new can be lovely, but it can also cause demotivation and insecurity.&lt;/p&gt;

&lt;p&gt;When choosing a new technology we must take into account all its advantages and disadvantages, from who are its creators and what are their plans for the future, after all, we can't risk investing in something that has no future, isn't it really?&lt;/p&gt;

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

&lt;p&gt;Not falling behind in technological news is as important as avoiding certain trends that aren't yet consolidated in the community.&lt;/p&gt;

&lt;p&gt;The risks in investing in new trends without necessity can be high, as the discontinuation of the tool by its creators or the non-adaptation of your business with what it hoped to be a solution. A feasibility analysis is crucial in making good choices when it comes to implant new technologies.&lt;/p&gt;

&lt;p&gt;Do you have any opinion? Share it in the comments below :).&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>productivity</category>
      <category>technology</category>
      <category>fad</category>
    </item>
    <item>
      <title>Developing a GEM for use of Service Objects</title>
      <dc:creator>Iago Silva</dc:creator>
      <pubDate>Sun, 12 May 2019 06:50:15 +0000</pubDate>
      <link>https://forem.com/iagosilva/developing-a-gem-for-use-of-service-objects-11b0</link>
      <guid>https://forem.com/iagosilva/developing-a-gem-for-use-of-service-objects-11b0</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Service objects helps to keep your controllers and models slim and readable&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Simple example
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Before
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;# app/controllers/post_releases_controller.rb&lt;/span&gt;
&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;PostReleasesController&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;ApplicationController&lt;/span&gt;

  &lt;span class="c1"&gt;# [...]&lt;/span&gt;

  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;update&lt;/span&gt;
    &lt;span class="vi"&gt;@post&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;prepare_to_release&lt;/span&gt;                      &lt;span class="c1"&gt;# &amp;lt;--&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vi"&gt;@post&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;update&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;released_at: &lt;/span&gt;&lt;span class="no"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;current&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;    &lt;span class="c1"&gt;# &amp;lt;--&lt;/span&gt;
      &lt;span class="n"&gt;redirect_to&lt;/span&gt; &lt;span class="n"&gt;root_path&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;
      &lt;span class="n"&gt;render&lt;/span&gt; &lt;span class="ss"&gt;:edit&lt;/span&gt;
    &lt;span class="k"&gt;end&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;

  &lt;span class="c1"&gt;# [...]&lt;/span&gt;

&lt;span class="k"&gt;end&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;After
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;# app/controllers/post_releases_controller.rb&lt;/span&gt;
&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;PostReleasesController&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;ApplicationController&lt;/span&gt;

  &lt;span class="c1"&gt;# [...]&lt;/span&gt;

  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;update&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="no"&gt;ReleasePost&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;call&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;post: &lt;/span&gt;&lt;span class="vi"&gt;@post&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;    &lt;span class="c1"&gt;# &amp;lt;--&lt;/span&gt;
      &lt;span class="n"&gt;redirect_to&lt;/span&gt; &lt;span class="n"&gt;root_path&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;
      &lt;span class="n"&gt;render&lt;/span&gt; &lt;span class="ss"&gt;:edit&lt;/span&gt;
    &lt;span class="k"&gt;end&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;

  &lt;span class="c1"&gt;# [...]&lt;/span&gt;

&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;





&lt;div class="highlight"&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;# app/services/release_post.rb&lt;/span&gt;
&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;ReleasePost&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;ServiceIt&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Base&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;perform&lt;/span&gt;
    &lt;span class="vi"&gt;@post&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;prepare_to_release&lt;/span&gt;
    &lt;span class="vi"&gt;@post&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;update&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;released_at: &lt;/span&gt;&lt;span class="no"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;current&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Feedbacks are most welcome!&lt;/p&gt;

&lt;p&gt;Here's its &lt;strong&gt;Github&lt;/strong&gt;: &lt;a href="https://github.com/iago-silva/service_it"&gt;https://github.com/iago-silva/service_it&lt;/a&gt;&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>ruby</category>
      <category>rails</category>
      <category>gem</category>
    </item>
  </channel>
</rss>
