<?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: Ruan Sales</title>
    <description>The latest articles on Forem by Ruan Sales (@salescode_).</description>
    <link>https://forem.com/salescode_</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%2F820775%2Fdf34a1b8-cb69-454f-985e-84a4e8bd8497.jpg</url>
      <title>Forem: Ruan Sales</title>
      <link>https://forem.com/salescode_</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/salescode_"/>
    <language>en</language>
    <item>
      <title>Fundamentos de Sistema da Informação</title>
      <dc:creator>Ruan Sales</dc:creator>
      <pubDate>Tue, 29 Mar 2022 23:38:27 +0000</pubDate>
      <link>https://forem.com/salescode_/fundamentos-de-sistema-da-informacao-5em4</link>
      <guid>https://forem.com/salescode_/fundamentos-de-sistema-da-informacao-5em4</guid>
      <description>&lt;h2&gt;
  
  
  Dado x Informação
&lt;/h2&gt;

&lt;p&gt;Para que possamos iniciar uma discussão melhor embasada, em uma pesquisa simples no Google, conseguimos achar diversas respostas para o significado de dado, entre elas:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Em resumo, dados são valores atribuídos a algo.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Em seguida, iremos realizar uma busca no Google, buscando entender o conceito de informação, que nos retorna a seguinte descrição:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Informação é a reunião ou o conjunto de dados e conhecimentos organizados, que possam constituir referências sobre um determinado acontecimento&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Partindo deste ponto, verificamos que um dado seria algo que pode compor uma informação, a depender de sua utilização e contexto. Mas como assim, "a depender" se a descrição de informação retrata que o acúmulo e aglomerado de dados forma uma informação?&lt;/p&gt;

&lt;p&gt;É simples, entre buscar e receber o dado existe no centro desta interação, a interpretação ou tratamento, para que caso satisfaça um sentido lógico, aquele dado possa se tornar uma informação. Exemplificando de maneira simples.&lt;/p&gt;

&lt;p&gt;Supondo que alguém receba um livro de presente, porém que ele esteja escrito em inglês, em um contexto onde o indivíduo entende aquilo que está escrito, os textos poderão ser para ele informações. Em caso de não entender o que está escrito, será simplesmente dados escritos em uma folha de papel.&lt;/p&gt;

&lt;p&gt;Um outro exemplo simples, poderia ser ao receber um extrato detalhado da sua conta bancária, onde está descrito diversos impostos, taxas, e afins... Se você não possuir conhecimento financeiro, legal e afins, para você o que está escrito serão apenas dados, porém, na vista de algum Contador, Advogado, Analista Fiscal, apenas de bater o olho, o mesmo poderia interpretar e verificar se está tudo em conformidade ou se existe algo estranho.&lt;/p&gt;

&lt;h2&gt;
  
  
  O que é um Sistema?
&lt;/h2&gt;

&lt;p&gt;Uma simples definição de Sistema poderia ser:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;É um conjunto integrado de componentes regularmente inter-relacionados e interdependentes criados para realizar um objetivo definido&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Mas de forma mais didática, como podemos visualizar o que é um sistema? Simples, um sistema nada mais é, que a junção de ações/funções que realizam colhimento, salvamento, tratativa e por fim interpretação lógica de dados, que retornará uma informação útil para seu usuário, afim de que possa solucionar algum problema do mesmo.&lt;/p&gt;

&lt;p&gt;Um exemplo bem fácil é, um aplicativo de delivery, inicialmente você possui a função de vitrine, onde poderá visualizar lojas, posterior à isso precisará realizar um cadastro, solicitar a quantidade de produtos, realizar o pagamento e receber na sua residência. &lt;/p&gt;

&lt;p&gt;Para você este poderá ser o conceito de um sistema, já na visão de um empresário a visualização das mesmas ações para definir o conceito de sistema podem ser diferentes, como por exemplo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cadastro na plataforma&lt;/li&gt;
&lt;li&gt;Cadastro dos produtos&lt;/li&gt;
&lt;li&gt;Edição dos Pedidos&lt;/li&gt;
&lt;li&gt;Adição de recompensas&lt;/li&gt;
&lt;li&gt;Regra de descontos&lt;/li&gt;
&lt;li&gt;Cálculo do valor de Frete&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Poderíamos citar diversas outras funções de um sistema, mas creio que já deva ter sido possível entender o conceito de sistema, como uma acúmulo de ações/funções que visam resolver um problema, neste caso para o empresário, a resolução do problema de "Como vender, onde vender" e afins.&lt;/p&gt;

&lt;p&gt;Por fim, quando o indivíduo constrói uma ferramenta que coleta, consome, analisa e retorna um resultado ou informação satisfatória, podemos dizer que ele possui, um Sistema de Informação. &lt;/p&gt;

&lt;h3&gt;
  
  
  Tipos de sistemas de informação
&lt;/h3&gt;

