Categorias
📌 Dica rápida

Por que tomar sol pode trazer mais produtividade no trabalho?

Talvez você faça parte do mesmo time que eu já fiz, os “inimigos do sol“. Que na praia estão sempre debaixo da sombra, ou nos festivais vão só depois do sol se pôr, ou até mesmo usam sombrinhas em plena manhã na feira, tal qual uma senhorinha de idade. Eu já estive nesse lugar, reconheço. Já cheguei a colocar cortinas blackout em todas minhas janelas, comprei protetor fator 90 (sim, existe), e dei desculpas dizendo que meu médico me mandou ficar longe do sol – apesar de estar na casa dos 20 anos. 

Aí você pode me perguntar: e o que mudou pra hoje você estar tentando me convencer a tomar sol em pleno dia útil de semana? 

Bom, vamos aos fatos. 

Imagine a situação: caixa de e-mails cheia, prazo de projetos batendo na porta e o calendário estourando de reuniões, e você PRECISA render no dia a dia de trabalho. Às vezes, você nem precisa imaginar e essa é realmente a sua realidade! 

E o que geralmente fazemos para manter o foco e dar conta de tudo?

Recorremos a métodos como tomar um copo gigante de café, remédios, ou um cházinho de uma planta que supostamente te deixa mais focado de acordo com o que você viu em um vídeo do tiktok. Aliás, no Brasil, só o consumo de Ritalina, medicamento muito popular para foco e produtividade, aumentou 775% entre 2002 e 2013, segundo dados de uma pesquisa da UERJ. 

Mas… E se eu te dissesse que existe uma forma gratuita, saudável, rápida e que qualquer um tem acesso para trabalhar melhor e melhorar sua produtividade? Isso mesmo: tomar sol. 

De acordo com o estudo de Wright Jr. (2013), intitulado “Entrainment of the human circadian clock to the natural light-dark cycle”, publicado na revista Current Biology, a exposição à luz solar é muito benéfica para o corpo e a mente, já que impacta o nosso ciclo circadiano, que é responsável por regular nosso sono, energia e desempenho ao longo do dia.

Ao receber a luz solar logo pela manhã, estimulamos nosso relógio biológico e preparamos nosso corpo para trabalhar bem melhor, já que “tomar um solzinho” pode dar maior clareza mental, foco e energia para enfrentar o dia.

Muitas pesquisas mostraram que uns minutinhos de sol podem sim fazer a diferença:

1. Boubekri M, et al. (2014). Impact of Windows and Daylight Exposure on Overall Health and Sleep Quality of Office Workers: A Case-Control Pilot Study: pesquisa que investigou os efeitos da exposição à luz natural por meio de janelas em um ambiente de trabalho; os resultados mostraram que os trabalhadores expostos à luz solar apresentavam melhor qualidade de sono e maior satisfação geral com sua saúde.

2. Figueiro MG, et al. (2009). The impact of light from computer monitors on melatonin levels in college students: nesse estudo, pesquisadores examinaram os efeitos da exposição à luz emitida por monitores de computador durante a noite e descobriram que ela pode interferir no ritmo circadiano e afetar os níveis de melatonina, um hormônio importante para o sono.

3. Vandewalle G, et al. (2009). Light modulates alertness and cognitive performance independently of circadian rhythm: nesta pesquisa, investigou-se os efeitos da exposição à luz na alerta e desempenho cognitivo, independentemente do ritmo circadiano. Os resultados mostraram que a luz pode melhorar a vigília e a função cognitiva, influenciando positivamente a produtividade.

Então, em vez de buscar a solução em uma caixinha comprada na farmácia, que tal abrir sua cortina e tomar um solzinho hoje?

()
Categorias
💡 Inovação

A revolução da Realidade Virtual: experiências mais imersivas

E se você pudesse sentir o impacto de uma explosão ou a textura de uma folha na realidade virtual (VR) dentro de um jogo?

Talvez isso esteja mais próximo do que você imagina.

Em 2022, a empresa H2L Technologies, em parceria com a Sony, anunciou o desenvolvimento de um dispositivo inovador que busca gerar sensações táteis na realidade virtual.

A ideia é enviar sinais elétricos para o cérebro, permitindo que as pessoas sintam dor, prazer e outras sensações imersivas enquanto estão imersas em ambientes virtuais. Isso vai ser capaz de proporcionar uma experiência muito mais realista.

O dispositivo ainda está em fase de protótipo, mas espera-se que seja lançado no futuro, após aprimoramentos e mais pesquisas.

