Git Product home page Git Product logo

pabloxt14 / github-blog Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 24.54 MB

O Github Blog é uma aplicação web que tem como objetivo mostrar visualmente com um design e layout mais bem elaborado os dados do criador deste aplicação, além das issues presentes neste mesmo repositório no Github, permitindo também a pesquisa por issues específicas.

Home Page: https://github-blog-nu.vercel.app

License: MIT License

HTML 2.29% TypeScript 97.71%
github-api react-hook-form react-markdown reactjs typescript vite zod

github-blog's Introduction

Pablo Alan

Hi Guys 👋

Sou um desenvolvedor Full Stack apaixonado por transformar linhas de código em soluções inovadoras e funcionais, estou sempre estudando para aprender mais e mais, além de estar sempre aberto a novas oportunidades e desafios.

🚀 Estou cursando a faculdade de Engenheiro de Software, para que possa me aprofundar ainda mais a fundo no ramo da tecnologia.
💜 Sempre aberto para colaborar em projetos com React/Next/Node.
😊 Posso te ajudar com HTML, CSS, JavaScript, Typescript, React, Next.js, Tailwind, Node.js e React Native.
💻 Minha stack de tecnologias consiste principalmente de: JavaScript, Typescript, ReactJS, Next.js, Node.js e React Native.
💬 Curiosidade sobre mim: Adora tudo relacionado a tecnologia e também ping-pong 🏓😁!
📧 Contato: Linkedin Badge Gmail Badge

🛠 Tech Stack

HTML  CSS  JavaScript  TypeScript  React  React Native  Next.js  TailwindCSS  Styled Components  SASS  Node.js  Express.js  Fastify  Prisma  Postgres  Jest  Git  GitHub 

⚙️ GitHub Analytics

github-blog's People

Contributors

pabloxt14 avatar

Stargazers

 avatar

Watchers

 avatar

github-blog's Issues

TypeScript: por trás do superset de JavaScript

Um conjunto de ferramentas JavaScript que adicionou tipagem e novos recursos na linguagem

Faz algum tempo já que estamos encantados com o TypeScript e já inserimos a tecnologia em nossa programação diária. Entre iniciantes ainda existe muitas dúvidas sobre o que significa, na prática, TypeScript e quais são suas diferenças com o JavaScript.

Os que já estão mais adaptados com ele, no entanto, podem não saber de detalhes, ou curiosidades, relevantes sobre a trajetória do TS dentro do mercado de trabalho.

O conteúdo de hoje vai se aproximar de uma conversa mais técnica para tentar responder algumas perguntas e compreender, afinal, quais foram os impactos do TypeScript em nossos códigos.

TypeScript é uma linguagem?

O mapa completo para você impulsionar sua evolução

Dizer que TypeScript é uma linguagem pode servir para generalizar a sua adoção e simplificar a referência, no entanto, pode ser um pequeno deslize de definição. Segundo a Microsoft, TS é um superconjunto — superset — de JavaScript que adiciona novos recursos na linguagem, como tipagem.

Ou seja, um conjunto de ferramentas criado e encorpado sobre o JavaScript. Foi desenvolvido por um time de desenvolvimento dentro da Microsoft e seu primeiro release foi em 2012.

Demorou um tempo para ser adotado pelo mercado, mas em 2018 a tecnologia já disputava o pódio entre as linguagens mais amadas dentro do ecossistema de desenvolvimento web, ocupando o quarto lugar.

Impulso

Algumas coisas podem justificar o impulso da linguagem, que completa oito anos agora em outubro. O ponto definitivo para se tornar referência aconteceu em 2016, quando o Angular, framework da Google, decidiu adotar o TypeScript como linguagem oficial.

Esse evento pode ser ilustrado neste gráfico do Stack Overflow — repare no crescimento do número de perguntas da comunidade nos últimos quatro anos. Em 2020 o TypeScript se coloca em segundo lugar entre as linguagens mais amadas, de acordo com este survey.

Ryan Cavanaugh