&lt;p&gt;Vamos agora tentar entender quais os tipos de sistema de informações que podemos abordar e quais suas funcionalidades.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sistemas de Processamento de Transação&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;É o sistema que está voltado no nível operacional, como por exemplo um sistema de cadastro de funcionários ou de cálculo de horas extras e afins. É aquele sistema que visa automatizar ações rotineiras, cotidianas, fazendo com que se economize tempo com ações repetitivas, processando dados simples, para controle de áreas de mais comuns ou simples de uma empresa.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sistemas de Informação Gerencial&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;É o sistema que está voltado ao nível de gestão da empresa, é aquele sistema utilizado pelos gestores, para cadastro dos funcionários, realiza a análise e forma o quadro de horários dos funcionários, bem como realiza envio de mensagens, comunicação com a equipe e afins. Resumidamente é utilizado a nível intermediário, onde o gestor consegue realizar o controle interno e de campos específicos, gerando assim resultados.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sistema Estratégicos&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;É o sistema que os empresários utilizam para coleta de dados, faz análises de preços de produtos, custo benefício, visa encontrar o melhor público, época do ano, fazem pesquisas automatizadas de opinião entre consumidores, afim de retornar esses dados aos Analistas, que podem utilizar-se das informações para gerar campanhas de Marketing, aquisição ou não aquisição de produtos em determinada época. Como o próprio nome já diz, tem a função de trazer informações aos níveis mais críticos da empresa, afim de gerar as melhores estratégias para gestão e lucros.&lt;/p&gt;

&lt;p&gt;Segue então a pirâmide que faz a divisão desses tipos de sistemas e a divisão por setores e quem utiliza cada tipo de sistema: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gQpwYlc_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zrlwlj9j6ns3zmw1bqmk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gQpwYlc_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zrlwlj9j6ns3zmw1bqmk.png" alt="Image description" width="880" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--x9WMvk1M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q7okkfab33mh8hm0ru2s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--x9WMvk1M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q7okkfab33mh8hm0ru2s.png" alt="Image description" width="880" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Teoria Geral dos Sistemas
&lt;/h2&gt;

&lt;p&gt;A teoria geral dos sistemas, vem trazer algumas diferenciações em relação a como podemos entender os sistemas, visto que eles podem ser simples ou complexos levando-se em consideração sua utilizações.&lt;/p&gt;

&lt;p&gt;Ela vem dizer que podemos definir sistemas de duas maneiras, através do Funcionalismo ou do Holismo.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Funcionalismo&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;O funcionalismo é quando nós ainda conseguimos diferenciar os sistemas que compõem o sistema de informação, como por exemplo: Sistema de Cadastro, Sistema de Envio de E-mails e Sistema de Cálculo de folha de pagamento. No tocante de que mesmo aquele sistema de informação sendo composto por outros subsistemas, ainda podemos visualizar a funcionalidade e ação de cada sistema separadamente.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Holismo&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Já quando falamos de Holismo, estamos em um ambiente complexo, onde todos os subsistemas estão interligados, onde teremos uma cadeia de uso de sistemas e subsistemas relacionados e interligados, onde não podemos explicar o intuito ou funcionalidade do sistema separadamente, apenas podemos expor o sistema como um todo, exemplo: Sistema De Gestão Empresarial, Sistema de Gestão Bancária, são sistemas onde existem diversos subsistemas ligados e não podemos explica-los separadamente, sem comprometer o todo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Qualificação de Sistemas
&lt;/h2&gt;

&lt;p&gt;Vamos expor inicialmente os seguintes sistemas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sistema Aberto&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;É o sistema onde a interação entre o sistema e o usuário, poderá modificar o comportamento do sistema e seu ambiente.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sistema Fechado&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;É o sistema onde a interferência do usuário não mudará o comportamento da ferramenta.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sistema Simples&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;É um sistema tem muitas funcionalidades, rápido, ágil, com um propósito bem definido.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sistema Complexo&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;É um sistema onde existem diversas rotinas e sub-rotinas conectadas, onde existe a dependência e fluxo lógico da aplicação e das ações necessárias a serem realizadas.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sistema Estável&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;É um sistema onde não existe alterações ou se existir deverá ser mínima, a ponto de não influenciar diretamente em comportamento ou resultado.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sistema Dinâmico &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;É um sistema que sofre interferência constante e se molda ao usuário de maneira a modificar tanto a forma de aquisição, tratamento e retorno dos dados.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sistema Adaptável&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;É um sistema que tem capacidade de se moldar as necessidades que surgem ao longo da sua utilização, lembra bastante e pode até ser análoga ao Sistema Dinâmico.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sistema Não Adaptável&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;É um sistema que não está preparado à adaptações, modificações, mudanças, sendo análogo ao sistema fechado.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sistema Permanente&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;É o sistema implantado de maneira a não haver tempo pre-determinado para sua finalização ou para que deixe de ser utilizado.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sistema Temporário&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;É o sistema montado muitas vezes com um tempo curso de utilização, para ações específicas, que ao serem sanadas, não fará mais sentido sua utilização.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>webdev</category>
      <category>programming</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Carreiras na Área de TI</title>
      <dc:creator>Ruan Sales</dc:creator>
      <pubDate>Thu, 24 Mar 2022 16:37:27 +0000</pubDate>
      <link>https://forem.com/salescode_/carreiras-na-area-de-ti-1kpo</link>
      <guid>https://forem.com/salescode_/carreiras-na-area-de-ti-1kpo</guid>
      <description>&lt;h2&gt;
  
  
  Introdução