Essa novidade pode significar uma grande revolução nos videogames que utilizam de VR, já que permite que os jogadores sintam sensações táteis, como dor, prazer e outras texturas, a experiência de jogar em ambientes virtuais se tornará ainda mais imersiva.

Um dispositivo tátil vai tornar possível que os jogadores experimentem uma maior conexão emocional com o jogo, com sensações físicas intensificadas. Por exemplo, em um jogo de ação, sentir a dor de um golpe ou o impacto de uma explosão pode aumentar a sua adrenalina e a imersão naquele universo virtual.

Além disso, a possibilidade de sentir texturas e objetos virtuais com maior precisão proporcionará uma interação mais tangível com o ambiente do jogo. Isso abrirá caminho para novas mecânicas de jogabilidade e desafios, levando a uma experiência de jogo mais envolvente.

Nossa eNer e Arquiteta de Software, Carla Luena, já joga videogame de VR a 2 anos e contou pra gente um pouco da sua experiência, “Meu jogo preferido é Pistol Whip.

É muito emocionante, realmente você esquece do mundo real, é super imersivo. E é muito bom também porque você mantém seu corpo em movimento mesmo jogando. Inclusive em casa já aconteceu de pessoas virem jogar e até trombarem na parede ou irem de encontro a TV (risos)”.

Mas, se engana quem acha que a realidade virtual é algo atual.

A primeira experiência conhecida de VR remonta à década de 1960 com o desenvolvimento do “The Sword of Damocles” por Ivan Sutherland.

No entanto, a popularização da VR só aconteceu nas décadas seguintes, com empresas como a VPL Research. O interesse e investimento na VR aumentaram nos anos 1990, mas enfrentaram desafios técnicos e comerciais.

A partir do final dos anos 2000 e início dos anos 2010, o VR ressurgiu com dispositivos como Oculus Rift, HTC Vive e PlayStation VR, oferecendo experiências mais imersivas.

Desde então, a realidade virtual continua a evoluir e expandir-se em várias áreas, desde educação, até negócios e entretenimento. Se você ficou empolgado com as novidade de RV, deixaremos uma lista aqui de alguns dos melhores jogos já lançados com essa tecnologia:

Pistol Whip (recomendação da Carla): É um jogo de VR que combina ação, ritmo e música. Os jogadores se movem em sincronia com a música, atirando em inimigos e desviando de balas. Com uma trilha sonora eletrônica empolgante, o jogo oferece uma experiência imersiva e eletrizante. Possui controles intuitivos, modos de jogo variados e níveis temáticos emocionantes.

Beat Saber: Um jogo de ritmo e música onde você usa sabres de luz virtuais para cortar blocos que se aproximam de você no ritmo da música. É um jogo imersivo e energético que desafia sua coordenação e reflexos.

Superhot VR: Neste jogo de ação em primeira pessoa, o tempo só se move quando você se move. Com uma mecânica única, você precisa desviar de balas, desarmar inimigos e completar desafios em uma série de cenários de combate.

The Elder Scrolls V: Skyrim VR: Uma versão em realidade virtual do lendário jogo de RPG de mundo aberto, “Skyrim”. Explore vastas paisagens, lute contra criaturas míticas e mergulhe em uma história épica enquanto vive a experiência imersiva da realidade virtual.

Half-Life: Alyx: Este jogo de tiro em primeira pessoa se passa no universo da renomada série “Half-Life”. Com gráficos impressionantes e jogabilidade envolvente, você assume o papel de Alyx Vance em uma luta contra uma invasão alienígena.

Resumidamente, o potencial do VR é gigantesco e a gente tá contando os dias para ver de perto essa evolução.

()
Categorias
💡 Inovação

Como devs podem usar o ChatGPT no dia a dia?

A tecnologia está em constante evolução, e com ela surgem ferramentas inovadoras que transformam a maneira como os profissionais de diferentes áreas realizam suas tarefas diárias. No campo da programação, não é diferente.

O ChatGPT é um exemplo notável do avanço da tecnologia de linguagem natural, capaz de interagir de forma inteligente e fluente com os usuários.

Desenvolvido pela OpenAI, esse modelo utiliza técnicas de aprendizado de máquina para gerar respostas e textos coesos com base em comandos e consultas recebidas. Com sua habilidade de compreender o contexto e oferecer soluções relevantes, o ChatGPT pode ser um verdadeiro aliado para programadores em diversas situações.

Neste artigo, exploraremos como devs podem usar o ChatGPT em seu dia a dia para aprimorar sua eficiência, superar obstáculos e obter insights valiosos.

Vem conferir.

Criar API Key no OpenAI