Segundo o atual engenheiro líder da equipe que mantém o TypeScript na Microsoft, Ryan Cavanaugh, nesta entrevista para o Stack Overflow, a iniciativa surgiu porque alguns times dentro da empresa, como o TFS e Office, queriam criar aplicações grandes utilizando JavaScript.

Na época essas equipes estavam acostumadas com linguagens estaticamente tipadas, como C++, C# e Java.

“Eles queriam ter essa tipagem estática disponível para escalabilidade e tooling”.

Ao invés de criar uma nova linguagem do zero, no entanto, eles decidiram pegar o JavaScript e adicionar tipagem estática nele para uso imediato. Recomendo vocês darem uma lida com atenção na entrevista de Ryan para saber de detalhes sobre as decisões internas da Microsoft ao desenvolver o TypeScript.

Inseguranças por trás da novidade

Beleza, o TypeScript supriu uma necessidade interna da Microsoft e foi adotado pelo Angular, mas ainda assim, muitos desenvolvedores sentiram um certo receio para experimentar as novas funções da linguagem.

Com o mercado adotando cada vez mais o uso do TypeScript, é normal vir uma bagagem de inseguranças, tanto para quem começa a programar em JavaScript como para quem já está na frente de desenvolvimento.

Afinal, será que não estamos matando as vantagens do JavaScript em ser tão dinâmico e o transformando em um Java, que é estático? A adição dessas tipagens ajudam ou prejudicam na criação de nosso projeto? Bom, acho que a resposta mais honesta é: depende.

Acesse as melhores oportunidades da sua carreira como dev

Nada é tão simples por aqui
Não é muito viável dizer com total garantia que as tipagens inseridas pelo TypeScript no JavaScript vão te ajudar, ou prejudicar. Não é tão simples porque tudo depende de variáveis relevantes, por exemplo: o tempo disponível para o preparo de seu time e a escala que o projeto pode tomar.

Segundo o próprio engenheiro do time, Ryan Cavanaugh, naquela entrevista, “se tipagem estática não é uma escolha certa para você, seja para seu estilo de programar ou para o problema que você está trabalhando em cima, só pule. Tá tudo bem. É okay. Não vou ficar ofendido”.

Otimizar o seu conhecimento

No entanto, há considerações importantes. Nós defendemos o uso do TypeScript ao se trabalhar em algumas situações onde o código é open source, para evitar uma centena de problemas, e para projetos que precisam de escala, para otimizar grandes processos de produção.

O melhor jeito de entender o TypeScript é enxergá-lo como uma evolução que pode te ajudar muito em alcançar novas camadas de produtividade e criação no seu desenvolvimento.

Você pode conferir, com detalhes, a nossa visão sobre o assunto nesta Masterclass do Diego Fernandes, e ainda conhecer, na prática, as funções do TypeScript.

Boas práticas para devs em início de carreira

As principais lições e dicas compiladas para quem está começando na programação ou migrando para a área.

*Texto por Camila Coelho

Hoje devs são peças fundamentais de todo negócio, estão nas startups e nas pequenas e médias empresas que buscam soluções tecnológicas para seus produtos e serviços.

Em uma busca rápida, é possível encontrar centenas de notícias e pesquisas que apontam a falta de mão de obra qualificada na área. A conclusão das matérias é a mesma: sobram vagas no Brasil e chovem oportunidades internacionais.

Quem se destaca pode nadar de braçada nesse oceano de possibilidades. Nesse artigo estão reunidos todos os ensinamentos para você iniciar sua carreira em programação com o pé direito.

Defina sua jornada

Antes de tudo, você precisa saber para onde está indo. Iniciantes na programação costumam se perder em meio a tanta informação. Você precisa ter objetivos bem definidos para traçar a melhor rota de evolução na carreira.

Certifique-se de ter uma base sólida nos fundamentos da programação. Só depois de conhecer o básico, você saberá para onde seguir. Esse curso gratuito ensina programação desde o marco zero, para quem nunca teve contato com tecnologia e ajuda a consolidar conhecimentos padrões.

Escolha uma linguagem

Conhecer uma única tecnologia profundamente vai te ajudar mais que saber várias superficialmente. Isso não significa que você nunca poderá aprender outras no futuro, apenas que vai direcionar seu foco para um objetivo de aprendizagem.

