<?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: Karytonn Oliveira</title>
    <description>The latest articles on DEV Community by Karytonn Oliveira (@karytonn).</description>
    <link>https://dev.to/karytonn</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%2F241170%2Fca11b524-f5d3-4e08-bad8-a41bb340ed49.jpg</url>
      <title>DEV Community: Karytonn Oliveira</title>
      <link>https://dev.to/karytonn</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/karytonn"/>
    <language>en</language>
    <item>
      <title>Angular: font-size e acessibilidade</title>
      <dc:creator>Karytonn Oliveira</dc:creator>
      <pubDate>Mon, 03 May 2021 01:52:33 +0000</pubDate>
      <link>https://dev.to/karytonn/angular-font-size-e-acessibilidade-2jo8</link>
      <guid>https://dev.to/karytonn/angular-font-size-e-acessibilidade-2jo8</guid>
      <description>&lt;p&gt;Diante do requisito para uma feature que possibilite alterar o tamanho da fonte em todo o projeto de forma dinâmica, como conseguir essa façanha em projetos Angular?&lt;/p&gt;

&lt;p&gt;Bom, após procurar muito e não encontrar nada a respeito, eis a solução que compilei:&lt;/p&gt;

&lt;p&gt;1) Torne explícito um valor font-size default para todo o seu projeto. Faça isso no arquivo style.scss ou .css, ou ainda, de acordo com o pré-processador utilizado no projeto.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1HGZgGo1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i7mfbqm4lye8nor2d8ky.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1HGZgGo1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i7mfbqm4lye8nor2d8ky.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2) Para todas as tags que possuem texto, atribua o valor de font-size utilizando a unidade de medida rem (cada 1 &lt;a href="https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units"&gt;rem&lt;/a&gt; equivale 16px, valor definido por você no style.scss).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--z3GoJ0CB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xtaf4tmwex96flpgm92p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--z3GoJ0CB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xtaf4tmwex96flpgm92p.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Obs.: Esse tipo de atribuição de estilo inline não é o mais adequado, pois desta forma nosso html fica poluido e também não conseguimos aplicar estilos em cascata, reaproveitando o código. Aqui fiz assim somente para exemplificar a atribuição do font-size com rem.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;3) Crie um componente que será responsável por exibir essa e outras features de acessibilidade (normalmente se utiliza uma barra que fica no topo da header, conforme imagem que ilustra esse tutorial).&lt;/p&gt;

&lt;p&gt;4) No template html declare 3 botões que invocam uma função e passam como parâmetro uma string.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PeYbvvwu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ijltb5doxqgtnzd2aqwe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PeYbvvwu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ijltb5doxqgtnzd2aqwe.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;5) No componente.ts implemente a função que será responsável por aumentar, diminuir ou resetar o tamanho da fonte.&lt;/p&gt;

&lt;p&gt;Antes disso, declare a variável font_size que será responsável por armazenar o tamanho da fonte default que é o mesmo valor do estado atual.&lt;/p&gt;

&lt;p&gt;Na implementação da função o primeiro passo é verificar qual dos botões foi acionando e com base nisso atribuir um novo valor à variável font_size.&lt;/p&gt;

&lt;p&gt;Na sequência criamos uma variável local htmlRoot do tipo HTMLElement que recebe uma instância do DOM referenciando a tag html. No caso do Angular, é necessário informar que queremos referenciar a primeira declaração de html e fazemos isso adicionando [0] ao final da invocação do método getElementsByTagName().&lt;/p&gt;

&lt;p&gt;Por fim, verificamos se a variável recebeu a referência do html, se sim, então atribuímos um novo valor ao font-size default do projeto, o mesmo que declaramos lá no style.scss.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---BltiAMX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wxw4apnm0uglbspr0m2x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---BltiAMX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wxw4apnm0uglbspr0m2x.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Shazam! Nossa feature está pronta! Ao clicar no btn A+ o tamanho da fonte será acrescido de 1px, ao clicar em btn A- decrescido de 1px, e assim por diante.&lt;/p&gt;

&lt;p&gt;Vale resaltar que a ação se propaga em todas as páginas, por tanto,não há necessidade de se implementar a função em outros componentes.&lt;/p&gt;

&lt;p&gt;Para um Ctrl+c o código está no no meu &lt;a href="https://gist.github.com/Karytonn/93dde46b048fea690efb5a0c201ef986"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;É possível que esta não seja a solução mais adequada ou performática, mas funciona. ;)&lt;/p&gt;