Primeiro passo, é criar uma conta no OpenAI, ir até a tela de API Keys que fica no menu lateral direito no ícone do seu perfil, onde verá a tela abaixo:

Ao ver a tela acima, clique no botão para criar uma nova chave “Create new secret key”, onde abrirá um popup para que você digite o nome que dará para sua chave:

Após digitar o nome, clique em “Create secret key” para criar a chave.

Com a chave copiada, iniciaremos a instalação da extensão no Visual Studio Code.

Instalar CodeGPT no Visual Studio Code

Abra seu Visual Studio Code na aba de extensões e pesquise por “CodeGPT” e instale a extensão:

Após instalar, clique no ícone de configuração logo ao lado do botão de Desinstalar e vá em Extension Settings, onde poderá inserir sua API Key, quando realizar algumas configurações sobre o ChatGPT.

Após colar sua API Key, já poderá iniciar a utilização do ChatGPT dentro dos seus projetos.

Exemplo Prático

Abaixo, mostro um exemplo que utilizei aqui para realizar uma otimização em um bloco de código JS.

Ao selecionar um bloco de código, você pode clicar com botão direito e verá algumas opções de como utilizar o OpenAI para melhorar seu código como desenvolvedor, dentre elas: 

  • CodeGPT: Explain selection
  • CodeGPT: Refactor selection
  • CodeGPT: Find problems
  • CodeGPT: Optimize selection
  • CodeGPT: Write documentation

No exemplo abaixo irei focar na otimização de código.

Ao selecionar a opção de otimizar seu código selecionado, ele irá para a aba do CodeGPT encontrado ao lado esquerdo no Visual studio Code e realizando a busca automaticamente e retornando uma opção de código mais otimizado.

Para que seu código seja sobrescrito pelo novo gerado, necessita apenas clicar em cima do bloco de código retornado que será alterado no seu arquivo.

E assim por diante, conseguirá otimizar muitos blocos de código dentro do seu projeto, que às vezes, gastamos diversas linhas de código.

()
Categorias
📈 Mercado de TI

MongoDB: O que é e suas principais características

O MongoDB é um  exemplo popular de banco de dados NoSQL, que utiliza uma estrutura de  documentos ao invés de tabelas, como em bancos de dados relacionais. Bancos de dados NoSQL são uma categoria de sistemas de gerenciamento de  banco de dados que utilizam uma abordagem não relacional para armazenar e recuperar dados.

Eles são especialmente úteis quando há necessidade de lidar com  grande volume de dados e a escalabilidade é uma preocupação.

O MongoDB é conhecido por sua escalabilidade horizontal e alta disponibilidade.  Ele é desenvolvido em código aberto e é amplamente utilizado por empresas de  todos os tamanhos para armazenar e gerenciar dados em aplicativos web e móveis.  Com sua estrutura de documentos flexível, o MongoDB permite que  desenvolvedores trabalhem com dados não estruturados ou semiestruturados, o  que pode ser especialmente útil em ambientes em constante mudança. 

O MongoDB também é capaz de processar consultas e atualizações em tempo real,  além de suportar operações em larga escala, como agregações e map-reduce. Além  disso, ele oferece uma ampla variedade de recursos de segurança e gerenciamento, como controle de acesso baseado em funções, replicação de dados e backup  automático. 

No geral, o MongoDB é uma excelente opção para empresas que precisam lidar  com grandes volumes de dados e precisam de uma solução de banco de dados  escalável e flexível. Sua estrutura de documentos permite que os desenvolvedores  trabalhem com dados de maneira mais intuitiva e o suporte para operações em  tempo real permite que aplicativos respondam rapidamente às necessidades dos  usuários.

Algumas funcionalidades do MongoDB incluem: 

Escalabilidade horizontal: é possível aumentar a capacidade do banco de dados  adicionando mais servidores. O MongoDB é conhecido por ser altamente escalável  e pode gerenciar grandes volumes de dados. 

Consultas flexíveis: o MongoDB suporta consultas ricas que podem incluir  comparações, projeções, ordenação, agrupamento, etc. Também é possível fazer  consultas geoespaciais para dados de localização. 

Índices e pesquisa de texto completo: é possível criar índices em campos  específicos para acelerar as consultas. Também é possível fazer pesquisa de texto  completo em dados de texto. 

Agregação de dados: o MongoDB suporta uma variedade de operações de  agregação que podem ser usadas para agrupar, filtrar e transformar dados. 

Replicação e tolerância a falhas: é possível configurar um cluster de servidores  MongoDB para replicação e tolerância a falhas. 

Alguns exemplos de operações de agregação do MongoDB incluem: 

$match: filtra documentos com base em um conjunto de critérios.