&lt;/h2&gt;

&lt;p&gt;No cotidiano de hoje do século 21, a tecnologia é uma das áreas que mais cresce em nível de envolvimento, disponibilidade e profissionalmente. O mercado aquecido, sedento por profissionais qualificados criaram uma maré de cursos, escolas, com a função de ensinar e disseminar o que até o século passado era tido como uma área totalmente fechada.&lt;/p&gt;

&lt;p&gt;Para este artigo, vamos levar em consideração o curso tecnólogo de Análise e Desenvolvimento de Sistemas, que tem período médio de formação entre 2,5 e 3 Anos. Também tido como uma porta de entrada para quem nunca teve um contato tão próximo ou até mesmo para quem precisa de uma formação mais rápida e focada. No decorrer deste artigo, iremos por em evidência as áreas na qual um Analista de Sistemas poderá atuar.&lt;/p&gt;

&lt;h3&gt;
  
  
  Áreas de atuação e suas tecnologias
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Front-End&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wh3RTjb6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bhbzb8m04auxq0xghbp5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wh3RTjb6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bhbzb8m04auxq0xghbp5.png" alt="Image description" width="600" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;O Front-End ou client-se (lado do cliente), é o ramo de atuação da pessoa que prefere trabalhar com a identidade visual de aplicações, sejam, Web Sites, Telas de App's, Identidade Visual de Programas. É a pessoa que trabalha no lado do cliente, ou seja, é responsável pela criação e implementação da parte visual na qual o usuário (cliente) terá acesso e será diretamente ligado.&lt;/p&gt;

&lt;p&gt;Vale ressaltar que nem todo Front-End é Designer, apesar de ter uma similaridade e aproximação entre as áreas e muitos Front-Ends conhecerem e dominarem áreas co-relatas como UX (User Experience) e UD (User Designer), ou seja, Designer do Usuário e Experiência do Usuário, além do Front-End ter a possibilidade de apenas retirar do papel ou de layouts criados em programas como Photoshop ou Figma, transformando em código e pondo em prática uma ideia, ele também poderá entender e implementar eventos, esquema de cores, usabilidade, acessibilidade e demais temas ligados ao User Experience.&lt;/p&gt;

&lt;p&gt;Logo quando houve-se que Front-End é fácil, eu por opinião própria não levaria essa afirmação como verdade, existem diversas atividades que apenas um Front-End pode entender a nível de código, implementação e complexidade.&lt;/p&gt;

&lt;h5&gt;
  
  
  Principais Tecnologias
&lt;/h5&gt;

&lt;p&gt;As tecnologias mais comuns de serem utilizadas, podem ser chamadas de Tríade do Front-End, são elas, Html, Css e JavaScript, cada uma delas possuem uma função específica e primordial para uma devida implementação a nível estrutural.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;HTML&lt;br&gt;
HyperText Markup Language ou Linguagem de Marcação de Hipertexto, é a linguagem que cria as estruturas de páginas Webs (Sites, Landing Pages e afins), mas também é responsável pela criação de interfaces visuais Mobile (app).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;CSS&lt;br&gt;
Cascading Style Sheets ou Folhas de Estilo em Cascata, é a tecnologia utilizada para dar formado e estilização a páginas, com atributos que podem ser colocados diretamente nas estruturas de HTML, utilizando-se de classes, identificadores ou estilos de linha única, podendo assim implementar simples espaçamentos, cores, tipo de fonte, como também ações complexas como transições, efeitos e responsividade que é chamado de Interoperabilidade ou seja, um sistema que poderá ser executado tanto em navegadores como em aplicativos móveis, televisões e afins.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JavaScript&lt;br&gt;
Aqui está a cereja do bolo, se o HTML cria estruturas, o CSS implementa as estilizações, aqui está a cola que junta tudo isso, pois com o JavaScript (JS), poderá ser manipulado tanto o HTML, CSS, bem como lógicas para criação de eventos, seja de mouse, tela, click, teclado ou diversas outras lógicas e eventos que se possa imaginar.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Quando falamos de avanços na área do Front-End, temos bibliotecas que fazem a junção dessas tecnologias, como por exemplo o Bootstrap ou Materialize, são bibliotecas que podem ser importadas em seus projetos, que trazem diversas funções e estilizações, a nível de Javascript e Css, que podem ser linkadas ou seja, utilizadas de classes nas tags e estruturas html de seus projetos, mas deixemos isso apenas como informação inicial, pois é um tema para outro dia.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Back-End&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0xYWyrUQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5zwgfflrmk0j0at51mam.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0xYWyrUQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5zwgfflrmk0j0at51mam.png" alt="Image description" width="673" height="228"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;O Back-End ou Server Side (lado do servidor), é a área de atuação onde o desenvolvedor trabalhará com linguagens de programação voltadas para criação de regras de negócios, como por exemplo, incidência de juros, descontos, promoções, no caso de um sistema de Loja Virtual, bem como também poderá tratar do cadastro, cálculo de notas, envio de emails, formação de turmas de maneira automatizada, quando falamos de um sistema educacional.&lt;/p&gt;