</description>
      <category>angular</category>
      <category>typescript</category>
      <category>acessibilidade</category>
      <category>fonte</category>
    </item>
    <item>
      <title>Criação de sites: não é só layout! </title>
      <dc:creator>Karytonn Oliveira</dc:creator>
      <pubDate>Tue, 05 Jan 2021 20:55:44 +0000</pubDate>
      <link>https://dev.to/karytonn/criacao-de-sites-nao-e-so-layout-12jc</link>
      <guid>https://dev.to/karytonn/criacao-de-sites-nao-e-so-layout-12jc</guid>
      <description>&lt;h1&gt;
  
  
  É preciso levar a sério todo o processo de desenvolvimento.
&lt;/h1&gt;

&lt;p&gt;Vejo muitos "desenvolvedores" dizendo que entregam sites funcionais em menos de 8 horas.&lt;/p&gt;

&lt;p&gt;Mas será que realmente esse serviço tem qualidade?&lt;/p&gt;

&lt;p&gt;Será que a solução final gera resultados que se convertem?&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Ainda que dispondo de ferramentas que nos auxiliam na construção de páginas web de forma super dinâmica e ágil é nítido que o processo como um todo, quando executado de forma responsável e respeitando todas as fases do desenvolvimento, seja impossível que se inicie a criação de um site pela manhã e o entregue no fim do dia.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Nesse sentido lhes apresento alguns dos principais aspectos que envolvem a criação de um site simples (landing page), suas implicações para caso não seja levado a sério todas as etapas, e em alguns dos casos o tempo mínimo para execução, que, inclusive, justificam a necessidade de alguns dias para a entrega de um site básico.&lt;/p&gt;

&lt;h2&gt;
  
  
  Os principais aspectos são:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Levantamento e análise de requisitos;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Prototipagem em Wireframe;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Aquisição e configuração de domínio;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Contratação e configuração de hospedagem;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Programação;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Configurações de formulários;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Otimização de imagens;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Implementação de técnicas de segurança;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Análise e implementação de SEO;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Implementação de Analytics;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Testes de Usabilidade;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Testes de Performance;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Backup Recovery;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;[ Levantamento e análise de requisitos ]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Nessa primeira fase ouvimos o cliente para definir o escopo do projeto com base nas necessidades dos usuários.&lt;/p&gt;

&lt;p&gt;É um processo delicado porque muitas das vezes o que o cliente quer nem sempre é o que o usuário necessita e cabe a nós orientá-lo de forma profissional para que se chegue a um consenso quanto aos requisitos e funcionalidades que o site terá.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Tempo gasto:&lt;/code&gt; &lt;br&gt;
Min. 2 reuniões&lt;/p&gt;

&lt;p&gt;&lt;code&gt;A não execução:&lt;/code&gt; &lt;br&gt;
Normalmente se torna um projeto que gera muito desgaste e desperdício de tempo, já que várias partes teriam que ser refeitas por diversas vezes.&lt;/p&gt;

&lt;p&gt; &lt;br&gt;
&lt;strong&gt;[ Prototipagem em wireframe ]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Já diz o ditado, "não se começa uma casa pelo telhado", nessa linha o wireframe seria o projeto arquitetônico do site, onde definimos onde cada informação e elemento será disposto.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Tempo gasto:&lt;/code&gt; &lt;br&gt;
Depende da complexidade e quantidade de páginas.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;A não execução:&lt;/code&gt; &lt;br&gt;
Dificuldade para seguir um padrão de layout, gerando assim, um projeto sem identidade visual e com baixa harmonia entre os elementos.&lt;/p&gt;

&lt;p&gt; &lt;br&gt;
&lt;strong&gt;[ Aquisição e configuração de domínio ]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;É comum que o cliente chegue até o desenvolvedor ou agência com o nome do domínio (endereço do site) "definido", mas para essa definição geralmente não foi levado em consideração algumas características técnicas, como por exemplo, a disponibilidade do endereço para registro.&lt;/p&gt;

&lt;p&gt;Mas nem sempre essa disponibilidade é o principal problema, a casos em que o nome de domínio não reflete a identidade/solução do site, e isso acontece porque o melhor momento para se definir esse nome, geralmente é durante ou após uma boa análise de requisitos.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Tempo gasto:&lt;/code&gt; &lt;br&gt;
Faz parte do processo de análise de requisitos.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Sem a devida atenção:&lt;/code&gt; &lt;br&gt;
Ter um nome de domínio que não reflete a proposta do site, não conseguir nomes adequados para as redes sociais e ou plagiar algum projeto existente.&lt;/p&gt;

&lt;p&gt; &lt;br&gt;
&lt;strong&gt;[ Contratação e configuração de hospedagem ]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Talvez o principal fator. Não adianta ter um projeto "bem elaborado" se você não consegue fornecer um acesso rápido, seguro e consistente ao site. Para que esse fator seja assertivo, a decisão de onde hospedar e quais configurações seriam necessárias, dependem diretamente de uma boa análise de requisitos, pois só assim entenderíamos quais funcionalidades o site deverá suportar.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Tempo gasto:&lt;/code&gt; &lt;br&gt;
~24 horas&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Não levar em consideração:&lt;/code&gt; &lt;br&gt;
Seu site não converte e dificilmente seus clientes/usuários retornam.&lt;/p&gt;