$group: agrupa documentos com base em uma ou mais chaves e calcula  valores agregados para cada grupo. 

$sort: ordena documentos com base em um conjunto de critérios.

$project: projeta campos específicos de um documento e adiciona novos  campos calculados. 

$lookup: junta documentos de uma coleção externa com os documentos de  uma coleção atual. 

$unwind: desdobra um campo de matriz em documentos separados para  que possam ser agrupados ou filtrados separadamente.

Exemplos de códigos do MongoDB em Java: 

$match 

O exemplo abaixo filtra documentos da coleção “users” com base no valor do  campo “age”, buscando somente os usuários que têm mais de 18 anos: 

$group 

O exemplo abaixo agrupa documentos da coleção “sales” por “year” e “product”, e  calcula a soma dos valores de venda para cada grupo: 

$sort 

O exemplo abaixo ordena documentos da coleção “books” em ordem decrescente  de preço:

$project 

O exemplo abaixo projeta os campos “name”, “email” e “age” da coleção “users”, e  adiciona um novo campo calculado “status” com base na idade: 

$lookup 

O exemplo abaixo junta documentos da coleção “orders” com documentos da  coleção “customers” com base no campo “customer_id”, e projeta os campos  “order_id”, “customer_name” e “order_date”: 

Instalar Studio3T, Windows

Acesse o site oficial do Studio3T em https://studio3t.com/download/. 

Escolha a versão do Studio3T que você deseja baixar de acordo com o  seu sistema operacional. 

Após o download, execute o arquivo de instalação. 

Na próxima tela, clique em “Next”.

Selecione a pasta de destino para a instalação do Studio3T e clique em  “Next”.

Aguarde a conclusão da instalação e clique em “Concluir”.

Após finalizar a instalação, irá abrir uma tela para aceitar os termos do  Studio3T. 

Pronto! Com esses passos, você instalou o Studio3T em seu  computador com Windows e já pode começar a gerenciar seus bancos  de dados MongoDB.

Conclusão 

O MongoDB é uma excelente opção para projetos que requerem escalabilidade e flexibilidade no armazenamento e manipulação de dados. Tive a oportunidade de  utilizar esse banco em projetos com grande quantidade de dados, como em  sistemas de aluguel de carros, e pude comprovar sua eficiência na gestão de  informações.

Além disso, sua compatibilidade com diversas linguagens de  programação e facilidade de uso também tornam o MongoDB uma escolha atraente  para muitos desenvolvedores. Portanto, se você procura uma solução moderna e  eficiente para gerenciamento de dados, o MongoDB é definitivamente uma opção que vale a pena considerar.

()
Categorias
📌 Dica rápida

Melhorando a segurança digital no seu Home Office

Com a pandemia e a mudança para o trabalho remoto, mais pessoas estão trabalhando em casa do que nunca. Nesse cenário, é comum investir em equipamentos e móveis confortáveis para criar um ambiente de trabalho produtivo. No entanto, muitas vezes negligenciamos um aspecto importante: a segurança cibernética. Tão essencial quanto se sentir confortável em seu escritório doméstico é garantir que ele esteja seguro contra ameaças cibernéticas.

Porque devemos nos preocupar com segurança mesmo estando trabalhando em home office?

A segurança ao se trabalhar no regime de home office, desempenha um papel crucial para quem utiliza a internet, mas é especialmente importante para quem trabalha em casa e usa diversos dispositivos. Essa segurança visa proteger todos os dispositivos, ou endpoints como podemos chamar em sua rede. Cada um desses dispositivos pode representar uma oportunidade para pessoas mal intencionadas ou códigos mal intencionados realizarem ataques.

Pense em todos os dispositivos em sua casa que estão conectados à Internet: computadores, laptops, tablets, impressoras, smartphones e muito mais. A segurança de borda desses dispositivos tem como objetivo proteger esses pontos de acesso e impedir a entrada de vírus e outros códigos maliciosos.

Caso você esteja incerto sobre a segurança dos dispositivos em sua casa, aqui estão algumas dicas para melhorar a segurança desses dispositivos no seu escritório doméstico.

Uma das medidas mais simples que você pode tomar para reforçar a segurança no home office, é ter cuidado ao escolher suas senhas. Aqui estão algumas dicas rápidas sobre segurança de senhas:

– Evite utilizar a mesma senha para várias contas.
– Nunca utilize informações pessoais, como suas iniciais, data de aniversário ou nome de animais de estimação, como senhas.
– Altere suas senhas regularmente.
– Utilize um gerenciador de senhas para criar e armazenar senhas difíceis de serem adivinhadas, uma dica é o aplicativo BitWarden.
– Ative a autenticação de dois fatores em todas as contas, o famoso MFA.