&lt;p&gt;Ainda sobre Back-end, visto que o mesmo trabalha com servidores, temos a figura do banco de dados, onde através do Back-End o desenvolvedor irá recuperar os dados de alguma ação do Front-End, realizar a tratativa e lógicas pertinentes ao negócio e suas regras e por final salvar em um banco de dados, que pode ser relacional ou não relacional, porém essa diferenciação deixemos para um ponto mais a frente.&lt;/p&gt;

&lt;p&gt;Diferentemente do Front-End onde tudo poderá ser rodado via de regra no Browser sem necessidade de servidores, linguagens Back-End necessitam que algum software criem essa estrutura, quando eles mesmos não criam e levantam, como no caso do PHP ou Javascript usando NodeJS. Contudo existem uma grande diferenciação entre linguagens Back-End, que são as Interpretadas, Transpiladas e Compiladas, um exemplo claro disso, são as linguagens, PHP, JavaScript e Java.&lt;/p&gt;

&lt;p&gt;O PHP é uma linguagem interpretada, ou seja, ao levantar seu servidor, o mesmo tem a capacidade de ler os comandos, interpretar as ações e retornar para o usuário algo visual.&lt;/p&gt;

&lt;p&gt;O javascript por sua vez, além de interpretado, poderá ser transpilado, visto que suas versões em determinados usos, precisam de interpretadores que transformam códigos modernos em versões mais novas, para estruturas mais antigas, como é um exemplo do Babel, que faz a conversão das sintaxes do JS moderno para uma versão compreendida pelo Browser, essa ação é chamada de transpilação.&lt;/p&gt;

&lt;p&gt;Por outro lado o Java é uma linguagem compilada, ou seja, seu código é escrito em um arquivo, que ao final passará por um compilador, que criará outro arquivo com um ByteCode, que seria algo parecido com transformar o texto escrito em códigos binários (código de máquina), para que assim, possa ser executado pelo servidor, retornando as ações que o script implementa.&lt;/p&gt;

&lt;p&gt;Ainda sobre o mesmo tempo, virá o questionamento, qual tipo de linguagem utilizar? Compilada? Interpretada? Transpilada? Essa resposta é "depende", dependerá muito da aplicação as ser criada, dependerá do que a empresa implementa por padrão, se é um projeto pequeno, se é robusto, se é para estudos. Uma coisa que deve ser entendida desde o começo é que linguagem é ferramenta, ou seja, dependerá do trabalho no qual você irá atuar, a final de contas, via de regra, ninguém vai matar uma formiga com um martelo, nem tão pouco levantar um saco de arroz com um guindaste.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mobile&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xl1-1Ame--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w9tnjj88lqkcurwxnov0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xl1-1Ame--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w9tnjj88lqkcurwxnov0.png" alt="Image description" width="500" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A área de Mobile é a mais nova área em expansão na área de desenvolvimento, visto que hoje em dia, dificilmente encontra-se uma plataforma web que não possua uma versão Mobile ou App exclusivo, a criação de aplicativos móveis, para televisões ou demais dispositivos é uma crescente inegável e muitos desenvolvedores migram para área e estudantes já tendem a focar a sua especialização nesta área.&lt;/p&gt;

&lt;h4&gt;
  
  
  Principais Tecnologias
&lt;/h4&gt;

&lt;p&gt;Hoje em dia uma das principais tecnologias para criação de aplicações Mobile é o Javascript, com a biblioteca React Native, onde você com códigos que utilizam-se de Html, Css e uma sintaxe personalizada do javascript chamada JSX, consegue transformar seu código em código nativo de dispositivos e criar aplicações de todos os níveis. Vale ressalvar que o React Native, teve uma crescente, pois é a tecnologia que com apenas um código, se cria aplicações para Android ou IOS sendo assim multi-plataforma.&lt;/p&gt;

&lt;p&gt;Não podemos esquecer do Swift que é a linguagem nativa para criação de aplicações IOS ou seja, para dispositivos da Apple, através dela você produz códigos para aplicações exclusivas IOS, seja Celulares, Tablets, etc...&lt;/p&gt;

&lt;p&gt;No que se refere à aplicações Android, poderá ser usado Kotlin, além de algumas outras linguagens, mas vamos focar em Kotlin, que é uma linguagem aproximada ao Java, que pode ser utilizada para criação de Apps Android para diversos tipos de dispositivos.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DBA - Administrador de Banco de Dados&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--uvDFbYe3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ikjk571n7avkhgy34f9n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--uvDFbYe3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ikjk571n7avkhgy34f9n.png" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;DBA na realidade não é uma profissão voltada pro curso de ADS (Análise e Desenvolvimento de Sistemas), mas nada impede durante a graduação se foque no estudo do banco de dados, e ao sair realize-se uma Pós-graduação, especialização ou mestrado nesta área. O DBA é o profissional que tem como responsabilidade realizar o estudo sobre os dados, suas estruturas e como serão criadas as tabelas, transações, quais atributos serão necessários, além de criar os scripts de automação do banco de dados.&lt;/p&gt;