&lt;p&gt; &lt;br&gt;
&lt;strong&gt;[ Programação ]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Fase onde juntamos tudo que foi planejado e partimos para o desenvolvimento do site. Aqui deve ser levado em conta não o presente mas sim o futuro do projeto.&lt;/p&gt;

&lt;p&gt;Apesar de seguirmos a risca todos os aspectos que envolvem o levantamento de requisitos, wireframes e testes, é comum nos depararmos com elementos diversos que não estão desempenhando bem sua função ou convertendo como esperado, e isso acontece porque existem N variáveis no mundo da web e dificilmente conseguimos antever 100% delas. O que pode ser feito é a identificação e correção desses elementos "defeituosos" o mais rápido possível, envitando assim a ineficiência dos resultados esperados.&lt;/p&gt;

&lt;p&gt;Nesse sentido, é importante optarmos por métodos mais complexos e que naturalmente tomam mais tempo, mas que garantem a possibilidade de refatoração do código ou mudanças no layout caso seja necessário.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Tempo gasto:&lt;/code&gt; &lt;br&gt;
Depende da complexidade da página e tipo de solução aplicada. Min. 12 horas.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Se não levado a sério:&lt;/code&gt;&lt;br&gt;
O projeto se tornaria inútil caso surgisse uma nova regra de negócio e não fosse viável adaptar o site a ela.&lt;/p&gt;

&lt;p&gt; &lt;br&gt;
&lt;strong&gt;[ Configurações de formulários ]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Como estamos falando de sites do tipo Landing Page (página de conversão) é comum que este possua ao menos um formulário, desta forma conseguimos obter leads ou vender um produto/serviço.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Tempo gasto:&lt;/code&gt;&lt;br&gt;
~3 horas.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Se não levado a sério:&lt;/code&gt; &lt;br&gt;
O sucesso do site estaria comprometido, já que este é o coração da solução, que traz leads ou fechar alguma venda.&lt;/p&gt;

&lt;p&gt; &lt;br&gt;
&lt;strong&gt;[ Otimização e escolha de imagens ]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Processo que define e otimiza as imagens que serão utilizadas.&lt;/p&gt;

&lt;p&gt;Muitas das vezes o que atrai, retém ou estimulam ações dos usuários dentro do site são as imagens, sendo assim, para que isso seja positivo, é fundamental que essas estejam otimizadas e harmonicamente contextualizadas ao projeto.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Tempo gasto:&lt;/code&gt; &lt;br&gt;
~1 hora.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Se não levado a sério:&lt;/code&gt; &lt;br&gt;
O tempo de carregamento do site pode ser prejudicado ou elas não serão um fator somatório para o engajamento dos usuários.&lt;/p&gt;

&lt;p&gt; &lt;br&gt;
&lt;strong&gt;[ Implementação de técnicas de segurança ]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Processo que visa garantir a segurança dos dados que trafegam ou são coletados dentro do site.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Tempo gasto:&lt;/code&gt; &lt;br&gt;
Depende das funcionalidades do site, local de hospedagem, etc.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Se não levado a sério:&lt;/code&gt; &lt;br&gt;
O mais simples comprometimento dos dados de seus usuários pode ser suficiente para decretar o fim do seu negócio.&lt;/p&gt;

&lt;p&gt; &lt;br&gt;
&lt;strong&gt;[ Análise e implementação de SEO (Search Engine Optimization) ]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;É um conjunto de técnicas que visam posicionar uma página nos primeiros resultados de mecanismos de busca online, como o Google.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Tempo gasto:&lt;/code&gt; &lt;br&gt;
Depende do tamanho do site.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Se não levado a sério:&lt;/code&gt; &lt;br&gt;
Seu site se torna uma obra de arte pessoal e um negócio invisível que não gera nenhum tipo de conversão.&lt;/p&gt;

&lt;p&gt; &lt;br&gt;
&lt;strong&gt;[ Implementação de Analytics ]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ferramenta que possibilita o monitoramento de tráfego no site. O objetivo principal do Analytics é saber e entender os comportamentos dos visitantes ao navegarem pelas páginas do site, além disto, fornecer dados para que seja possível a indexação nas buscas por termos específicos no Google.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Tempo gasto:&lt;/code&gt; &lt;br&gt;
~2 horas&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Se não levado a sério:&lt;/code&gt; &lt;br&gt;
Não conseguiríamos compreender o comportamento do usuário dentro site e com isso ficaríamos limitados para implantação e correção de estratégias de marketing ou bom funcionamento do SEO.&lt;/p&gt;