Além de seguir boas práticas para senhas de dispositivos e contas, é essencial manter seus dispositivos seguros quando não estiverem em uso.

Outras medidas de segurança:

Configure senhas ou reconhecimento facial em seu celular. Defina seu computador para bloquear automaticamente após um determinado período de inatividade. Nunca deixe seus dispositivos desbloqueados sem supervisão de alguém por perto, principalmente quando estiver viajando ou trabalhando em um espaço público como cafeterias, shoppings, bibliotecas.

()
Categorias
📈 Mercado de TI

Como lidar com a saúde mental na área da tecnologia

A chegada da pandemia da covid 19 trouxe mudanças significativas na maneira como as pessoas realizam suas tarefas e desempenham suas funções no ambiente de trabalho.

Essa transformação desenvolveu-se em um aumento do perigo relacionado ao estresse, ansiedade, tristeza, solidão e exaustão devido às altas cargas de trabalho devido a exigência em algumas situações. A saúde mental é um tópico frequentemente tratado como tabu ou algum desleixo, tanto nos ambientes de trabalho quanto na sociedade em geral em que nós vivemos. No entanto, trata-se de uma questão essencial, pois, caso seja ignorado este assunto, pode impactar negativamente o bem-estar e o nível de eficiência dos colaboradores da empresa.

O setor de tecnologia sempre foi reconhecido por sua atmosfera acelerada, que demanda trabalho árduo e dedicação incondicional. Atualmente, muitas dessas atividades relacionadas à tecnologia são realizadas remotamente, o que exige que os profissionais trabalhem e concluam suas tarefas de forma isolada em sua grande maioria.

De acordo com recentes pesquisas, 8 em cada 10 profissionais de tecnologia afirmaram que seus empregos se tornaram mais complexos desde o início da pandemia devido à pressão do home office. No mesmo estudo, constata-se que uma grande porcentagem dos profissionais de tecnologia relataram sentir uma pressão extrema no ambiente de trabalho e alguns tiveram dificuldades em desconectar-se do trabalho. Isso implica que os profissionais de tecnologia tendem a dedicar horas extras ao trabalho, resultando em uma redução do tempo destinado ao descanso ou à interação social com seus familiares. Infelizmente, essa realidade pode aumentar o risco de problemas relacionados à saúde mental, e até à sua saúde física.

Como lidar a saúde mental na área da tecnologia:

Equilíbrio entre trabalho e vida pessoal, as empresas devem promover o equilíbrio entre trabalho e vida pessoal de seus colaboradores, fornecendo apoio à saúde mental, incentivando o exercício físico como ginástica laboral, e permitindo que os colaboradores descansem o suficiente. Dias de folga também podem ser oferecidos para atividades fora do trabalho.


Empatia no ambiente de trabalho – Os gestores devem demonstrar empatia e compreender as necessidades dos colaboradores, ajudando-os a lidar com estresse e esgotamento de cargas altas de trabalho. Isso também incentiva os colaboradores a serem mais empáticos uns com os outros.

Capacitação profissional de funcionários – Investir em qualificação dos colaboradores pode ajudá-los a se sentir mais realizados e confiantes em seus trabalhos, além de melhorar seu bem-estar. As empresas podem inscrever os colaboradores em cursos e oferecer participação em palestras, eventos, workshops e afins, para se conectar com outras pessoas, deixando de lado um pouco a solidão de trabalhar sem a companhia dos seus colegas de trabalho devido ao home office.

()
Categorias
📈 Mercado de TI

Soluções de Armazenamento de Dados Bancos transacionais

Primeiramente, devemos entender a diferença de dados e informações. Dados são gerados a todo momento por sistemas, aplicativos e dispositivos em diversos lugares com formatos diversos, como dados cadastrais, logs de sistemas, áudios, vídeos, imagens, etc. Quando há o processamento desses dados gerando insights para o apoio de decisão temos o que chamamos de Insight.


Um exemplo clássico, em um sistema de estoque de mercado temos dados de produtos, clientes e vendas. A partir desses dados, vemos que fraldas e cervejas são vendidos juntos quando o cliente é um homem. É retirado o insight que quando o pai vem ao mercado comprar fraldas ele busca comprar cerveja e a decisão do mercado de colocar esses itens perto um do outro com o objetivo de aumentar as vendas. Como profissionais de TI devemos entender como armazenar, explorar e retirar informações desses dados. 

Os tipos de dados


Podemos classificar os dados em três tipos: estruturado, semi estruturado e não estruturado.

