<?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: Marco Damaceno</title>
    <description>The latest articles on DEV Community by Marco Damaceno (@mdamaceno).</description>
    <link>https://dev.to/mdamaceno</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%2F100774%2F538699b0-df25-4a14-8d6c-65e4b3e03990.jpg</url>
      <title>DEV Community: Marco Damaceno</title>
      <link>https://dev.to/mdamaceno</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mdamaceno"/>
    <language>en</language>
    <item>
      <title>Another way to search for an element in an array in JavaScript</title>
      <dc:creator>Marco Damaceno</dc:creator>
      <pubDate>Thu, 17 Sep 2020 18:47:41 +0000</pubDate>
      <link>https://dev.to/mdamaceno/another-way-to-search-for-an-element-in-an-array-in-javascript-1lam</link>
      <guid>https://dev.to/mdamaceno/another-way-to-search-for-an-element-in-an-array-in-javascript-1lam</guid>
      <description>&lt;p&gt;Is this useful for you?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;funnelSearch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&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="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;left&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;right&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;

  &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;left&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="nx"&gt;target&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nx"&gt;right&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;target&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="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;funnelSearch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;numbers&lt;/span&gt; &lt;span class="o"&gt;=&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="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;funnelSearch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;numbers&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="c1"&gt;// 1&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;funnelSearch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// 5&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;funnelSearch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// undefined&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;funnelSearch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Marco Damaceno&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;D&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// D&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Honestly, I don't know the name of this technique.&lt;/p&gt;

&lt;p&gt;It starts from index 0 AND from the last one incrementing the first index and decrementing the last index. And so on until it finds the element. If it does not find, returns &lt;code&gt;undefined&lt;/code&gt;. It takes half time to go through all the elements than a usual that starts from index 0 to the last one.&lt;/p&gt;

&lt;p&gt;I named it &lt;strong&gt;funnelSearch&lt;/strong&gt;, because I didn't find anything like it documented on the web. Maybe, I didn't use the right words on my searches. BinarySearch?&lt;/p&gt;

&lt;p&gt;If this technique has a known name, please, let me know.&lt;/p&gt;

&lt;p&gt;PS: It also works for strings.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>algorithms</category>
    </item>
    <item>
      <title>Sem necessidade de framework Javascript</title>
      <dc:creator>Marco Damaceno</dc:creator>
      <pubDate>Sat, 25 Apr 2020 15:46:18 +0000</pubDate>
      <link>https://dev.to/mdamaceno/sem-necessidade-de-framework-javascript-4aep</link>
      <guid>https://dev.to/mdamaceno/sem-necessidade-de-framework-javascript-4aep</guid>
      <description>&lt;p&gt;Frameworks Javascript como React (sim, um framework), Vue e Angular auxiliam bastante no desenvolvimento de aplicações web. Um ecossistema foi gerado em torno de cada um deles e o que se vê hoje em dia é uma comunidade Javascript fragmentada que praticamente não se conversa.&lt;/p&gt;

&lt;p&gt;Como fazer um componente escrito pra funcionar no React também funcionar no Angular? Ou no Vue? Algumas horas e um pouco de dor de cabeça serão necessárias para fazer funcionar essa compatibilidade. Para piorar as coisas, se vê mais pessoas entrando na área de desenvolvimento como "Desenvolvedor React" ou "Desenvolvedor Angular" e por aí vai. Isso só ajuda a fragmentar ainda mais a comunidade Javascript.&lt;/p&gt;

&lt;p&gt;A solução para este problema - se é que foi desenvolvido para ser uma solução - são os chamados &lt;a href="https://developer.mozilla.org/pt-BR/docs/Web/Web_Components"&gt;WebComponents&lt;/a&gt;. É o elo perdido entre os ditos frameworks. Pouco se comenta sobre eles em cada uma das comunidades. Já parou para se perguntar por quê? É simples. Seus mantenedores querem que outros desenvolvedores usem a ferramenta que eles criaram como a solução para "escrever menos código". Os criadores possuem produtos que usam a tal ferramenta, o que justifica a sua existência. Essas ferramentas sendo adotadas em massa, ajudam as empresas que as mantem (Google, Facebook e AliExpress*) sempre com pessoas dispostas a resolverem bugs para elas. Não que isso seja um problema já que o desenvolvedor que não trabalha nessas empresas está adquirindo conhecimento da mesma forma, mas pouco se vê uma discussão sobre como resolver um problema utilizando Vanilla JS. É sempre &lt;em&gt;"como fazer/resolver x com react/angular/vue"&lt;/em&gt;. Soluções boas são criadas no clubinho e não se vê muito movimento de torná-los compatíveis com outros frameworks. No final, é tudo Javascript #soquenao.&lt;/p&gt;