&lt;p&gt;O DBA é a pessoa também responsável pela segurança dos dados, seja a nível de software, criptografia, bem como a segurança física, tangível dos dados, segurança estrutural com Backups, espelhamento, tráfego dos dados e afins.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DevOps&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--itwnmKcn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/llnfbim8zzqdtin7mev6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--itwnmKcn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/llnfbim8zzqdtin7mev6.png" alt="Image description" width="308" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;O Devops, não é exatamente uma especificação do desenvolvimento, é mais uma cultura aplicada ao Desenvolvimento, para que possa ser pensada a integração das múltiplas equipes, desde a gestão, desenvolvimento, negócios, gerencias e afins, criando um ciclo produtivo e mais controlável.&lt;/p&gt;

&lt;p&gt;Com tudo que é estudado no curso de Análise e Desenvolvimento de Sistemas, é muito comum que os Dev's em geral conheçam a cultura do Devops, visto que eles estão envolvidos na criação dos softwares, bem como na manutenção de seus servidores, ambientes, containers, hospedagens e afins.&lt;/p&gt;

&lt;p&gt;As empresas hoje em dia investem muito em profissionais especializados, bem como nos profissionais que tenham familiaridade com a cultura Devops, visto que eles podem ter uma maior flexibilidade e trazerem benefícios a níveis estruturais e gerenciais, para projetos e a empresa em si.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Big Data / Ciência de Dados / Inteligência Artificial&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NIcZ8AjJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5hnu484xc2axhim283nj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NIcZ8AjJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5hnu484xc2axhim283nj.png" alt="Image description" width="880" height="373"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Quando falamos sobre Ciência de Dados ou Big Data, estamos falando sobre a área de análise e estatística de dados de uma aplicação, o que podem ser dados simples, como uma estatística de quantos clicks uma página tem, até uma análise de probabilidade do aumento do Dolar ou Euro, de acordo com o mercado e os dados obtidos em algum lapso de tempo anterior.&lt;/p&gt;

&lt;p&gt;Para esses trabalhos, algumas linguagens são utilizadas, mas a que tem o maior destaque é o Python, que tem um poder computacional aprimorado para cálculos grandes em sua arquitetura.&lt;/p&gt;

&lt;p&gt;Aproveitando que estamos falando sobre Python, também podemos falar sobre a capacidade de criar e gerenciar automações que a linguagem tem. Desde criação de sistemas automatizados com Raspberry, até a criação de um Software completo como uma inteligência artificial, ou seja, podemos ir desde uma placa RaspY que sirva para automatizar uma cancela em um pedágio, até uma inteligência artificial que possa prever quedas estatisticamente na Bolsa de valores.&lt;/p&gt;

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

&lt;p&gt;Bem poderíamos falar ainda de muito mais possibilidades, diversas outras linguagens, mas podemos ver que a área de atuação é vasta e dependerá muito do gosto do indivíduo, desde o Front-End, até automações complexas de Inteligência Artificial, temos diversos aspectos a serem vistos, diversas possibilidades e sendo assim, muitas vagas ou mercados para serem abrangidos e ocupados.&lt;/p&gt;

&lt;p&gt;Sendo assim desejo a quem ficou até o final deste artigo, sucesso em sua carreira, quaisquer dúvidas podem encontrar-me das redes abaixo.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.instagram.com/osalescodes/"&gt;Instagram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/ruan-sales-7b4051171/"&gt;LinkedIN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/channel/UCEVan_CSqptt61vu4oT7n9w"&gt;Youtube&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>linux</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Entrando na carreira Dev</title>
      <dc:creator>Ruan Sales</dc:creator>
      <pubDate>Wed, 23 Mar 2022 15:31:08 +0000</pubDate>
      <link>https://forem.com/salescode_/entrando-na-carreira-dev-2828</link>
      <guid>https://forem.com/salescode_/entrando-na-carreira-dev-2828</guid>
      <description>&lt;p&gt;Bem, muito se fala sobre o BOOM! das carreiras na área de Desenvolvimento de Software, seja com a facilidade de acesso a faculdades com cursos como Análise e Desenvolvimento de Sistemas, Gestão de TI, Sistema da Informação, grandes figuras no âmbito dos cursos Tecnólogos, bem como carreiras de Bacharel em Ciência da Computação, Engenharia da Computação e afins. De certo que a carreia de desenvolvimento é vasta e cheia de opções, mas aí se tem um questionamento.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“O que seria necessário para realizar uma inserção na área de maneira orgânica e sem muitos problemas?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Bem neste artigo, iremos abordar alguns pontos a serem vistos e algumas ferramentas que podem ser úteis para essa inserção ou transição.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setup (Computador/Celular)
&lt;/h2&gt;

&lt;p&gt;Bem, em relação a um setup, ou estrutura/equipamentos propriamente dito, não há muita necessidade de preocupações em modo inicial, visto que à primeira parte da realização de qualquer curso na área de tecnologia tende a ser teórica, bastando então que tenha-se em mãos um dispositivo móvel ou um computador minimamente usável, com ao menos 4GB de Memória ram e uma conexão com a internet, o processamento em si da máquina neste nível, não fará muita diferença, mas vale salientar que a partir do momento que se entra na área de tecnologia, tende-se a preocupar-se mais com a qualidade dos equipamentos utilizados, mas deixemos isso um pouco mais para frente.&lt;/p&gt;