Os dados estruturados são dados gravados de maneira tabular (como uma planilha de excel), sendo representados por linhas e colunas. Os dados semi estruturados, como diz o nome, possui alguma estrutura sendo menos rígida, como por exemplo um arquivo JSON. Já os dados que não tem uma estrutura definida, são os dados não estruturados como imagens, vídeos, áudios e arquivos binários.

Após identificar os tipos de dados que temos disponíveis, devemos escolher a solução de banco de dados que melhor nos irá atender.

Banco de dados transacional


Os bancos de dados transacionais são os que armazenam todos os dados necessários para uma transação, como por exemplo, um controle de estoque de supermercado, um sistema financeiro e etc. Temos diversos tipos de bancos de dados separados em dois grupos, os bancos de dados SQL e NoSQL (Not Only SQL).


Os bancos de dados SQL, chamados também de bancos relacionais, armazenam dados estruturados e utilizam de SQL (Structured Query Language, em português Linguagem de Consulta Estruturada) para manipular os dados.

Já os bancos NoSQL foram criados para suprir algumas necessidades dos bancos SQL com um objetivo de ter uma performance de acesso, controle e escalabilidade melhores, por exemplo. Alguns tipos de bancos NoSQL estão listados abaixo.

Tipo Documento

Os dados são armazenados em formatos de documentos do tipo JSON, por exemplo. Um modelo de dados em que os desenvolvedores estão acostumados a trabalhar em suas aplicações, facilitando o acesso e manipulação dos dados já que estão no mesmo formato dos dados da aplicação.

Exemplos de aplicações em que tipo de banco se encaixa melhor estão catálogos, perfis de usuários e sistemas de gerenciamento de conteúdo.

Tipo Chave-valor


Esse tipo de banco armazena dados em conjuntos de pares de chave-valor, o valor é um identificador único para o valor. Ou seja, o acesso nesse tipo de dado é muito mais rápido, sendo necessário somente saber qual a chave para o valor desejado.

O tipo de valor armazenado pode ser objetos simples ou complexos dependendo somente da aplicação. Carrinho de compra, armazenamento de sessões, IoT são exemplos que se esse tipo de banco pode ser aplicado.

Tipo Grafo

Um grafo é composto por nós e arestas, um nó é ligado a outro(s) nó(s) por uma aresta. Um banco de dados do tipo grafo utiliza o nó para gravar informações sobre as entidades e as arestas para armazenar as informações das relações entre as entidades.

Uma aresta tem um nó inicial, final e direcionamento e dessa forma é possível identificar todas relação de uma entidade. Um exemplo mais claro de aplicação desse tipo de banco é uma rede social.

Banco de dados na nuvem


Cada provedor de nuvem tem ofertas de todos os tipos de bancos de dados diferentes citados no artigo, onde todo o gerenciamento é feito pelo provedor e o desenvolvedor se preocupa somente em extrair o melhor de cada ferramenta. Algumas dessas ofertas são bancos de dados nativos da nuvem projetados com recursos de escalabilidade e gerenciamento. Outras ofertas são bancos de dados tradicionais para uma empresas executar o “lift and shift”, em outras palavras, a migração de um ambiente on premise para a nuvem.


As vantagens de se usar soluções na nuvem são várias, desde o gerenciamento até o custo. Soluções on premise tem custo alto para a capitalização e manutenção diária do ambiente, além do custo elevado de gerenciamento administrativo como backups diários, atualização de softwares, segurança e alta disponibilidade.
Todos esses custos são drasticamente reduzidos em soluções PaaS (Plataform as a Service), por exemplo. O ambiente físico  se torna responsabilidade do provedor, e os problemas de gerenciamento administrativos se tornam menos complicados uma vez que as soluções em nuvem são projetadas para ter toda a escalabilidade, segurança e continuidade de negócio facilmente configurável.

Conclusão

Os dados são extraídos de vários lugares e sistemas, tem diversos formatos e para armazená-los da melhor forma temos diversos tipos de banco de dados. Não existe um tipo melhor ou pior de banco de dados, cabe ao profissional entender o caso de uso de cada tipo de banco de dados e escolher o que irá melhor atender a sua necessidade.

Existe também o banco de dados analítico, uma base de dados alimentada por diversas fontes diferentes, onde esses dados são organizados e disponibilizados para os usuários para transformar esses dados em informações para tomada de decisões. Vamos deixar mais detalhes para a parte 2 deste artigo. 

()
Categorias
🖥 Desenvolvimento

Packages excelentes do Laravel para desenvolvimento Back-End