Dominando uma linguagem você se aproxima de empresas que costumam buscar por pessoas que cumpram papéis específicos em um time de tecnologia.
Acompanhando a evolução das ferramentas que usa, você não deixa que suas aplicações fiquem ultrapassadas e continua relevante para o mercado.

Organize seus estudos

Tenha em mente que a tecnologia está em constante evolução, devs precisam continuar estudando mesmo depois de ingressar no mercado. Ter o hábito de se dedicar aos estudos irá fazer toda a diferença no seu crescimento de carreira.

Crie um cronograma de estudos

Defina um plano de estudos que faça parte da sua rotina da melhor forma possível. Dicas para construir seu cronograma de estudos:

  • Entenda sua rotina: Faça um planejamento realista. Liste suas tarefas, refeições, obrigações e reserve um tempo de foco profundo para se dedicar ao código.
  • Organize seu cronograma conforme pequenos objetivos: Separe seu tempo para absorver conteúdos, praticar, testar e revisar o que aprendeu nos últimos dias.
  • Use ferramentas de organização: Plataformas como o Notion são ótimas opções para planificar sua agenda e para documentar seus materiais de estudo, links úteis e ideias de projetos.
  • Aplique a técnica Pomodoro: Esse método te ajuda a aproveitar tempos de estudo sem nenhuma interrupção, intercalando com momentos de descanso. Cronometre 25 minutos de estudos, quando o tempo terminar, faça uma pausa de 5 minutos e retome os estudos por mais 25 minutos.

Tenha constância nos estudos

Ter frequência nos estudos é mais relevante para o seu aprendizado que focar por grandes períodos de tempo.

Estudar todos os dias o ajudará a fixar conhecimentos ao manter-se em contato recorrente com o que precisa aprender. É preferível que você estude por um período de tempo menor por dias recorrentes, que por muitas horas em um único dia da semana.

Pratique e Pratique

Não tem jeito, programação é uma disciplina prática. Apenas codando que você vai conseguir desenvolver suas habilidades técnicas. A teoria virá a partir da prática, não ao contrário. Praticar também vai te ajudar a desenvolver o pensamento crítico necessário para resolver problemas e priorizar tarefas.

Conte com a comunidade

Se envolver em comunidades será um divisor de águas para sua carreira. Ajudar outras pessoas desenvolvedoras vai fazer com que você fixe melhor seu aprendizado. A comunidade vai te dar suporte frente a problemas desafiadores para você.

Evoluir em comunidade também é uma ótima oportunidade para você se preparar para trabalhar em um ambiente de Pair Programming.

Pair Programming é uma técnica de desenvolvimento ágil em que devs trabalham em pares, em uma única estação de trabalho. Em algum momento da sua carreira você vai ter contato com o trabalho em par, use a comunidade para sair na frente e se preparar para ele.

Dica: abra em nova aba ou favorite esse guia prático de como contribuir para o ecossistema de tecnologia. Ele tem dicas super úteis para você que está começando a programar.

Networking é tudo!

Em toda e qualquer carreira, fazer Networking é uma das principais estratégias de visibilidade para profissionais. Em desenvolvimento não seria diferente.

Ao passo que ganha relevância na comunidade, melhores oportunidades chegarão até você. Ou talvez, você possa encontrar aquela pessoa que vai criar sociedade com você para empreender conforme seus objetivos, e se conectar com profissionais que você conhece as competências.

Desenvolva suas soft skills

Soft Skills são as habilidades comportamentais, aquelas que vão além dos seus conhecimentos técnicos. Não negligencie suas habilidades de comunicação, atitude, pensamento crítico, criatividade e outras que não podem ser substituídas pelo domínio da programação.

Parece complicado para quem se acostumou a lidar apenas com a sua própria tela, a boa notícia é que você verá o desenvolvimento dessas habilidades fluir sempre que você estiver presente em comunidade, compartilhando conhecimento.

Impulsione sua carreira