&lt;p&gt;Se eu fosse opinar sobre uma máquina minimamente utilizável que atenda as necessidades em sua grande maioria aqui vai uma configuração simples, porém funcional:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Processador: I5 3570 (3ª geração da intel)&lt;/li&gt;
&lt;li&gt;Memória RAM: 8GB (frequência 1333Mhz ou 1666Mhz)&lt;/li&gt;
&lt;li&gt;Placa mãe: Qualquer marca desde que suporte o processador e as memórias&lt;/li&gt;
&lt;li&gt;HD/SSD: No mínimo 500GB se for HD ou 256GB para SSD podendo ser híbrido, dando preferência à SSD pela velocidade&lt;/li&gt;
&lt;li&gt;Fonte: Qualquer marca com 400W de eficiência&lt;/li&gt;
&lt;li&gt;Periféricos: Mouse e teclado são de gosto pessoal, bem como um fone de ouvido ou Headset&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Com um setup desses pode ter certeza que cobrirá 70% das necessidades a nível de estudos e até mesmo profissional, salvo se o caso seja de virtualização ou compilações pesadas de código, como por exemplo desenvolvimento Mobile ou Back-End com linguagens que dependam de compiladores pesados, como por exemplo Java.&lt;/p&gt;

&lt;h2&gt;
  
  
  Programas Básicos
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Editor de códigos&lt;/strong&gt;&lt;br&gt;
Neste ponto é a hora que você começa a ter contato com editores de código, IDE's e a partir daí a sopa de letrinhas não para mais. Porém o que é importante levar em consideração é que um bom editor de código pode lhe trazer benefícios e até mesmo alavancar seus estudos, em virtude de recursos como auto-completar, dicas de códigos e afins. &lt;/p&gt;

&lt;p&gt;A seguir irei comentar dois dos mais conhecidos e utilizados editores de código, ambos podendo ser utilizados para criação de qualquer aplicação, obviamente seus usos dependem muito mais do gosto do Desenvolvedor.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sublime Text
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--APUeDKd0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/odpv0v6d2qu8bdm17g0h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--APUeDKd0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/odpv0v6d2qu8bdm17g0h.png" alt="Image description" width="300" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;O sublime-text é um editor de códigos simples e leve, que trás suporte a maioria das linguagens de programação, conta com diversos recursos visuais de syntaxe highlight (letras coloridas), para diferenciar o que são variáveis, funções, etc... &lt;/p&gt;

&lt;p&gt;O mesmo é leve, como um simples editor de códigos, ele não possuí muitas personalizações finas, exceto mudança de tema, escolha de linguagem que será usada, modificação de fontes, tamanho de fonte e afins.&lt;/p&gt;

&lt;h3&gt;
  
  
  Visual Studio Code - VSCODE
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--X0MZ4uCp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4ca06cbikyk4ca6eleff.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--X0MZ4uCp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4ca06cbikyk4ca6eleff.png" alt="Image description" width="300" height="299"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;O Visual Studio Code ou VsCode como é mais conhecido, é uma solução da Microsoft que serve como IDE, mais que um simples editor de códigos a ferramenta é poderosa, a nível de tecnologias suportadas, personalizações de temas, fontes, espaçamentos, ícones, além de ter um grande suporte a extensões, que facilitam a vida de todo e qualquer desenvolvedor, seja em que Stack (linguagem) ele esteja utilizando. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sites úteis&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A seguir iremos falar sobre os sites úteis que podem ser utilizados no início desta jornada, seguiremos com sites que trarão, ferramentas, bem como cursos que possam ser realizados para alcançar um conhecimento que facilite os estudos iniciais.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/"&gt;GitHub&lt;/a&gt;
Este site é um dos mais utilizados pelos desenvolvedores, por trazer a facilidade de guardar seus códigos e projetos em repositórios que podem ser visitados e contribuídos por outras pessoas, desde que seja público, não há limites para quantidade de repositórios, não a ponto de se preocupar, já se for utilizar repositórios privados à uma limitação de quantos podem ser criados.&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.cursoemvideo.com/"&gt;Meu Curso em Vídeo&lt;/a&gt;
Este é um site onde você poderá com certeza iniciar seus estudos de maneira certa, sem medo de ser feliz, o Profª Gustavo Guanabara disponibiliza diversos cursos gratuitos desde lógica de programação à linguagens de Back-End como PHP e Java ou Front-End como Javascript. Emitindo certificados de acordo com créditos adquiridos por meio de compra, porém reconhecidos por ser um dos maiores professores de programação e conceituado na comunidade de desenvolvimento, o custo de emissão dos certificados são mínimos.&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.udemy.com/"&gt;Udemy&lt;/a&gt;
Udemy, aqui você tem uma plataforma completa, com milhares de cursos de todos os preços, incluindo gratuitos, valendo ressaltar que os cursos gratuitos, poucos emitem certificados, porém os pagos, que geralmente estão em promoção em valores que giram entre R$ 22,90 e R$ 37,90, você poderá encontrar milhares de cursos que estão sempre em promoção, para todos os gostos, seja de nível iniciante, intermédiario ou criando alguma aplicação específica.&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://youtube.com.br"&gt;Youtube&lt;/a&gt;
Não se surpreenda com essa afirmação, no Youtube você poderá encontrar diversas pessoas a lhe ajudar com seus estudos, seja retirando dúvidas, desde ministrando cursos gratuitamente em temas e linguagens específicas. Os quais eu creio que tenham maior impacto neste início são os canais a seguir: &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/c/CursoemV%C3%ADdeo"&gt;Curso em Video&lt;/a&gt;, &lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/channel/UCqHIWCQSq0yeE-1nbcRnt2w"&gt;CFBCursos&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.dio.me/"&gt;DIO - Digital Innovation One&lt;/a&gt;
Já quando falamos de pessoas com um pouco mais de conhecimento, após alguns meses de estudos, uma plataforma super recomendada é a Digital Innovation One, plataforma gratuita de Bootcamps, onde o indivíduo poderá ser integrado a processos seletivos de empresas, ou até bootcamps voltados para vagas que serão disponibilizadas em seu final para aqueles alunos com melhor desempenho. Vale salientar que todos os cursos, palestras ou oficinas realizadas na DIO emitem certificado que poderá ser colocado em seu LinkedIN, próximo site que iremos falar.&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.linkedin.com/"&gt;LinkedIN&lt;/a&gt;
Aqui está nossa última indicação, mas não menos importante, o LinkedIN é uma Rede Social, voltada para o meio corporativo, empregabilidade, disponibilidade de perfis profissionais, ou seja, você após algum tempo de estudo, poderá colocar suas qualificações, cursos, bootcamps e afins, na plataforma a fim de montar um currículo digital que possa ser compartilhado com empresas que buscam qualificações e atividades com o seu perfil profissional. 
Vale salientar que nada impede a criação do seu perfil, mesmo que não esteja na área de desenvolvimento ou afins, afinal de contas a plataforma é justamente para fomentar o mercado e buscar profissionais, então fique a vontade para ir construindo seu perfil ao longo do seu tempo de estudo e formação.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Agradecimento
&lt;/h4&gt;

