| Linha 1: | Linha 1: | ||
= Pesquisa Tecnológica = | = Pesquisa Tecnológica = | ||
NodeJS | |||
Definição: | |||
Node.js é um ambiente de execução server-side open source que utiliza a linguagem JavaScript e é capaz de rodar em diversas plataformas, como Windows, Linux, Mac OS, etc., sem depender de um browser (navegador) para a execução. | |||
------------------------------------------------------------------------------------------------ | |||
O JavaScript foi criado em 1995 e se tornou a linguagem padrão dos browsers e, consequentemente da WEB para desenvolvimento client-side, ou seja, a interface que o usuário final interage. | |||
Em 2009, Ryan Dahl apresentou o Node.js, capaz de rodar aplicações server-side escritas em JavaScript. | |||
Dahl criticava as possibilidades limitadas do servidor web mais popular da época, o Apache HTTP Server, para lidar com conexões concorrentes e a maneira mais comum de criar códigos - programação sequencial, pois no caso de conexões simultâneas, ou o processo inteiro era bloqueado até terminar a execução do bloco de código ou eram necessárias múltiplas pilhas de execução. | |||
O Node.js, diferentemente de outras tecnologias, como Java e PHP, é executado em apenas uma thread. | |||
Em linguagens tradicionais a cada nova requisição recebida cria-se uma nova thread, a qual necessita de recursos computacionais para sua criação. Tendo em vista que tais recursos são limitados, ao atingir tal limite, novas requisições serão tratadas somente após a liberação dos recursos anteriormente demandados. | |||
Já no Node.js, isso não acontece. Todas as requisições são tratadas de maneira assíncrona em apenas uma thread, chamada Event Loop, que fica em execução esperando novas requisições. | |||
Devido a isso, o Node.js é uma ótima ferramenta para construção de aplicações para internet rápidas e escaláveis, capaz de lidar com uma grande quantidade de conexões simultâneas com altas taxas de transferência. | |||
<br> | <br> | ||
Edição das 20h28min de 22 de abril de 2021
Pesquisa Tecnológica
NodeJS
Definição: Node.js é um ambiente de execução server-side open source que utiliza a linguagem JavaScript e é capaz de rodar em diversas plataformas, como Windows, Linux, Mac OS, etc., sem depender de um browser (navegador) para a execução.
O JavaScript foi criado em 1995 e se tornou a linguagem padrão dos browsers e, consequentemente da WEB para desenvolvimento client-side, ou seja, a interface que o usuário final interage.
Em 2009, Ryan Dahl apresentou o Node.js, capaz de rodar aplicações server-side escritas em JavaScript.
Dahl criticava as possibilidades limitadas do servidor web mais popular da época, o Apache HTTP Server, para lidar com conexões concorrentes e a maneira mais comum de criar códigos - programação sequencial, pois no caso de conexões simultâneas, ou o processo inteiro era bloqueado até terminar a execução do bloco de código ou eram necessárias múltiplas pilhas de execução.
O Node.js, diferentemente de outras tecnologias, como Java e PHP, é executado em apenas uma thread. Em linguagens tradicionais a cada nova requisição recebida cria-se uma nova thread, a qual necessita de recursos computacionais para sua criação. Tendo em vista que tais recursos são limitados, ao atingir tal limite, novas requisições serão tratadas somente após a liberação dos recursos anteriormente demandados. Já no Node.js, isso não acontece. Todas as requisições são tratadas de maneira assíncrona em apenas uma thread, chamada Event Loop, que fica em execução esperando novas requisições.
Devido a isso, o Node.js é uma ótima ferramenta para construção de aplicações para internet rápidas e escaláveis, capaz de lidar com uma grande quantidade de conexões simultâneas com altas taxas de transferência.
Evolução na profissão
- Como foi a evolução (acadêmica e profissional) até chegar na sua posição atual?
- Quais foram as principais formações (certificação, especialização, curso, etc) extra-curriculares?
Descrição da atividade atual
- O que efetivamente faz o profissional na sua condição?
- O que entrega como resultado?
Requisitos mínimos para exercer a profissão
- Cite alguns soft skills necessários para quem tem intenção de seguir essa carreira?
- Sugira alguns hard skills.
Ferramentas usadas no dia-a-dia
- Cite algumas ferramentas, tecnologias ou metodologias das quais depende para sucesso nas atividades.
Tecnologias envolvidas
- Sugira alguma tecnologia que possa ser pesquisada por esta equipe e que possa servir de base para futura aplicação nessa profissão.
Ética profissional
- Pode dar algum exemplo já vivido por você ou por alguma outra pessoa sobre aspectos éticos na profissão, seja positivo ou negativo?
Upload da apresentação
- Tem apresentação? Faça o upload aqui.
Dúvidas
- O que mais te interessa no desenvolvimento back-end?
- O que acha melhor em seu desenvolvimento?
- Você utiliza somente node.js no backend ou tem que utilizar outras tecnologia para situações específicas? Sim. Ele falou que não estudou por meio de cursos.
- Por quais materiais ele estudou para ser um desenvolvedor?
- Trabalhar em startups pode ser mais vantajoso do que trabalhar em empresas grandes?
- Qual disciplina ou qual conhecimento que você adquiriu na Graduação você acha mais importante/usa mais atualmente nessa área?
- Qual a maior dificuldade que o Danilo já enfrentou?