&lt;p&gt; &lt;br&gt;
&lt;strong&gt;[ Testes de Usabilidade ]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Fase onde verificamos a experiência de usabilidade para o usuário. Aqui testamos o layout em diferentes dispositivos, a comunicação dos botões, formulários, performance, etc.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Tempo gasto:&lt;/code&gt; &lt;br&gt;
~2 horas&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Se não levado a sério:&lt;/code&gt; &lt;br&gt;
Comportamentos inesperados podem reduzir a satisfação dos usuários e com isso reduzir a taxa de conversão.&lt;/p&gt;

&lt;p&gt; &lt;br&gt;
&lt;strong&gt;[ Teste de Performance ]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Fase onde sobrecarregamos o servidor onde está hospedado nosso site a fim de averiguar possíveis gargalos e falhas em produção.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Tempo gasto:&lt;/code&gt; &lt;br&gt;
Depende do método/ferramenta utilizada. Min. 4 horas.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Se não levado a sério:&lt;/code&gt; &lt;br&gt;
O site pode ficar inoperante caso o servidor não suporte os acessos ou ocorra alguma falha grave.&lt;/p&gt;

&lt;p&gt; &lt;br&gt;
&lt;strong&gt;[ Backup Recovery ]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Processo periódico que garante uma cópia fiel do site, possibilitando a restauração caso ocorra uma fatalidade com os arquivos no servidor.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Tempo gasto:&lt;/code&gt; &lt;br&gt;
~2 hora&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Se não levado a sério:&lt;/code&gt; &lt;br&gt;
Fatalidades ocorrem, e não estar preparado para lidar com elas pode acarretar na perda de clientes, dinheiro ou até mesmo de todo um negócio.&lt;/p&gt;

&lt;p&gt;...&lt;/p&gt;

&lt;h3&gt;
  
  
  Ou seja, não é só desenhar o site e entregar para o cliente, é preciso muito mais para que se tenha um produto de qualidade e que de fato traga benefícios.
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&amp;gt;&amp;gt; Ao desenvolvedor&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Portanto, se você quer ser um profissional de destaque e ser lembrado por criar soluções que engajam, convertem ou resolvam problemas, é fundamental que leve a sério todos os fatores citados acima e execute com responsabilidade todas as etapas.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&amp;gt;&amp;gt; Ao cliente&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Portanto, se você quer ter um Site que de fato converta os resultados em algo positivo, contrate um profissional que leve a sério todos estes aspectos e requisitos acima.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Liberte-se do conforto!</title>
      <dc:creator>Karytonn Oliveira</dc:creator>
      <pubDate>Sun, 15 Mar 2020 17:06:59 +0000</pubDate>
      <link>https://dev.to/karytonn/liberte-se-do-conforto-30nn</link>
      <guid>https://dev.to/karytonn/liberte-se-do-conforto-30nn</guid>
      <description>&lt;p&gt;A algum tempo fui convidado a trabalhar em uma instituição pública como auxiliar de gestão de Mídias Sociais. Como já tinha bastante experiência na área de informática e facilidade em entender os mecanismos da Web, aceitei o desafio.&lt;/p&gt;

&lt;p&gt;Não foi difícil de entender como tudo funcionava e em poucos dias estava suprindo a necessidade da equipe, inclusive, me atrevendo a melhorar alguns métodos.&lt;/p&gt;

&lt;p&gt;Mas logo em seguida o inesperado aconteceu, o designer gráfico da equipe, que diga-se de passagem é um ótimo profissional, decidiu-se voltar a trabalhar de forma autônoma.&lt;/p&gt;

&lt;p&gt;Tendo sua saída ocorrido de forma inesperada e vendo a necessidade de entregar alguns trabalhos, mais uma vez me atrevi a fazer algo que não me fora solicitado.&lt;/p&gt;

&lt;p&gt;Fiz algumas pesquisas e &lt;strong&gt;coloquei a mão na massa.&lt;/strong&gt; Sem aplicar nenhuma técnica e me baseando em outros materiais, entreguei minha primeira proposta de arte, está supriria uma demanda de urgência.&lt;/p&gt;

&lt;p&gt;Foi um sucesso, todos aprovaram e me senti muito bem por ter conseguido resolver aquele problema pontual.&lt;/p&gt;

&lt;p&gt;Mas não parou por aí, tinha mais artes pra fazer e pensei comigo, se fiz uma, consigo fazer outra. &lt;/p&gt;

&lt;p&gt;Hoje já somam centenas delas e já cheguei a suprir 100% da demanda.&lt;/p&gt;

&lt;p&gt;Comecei sem saber nada de design, mas com determinação, força de vontade e acima de tudo com o apoio dos colegas de trabalho, hoje consigo entregar projetos como este que ilustra o post, a identidade visual de uma Escola Municipal.&lt;/p&gt;