&lt;p&gt;&lt;small&gt;* &lt;em&gt;AliExpress mantém o Vue indiretamente&lt;/em&gt;.&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;Poucos perceberam que esses frameworks surgiram para resolver um problema que hoje é perfeitamente possível resolver sem eles.&lt;/p&gt;

&lt;p&gt;Enquanto isso...&lt;/p&gt;

&lt;p&gt;Mais uma vaga &lt;em&gt;"Desenvolvedor React"&lt;/em&gt; é criada no Linkedin.&lt;br&gt;
Outra vaga &lt;em&gt;"Desenvolvedor Angular"&lt;/em&gt; é criada no Linkedin.&lt;br&gt;
Vagas como &lt;em&gt;"Desenvolvedor Javascript"&lt;/em&gt; estão sumindo...&lt;/p&gt;

&lt;p&gt;Ainda tem aqueles desenvolvedores que utilizam React pra tudo. Às vezes, um simples site com uma única interação possível a pessoa já considera usar React e Redux. Vai com calma, cidadão! Nem tudo é prego pra você usar o seu martelo.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"WebComponents é difícil de ler e manter."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Pode até ser verdade, mas você já parou pra analisar opções que facilitam o desenvolvimento com WebComponents? Já ouviu falar do &lt;a href="https://lit-html.polymer-project.org/"&gt;lit-html&lt;/a&gt;, &lt;a href="https://lit-element.polymer-project.org/"&gt;LitElement&lt;/a&gt; e &lt;a href="https://github.com/matthewp/haunted"&gt;haunted&lt;/a&gt;?&lt;/p&gt;

&lt;p&gt;Eu tentando contribuir para maior adoção dos WebComponents, criei um repositório chamado &lt;a href="https://github.com/mdamaceno/dont-need-framework-js"&gt;Don't need a framework&lt;/a&gt; onde a ideia é reunir exemplos de como resolver certos problemas corriqueiros com WebComponents. Anunciei o projeto num grupo do Slack e alguém me fez essa pergunta:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Não usar React, mas usar uma lib (haunted) que simula uma funcionalidade do React?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;É, meu caro. Mais um motivo da não necessidade de React ou qualquer outro framework.&lt;/p&gt;

&lt;p&gt;E quem disse que a tal funcionalidade é exclusiva do React? Já parou pra ver o código fonte da biblioteca? Não achei nenhuma implementação do React nela. Se achar, por favor, me avise.&lt;/p&gt;

&lt;p&gt;Se você ainda não sabe, existe uma hashtag chamada &lt;a href="https://twitter.com/search?q=%23usetheplatform&amp;amp;src=recent_search_click&amp;amp;f=live"&gt;#usetheplatform&lt;/a&gt; que basicamente advoga sobre o uso da plataforma web do jeito que ela é para desenvolvimento de aplicações. Hoje é perfeitamente possível manter um projeto só com WebComponents aproveitando o modelo &lt;a href="https://www.techopedia.com/definition/31094/evergreen-browser"&gt;evergreen&lt;/a&gt; de atualização que navegadores utilizam. Se você não pode se dar ao luxo de fazer uma aplicação sem pensar em navegadores antigos, há as soluções de builders que ajudam nessa questão como Webpack, Rollup ou Parcel.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Existem frameworks para outras linguagens. Por que seria diferente pro Javascript?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ainda não percebeu que &lt;strong&gt;o navegador é o framework&lt;/strong&gt;? Qual a necessidade de um framework do framework?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Eu não sei se o navegador suporta o que eu quero fazer..."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;O site &lt;a href="https://caniuse.com"&gt;Can I use&lt;/a&gt; pode te informar se você pode usar a nova feature motherf****r do js ou não.&lt;/p&gt;