O Laravel é um framework PHP, excelente para criar aplicações tanto simples quanto robustas, voltado para o Back-End. Porém o Front-End pode ser implementado tanto separadamente com APIs, quanto dentro do projeto, usando diversos tipos de frameworks (vue, react, bootstrap, …).

Com o Laravel é possível criar desde projetos básicos e simples, até robustos e complexos, contando com uma vasta comunidade de desenvolvedores e uma imensa rede de packages disponíveis. Os packages PHP disponíveis, ficam localizados no Packagist, que atualmente é o principal repositório do Composer. Ele agrega pacotes PHP públicos instaláveis ​​com o Composer.

Abaixo será listado algumas das bibliotecas mais relevantes para usar dentro de um projeto Laravel:

Laravel Breeze

O Laravel Breeze é uma implementação simples de todos os recursos de autenticação do Laravel, incluindo login, cadastro, redefinição de senha, verificação de e-mail e confirmação de senha. Além disso, inclui uma página simples de Profile onde o usuário pode atualizar seu nome, endereço de e-mail e senha.

A camada de visualização padrão do Laravel Breeze é composta de modelos Blade, simples e estilizados com Tailwind CSS, mas também podendo ser estruturado usando Vue ou React e Inertia. O Breeze fornece um excelente ponto de partida para iniciar um novo projeto Laravel.

Laravel Sail

O Laravel Sail é uma interface de linha de comando leve para interagir com o ambiente de desenvolvimento Docker padrão do Laravel. O Sail fornece um excelente ponto de partida para criar um aplicativo Laravel usando PHP, MySQL e Redis sem exigir experiência anterior com o Docker.

Permitindo uma visualização inicial do seu projeto muito mais rápido e fácil sem a necessidade de instalar diversos programas, um para cada tipo de tecnologia que irá utilizar dentro do projeto, aglomerando tudo dentro de containers Docker.

Laravel Telescope

O Laravel Telescope é uma ferramenta maravilhosa para o seu ambiente de desenvolvimento local. O Telescope fornece informações sobre as requisições que chegam ao seu projeto, exceções, entradas de log, consultas de banco de dados, jobs em fila, e-mails, notificações, operações de cache, tarefas agendadas ​​e muito mais.

Permitindo um gerenciamento muito maior de todos os erros e ações ocorridos dentro da sua aplicação local em laravel e tudo isso dentro de uma interface muito direta.

Laravel Horizon

O Laravel Horizon fornece um belo painel e configuração orientada por código para suas filas Redis alimentadas pelo Laravel. O Horizon permite que você monitore facilmente as principais métricas de seu sistema de filas, como taxa de transferência de trabalho, tempo de execução e falhas que ocorreram em filas.

Laravel Dusk

O Laravel Dusk fornece uma API para automação de testes fácil de utilizar. Por padrão, o Dusk não exige que você instale o JDK ou o Selenium em seu computador local. Em vez disso, o Dusk usa uma instalação autônoma do ChromeDriver. No entanto, você é livre para utilizar qualquer outro driver compatível com o Selenium que desejar, caso já esteja mais familiarizado.

Conclusão

Lembre-se que existem inúmeros packages para se utilizar dentro do Laravel, mas aqui foram listados apenas alguns deles, caso tenha algum outro que seja incrível e muito útil para o dia-a-dia dos Devs, comente aqui.

()
Categorias
🖥 Desenvolvimento

Criando um Custom Hook utilizando o Intersection Observer API

Imagine se deparar com o seguinte problema: Você deve carregar uma imagem para o usuário somente quando ele ver o componente na tela. Uma das coisas mais complexas no desenvolvimento web é saber exatamente quando um elemento aparece pelo usuário.

Primeiramente pensei em fazer cálculos com o scroll event, porém isso poderia facilmente trazer problemas de performance para a aplicação. Então, fiz como todo bom desenvolvedor, passei horas pesquisando possíveis soluções e encontrei uma de implementação bem simples, sem necessidade de trazer libs para o projeto, o Intersection Observer API.

Como o Intersection Observer API funciona ?


O Intersection Observer API é uma API do browser, de forma resumida, ela observa um elemento alvo e informa quando há a interseção desse elemento alvo com um outro elemento ou o com viewport. Em outras palavras, com essa API é possível saber quando o elemento aparece para o usuário. Para mais detalhes da API aqui está a documentação dela.



Essa API espera dois parâmetros, um callback e um objeto, com as opções para a API observar o elemento. Essas opções são o root, rootMargin e threshold.  

root: O elemento que é utilizado como viewport para o elemento alvo, se passado root com “null” o próprio viewport é utilizado.