&lt;p&gt;Profissionalmente esse não é o caminho que quero seguir, tenho como objetivo me tornar um bom Analista de Sistemas, que consiga analisar, desenvolver e implementar qualquer tipo de software. &lt;/p&gt;

&lt;h2&gt;
  
  
  Moral da história
&lt;/h2&gt;

&lt;p&gt;Quando comecei a me aventurar na criação artes para mídias sociais, confesso que fiquei com bastante medo de perder o foco do meu objetivo profissional, até porque, por algum tempo me dediquei mais em aprender sobre design do que sobre software.&lt;/p&gt;

&lt;p&gt;Mas hoje a ficha caiu, me dei conta de que não é suficiente em nem construtivo focar 100% da nossa energia em um objetivo linear, pois o conhecimento é como um formigueiro, onde os caminhos se encontram, e mesmo que não exista um caminho, se você cavar, em algum momento ele vai se conectar.&lt;/p&gt;

&lt;h3&gt;
  
  
  A mensagem que deixo é a seguinte:
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Liberte-se do conforto!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Não se limite a fazer somente o que gosta, seja aberto às oportunidades de áreas correlacionadas pois elas vão te ajudar a compreender o "ecossistema" do seu objetivo profissional.&lt;/p&gt;

&lt;p&gt;Além disso, os  conhecimentos "secundários" se somam de várias maneiras, e fazem com que sua mente se expanda tornando-o uma pessoa mais criativa e crítica de si mesmo.&lt;/p&gt;

&lt;p&gt;🖖🏻 &lt;em&gt;Vida longa e próspera!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>objetivo</category>
      <category>developer</category>
      <category>socialmedia</category>
      <category>design</category>
    </item>
    <item>
      <title>Sobre construir conhecimento</title>
      <dc:creator>Karytonn Oliveira</dc:creator>
      <pubDate>Tue, 28 Jan 2020 10:39:37 +0000</pubDate>
      <link>https://dev.to/karytonn/sobre-construir-conhecimento-367p</link>
      <guid>https://dev.to/karytonn/sobre-construir-conhecimento-367p</guid>
      <description>&lt;p&gt;&lt;em&gt;Uma dica para desenvolvedores&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Por muito tempo me deixei levar pela falsa ilusão de que para se aprender uma nova tecnologia seria necessário praticar em algo grande, ou ao menos que cobrisse todos os aspectos daquele conhecimento.&lt;/p&gt;

&lt;p&gt;Sim, eu caí nessa armadilha -- estudava, estudava e pouco saia do lugar, pois o conhecimento que tinha "nunca era o suficiente" para se começar algo.&lt;/p&gt;

&lt;p&gt;É tipo uma síndrome do impostor, a gente não consegue aceitar que já sabe o suficiente para começar.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Mas como assim, se eu não tenho conhecimento suficiente é porque ainda não aprendi o suficiente, correto?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Até certo ponto sim, dado que, sem uma base é quase que impossível de se começar algo. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Então onde está o problema?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;[ Primeiro vamos deixar claro um detalhe, não estou me referindo ao conhecimento de senso comum, mas sim, do técnico/científico. ]&lt;/p&gt;

&lt;p&gt;Então, resumidamente, o problema está no método que utilizamos para obter o conhecimento. &lt;/p&gt;

&lt;p&gt;É comum ficarmos horas, dias, semanas ou até meses lendo livros, assistindo vídeo-aulas ou até mesmo lendo artigos como este, e isso não é ruim, pelo contrário, esse tipo de material é de suma importância. Eles são nossa &lt;strong&gt;base de referência&lt;/strong&gt;, e cada vez mais tem sido útil, já que, como costumo dizer, não é nada fácil absorver esse emaranhado de informações que as novas tecnologias nos obriga a reter.&lt;/p&gt;

&lt;p&gt;Só que estamos esquecendo do fundamental, &lt;strong&gt;a prática&lt;/strong&gt;. É ela que de fato nos permite construir o conhecimento sólido, aquele quê, quando necessário, apresenta-se de forma espontânea. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Ou seja, de forma genérica, o conhecimento não se constrói com o observar, mas sim, com o praticar.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Se pra você isso parece óbvio, parabéns. Mas saiba que a maioria, assim como eu, acaba descobrindo isso um pouco tarde, alguns até mesmo depois de já terem desistido. &lt;/p&gt;

&lt;p&gt;A questão é que de certa forma ficamos "enfeitiçados" ao observar o locutor explicar e produzir o conhecimento, ainda mais quando o tema é algo que almejamos muito dominar. O fascínio é tão grande que não nos damos conta de que não estamos aprendendo.&lt;/p&gt;