&lt;p&gt;Eu tenho a impressão que os fãs de React são os primeiros a darem chilique quando se fala de WebComponents. Isso se confirma? Se sim, por quê? Qual é a birra?&lt;/p&gt;

&lt;p&gt;Os anos vão passando e o seu framework favorito vai se tornando cada vez mais irrelevante com o avanço do Javascript.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Mas é o framework x que paga minhas contas!"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Sério? Até quando?&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/51QNMy9MlZY"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>discuss</category>
      <category>ptbr</category>
      <category>webcomponents</category>
    </item>
    <item>
      <title>404 status code! Really?</title>
      <dc:creator>Marco Damaceno</dc:creator>
      <pubDate>Mon, 09 Mar 2020 17:47:21 +0000</pubDate>
      <link>https://dev.to/mdamaceno/404-status-code-really-11k6</link>
      <guid>https://dev.to/mdamaceno/404-status-code-really-11k6</guid>
      <description>&lt;p&gt;Hi, guys! This is my first post on Dev.to.&lt;/p&gt;

&lt;p&gt;I come to share with you a thought that intrigues me a little. Maybe, a little strange one at first sight.&lt;/p&gt;

&lt;p&gt;Well... I have built a REST API for a personal project and worked on a endpoint that retrives a single resource. For instance:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;GET /books/8c2ba535-5523-47a5-8a72-281c316d5fc4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As you can see, the resource can be found by an UUID. This URI is mapped as &lt;code&gt;GET /books/:id&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The thing is this UUID does not represent any record in the &lt;em&gt;books&lt;/em&gt; table in the database. So, it returns nothing.&lt;/p&gt;

&lt;p&gt;It is common to deal with this situation returning a &lt;code&gt;404 (not_found)&lt;/code&gt; status code that indicates an error from the client as specified on &lt;a href="https://tools.ietf.org/html/rfc7231#section-6.5.4"&gt;RFC 7231 section 6.5.4&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The 404 (Not Found) status code indicates that the origin server did not find a current representation for the target resource or is not willing to disclose that one exists.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I have dealt with it as an untouchable law until reading what is specified on &lt;a href="https://tools.ietf.org/html/rfc7231#section-6.3.1"&gt;RFC 7231 section 6.3.1&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The 200 (OK) status code indicates that the request has succeeded. The payload sent in a 200 response depends on the request method. For the methods defined by this specification, the intended meaning of the payload can be summarized as:&lt;br&gt;
GET  a representation of the target resource;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This definition for &lt;code&gt;200&lt;/code&gt; status code makes me believe that returning a payload with &lt;code&gt;null&lt;/code&gt; is correct because it is what exactly the client requested! The client just sent an ID that does not represent any record, the structure of the URI is fine though. Thus, the client gets a success response, but with a &lt;code&gt;null&lt;/code&gt; as a resource.&lt;/p&gt;

&lt;p&gt;According to this logic, the payload would be like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "data": {
    "book": null
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For the status code to be &lt;code&gt;404&lt;/code&gt;, the request would be like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;GET /boocs/8c2ba535-5523-47a5-8a72-281c316d5fc4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;boocs&lt;/strong&gt; really does not exist.&lt;/p&gt;

&lt;p&gt;All of this makes me think the way we handle this situation depends on how we deal with the role of the database in the application.&lt;/p&gt;

&lt;p&gt;Does the database have an active participation on the application interfering in the business rule? Go for &lt;code&gt;404&lt;/code&gt; status code. Eg.: a private repository hosted on Github being accessed by an unauthorized user.&lt;/p&gt;

&lt;p&gt;Is the database just a data repository? I tend to believe the response would have a success payload with &lt;code&gt;null&lt;/code&gt;. Eg.: the majority of the APIs worldwide.&lt;/p&gt;

&lt;p&gt;Summing up:&lt;/p&gt;

&lt;p&gt;"If you have nothing to give, give nothing. If you do, decide if you want to give something, (don't) give it and communicate."&lt;/p&gt;

&lt;p&gt;Crazy, uh?&lt;/p&gt;

&lt;p&gt;I know there already are some talks about this on the internet, but I think it worths sharing my thoughts with you and I'd like to know about your opinion.&lt;/p&gt;

&lt;p&gt;What do you think about?&lt;/p&gt;

</description>
      <category>discuss</category>
    </item>
  </channel>
</rss>