Pense na sua carreira profissional como uma marca. Sua marca precisa ser sólida, ter credibilidade e ser divulgada. Para se destacar no início da sua carreira ou em qualquer outra etapa dela, avance por alguns atalhos como Eventos de Tecnologia, Hackathons e Projetos Pessoais.

  • Eventos de tecnologia - Basta acompanhar as comunidades para ficar por dentro dos principais eventos de tecnologia. Desde workshops, para você aprender praticando, a empreendedorismo e conversas, para você acompanhar o avanço da tecnologia. O Networking é outro ponto positivo de fazer parte dos eventos sempre que possível.

  • Hackathons - Esses são eventos que podem ser definidos como uma disputa prática para profissionais de tecnologia. Os Hackathons te ajudam a ganhar experiência no desenvolvimento de soluções em grupo, indo da ideação ao produto final.

  • Projetos pessoais - Os projetos pessoais são uma forma de você desenvolver suas habilidades técnicas, criatividade e pensamento crítico. Tudo que você construir se torna bagagem para seu currículo e casos reais para o seu portfólio.

Importante, adicione tudo que você fizer ao Github e escreva um bom README.

Todos seus projetos contam como experiência para seu portfólio, independentemente da complexidade. Como toda sua evolução, a construção do seu portfólio também começa com um primeiro passo e vai avançando de nível.

Mesmo que você acredite que não tem por onde começar, comece. Com o tempo seu conhecimento e projetos vão ganhando forma.

Tá sem ideia de projetos e já quer começar a se desafiar? Entre no Discover, você terá acesso a dezenas de desafios com instruções de como realizá-los.

Propaganda Rocketseat

Post original: rocketseat-education/reactjs-github-blog-challenge#1

Prisma: uma das melhores coisas que já aconteceu no ecossistema?

Um breve arquivo sobre a origem da ferramenta que facilitou o acesso de databases e ampliou produtividade para o ecossistema JavaScript/TypeScript

Dividido em três camadas como núcleo de sua arquitetura, o Prisma nasceu no ecossistema JavaScript com a promessa de ser uma ferramenta facilitadora e produtiva para devs que trabalham diretamente com databases. Por uma série de razões, a tecnologia chegou a ser reconhecida como “uma das melhores coisas que já aconteceu” na programação backend entre usuários de Node.js.

O artigo desta semana pretende levantar um arquivo sobre o Prisma e entender os motivos da tecnologia ter obtido tanta relevância ao longo desses anos. Se você acompanha nossa plataforma e acessou recentemente nossos conteúdos no YouTube, já deve ter reparado que estamos de olho na performance do Prisma há bastante tempo.

Não há exatamente uma data para apontar como “o dia em que foi lançado”, no entanto, se entrarmos nos registros do GitHub, reparamos que os primeiros repositórios do Prisma surgiram em meados de 2017, com assinaturas de Lukáš Huvar e Johannes Schickling.

Antes de ser Prisma, o pequeno projeto era chamado de Graphcool e contava com uma equipe pequena de cinco devs que pretendiam desenvolver uma solução como backend-as-a-service para GraphQL. O Graphcool na época foi bem recebido pela comunidade, principalmente por ser “fácil de usar” até para devs Frontend.

Nikolas Burk, um dos primeiros devs da equipe, reconheceu nesta thread que, apesar do projeto ter potencial na época, não conseguiu escalar por conta da falta de flexibilidade. A solução foi desenvolver, ao longo de uma série de tentativas, o Prisma 1.0, em 2018. O Prisma Client foi anunciado meses depois.

primas site

A tecnologia atualmente se encontra em sua terceira etapa de desenvolvimento, chamada de Prisma 3, uma versão com recursos mais avançados e consistentes. Apesar do nome numérico, o produto oficial do Prisma, que engloba todos os serviços da tecnologia, está no Prisma Client e Studio, este último lançado em novembro de 2019.

Prisma é uma ferramenta open source, um ORM de próxima geração cuja arquitetura é desenhada em três camadas fundamentais:

  • Prisma Client: um construtor de queries gerado automaticamente e type-safe para Node.js e TypeScript
  • Prisma Migrate: sistema de migração;
  • Prisma Studio: o produto principal da tecnologia. Trata-se de uma interface do usuário feita para visualizar e editar os dados na database;