&lt;p&gt;Foi um prazer contribuir mesmo que um pouco com o conhecimento que já me foi passado e hoje eu replico em auxílio aos iniciantes. &lt;/p&gt;

&lt;p&gt;Deixo os comentários abertos para quem quiser, concordar ou discordar ou até simplesmente deixar sua opinião, para maiores dúvidas, podem me encontrar nas seguintes redes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.instagram.com/osalescodes/"&gt;Instagram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/ruan-sales-7b4051171/"&gt;LinkedIN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/channel/UCEVan_CSqptt61vu4oT7n9w"&gt;Youtube - SalesCodes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>tecnologia</category>
      <category>ads</category>
      <category>desenvolvimento</category>
      <category>carreira</category>
    </item>
    <item>
      <title>Configurando ambiente PHP no Linux</title>
      <dc:creator>Ruan Sales</dc:creator>
      <pubDate>Wed, 23 Feb 2022 21:03:05 +0000</pubDate>
      <link>https://forem.com/salescode_/configurando-ambiente-php-no-linux-n3k</link>
      <guid>https://forem.com/salescode_/configurando-ambiente-php-no-linux-n3k</guid>
      <description>&lt;p&gt;Este tutorial poderá ser reaproveitado para qualquer distribuição baseada no Debian, podendo ser PopOS, Lubuntu, Mint, Debian, Ubuntu e afins.
Configurar um ambiente linux para desenvolver com PHP, não é nada complexo, porém necessita de alguns passos para se obter uma instalação estável e que se comporte de maneira produtiva. A seguir iremos abordar os pontos aos quais eu creio serem importantes para a instalação de um ambiente para os iniciantes ou até mesmo para os um pouco mais experientes. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Instalando e configurando o PHP&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;De início ao se utilizar um ambiente linux, é necessário verificar se existe alguma dependência desatualizada, para isso execute o seguinte comando, para realizar a verificação e atualização ao mesmo tempo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;sudo &lt;/span&gt;apt upgrade &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Após a devida atualização do seu sistema, iremos partir para as partes específicas do PHP.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;software-properties-common &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Adicione o repositório do PHP.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;add-apt-repository ppa:ondrej/php &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Execute novamente o comando de atualização dos repositórios e instalação dos mesmos:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;sudo &lt;/span&gt;apt upgrade &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Instale agora o PHP com inclusão do Apache:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;php8.1 libapache2-mod-php8.1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agora você poderá verificar a versão do seu PHP com o comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php &lt;span class="nt"&gt;-v&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Obs: No caso de querer utilizar alguma versão específica do PHP ao invés da versão 8.1 que é apresentada neste artigo, você poderá no comando acima, bem como nos comandos abaixo alterar a versão trocando-a diretamente nos comandos respectivos, como o exemplo abaixo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PHP 7.3
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;php7.3 libapache2-mod-php7.3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;PHP 7.4
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;php7.4 libapache2-mod-php7.4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;PHP 8.0
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;php8.0 libapache2-mod-php8.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;E assim respectivamente, o mesmo serve para os comandos que serão citados a seguir.&lt;/p&gt;