&lt;p&gt;Como diz meu querido professor, Gustavo Guanabara: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;"Você pode me assistir fazendo dezenas de vezes, mas se não praticar, só vai conseguir provar uma coisa, eu sei fazer e você não."&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Mas então como devo fazer?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;É claro que não existe um método mágico, até porque, não somos indivíduos homônimos, e o que funciona pra mim pode não funcionar pra você.  &lt;/p&gt;

&lt;p&gt;Mas a minha dica é: &lt;strong&gt;comece criando suas próprias ferramentas.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;É aqui que você desvia da armadilha, não espere achar que já tem o conhecimento necessário, só comece. &lt;/p&gt;

&lt;p&gt;Crie seu próprio site/portfólio, sua lista de tarefas, seu player de música, seu blog ou uma simples calculadora.&lt;/p&gt;

&lt;p&gt;Pode ter certeza, isso será o suficiente para se sentir confiante em avançar. &lt;/p&gt;

&lt;p&gt;Assim como o saber se soma, seu projetos também evoluem de acordo com a solidez do seu conhecimento. &lt;/p&gt;

&lt;p&gt;É como uma bola de neve no desfiladeiro (no bom sentido, claro) o conhecimento cresce de acordo com caminho percorrido. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Um exemplo concreto&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Estava eu necessitando automatizar a criação de links personalizados para o Whatsapp e após inspecionar o código de  ferramentas já disponíveis no mercado (sim não confio em terceiros), acabei descobrindo que não poderia garantir que o número de telefone fornecido não seria armazenado em um banco de dados. Daí então, decidi  criar meu próprio gerador de links personalizado.&lt;/p&gt;

&lt;p&gt;Mas além dessa necessidade eu também precisava aprimorar meus conhecimentos em CSS e JavaScript e foi então que decide casar a duas coisas.&lt;/p&gt;

&lt;p&gt;Busquei algumas referências, as mesmas bases que citei lá em cima: vídeos, livros, documentações, ..., &lt;strong&gt;e coloquei a mão na massa&lt;/strong&gt; (essa é a diferença).  &lt;/p&gt;

&lt;p&gt;No decorrer do desenvolvimento, por mais que a aplicação fosse simples, acabei aprendendo muitas coisas novas, e com relação ao JavaScript o aprendizado foi tanto que o inesperado aconteceu. &lt;/p&gt;

&lt;p&gt;A aplicação estava pronta, eu já tinha feito o deploy e o resultado tinha sido o esperado.  Mas me sentia tão confiante com tudo que havia aprendido em JavaScript que acabei me aventurando em outra tecnologia que também tenho muita vontade de dominar, que são as &lt;strong&gt;PWAs&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;E não é que consegui! No final das contas eu tinha criado uma App PWA multiplataforma e que funcionava offline.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Mais uma vez pude constatar que de fato o segredo está nas coisas simples. É nelas que temos a confiança para iniciar e posteriormente a clareza para aprimorar.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;E isso não serve só para projetos.&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Serve para aquela vaga de emprego que você acha que não tem conhecimento suficiente para se candidatar. &lt;br&gt;
Pro livro que quer escrever.&lt;br&gt;
Pro curso que quer iniciar. &lt;/p&gt;

&lt;p&gt;Você não precisa estar completamente preparado. E a verdade é que ninguém nunca está.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Só comece!&lt;/strong&gt;
&lt;/h4&gt;




&lt;p&gt;Sobre o App PWA que me referi, segue o link por si acaso quiser testá-lo 😉&lt;br&gt;
&lt;a href="https://www.crialink.karytonn.dev/"&gt;https://www.crialink.karytonn.dev/&lt;/a&gt;&lt;/p&gt;




</description>
      <category>conhecimento</category>
      <category>dev</category>
      <category>learning</category>
      <category>devlive</category>
    </item>
    <item>
      <title>Segurança na internet: quase sempre a culpa é sua!</title>
      <dc:creator>Karytonn Oliveira</dc:creator>
      <pubDate>Wed, 15 Jan 2020 10:10:09 +0000</pubDate>
      <link>https://dev.to/karytonn/seguranca-na-internet-quase-sempre-a-culpa-e-sua-2hof</link>
      <guid>https://dev.to/karytonn/seguranca-na-internet-quase-sempre-a-culpa-e-sua-2hof</guid>
      <description>&lt;p&gt;Basta fazermos uma simples pesquisa no Google sobre segurança para descobrirmos que 2019 foi um ano repleto de “invasões por hackers"&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Mas será que a culpa é dos hackers mesmo?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Pois bem, eu acredito que a maioria dos casos tem mais a ver com o descuido dos usuários do quê com os serviços propriamente dito.&lt;/p&gt;

&lt;p&gt;Mais de duas décadas de internet e as pessoas ainda insistem em utilizar senhas como: 123456; password; admin; 654321; senha123.&lt;/p&gt;