rootMargin: Margin em volta do root. Pode ser usado como um CSS convencional de margin, por exemplo “10px 15px 10px 15px”. Esse valor serve para aumentar ou diminuir um espaço nos lados do elemento root antes de começar a calcular a intersecção. Por padrão é zero.

threshold: Um valor que pode variar entre 0 e 1, que indica a porcentagem e visibilidade que o componente deve aparecer para disparar o callback. Por exemplo, se o valor é 0.5, o elemento deve estar 50% visível para o callback ser disparado. Também é possível passar um array de valores para que em cada valor o callback seja executado.

Como usar isso em um custom hook ?

A ideia do custom hook que iremos criar é retornar uma referência para ser usada no elemento alvo e um booleano em que informa se o elemento alvo está visível recebendo como parâmetro as opções do nosso Intersection Observer API.


Para a referência utilizamos o hook useRef, e com o hook useState teremos o estado do elemento visível ou não, que alterado pelo nosso callback do Intersection Observer API. O próximo passo é criar o nosso callback, utilizamos o useCallback para que ele seja sempre a mesma função mesmo o componente que utilizar o custom hook tenha um re-render.

Bom, já temos nossas options e o callback, agora de fato vamos utilizar o Intersection Observer API e deixar no hook completo.

 
O useRef também serve para armazenar dados para serem inalterados ao houver um re-render. Ou seja, caso haja um re-render o valor da ref ainda será o da primeira renderização. Assim, na linha 45 criamos uma referência para o observer. Entre a linha 67, criamos uma instância de IntersectionObserver com nosso o callback e as options. Na linha 71, vemos se a referência do elemento está sendo utilizada para ser observada. Caso houver um re-render, a linha 65 serve para desativar nosso observer, que será o mesmo do primeiro render.

()
Categorias
🏢 Outsourcing de TI

Porque a Tecnologia é importante no mundo dos negócios?

Com o grande avanço da tecnologia no mundo todo, nascimento de novas startups, podemos dizer que a tecnologia gera resultados importantes nas grandes operações entre as empresas, a tecnologia tem qualidades benéficas em todos os propósitos que farão com que as empresas possam aumentar suas receitas e consequentemente agregar mais resultados nas entregas de serviços e/ou produtos para os seus clientes. 


Pesquisa à frente dos concorrentes


A empresa que utiliza a tecnologia e/ou recursos tecnológicos com certeza estará à frente de seus concorrentes. Um negócio estará sendo considerado saudável quando ele tem o poder de se manter, crescendo sempre e adquirindo novas fontes de oportunidades. A tecnologia nos permite expandir os negócios numa velocidade jamais vista antes, onde estamos cada vez mais conectados, e em segundos conseguimos literalmente viajar o mundo de forma remota adquirindo experiências, conhecimentos, ferramentas, clientes, aumentando nosso networking, entre outras inúmeras vantagens que a tecnologia pode ser usada a favor dos negócios.


Segurança das informações


Utilizando de forma correta a tecnologia, podemos proteger as informações de uma empresa, sejam elas dados sensíveis, públicos, confidenciais ou não. Ao usar dispositivos para efetuar as atividades do dia a dia, como tablets, celulares, notebooks, servidores, as organizações podem evitar que as suas informações, projetos e até objetivos futuros sejam invadidos, e até mesmo furtados como existem diversos casos de sequestro virtual de dados e até mesmo seguido de um resgate mediante pagamento de moedas em carteiras virtuais. A tecnologia e seus recursos subsequentes, ajudam as organizações a proteger suas informações financeiras, estratégicas e toda sua propriedade informativa.


Processos bem definidos


Uma empresa bem sucedida é precedida de um leque de processos bem definidos, seja através de documentações como os procedimentos operacionais de apoio, instruções de trabalho, e até um FAQ através de uma intranet por exemplo demonstrando como fazer os processos internos, e estes não sejam prejudicados mediante saída de algum colaborador ou que o mesmo seja feito sua troca de setor e/ou departamento. Hoje existem diversas ferramentas que facilitam esse trabalho, ajudando as empresas a melhorar os seus processos e consequentemente a melhoria na entrega dos seus resultados perante aos seus clientes.


Conclusão


A tecnologia é algo que pode ser usado sempre a nosso favor, seja nos aspectos, humanos, pessoais, empresariais, onde neste último existem diversos fatores que podem alavancar o sucesso das organizações, fazendo com que a tecnologia seja usada a nosso favor, não como substituição de mão de obra mas sim como agregar valor às pessoas, otimizando recursos, processos manuais e aumentando o seu sucesso.

()