Na descrição oficial da ferramenta, Prisma é descrito como um novo tipo de ORM, fundamentalmente diferente dos modelos tradicionais que eram aplicados anteriormente. Uma alternativa para outras ORMs, como TypeORM e Sequelize.

Todo o conceito do Prisma está no schema proporcionado por eles no desenvolvimento nestas três camadas citadas anteriormente. Segundo eles, o schema é descrito como o principal arquivo de configuração para o Prisma.

JavaScript data types and data structures

Programming languages all have built-in data structures, but these often differ from one language to another. This article attempts to list the built-in data structures available in JavaScript and what properties they have. These can be used to build other data structures. Wherever possible, comparisons with other languages are drawn.

Dynamic typing

JavaScript is a loosely typed and dynamic language. Variables in JavaScript are not directly associated with any particular value type, and any variable can be assigned (and re-assigned) values of all types:

let foo = 42;   // foo is now a number
foo = 'bar';    // foo is now a string
foo = true;     // foo is now a boolean

npm: pacotes, pacotes e pacotes

Repositório hospeda cerca de 1,3 milhão de pacotes, atingindo métricas de até 75 bilhões de downloads mensais

npm é uma sigla para Node Package Manager, cuja tradução direta é bem simples: Gerenciador de Pacotes Node.

É um recurso incluído e recomendado para usuários de Node.js, framework de desenvolvimento back end em JavaScript.

O nome já é auto explicativo, no entanto, vamos destrinchar as peculiaridades da ferramenta um pouco além disso.

Somos uma plataforma completa de aprendizado contínuo em programação

npm é duas coisas

Segundo a comunidade Node.js, npm é, em tese, duas coisas: um repositório online para a publicação de projetos open-source em Node.js e uma linha de comando (código) utilizada para criar interações entre repositórios, instalação de pacotes, gerenciamento de versões e dependências.

O seu repositório hospeda cerca de 1,3 milhão de pacotes, atingindo métricas de até 75 bilhões de downloads mensais. Este recurso pode ser explorado na página oficial da ferramenta e a instalação de qualquer pacote é expressa em uma única linha de comando.

Isaac Z. Schlueter

Criado e desenvolvido em 2010 pelo engenheiro Isaac Z. Schlueter, na época que o Node.js ainda era uma ferramenta emergente. Naquele momento, o cenário de programação back end em JavaScript estava começando a ser desenvolvido e aperfeiçoado pela comunidade.

Segundo Isaac, nodejs/node-v0.x-archive#5132 (comment), publicada em 2013 no GitHub, ele desenvolveu o npm porque:

"tinha visto o empacotamento de módulos ser feito de maneira terrível e brilhante, e queria ter certeza de que o Node não acabaria com algo como Pear."

npm, Inc

Os números não deram trégua: o recurso foi uma ferramenta crucial para o ambiente JS durante os próximos anos. Com o sucesso do ecossistema back end JavaScript — liderado pela comunidade Node.js —, em 2014 Isaac criou a empresa npm, Inc para formalizar a gestão da ferramenta e sua expansão cada vez mais significativa.

Em 2020, o GitHub (já como subsidiária da Microsoft) comprou a npm, Inc com o objetivo de melhorar a infraestrutura do gerenciador de pacotes, além de agregar ainda mais para a experiência de desenvolvimento e da comunidade.

Aqui você vai encontrar o caminho para estar entre os melhores

Parte crítica do mundo JavaScript

Nat Friedman, CEO do GitHub, ao anunciar a compra reconheceu que "npm é uma parte crítica do mundo JavaScript", justamente por sua participação referência durante estes 10 anos de maturidade e contribuição open source.

GitHub é uma subsidiária da Microsoft desde 2018, numa compra estimada no valor de US$ 7,5 bilhões.

Apesar de ser uma atitude recente da Microsoft, uma das leituras possíveis é que a gigante está investindo cada vez mais no ecossistema de código aberto JavaScript.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.