&lt;p&gt;Minha sugestão para 2020 é que além da indispensável &lt;strong&gt;autenticação em dois fatores&lt;/strong&gt;, você utilize &lt;strong&gt;senhas diferentes&lt;/strong&gt; para cada serviço da internet.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Calma, eu sei que isso parece muito difícil e chato de fazer, mas hoje vou te ensinar uma técnica simples que venho utilizando a vários anos e que por “mérito dela” jamais tive um serviço da internet invadido.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A técnica consiste na criação de uma senha mestre e com base nela as demais.&lt;/p&gt;

&lt;p&gt;O mais bacana é que você pode ter 30 senhas diferentes e mesmo assim só precisar decorar uma delas, [&lt;strong&gt;a senha mestre&lt;/strong&gt;].&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Vamos lá!&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;CRIE UMA SENHA MESTRE”&lt;br&gt;
Ex.: universo | fiona | california&lt;br&gt;
==&amp;gt; &lt;code&gt;universo&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;UTILIZE O NOME DO SERVIÇO PARA CRIAR UM INCREMENTO&lt;br&gt;
Ex.: Instagram&lt;br&gt;
==&amp;gt; &lt;code&gt;gram&lt;/code&gt;&lt;br&gt;
&lt;em&gt;Aqui você pode fazer como preferir, desde quê, utilize o mesmo padrão para todos os serviços. (Neste caso eu utilizei os 4 últimos caracteres presentes no nome do serviço)&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;SOME O INCREMENTO A SENHA MESTRE (Esse é o segredo)&lt;br&gt;
==&amp;gt; &lt;code&gt;universo + gram&lt;/code&gt;&lt;br&gt;
&lt;em&gt;Você pode incrementar tanto antes quanto depois da senha mestre.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ACRESCENTE UM OU MAIS CARÁCTERES DE SUA PREFERÊNCIA&lt;br&gt;
Ex.: #!&lt;em&gt;%$@&lt;br&gt;
==&amp;gt; &lt;code&gt;universo + gram + #!&lt;/code&gt;&lt;br&gt;
*Também precisa ser padrão para todas as suas senhas.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;E ENTÃO TEMOS NOSSA SENHA SUPER SEGURA&lt;br&gt;
==&amp;gt; &lt;code&gt;universogram#!&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Repita o processo para todos os serviços mantendo sempre a senha mestre e o(s) caracteres especiais.&lt;br&gt;
==&amp;gt; &lt;code&gt;universobook#!&lt;/code&gt;&lt;br&gt;
==&amp;gt; &lt;code&gt;universomail#!&lt;/code&gt;&lt;br&gt;
==&amp;gt; &lt;code&gt;universoitter#!&lt;/code&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Simples, não é mesmo!&lt;/strong&gt;
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Mas claro, essa técnica por si só não garante que seus serviços da internet não sejam invadidos, é preciso bem mais que isso, inclusive, como já mencionado acima, é indispensável que você ative a verificação em duas etapas em todos os serviços que ofereçam essa possibilidade, sendo assim, você adiciona mais uma camada de segurança aos seus twitts, e-mails, mensagens de whatsapp, etc.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Se tiver alguma dúvida quanto a implementação da verificação em duas etapas em seus serviços da internet, me procure que te auxilio.😉&lt;/p&gt;

&lt;p&gt;Obrigado por ler este artigo!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.kaspersky.com.br/blog/o-que-e-a-autenticacao-de-dois-fatores-e-como-usa-la/3226/"&gt;Saiba mais sobre autenticação em dois fatores&lt;/a&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>web</category>
      <category>password</category>
      <category>key</category>
    </item>
    <item>
      <title>Avalanche de informações: Um App para organizar essa "bagunça"</title>
      <dc:creator>Karytonn Oliveira</dc:creator>
      <pubDate>Wed, 15 Jan 2020 09:32:34 +0000</pubDate>
      <link>https://dev.to/karytonn/avalanche-de-informacoes-um-app-para-organizar-essa-bagunca-1c7a</link>
      <guid>https://dev.to/karytonn/avalanche-de-informacoes-um-app-para-organizar-essa-bagunca-1c7a</guid>
      <description>&lt;p&gt;Diante da avalanche de informações que o século XXI nos obriga a reter, uma solução simples e que nos auxilia na organização dessas informações é o &lt;strong&gt;aplicativo Google Keep&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;O objetivo do Google Keep é servir como um armazenador e organizador de informações que podem ser acessadas posteriormente e de forma integrada.&lt;/p&gt;

&lt;p&gt;Anotar seus compromissos, listar tarefas, registrar pensamentos, armazenar objetivos, transcrever áudio em texto, transcrever o texto de uma foto, guardar links, ou até mesmo rabiscos, são algumas das funcionalidades desta simples e objetiva ferramenta moderna.&lt;/p&gt;