&lt;p&gt;Agora iremos instalar algumas bibliotecas e extensões úteis para o PHP com o seguinte comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;php8.1-intl php8.1-mysql php8.1-sqlite3 php8.1-gd &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Caso vá fazer uso de testes ou utilizar algum framework que dependa ou implemente testes, é aconselhável você instalar o phpunit com o seguinte comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;phpunit 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Instalando e configurando o MySQL&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Este parte do tutorial é baseada no artigo escrito pela Digital Ocean descrito neste &lt;a href="https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-20-04-pt"&gt;artigo&lt;/a&gt;. Você poderá visita-lo para quaisquer dúvidas posteriores.&lt;/p&gt;

&lt;p&gt;Vamos instalar o mysql-server com o seguinte comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bash sudo apt install mysql-server -y 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Obs: Ao executar o comando acima, a versão que será instalada dependerá da versão do seu Linux, como por exemplo se é uma versão 18.04, muito possivelmente será instalado o mysql-server 5.7, no caso de a distro ser 20.04+, é provavel quer a versão instalada seja, o server 8.0. Quaisquer dúvidas referente a instalação do MySQL, poderá ser verificado no artigo da &lt;a href="https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-20-04-pt"&gt;Digital Ocean&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Ao finalizar a instalação iremos passar para a parte de autenticação e segurança do mysql com o seguinte comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bash sudo mysql_secure_installation 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A partir daí lhe será perguntado se deseja instalar o plugin de autenticação e validações de senhas. As escolhas a partir daí dependerão da sua necessidade, porém, eu aconselharia a aceitar todas as condições como “remover acesso remoto, não permitir usuário anônimo e afins”.&lt;/p&gt;

&lt;p&gt;Ao escolher utilizar e configurar o plugin você será questionado referente a força da encriptação que o plugin fará, você terá 3 opções, 0– low strength, 1- medium strength, 2- strong strength em uma tela parecida com este:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Output
Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: Y

There are three levels of password validation policy:

LOW Length &amp;gt;= 8
MEDIUM Length &amp;gt;= 8, numeric, mixed case, and special characters
STRONG Length &amp;gt;= 8, numeric, mixed case, special characters and dictionary file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:
2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No caso de ser um ambiente local, que nunca servirá de host para aplicações em produção ou se apenas você utiliza o computador. Você poderá escolher a opção mais fraca, para qualquer outro cenário eu aconselharia utilizar o plugin com a força de encriptação forte, digitando o número 2 e avançando.&lt;/p&gt;

&lt;p&gt;Lhe será perguntada a senha a ser incluída no MySQL de acordo com os parâmetros necessários descritos no output acima, após escolher a senha e confirmar lhe será perguntado questões como “desativar acesso remoto, não permitir usuários anônimos e afins”, você pode apenas digitar “y” para tudo.&lt;/p&gt;

&lt;p&gt;Podemos agora evitar maiores complicações e erros que ajustando algumas configurações no mysql para poder logar com usuário e senha de maneira devida e segura, vamos aos seguites passos:&lt;/p&gt;

&lt;p&gt;1º Acesse o mysql com o seguinte comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt; &lt;span class="nb"&gt;sudo &lt;/span&gt;mysql 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;2º Verfique as autenticações utilizadas por cada usuário:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="k"&gt;user&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;authentication_string&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;plugin&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="k"&gt;host&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;mysql&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;user&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;3º Altere a forma de autenticação para o plugin que você instalou anteriormente alterando a palavra “password” pela senha escolhida anteriormente:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;ALTER&lt;/span&gt; &lt;span class="k"&gt;USER&lt;/span&gt; &lt;span class="err"&gt;‘&lt;/span&gt;&lt;span class="n"&gt;root&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;&lt;span class="n"&gt;localhost&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt; &lt;span class="n"&gt;IDENTIFIED&lt;/span&gt; &lt;span class="k"&gt;WITH&lt;/span&gt; &lt;span class="n"&gt;caching_sha2_password&lt;/span&gt; &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="err"&gt;‘&lt;/span&gt;&lt;span class="n"&gt;password&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;4º Recarregue os privilégios dos usuários com o comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="n"&gt;FLUSH&lt;/span&gt; &lt;span class="k"&gt;PRIVILEGES&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;5º Verifique se o usuário root está usando o plugin de autenticação caching_sha2_password com o comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="k"&gt;user&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;authentication_string&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;plugin&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="k"&gt;host&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;mysql&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;user&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Se tudo estiver certo, poderá dar um “exit” e sair do mysql.&lt;br&gt;
Para testar execute o comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mysql &lt;span class="nt"&gt;-u&lt;/span&gt; root &lt;span class="nt"&gt;-p&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Sua senha será solicita, confirmando e logando, poderá sair, seu MySQL está configurado corretamente. Para maiores informações como instalação de Workbench e afins, verifique o artigo citado acima.&lt;/p&gt;

&lt;p&gt;Espero ter conseguido ajudar em algo, até a próxima.&lt;/p&gt;

</description>
      <category>php</category>
      <category>mysql</category>
      <category>linux</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