&lt;p&gt;Em uma &lt;strong&gt;interface simples e direta&lt;/strong&gt;, o Google Keep exibe as últimas notas salvas e permite a organização delas a partir de marcadores. No topo da interface existe uma barra de buscas onde é possível pesquisar pelos termos desejados.&lt;/p&gt;

&lt;p&gt;Mas o quê mais me agrada neste App é a questão da integração com outras plataformas, por exemplo, ao salvar uma nota no mobile a mesma pode ser &lt;strong&gt;acessada após alguns&lt;/strong&gt; segundos em um desktop ou qualquer outro dispositivo que possui um navegador Web.&lt;/p&gt;

&lt;p&gt;(Vale resaltar que não existe um botão para salvar as notas, isso ocorre de forma automática e com 100% de precisão)&lt;/p&gt;

&lt;p&gt;Achou interessante e gostaria de experimentar este aplicativo que é gratuito e tem versão para Android, IOS e Web? Vou facilitar sua vida e deixar o link abaixo que leva direto a loja de aplicativos.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://bit.ly/googlekeepapple"&gt;Google Keep - iOS&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://bit.ly/keepandroid"&gt;Google Keep - Android&lt;/a&gt;&lt;/p&gt;

</description>
      <category>tecnologia</category>
      <category>google</category>
      <category>googlekeep</category>
      <category>app</category>
    </item>
    <item>
      <title>Estamos passando por uma das maiores disrupções tecnológicas já vista</title>
      <dc:creator>Karytonn Oliveira</dc:creator>
      <pubDate>Sun, 12 Jan 2020 22:25:19 +0000</pubDate>
      <link>https://dev.to/karytonn/estamos-passando-por-uma-das-maiores-disrupcoes-tecnologicas-ja-vista-1ejn</link>
      <guid>https://dev.to/karytonn/estamos-passando-por-uma-das-maiores-disrupcoes-tecnologicas-ja-vista-1ejn</guid>
      <description>&lt;p&gt;Os conceitos de SaaS (Software como um Serviço) e HaaS (Hardware como um serviço) estão se difundindo rapidamente com o novo modelo de computação conhecido como cloud computing (Computação em Nuvem).&lt;/p&gt;

&lt;p&gt;Nossos softwares (aplicativos) estão deixando de ser produtos “físicos” para se tornarem serviços 100% online.&lt;/p&gt;

&lt;p&gt;Em breve não fará sentido ter um smartphone ou desktop potente, pois bastará uma boa conexão com a internet para acessar qualquer tipo de aplicativo (sem a necessidade de tê-lo instalado em seu dispositivo).&lt;/p&gt;

&lt;p&gt;Um bom exemplo é o recém lançado Google Stadia, plataforma de jogos online, que requer somente um controle remoto e uma boa conexão com a internet, para jogar os mais variados e sofisticados tipos de games, dispensando assim, os “velhos” consoles.&lt;/p&gt;

&lt;p&gt;Outro exemplo, que inclusive sou adepto, é a suíte de programas (Google Documentos). Esta fornece inúmeros aplicativos de escritório que são acessados via internet, ou seja, sem a necessidade de ter instalado qualquer tipo de programa em seu computador, bastando apenas um navegador Web.&lt;/p&gt;

&lt;p&gt;Mesmo sabendo que isso é um “efeito colateral” e não um propósito, vejo essa disrupção como um grande passo da humanidade no sentido de preservação do Meio Ambiente, já quê, o consumo de recursos naturais para a produção de Hardwares terá uma redução considerável nós próximos anos.&lt;/p&gt;

&lt;p&gt;Mas claro, nem tudo é um mar de rosas, a de se levar em conta que este tipo de tecnologia também nos trás grandes desafios, e um dos principais diz respeito a segurança de dados, já quê, estes são armazenados nas nuvens e estão "fora do nosso controle".&lt;/p&gt;

&lt;p&gt;Para concluir, cito abaixo alguns filmes e seriados de ficção que mostram um pouco do que podemos esperar para os próximos anos, e que também retratam alguns desafios dessa nova tecnologia. &lt;/p&gt;

&lt;p&gt;-The Feed — Prime Video&lt;br&gt;
-Black Mirror — Netflix (Alguns episódios)&lt;br&gt;
-Privacidade Hackeada — Netflix&lt;/p&gt;

&lt;p&gt;Há..! Netflix, YouTube, …, também são exemplos de SaaS e foram responsáveis pela disrupção que levou o "fim" das locadoras.&lt;/p&gt;

</description>
      <category>saas</category>
      <category>haas</category>
      <category>cloud</category>
      <category>gogogle</category>
    </item>
  </channel>
</rss>
