Curso completo para INICIANTES em PROGRAMAÇÃO: Lógica e Algoritmos, HTML, CSS e JavaScript

5.36k views30571 WordsCopy TextShare
Bolt
⚡️ [COMUNIDADE BOLTZIN - GRÁTIS] 📍Notificação das próximas aulas; 📍Recebimento de materiais grat...
Video Transcript:
Bento decidiu que queria aprender programação porque o seu primo Rodolfo fez um cursinho de programação aprendeu HTML CSS em 5co meses estudando conseguiu o primeiro trabalho com salário de R 5.000 por mês Bento então para não errar resolveu comprar o melhor curso de programação que encontrou na internet o curso custava apenas R 15.000 e com o trabalho prometido no final do curso em apenas 3 meses trabalhando ganhando 5.000 ao mês já pagaria esse curso as aulas começaram apenas em março mas Bento pagou a primeira parcela em janeiro outro em fevereiro e quando assistiu a primeira
aula em março a fatura do cartão chegou com a parcela de apenas R 1250 parcelados em 10 vezes no cartão passou 1 2 e 3 meses e Bento já tinha cinco projetos no github utilizando HTML e CSS e no quarto mês do curso Bento começou a aprender JavaScript porque faltavam apenas mais dois meses até o final do curso que ele finalmente estaria contratado ganhando R 5.000 atuando como front em uma Startup com HTML CSS JavaScript que é endeu no cursinho online E adivinha só Bento chegou ao final do curso emitiu o tão sonhado certificado e
conseguiu um emprego certo quase Esqueceram de avisar Bento que a vaga garantida na verdade era uma candidatura com 2.000 candidatos para uma vaga de estágio e não Bento não ganhou um salário de r$ 5.000 na verdade Bento ganhou uma dívida de R 15.000 e se frustrou com a programação Mas tudo bem assim como o Bento não comprou o Bitcoin na baixa e vendeu na alta Talvez ele só tenha entrado no momento errado na programação Ei antes de qualquer coisa obrigado por estar aqui se você tá aqui é porque provavelmente cansou de cair nas historinhas de
gurus na internet que te contam que basta você comprar um cursinho estudar por 5 meses e estará finalmente contratado Isso é uma grande mentira eu mesmo estou na área mais de 10 anos eu comecei com 12 anos e hoje estou com 28 sim eu tô muito perto dos 30 anos hoje eu realmente tenho um salário muito bom e aos poucos estou conseguindo conquistar bastante coisa mas realmente não foi fácil e não foi da noite pro dia quando eu comecei na programação não existiam salários exorbitantes como hoje na área tanto que quando eu comecei a trabalhar
com meu pai em uma oficina de chapeação de carro eu ganhava quatro vezes mais do que o salário que eu fui ganhar quando eu resolvi sair de lá para pegar o meu primeiro estágio em programação mais tarde quando eu resolvi ir pra faculdade eu tinha certeza que quando eu terminaria a faculdade eu teria que abrir um negócio porque trabalhando no mercado de trabalho tradicional como o CLT eu jamais ganharia mais do que R ou R 3.000 acontece que depois que eu me informei Aconteceu algo que mudou completamente a realidade da programação no Brasil e no
mundo a pandemia a pandemia foi um verdadeiro ObaOba no mercado de tecnologia principalmente nas startups com o comércio fechado e as pessoas não podendo sair de casa as empresas que nunca Venderam nada pela internet precisaram se adaptar da noite pro dia e as empresas de tecnologia começaram a disputar programadores a tapa no mercado para dar conta da alta demanda do mercado que surgiu muito rapidamente e foi aí uma grande oportunidade para os cursinhos online e formações rápidas para ganhar salários altos em pouco tempo de estudo e usando um exemplo do início do vídeo o primo
do Bento Teve sorte para entrar nessa hora mas adivinha o que aconteceu com o primo do Bento ao final de 2022 quando tudo mudou novamente o que muitos dizem ter sido o estouro da grande bolha de programação se ainda em 2024 muitas pessoas estão perdendo seus empregos em empresas de tecnologia 2022 e 2023 foi muito pior a Amazon mesmo demitiu mais de 10.000 funcionários incluindo muitos Engenheiros de software Além disso o Facebook liderado pelo Mark zuberg teve resultados ruins e demitiu mais de 11.000 pessoas a maioria Engenheiros e nessa época também o Elon musk comprou
o Twitter e demitiu mais de 3.000 pessoas nos Estados Unidos foram mais de 120.000 pessoas que perderam seus empregos em empresas de tecnologia nesse mesmo ano e por que isso aconteceu bom porque os das galáxias os investidores e grandes gestores não fizeram a conta mais fundamental de todas nunca gaste mais do que ganha fique esperto todas as empresas que precisam gastar mais do que ganhar com o discurso que agora é a hora de conseguir crescer e atingir o bilhão é sem dúvidas um charlatão e vai explodir em breve tem alguns sinais meio óbvios que acontecem
o dinheiro tá secando o investidor está vazando Como conseguir mais dinheiro vai trás de novos investidores cuidado com as startups eu mesmo trabalho uma Startup que infelizmente ainda não dá lucro eu já estou há dois anos nessa empresa e a um bom tempo eu venho me preparando financeiramente porque vai chegar o meu dia e eu quero estar preparado para quando isso acontecer além de uma boa reserva de emergência Eu também sou CLT Então eu tenho um bom saldo de FGTS graças ao meu salário que é um pouquinho alto então não ca Em promessas falsas inv
Vista em conhecimento esteja sempre atento às oportunidades a programação não é fácil mas com dedicação e esforço É sim possível conquistar os seus objetivos e lembre-se sempre de cuidar as suas Finanças Para não gastar mais do que ganha entender o cenário atual na programação ajuda-nos a compreender que precisamos ter uma Fundação forte assim como a fundação de uma casa que precisa ser capaz de tentar toda a sua estrutura e o peso das pessoas e utensílios que trafegam por dentro da residência a nossa base na programação também precisa ser capaz de sustentar todos os desafios da
nossa carreira e É nesse ponto que a grande maioria erra todos estão mais preocupados em descobrir qual a linguagem de programação do momento do que de fato aprender a única coisa que realmente vai mudar e que será fundamental para você se destacar e transitar pelas demais tecnologias que é construir uma base forte eu sei que é difícil ter essa visão logo de início é difícil ter um direcionamento principalmente hoje que temos tanta informação e ao mesmo tempo não temos nada se você lembra do Bento Pois é o Bento não teve sucesso na programação e acabou
indo trabalhar diferenti em um posto de gasolina lá ele conheceu o Pedro e teve um dia que os dois estavam de plantão e encostou uma Lamborghini vermelha na bomba enquanto enchiam um tanque o motorista fez uma brincadeira com os dois valendo R 100 a brincadeira era simples Quem adivinhar o primeiro número que Dorival o motorista da Lamborghini estava pensando ganharia r$ 1 a única dica que Dorival daria seria se o número do chute foi baixo ou alto em relação ao número correto ambos toparam e Pedro começou ele Chutou o número 50 Dorival disse que ele
errou e que o número era baixo Bento então Chutou o número 55 também errou Dorival também falou que o número era baixo Pedro e uma nova tentativa Chutou o número 75 e Dorival dessa vez disse que o número era alto demais Bento Então falou o número 70 e agora o número também era alto Pedro agora Chutou o número 63 e Bento 61 ambos eram alos segundo o derival e Pedro em mais uma tentativa Chutou o número 57 e acertou sem dar uma nova oportunidade para Bento então embolsou os 100 mangos E logicamente Bento ficou pistola
com a situação e logo perguntou Poxa como você conseguiu acertar esse número tão rápido Afinal era 100 números era difícil para caramba foi aí então que Pedro comentou que ele estava estudando programação e que tinha aprendido a usar estratégia chamada pesquisa binária e que ele então não tinha dúvidas que no máximo em sete tentativas ele acertaria o número e que se Bento quisesse aprender era para ele procurar na Internet quando chegasse em casa sobre pesquisa binária e Bento continuava frustrado com a programação mas como era muito curioso resolveu pesquisar logo log no início da sua
pesquisa Bento descobriu a estratégia de Pedro que começou com o número 50 porque a pesquisa binária consiste sempre em usar a metade da quantidade de números disponíveis Ou seja a metade de 100 é 50 portanto essa deveria ser a primeira tentativa e quando Dorival disse que o número era baixo Pedro logo sacou que o número estava Entre 50 e 100 portanto já na segunda tentativa Pedro eliminou 50 números e assim repetiu o processo com o restante a nova tentativa deveria ser a metade novamente mas dessa vez Entre 50 e 100 a metade então foi 75
visto que o número 25 é a metade dos 50 restantes E aí foi só somar 50 + 25 e assim chegou ao 75 dessa vez o número foi alto então a próxima tentativa só poderia estar entre 50 e 75 aí Pedro dividiu os 25 restantes e chegou o número 12,5 Pedro arrendou para 13 e somou com 50 chegando a 63 e como o Dorival disse que o número ainda era alto o número agora só poderia estar entre 50 e 63 E aí foi só pegar os três números que sobraram dividir novamente e assim chegar o
número 6,5 que foi arredondado novamente para o s nesse caso somado com 150 chegando então no número escolhido que era o 57 e Bento ficou deslumbrado e ao mesmo tempo triste porque ele percebeu que a programação poderia ter ajudado ele a ganhar R 100 e que infelizmente o cursinho que ele fez só fez perder R 15.000 e não aprendeu nem pesquisa binária mas Bento continuou com os seus estudos de pesquisa binária e nesse mesmo dia descobriu o poder do algoritmo ao tentar aplicar a mesma lógica com 240.000 números a mesma estratégia poderia ter sido utilizada
mesmo que o jogo fosse escolher de 1 a 240.000 e se você entendeu a pesquisa binária rapidamente você vai conseguir descobrir quantas tentativas serão necessárias no máximo para acertar um número de 1 a 240.000 eu vou te D Um Minuto Para você fazer aí no papel e responder aqui no chat e se você estiver assistindo na plataforma do roadmap faça agora mesmo os exercícios dessa aula e continuem na sequência entre os números 1 e 240.000 são necessários no máximo 18 etapas para acertar o número específico usando a pesquisa binária no entanto se ao invés dela
você optar pela busca simples e por acaso o número a ser adivinhado for 240.000 ou seja o último da lista seriam necessárias 240.000 etapas para encontrar o número talvez você ainda não tenha percebido Mas você já aprendeu o seu primeiro algoritmo de programação e isso é realmente incrível Logo mais eu vou te ensinar a escrever um código de programação que dado uma lista de números e um número a ser buscado ele vai dizer exatamente qual a posição da lista esse número está mas antes da gente chegar lá eu preciso te dizer que a pesquisa binária
só funciona se uma lista estiver ordenada e para organizar uma lista existem alguns algoritmos também mas o mais simples deles é a ordenação por seleção e calma que a gente já vai chegar lá antes a gente precisa entender algumas estruturas básicas de programação Mas antes a gente precisa escolher uma linguagem de programação e eu sei que você tá mega ansioso para esse momento Afinal a maioria das pessoas não se preocupa em aprender a programar mas sim em qual linguagem de programação utilizar recentemente Eu postei um vídeo no meu canal e nele eu apresento uma pesquisa
que eu fiz para entender melhor quem era o meu público e se você está vendo essa aula é graças a essa pesquisa nela descobri que a maioria do meu público está bem no início dos estudos e sabe praticamente nada sobre programação e talvez esse seja o seu caso também e é por esse motivo que eu vou de fato começar bem devagar sem pressa e te ensinando cada etapa E cada conceito da melhor forma possível e mais pro final da pesquisa eu pergunto qual linguagem de programação você gostaria de ver no meu canal Python ou JavaScript
e eu coloquei essas duas linguagens em jogo simplesmente porque elas foram as mais escolhidas quando perguntado e para esse projeto da comunidade da primeira vaga a gente não vai se apegar a nenhuma linguagem nem mesmo o Python jav script mas sim elas vão aparecer aqui com bastante frequência simplesmente porque são linguagens fáceis de começar e pra aula de hoje a gente vai utilizar o Python mas talvez na próxima aula a gente já utilize outra o Python é uma linguagem de programação criada por um holandês chamado Guido Van hosson E se engana quem acha que o
nome da linguagem tem relação com a cobra a verdade é que Guido era muito fã de um grupo de comediantes britânicos chamado Monte Python e a escolha desse nome foi puramente uma homenagem a esse grupo e o Python é uma das principais escolhas como primeira linguagem de programação e não é por acaso Guido percebeu que os programadores passam normalmente mais tempo lendo código do que de fato escrevendo e é por isso que ele procurou criar uma linguagem fácil de ler por esse motivo também que eu resolvi te mostrar algumas das principais estruturas de programação que
estarão presentes em praticamente qualquer linguagem de programação que você for utilizar no futuro não se prenda a qualquer linguagem muito menos no início dos seus estudos e como eu não quero criar nenhuma barreira de entrada nesse momento eu não vou pedir que você instale nada no seu computador vamos utilizar um site para criar e rodar os nossos primeiros códigos inclusive ele pode ser acessado até pelo celular eu vou deixar o link do site aí na descrição do vídeo e nele a gente vai apagar simplesmente tudo e começar do zero criou-se um mantra na programação que
sempre que você vai começar em uma linguagem de programação Você precisa fazer um hellow World e no Python é muito fácil fazer isso basta a gente utilizar a instrução print e dentro de parênteses e aspas digitar hello world aí é só rodar o nosso programa e supimpa você criou o seu primeiro código em Python mas querer aprender uma linguagem de programação sem um motivo não faz o menor sentido você irá aprender um monte de coisa e depois não saberá como aplicar e provavelmente irá esquecer tudo em pouco tempo mas esse não é o seu caso
Lembra do nosso objetivo a gente quer criar um código que faça uma busca binária E como eu falei nós precisamos aprender algumas coisas antes de implementar esse código e eu já falei isso também mas para conseguirmos criar esse código a gente a gente precisa ordenar uma lista ou seja se eu quiser fazer uma busca binária para encontrar a posição 46 eu preciso primeiro me certificar que a minha lista vai começar em um e vai ser incrementada de forma crescente até o número 100 e para criar essa ordenação a gente vai usar o algoritmo de ordenação
por seleção e para fazer esse código de busca e o código de ordenação a gente vai precisar aprender algumas instruções que estão presentes na grande maioria das linguagens de programação e algumas dessas instruções são laços de repetição como for while estruturas condicionais variáveis arrs e operações matemáticas de soma subtração divisão e multiplicação Ah e funções também vamos utilizar já nesse primeiro momento e sim agora a gente vai aprender um por um e mais adiante vamos aplicar escrevendo o nosso código de busca e ordenação o Python é conhecido como uma linguagem de programação de alto nível
por ter uma sintaxe próxima da linguagem humana esta característica torna o Python fácil de entender Especialmente quando comparada com linguagens de baixo nível como a para ilustrar essa diferença Imagine que agora o Bento o frentista aspirante a programador frustrado decide gastar o seu dinheiro no cinema e para não se atrasar ele levou as suas roupas para o trabalho e foi direto para o cinema após o expediente no entanto chegando lá percebeu que não podia entrar com a sua mochila e precisou guardar suas coisas na chapelaria aonde havia algumas gavetas disponíveis cada gaveta só podia conter
Um item e ele precisou então usar duas gavetas para guardar suas coisas para fazer facilitar na busca de seus pertences após o filme ele recebeu um número de identificação para cada gaveta e esse processo é muito semelhante a forma como um computador gerencia a memória aonde cada gaveta corresponde a um slote de memória e possui um endereço único e quando você precisa armazenar Um item na memória do computador você solicita um espaço recebe um endereço aonde é colocado o item se você precisar armazenar vários itens Existem duas maneiras principais de fazer isso usando a Reis
ou listas e não há uma maneira correta de armazenar itens em cada caso portanto é importante entender a diferença entre elas os ar Reis são geralmente usados para guardar coisas de forma sequencial é ótimo quando você sabe exatamente a quantidade de espaço que precisa mas pode ser um problema quando você não tem a quantidade necessária de espaços ou depois precisar mais espaços do que você tinha previsto anteriormente Então imagina o seguinte para facilitar que o Bento tenha convidado Gustavo e Joana e ele reservou três cadeiras uma ao lado da outra porém de última hora Pedro
também resolveu aparecer e como a quarta cadeira ao lado das três já reservadas tinha outro casal neste caso Pedro teria que sentar longe deles ou os quatro amigos precisariam então buscar um lugar aonde caberiam eles todos juntos um ao lado do outro um arrei funciona assim também porque não existe um passo a passo para levar ao próximo elemento automaticamente é levado em consideração que o próximo item a ser buscado vai estar logo ao lado portanto quando você for usar um ar Rei você pode utilizar um recurso de armazenar alguns espaços Mas pode ser que você
não utilize esses espaços extras que reservou e pode tornar isso um espaço de memória desperdiçado você não tá utilizando a memória mas ninguém também poderá utilizá-lo e também você pode precisar adicionar mais 10 ou 20 itens à sua lista Então você terá que acabar movendo todos esses quatro elementos para caber os 10 né Para alguma fileira que caibam os 10 com as listas encadeadas os itens podem estar em qualquer lugar da memória Porque nas listas cada item armazena o endereço do próximo item da lista um monte de endereços aleatórios de memória estão ligados em listas
encadeados é como um caça ao tesouro mesmo imagina que você vai ao primeiro endereço e ele diz o próximo item pode ser encontrado no endereço 1 2 3 Então você vai ao endereço 1 2 3 e lá diz que o próximo item poderá ser encontrado no 847 e assim por diante e ao pensar no exemplo do cinema usando uma lista encadeada seria equivalente ao Bento ir ao cinema e sentar com Gustavo e Joana mas quando o Pedro chegou a gente poderia dividir em duplas Pedro sentaria com Joana e Bento com Gustavo dessa forma seria muito
mais fácil encontrar dois lugares juntos do que quatro isso já mostra um ponto positivo das listas em comparação com os a Reis elas são melhores ao inserir dados uma vez que não é necessário mover todos sempre que um novo item for inserido agora que você já sabe a diferença entre lista e a Reis saiba que na sequência eu vou te mostrar um código que vai pegar pegar uma sequência de números desordenados e ordená-los e nesse cenário a gente vai utilizar um Array e antes de implementá-lo eu preciso te explicar mais três estruturas básicas presentes em
praticamente todas as linguagens de programação também que são as estruturas condicionais e nesse caso a gente vai utilizar um if os laços de repetição que nesse caso vai ser o for e funções que a gente usa para encapsular trechos do nosso código vamos começar então com a estrutura condicional usando o wif E aí vamos esquecer agora um pouco o Bento e imagina seguinte cenário imagina que você está em casa e a sua mãe diz se estiver chovendo Lá Fora leve um guarda-chuva neste exemplo o c é como se fosse o if na programação ele verifica
se uma condição é verdadeira se estiver chovendo você pega o guarda-chuva logo se não estiver não pegue isso é uma estrutura condicional usando WiFi agora imagine que a sua mãe Diz conta quantos passos aqui de casa dá até padaria você começa na sua porta então a contar 1 2 3 Até chegar na padaria o laço for na programação É bem parecido ele repete uma ação várias vezes Como contar os passos até chegar a um certo ponto e neste caso é um laço de repetição já uma função nada mais é do que quando a sua mãe
pede para você arrumar o quarto ela tá te dando uma tarefa específica para fazer uma função na programação é como uma tarefa específica que você vai querer que o programador faça você vai definir uma vez e pode chamá-la quantas vezes precisar assim como a sua mãe que pede para você arrumar o quarto diversas vezes vezes bom e agora vamos voltar então ao código que ordena uma sequência de números usando o Array o primeiro passo é percorrer toda a nossa lista buscando o menor número como mencionado a gente pode usar um laço de repetição para isso
no Python a gente pode usar a função Len para obter o tamanho do arrei que no nosso caso será a nossa condição de parada em seguida a gente vai percorrer item por item até chegar no último se cada item que a gente tá percorrendo é menor do que os anteriores e para isso vamos criar uma função chamada busca menor onde Inicialmente vamos considerá que o primeiro item é o menor também Vamos guardar o índice do menor que inicialmente também será o índice zero que neste caso Lembrando que o arrei sempre começa do zero será o
nosso primeiro elemento em seguida vamos percorrer o arrei E se a gente encontrar um número menor do que o que está atualmente sendo considerado como menor a gente vai atualizar ele como sendo menor e também Vamos guardar o índice que agora será o índice do nosso novo menor número encontrado e ao final do laço a gente retorna O índice do menor número encontrado nessa busca já na função principal vamos usar o índice do menor número encontrado e o método pop do Python para remover esse número do arrei guardando em novo arrei que será a nossa
sequência ordenada e o pop nada mais é do que uma função e assim como a gente retornou o índice do menor número na função de Buscar o menor o pop também retorna O número removido bom e agora basta a gente printar a nossa nova lista e vai est a nossa lista ordenada e eu espero que tenha entendido como funciona lembre-se que essas estruturas básicas são fundamentais e permitem fazer muita coisa na programação da mesma forma que quando a gente tá aprendendo o idioma e aprende algumas estruturas e de palavras e com isso a gente pode
formar diversas frases na programação é a mesma coisa a gente aprende algumas estruturas básicas e a gente consegue escrever diversos códigos com essas estruturas básicas e eu espero que você tenha entendido como isso tudo funciona e responde agora para mim o seguinte exercício Suponha que você esteja criando um aplicativo para controlar suas finanças pessoais e todos os dias você Anota tudo que gastou e onde gastou porque no final do mês você vai revisar os gastos e vai resumir o quanto gastou para esse aplicativo você deve usar um arrei ou uma lista se você estiver assistindo
a sala no YouTube Você tem um minuto para responder no chat Qual que é a resposta correta para um aplicativo para acompanhar as suas finanças pessoais Onde você está adicionando despesas na lista todos os dias e lendo todas as despesas uma vez por mês a raz tem uma leitura rápida masem verão lenta listas encadeadas por sua vez tem leituras lentas e rápidas inserções como você irá inserir mais de uma vez do que lerá faz mais sentido usar uma lista encadeada nesse caso Além disso as listas encadeadas TM leitura lenta somente quando você acessa elementos aleatórios
da lista e neste caso você estará lendo todos os elementos da lista portanto a lista encadeada também será boa de velocidade em leitura portanto uma lista encadeada É sim uma boa solução para o problema apresentado anteriormente agora que já demos um algoritmo de ordenação por seleção Estamos quase preparados para finalizar o nosso grande desafio que é implementar a busca binária só falta aprendermos mais duas simples estruturas de código que não serão nada complicadas pois você já aprendeu um laço de repetição que é o for e agora a gente vai adicionar o Wi nesse deck de
conhecimento e também o Else no nosso deck de conhecimento de estruturas condicionais assim como for ou i é um trecho de código que será executado até que uma condição de parada seja atingida a expressão determina se o loop Continuará ou não a ser executado e o código representa o código que o loop deverá executar enquanto puder para tornar esse exemplo melhor e mais fácil de entender vamos adicionar duas coisas nele uma instrução de comparação e uma operação de subtração esse código basicamente vai escrever um número na tela enquanto o nosso número for maior que zero
a gente usa o X Mai que 0 como instrução de comparação e o while irá assumir como true essa condição até que o número seja subtraído tantas vezes que chegue até no zero e daí a condição nessa vez será false e o nosso código terminará de executar e irá mostrar na tela parabéns você conseguiu no while a gente precisa ter sempre um cuidado Extra Porque podemos acabar gerando um Loop Infinito isso acontece quando a nossa condição de parada nunca é atingida temos também outros recursos nesse laço de repetição Mas fique tranquilo que a gente vai
aprendendo conforme a sua necessidade ao longo do tempo o if você já aprendeu e sabe que ele bas serve para fazer algo se uma instrução for válida por exemplo nesse código dizemos que se o x for maior que 10 irá mostrar a frase número maior que 10 e é exatamente isso que vai acontecer porque o X é 11 mas o que acontece se o x for menor que 10 nesse caso nada e aí que entra o else o else serve como um recurso para o if a tradução livre do IF e o else juntos Seria
algo como se x for maior que 10 mostra a frase número maior que 10 se não mostra a frase número menor que 10 maravilha agora a gente já tem um Deck bem completo de código e a gente consegue finalmente implementar o nosso código de pesquisa binária Lembrando que o nosso objetivo com esse código é dado uma lista de números e um número a ser buscado Esperamos que o nosso código retorne a posição exata dentro da lista que o número está lembrando que o nosso objetivo com esse código é dado uma lista de números e um
número a ser buscado Esperamos que o nosso código retorne à posição exata dentro da lista que o número se encontra Lembrando que vamos usar no nosso código a nossa ordenação por seleção que já implementamos porque a lista precisa estar em ordem crescente para o algoritmo de pesquisa binária funcionar Lembrando que baixo e alto acompanham a parte da lista que a gente está buscando se eu chutar o número 50 e a resposta for baixo significa que o número está entre 50 e 100 E no caso do a nesse código está dizendo o seguinte enquanto não conseguiu
chegar a um único número Verifica o elemento central e pega esse número central no primeiro if a gente testa se o número do chute é o buscado E se o chute for maior que o número buscado o alto a variável alto recebe meio Men 1 ou se o chute for menor que o número baixo recebe meio mais 1 o a repete o processo até que o número seja encontrado e a sua posição seja retornada no caso do número três a posição será dois lembre-se que em um Array as posições sempre iniciam em zero e se
você estiver dentro da plataforma do Hold map na des descrição da aula você vai encontrar o link do github onde tem esse código já implementado se você estiver pelo YouTube recomendo que depois que a aula acabar volte aqui pause o vídeo e Copie esse código e realize alguns testes e também coloque alguns prints Se necessário no seu código mas não saia dessa aula sem entender esse código perfeitamente ele é assim fundamental para sua construção da sua base forte assista Quantas vezes for necessário até que consiga entender perfeitamente bom você chegou até aqui Muito provavelmente não
entendeu tudo deve ter ficado perdido em algum ponto e não se preocupe isso é normal alguns de vocês podem estar se sentindo bem frustrado por eu não ter explicado o algoritmo de pesquisa binária passo a passo enquanto outros podem ter achado tudo muito fácil de entender se você se identifica com esse último grupo talvez essa aula não seja tão desafiadora para você mas não se preocupe porque no futuro a Gente terá aulas muito mais avançadas e você vai se aprofundar ainda mais essa comunidade foi criada com base nos seus depoimentos para pessoas que estão agora
ou buscando a primeira oportunidade no mercado de programação e eu quero te dizer que realmente me importo em conhecer melhor quem está consumindo o meu conteúdo e é por isso que você está assistindo essa aula ao preparar o conteúdo dessa aula eu me perguntei várias vezes Será que o que eu vou ensinar será útil daqui a 2 3 4 ou 10 anos Afinal muitos cursos disponíveis na internet focam apenas em tecnologias específicas enquanto eu quero te ensinar a pensar como um programador a algo que eu aprendi ao longo dos 4 anos de faculdade que eu
fiz eu já gastei muito dinheiro em cursos onlines e a maioria deles me ensinou apenas copiar projetos e decorar conceitos de linguagens específicas mas na hora de aplicar eu não sabia nem por onde começar e é por isso que eu me dedico pra caramba na elaboração preparação e edição dessas aulas para fazer algo realmente diferente e te mostrar que é possível aprender de forma rápida objetiva prática e divertida sem perder a qualidade do conteúdo os meus os vídeos não são curtos à toa eu percebi que quanto mais longo um vídeo pior ele fica então eu
sei se um vídeo está longo é porque eu não tive tempo suficiente para refinária a gente vai revisar algumas estruturas de código que a gente viu até agora o meu objetivo aqui é fazer você aprender os fundamentos criar uma base sólida na programação e ser capaz de resolver qualquer desafio da sua carreira independente da linguagem de programação você só vai se sentir confiante quando se colocar em inúmeras situações que não se sente Pronto quanto mais dessas você se colocar mais rápido será o seu processo de aprendizado não há atalhos e se você acha que aprender
programação é fazer um cursinho e aprender tudo que eles te passam lá e estará pronto fecha agora mesmo essa aula porque eu vou falar centenas de vezes isso durante as nossas aulas programação se aprende fazendo errando e pesquisando quem se destaca não é aquele que mais sabe sobre uma determinada tecnologia e sim é aquele que sabe resolver problemas e o meu objetivo aqui é te treinar para esses desafios na sua carreira e bora então revisitar alguns conceitos que a gente viu até agora até o momento eu não falei especificamente sobre variáveis mas a gente usou
muito elas durante os nossos algoritmos como por exemplo na busca binária que a gente guardou um determinado número para dizer se ele era abaixo a gente declarou essa variável chamada como baixo e atribuiu o valor zero e sim na programação o igual quer dizer que tal variável recebe um valor e a gente vai na sequência descobrir que dessa forma a gente tá dizendo que essa variável é um inteiro mas calma que já vai ficar mais claro falando especificamente do Python agora uma variável é um valor de referência que será Guardado na memória durante a execução
de um determinado problema lembra lá no início da aula que eu te dei os exemplos das gavetas Pois é a memória é exatamente isso é um passo em memória que a gente tá guardando para atribuir um valor nesse caso uma variável e esse valor será guardado durante a execução do nosso programa porque a gente precisa guardar valores da sua execução e as suas variáveis servem especificamente para isso e você vai ouvir muito falar durante a sua carreira que existem diferenças significativas entre linguagens de tipagem dinâmica e tipagem estática o Python é de tipagem dinâmica Isso
significa que quando a gente cria uma variável não precisamos informar o tipo do dado que Vamos guardar já em linguagens de tipagem estática eu deveria dizer especificamente Qual o tipo do valor que uma variável vai receber se for um número eu preciso dizer que será um número se for um texto eu preciso especificar que será um texto e pra gente ter alguns exemplos de variáveis vamos pegar um exemplo hipotético aqui Digamos que a gente tá criando um catálogo online de filmes e paraa isso a gente precisa Guardar algumas informações Como por exemplo o nome do
filme O ano de lançamento o valor do filme Caso ele esteja à venda e se ele é um lançamento ou seja se ele é novo ou se ele é mais antigo para isso a gente vai declarar aqui quatro variáveis e a gente vai usar aqui um padrão de nomenclatura conhecido como Camel case e esse padrão diz que quando a gente tá declarando um nome composto ou seja tem mais de uma palavra como valor filme o filme vai ficar com um F maiúsculo mas o valor terá o valor mas o v né do valor será minúsculo
então é Camel cas Porque de fato ali se a gente for pensar se assemelha muito a um camelo Eu discordo Mas enfim né deixamos para outro momento entrar nessa discussão e agora a gente vai declarar alguns valores aqui eu poderia dizer que o nome do filme é Lagoa Azul tá o ano de lançamento não sei 1990 ou mais o valor do filme Digamos que a gente tá vendendo ele por r$ 1 né então eu vou colocar 10.00 e o lançamento do filme Eu vou dizer que ele é false porque ele não é um filme novo
tá e agora a gente pode fazer é o seguinte eu ainda não te falei tá quais são os tipos dessas variáveis e pro Python a gente não precisa dizer qual que é o tipo mas o Python automaticamente vai saber que tipo é o valor que a gente atribuiu então a gente pode usar o print uma função chamada Type passando Qual que é o nome da variável que a gente quer descobrir o Type nesse caso o Python vai dizer pra gente que nome é uma variável do tipo string que o ano lançamento é um inteiro que
o valor do filme é um float e que o lançamento né informação se é um lançamento não é um tipo boleano esses são os quatro tipos primitivos do Python por exemplo aqui a gente usou um operador relacional e logo abaixo a gente colocou na variável o resultado da operação aritmética meio - 1 ou seja da variável meio men1 a gente atribuiu o valor para a variável alto e novamente falando do Python a gente consegue utilizar diversos recursos aqui de operadores sejam ele aritméticos ou relacionais e bora pensar aqui em alguns operadores aritméticos uma soma a
gente usa operador de soma mesmo demais então Digamos que a gente tenha dois números inteiros declarados em duas variáveis a 1 e a 2 A nu um vai receber o valor do e a num 2 vai receber o valor 5 e para somar essas duas variáveis eu posso declarar uma nova variável chamando ela de su e Su vai receber o resultado da operação aritmética de nu mais num do e para subtrair é a mesma coisa a gente pode colocar aqui outra variável chamada de Sub e sub vai ser no 1 menos num do a divisão
também é operador de divisão a gente pode declarar também uma variável e a multiplicação a gente vai fazer aqui com asterisco tá Então essas são as operações principais e a gente pode colocar o resultado delas dentro de um print também para ver o resultado de cada uma dessas operações principais mas vale a gente falar de outras duas operações que podem ser úteis no seu dia a dia uma delas é o resto da divisão e a gente pode usar inclusive o resto da divisão para descobrir se um número é par ou ímpar tá E para isso
a gente usa aqui o que a gente conhece como mod Mas que nada mais é do que o caracter de porcentagem então a gente pode declarar aqui uma variável chamada mod e a gente pode pegar aqui então o resto da divisão a gente pode também utilizar exponenciais no Python e exponencial é dois asteriscos Então é só a gente pegar aqui declarar uma outra variável chamado esp também e a gente vai colocar aqui no um dois asteriscos num dois e o resultado vai ser aqui o exponencial aqui da nossa operação que vai vai ser basicamente o
no um que é o 2 elevado na 5 tá e a gente pode também agora pensar nos operadores relacionais como por exemplo de comparação vale dizer que o resultado de uma operação de comparação será um boleano Ou seja quando eu falar que no um é maior do que num do o resultado será false porque do não é maior do que 5 agora se eu fizer num um menor do que num do o resultado será true porque do É sim menor que 5 e Lembra que eu falei que na programação o igual é atribuição mas se
eu usar duas vezes o igual igual igual Aí sim é uma comparação ou seja se eu falar que n 1 é igual igual a 2 nesse caso o resultado será false porque 2 não é igual a 5 Lembrando que um igual é atribuição dois iguais é comparação guardou bom a gente também tem aqui operadores de diferença que é uma exclamação seguida de um igual número um diferente de um dois será true Porque de fato dois não é igual a cim e para finalizar a gente também pode utilizar outros operadores de maior igual e Menor igual
que seria basicamente dizer que no um é maior ou igual a n do ou no um é menor ou igual a dois bom esses são os operadores aritméticos e operadores de comparação e agora eu quero te fazer um desafio olha novamente para esse algoritmo de pesquisa binária e vê se ele não ficou mais fácil de entender Tenta fazer a leitura dele em voz alta pelo próximo um minuto m bom se continua de difícil Beleza então segura aí que eu vou te mostrar algo que eu cansei de fazer na faculdade mas que realmente Clareou e muito
a minha mente diversas vezes o teste de mesa bom então como prometido né agora a gente vai fazer o nosso teste de mesa e se você não entendeu Até agora cara agora vai clarear muito a sua mente e inclusive você vai ficar irritado comigo por eu não ter mostrado isso aqui antes mas a programação é assim mesmo tá eu prefiro muito mais causar o caos na sua cabeça e depois te clarear o caminho do que vi logo te dando já as coisas totalmente prontas porque no seu dia a dia não vai ser assim e o
teste de mesa eu cansei de fazer na faculdade e confesso que hoje em dia tem formas mais eficientes de fazer isso Tá Mas o meu papel aqui é te mostrar tudo que eu posso para fazer aí você pensar como um programador de f Então essa aqui pode ser uma alternativa para você desculpe-me a letra aqui tá que não tá das melhores mas eu acho que dá para entender muito bem aí o que tá escrito né e de qualquer forma você já viu esse algoritmo inúmeras vezes nessa aula bom então o que que a gente vai
fazer aqui né a gente tem uma função de pesquisa binária e ela recebe uma lista e Um item a ser buscado a primeira coisa que eu preciso fazer é simular a chamada dessa função passando uma lista e Um item tá então eu vou dizer aqui que a minha lista vai ser um arrei E aí para facilitar a gente vai fazer uma lista pequena essa lista vai ter apenas quatro itens Lembrando que a lista precisa estar ordenada pra pesquisa binária funcionar então eu tenho aqui uma lista de quatro itens né 1 2 3 4 e o
item a ser buscado eu vou dizer que vai ser o três então o que que eu vou fazer eu vou instanciar essa a minha e função passando a lista e o item que eu quero buscar para que essa minha função retorne qual é qual é a posição do meu arrei que se encontra o número a ser buscado se o número a ser buscado é o trê eu quero então que a posição retornada seja dois e por que dois porque o arrei ele começa de zero como eu tinha falado antes então o arrei ele começa de
zero então é 0 1 2 3 e o meu número TR se enra na posição dois então vou instanciar aqui a minha função pesquisa binária e eu vou passar aqui para ela a minha lista e o número a ser buscado que é o TR Beleza então o que que vai acontecer quando chamar essa função o baixo né minha variável baixo vai receber zero Então nada muda o meu vai receber o tamanho da lista Lembrando que o Len retorna o tamanho então aqui são as quatro posições de memória que essa minha lista tá usando Então o
meu Len vai ser quatro mas aqui eu tô descontando um Então vai ser três o meu alto o retorno vai ser três Porque de fato aqui eu quero ir até a posição três do meu arrei tá então meu Wi que é o enquanto enquanto o meu baixo for menor ou igual a alto ou seja o meu baixo aqui é zero o meu alto é TR então sim vai entrar aqui nesse bloco de código entrando nesse bloco de códo o meu meio vai receber baixo mais alto dividido por 2 Meu baixo é zero meu alto é
3 então aqui vai ser uma operação de baixo + 3 que é igual a 3 dividido por 2 que o resultado vai ser 1 e o resto vai ser um também então o meu primeiro chute vai ser lista pegando a posição do meio que é essa minha variável aqui então o meio aqui nesse caso é quanto é o um que a gente descobriu a posição um da minha lista se encontra o número dois né 0 1 Então o meu primeiro chute vai ser o número dois tá chute é igual ao item buscado TR tá Não
não é então não vai entrar nesse if shute é maior do que o item a ser buscado também não porque o meu shute é dois o meu item é TR então é menor Então vai cair aqui no meu ELS tá e o meu el vai receber baixo recebe meio mais 1 quanto que é o meu meio aqui o meu meio é um né Na Posição um Então o meu meio vai ser me mais 1 Meu baixo vai ser 2 tá então meu novo baixo é do voltando aqui pro meu while tá porque isso aqui é
um laço de repetição então ele vai repetir até que essa cláusula aqui seja false e agora o meu baixo é menor ou igual a alto sim meu baixo é do o meu alto é 3 então eu vou entrar de novo nesse bloco de código o meu meio agora vai receber o baixo mais o Alto quanto que é o meu baixo agora é dois Quanto que é o meu alto é TRS Então vai ser 5 tá 5 di por 2 O resultado vai ser 2 e vai sobra um Ah então o meu shute agora vai ser
a lista a posição meio O resultado é 2 então na posição dois eu tenho TR e agora então o meu shute vai ser TR shute é igual ao meu item Ah o item que eu tô buscando é o TR o meu chute é o TR então sim é o meu item então o que que vai acontecer aqui vai retornar o meio que que é o meio é o dois ou seja a minha pesquisa binária ela retorna à posição que se encontra o número a ser buscado o número ser buscado é o TR a posição é
o do logo né e o número TR se encontra na a posição dois do arrei show então essa aqui a minha resposta cara desculpe de novo a letra tá e mas eu tenho certeza que Agora ficou mais claro na sua cabeça e você com certeza tá com raiva de mim por eu não ter mostrado isso aqui antes mas que eu vou te mostrar agora cara é muito superior a isso aqui tá mas se você for pra faculdade desculpe dizer isso mas é a verdade você vai fazer muito disso no papel porque as suas provas cara
vai ser no papel e na caneta tá parece um absurdo mas se você ir principalmente para uma Faculdade Federal vai ser dessa forma então por isso que eu queria te mostrar aqui esse conhecimento como fazer aí um teste de mesa né como a gente chama mas apesar de ser chatinho e meio desinteressante cara dá uma clareza muito grande na na cabeça quando você tá fazendo no papel sabe quando você tá entrando nesse laço tá escrevendo no papel aqui pelo menos para mim dá uma clareza mesmo então por isso que eu queria compartilhar esse conhecimento aí
com você Espero que agora sim a pesquisa binária aí tenha clareado na sua mente e eu tenho certeza que Clareou depois aí desse nosso exercício aqui no papel Faça você também no papel recomendo tá pelo menos uma vez aí para você sentir o tato aí de como que é fazer fazer a pesquisa binária ou qualquer outro algoritmo na mão fechado bom a gente acabou de ver o teste de mesa na prática mas eu quero aproveitar essa aula para te dar um puxão de orelha desde o lançamento do chat GPT e mais recentemente dessa e dessa
I aprender programação mudou completamente antes funcionava assim você tinha um problema para resolver escolhia a linguagem de programação criava o código e gerava centenas de bugs depois passava meses resolvendo os problemas que você mesmo criou no entanto agora quando a gente gente tem um problema basta perguntar pro chat GPT e ele não vai só te dizer como resolver o problema mas também vai te explicar a solução proposta recentemente todos ficaram chocados ao ver esse trecho de uma fala do ce da NVidia exct the is our J to Create computing technology such that Nobody has program
and that The programming langage Human everybody in the world is now a programmer This is Miracle this miracell the have Singing Industrial Company inell resumidamente o que ele falou nesse vídeo é que ao longo dos últimos 10 15 anos todo mundo falava que seus filhos deveriam aprender programação mas que na verdade é exatamente o oposto ele disse que o nosso trabalho é criar tecnologia de forma que ninguém precise programar e que a linguagem de programação seja a linguagem humana ou seja todo mundo agora é programador tá errado olha eu acho que não porque me diz
o seguinte qualquer uma dessas Iá não conseguiria resolver esse problema que a gente levou aqui quase uma hora para resolver de uma forma muito mais assertiva e muito mais rápido que nós claro que a gente estava aqui no papel de aprender mas deixa eu te mostrar uma coisa sabe esse teste de mesa que a gente acabou de fazer Então bora pedir pro chat GPT para ver o que ele vai devolver pra gente bom então a gente consegue ver que ele vai não só fazer muito rapidamente mas vai te ensinar exatamente o que eu acabei de
te ensinar Poxa então por que eu tô aqui faz sentido eu ensinar e você aprender programação ainda bom você Muito provavelmente já tem a sua opinião formada sobre isso mas eu basicamente penso que a programação já deixou de ser saber tudo sobre uma determinada tecnologia ou linguagem de programação e é por isso que aqui a gente não entrou a fundo no Python e nenhuma outra linguagem de programação a gente vai fazer isso porque não faz mais sentido na verdade hoje a programação é como se a gente tivesse junto com um adolescente ele requer uma orientação
para não fazer besteira mas toda a informação para ele não fazer besteira tá disponível tá A Iá ela não sabe lidar com pessoas e contextos empresariais específicos como por exemplo a área de negócio que muda de contexto a cada 24 horas e pede um dia para você fazer uma coisa no outro dia ela vai pedir uma coisa totalmente diferente e você que se vire ela sabe escrever código para nós humanos mas ela ainda Precisa de um direcionamento para entender o código e os problemas a serem resolvidos para conseguir fazer isso de forma assertiva eu acho
que sim aprender programação é importante mas não significa que você deve voltar aos velhos tempos e aprender tudo que tiver em uma linguagem de programação específica ou saber quanto mais linguagens melhor cara isso não existe mais na verdade eu sinceramente acredito que hoje você não precisa perder nem horas mais aprendendo programação você não precisa saber tudo sobre uma linguagem de programação porque no final do dia todas são iguais você se você for fazer análise de dados você pode usar o Python pode usar o r no desenvolvimento web você pode usar o JavaScript o rub o
Python também para desenvolver aplicativo Swift flutter react Native e tudo mais então basicamente tudo que você precisa criar basta escolher uma linguagem e centar código tá e contar com a ajuda de uma ia para fazer isso e Se surgir outra linguagem no futuro você vai conseguir aprender muito mais rápido usando uma inteligência artificial E para isso você só precisa algumas coisas primeiro ter uma base forte na programação conhecer os principais conceitos como lógica que a gente viu aqui nessa aula algoritmos que a gente viu também alguns algoritmos e principalmente como fazer as perguntas da forma
correta e para fazer essas perguntas de forma correta para uma inteligência artificial você precisa ter o mínimo de conhecimento possível então o meu papel aqui é realmente te ensinar esses conceitos e usar eles para você conseguir fazer as perguntas de uma forma correta para Maia porque dessa forma você vai conseguir impressionar o seu futuro chefe criando documentações fantásticas que no final do dia ninguém vai ler você vai conseguir conseguir resolver os bugs muito mais rápidos que qualquer outro engenheiro de software mesmo que ele seja Senior e você Júnior e como eu já disse você vai
conseguir resolver os problemas muito mais rapidamente de verdade você vai conseguir evoluir muito mais rapidamente mas eu sei Nem tudo são flores e entre nós aqui Inteligência Artificial é um caminho sem volta Cara eu acho que ao longo do tempo a gente de fato vai se tornar irrelevante mesmo tá então a gente tem que aprimorar esse nosso lado de pensar no problema e não no código em si tá e a nossa as aulas daqui pra frente elas vão seguir muito essa linha a gente vai começar a utilizar e conhecer algumas Iá e nas próximas aulas
para conseguir acelerar o nosso processo de aprendizado afinal se a gente não consegue ir contra elas né contra as ias Vamos se juntar a elas enquanto for possível e com isso a gente vai encerrando aqui a nossa linha de código dessa aula a nossa linha aí de raciocínio lógico de lógica de programação eu espero que de fato você tenha compreendido eu joguei lá no início né algo complexo e e eu sei que quem tá no início provavelmente não entendeu por algum algum tempo aí não não entendeu o que estava acontecendo não entendeu o algoritmo mas
eu sei que depois de botar no papel se você colocou no papel aí também se você tá na plataforma do roadmap e fez os exercícios eu tenho certeza que você tá saindo dessa aula com muito conhecimento tá que você aprendeu de fato e eu espero que tenha aprendido e agora para finalizar Tá eu vou responder algumas perguntas do formulário que vocês responderam para mim no último mês após terem se inscritos né na comunidade vocês receberam esse formulário via grupo do WhatsApp ou via e-mail eh então eu vou responder algumas perguntas que surgiram lá a partir
de agora bom conforme prometido agora eu vou responder algumas perguntas né que surgiram no formulário que eu mandei com antecedência a essa aula tem 175 perguntas mas eu não vou conseguir responder cara longe da metade disso então eu vou selecionar aqui umas cinco pra gente responder hoje e eu prometo que ao longo das próximas aulas eu vou ir respondendo as outras eu vou marcar aqui para eu saber aonde eu parei bom a primeira pergunta que a gente tem aqui é o o Devin irá substituir os devis poderia dizer que é o mano Devin né mas
eu sei que não é eu sei que estão falando aí da é daquela ia né que surgiu e assim hoje mesmo dia 22 de Março no momento que eu gravo essa aula eu acabei de mandar pro editor um vídeo falando sobre inteligência artificial que deve sair na próxima semana lá no meu canal quando sair essa aula já vai ter sido postado lá no meu canal do YouTube se você estiver assistindo dentro da plataforma exclusiva do roadmap é ainda não mas assim que sair esse vídeo você vai ser notificado aí no discord enfim e nesse vídeo
eu falo sobre inteligência artificial e eu meio que respondo essa pergunta aí também então assim que tiver disponível eu vou fixar aqui na descrição dessa aula é o que eu preciso para ser um programador experiência formação e como escolher cursos tudo em geral de aprendizado e trabalho de programação cara são várias perguntas aqui né numa mesma pergunta e eu vou tentar responder aí cada uma dessas partes né A primeira parte aqui o que eu preciso para ser um programador se você for olhar para as vagas diretamente né as vagas vagas que tem aí no mercado
muita coisaa e e no meu treinamento no Road map da primeira vaga eu tenho uma aula que eu mostro uma forma muito eficiente de você selecionar e o que que o mercado tá pedindo e como estudar com base no que as vagas estão pedindo no que o mercado tá pedindo eu gosto muito dessa abordagem e eu acredito que seja a melhor forma de saber o que estudar e o que de fato você precisa né então eu começaria por aí eu acho que é um bom pontapé inicial sobre experiência formação e cursos assim A grande maioria
das oportunidades atualmente Pedem experiência mas eu entendo que é muito difícil para quem tá começando ter experiência de Fato né experiência profissional mas dentro do roadmap Eu também tenho uma aula aonde eu fiz uma parceria ali com o aluno e eu ajudei ele a criar um currículo sem ter experiência e aí nesse currículo a gente destacou e todos os projetos que foram criados em cursos e Treinamentos e e tudo que que ele tinha feito então uma dica é isso aí né É você destacar todos os desafios que você encontrou durante a elaboração desses projetos e
o mais importante saber explicar quais eram os desafios que você encontrou e como que você resolveu e esses desafios né porque cara no final do dia é para isso que a gente apago para resolver problemas Se você souber resolver problemas e melhor explicar como você resolveu esses problemas sem dúvida será um grande diferencial para você na sua carreira e para conseguir a primeiro oportunidade sobre o trabalho e aprendizado na programação de forma geral eu diria que o mercado é muito dinâmico Então se engana quem acha que vai estudar por um tempo aprender tudo e acabou
será um programador para você ter ideia eu tô na área desde os meus 16 anos profissionalmente hoje eu tenho 28 anos então já são praticamente 12 anos e se eu for contar de fato quando eu comecei aos meus 10 12 anos caramba eu já tenho quase 20 anos de programação e a cada dia parece que eu sei menos por mais que você estude Nunca será o suficiente e o grande desafio é de fato não enlouquecer com isso saca então é você encontrar um equilíbrio ali e conseguir equilibrar sua vida pessoal com trabalho isso tudo e
caramba foram três perguntas e uma só é eu já fiquei cansado mas bora aí pra próxima pergunta né como estudar programação de forma eficiente Bom eu acho que eu já respondi essa pergunta meio que antes mas basicamente se você for pegar um mapa de estudos né E que tem aí pela internet né Assim como eu já fiz no meu canal do YouTube cara se você for se basear nisso você vai de fato enlouquecer porque é muita coisa tá é muita coisa a cada dia surgem novas tecnologias novas linguagens e você sempre vai est atrasado sempre
vai ter esse sentimento de est para trás né então o que eu indico é estudar com base no seu objetivo se você quer uma vaga em programação backend vê ve que as vagas de acordo com o seu nível de conhecimento pedem e estuda com base nisso se você quer uma vaga frontend Faça o mesmo tá e se você quer empreender aí eu Super indico que você comece por aí inclusive tá porque você vai precisar desenvolver diversas outras áreas de conhecimento além do código eu empreendi algumas vezes né e eu acredito que atualmente eu tô meio
que fazendo isso também com o meu canal no YouTube meu treinamento e outros futuros projetos de educação que eu tô elaborando aí que em breve eu vou trazer também então eu tô sempre de certa forma em vendendo novamente e eu vou falar bastante disso no meu canal também então me acompanha aí que eu acho que é uma ótima forma aí de como você começar na programação e sobre estudar é isso aí que eu falei Procure sempre ver o que o mercado pede e estude com base nisso para você não enlouquecer bom e como saber para
quais vagas eu estou pronto como Júnior Olha a mesma coisa que eu tô dizendo desde o início das perguntas é olha o que o mercado pede para ver se você tá de acordo com aquilo tá é e uma dica que ninguém te dá mas eu gosto de destacar é que você nunca vai saber de fato que você tá pronto até você ir lá e tentar então cara você não tem nada a perder se não der certo pegue o que errou porque você vai ter esse feedback e melhore com base nisso inclusive é uma das melhores
formas para você conseguir aí uma vaga é tentando até que você vai errando e vai vendo o que você precisa de fato aprimorar a próxima não é uma pergunta mas é podemos ser amigos Claro gente já é por que Java eu devolvo essa pergunta por que Java é por que Java enfim quando nós é sabemos que estamos prontos para dar o próximo passo de carreira a verdade é que a gente nunca vai estar pronto tá assim como eu falei agora a pouco Em alguns momentos a gente pode até achar que a gente tá pronto para
algo tá a gente tem essa falsa ilusão mas ela só dura até você chegar no próximo desafio e o próximo projeto que será complexo e você notará que não tá pronto mais uma vez Então o próximo passo da carreira É de fato correr atrás né eu mesmo fiquei estagnado entre aspas digamos digamos assim como pleno durante uns quro ou 5 anos eu só me tornei Senior quando eu de fato esqueci isso e foquei em aprender mais de acordo com o que era necessário pro meu cargo naquele momento e não tem problema nenhum em mudar de
empresa para evoluir Na verdade essa é a melhor e mais rápida forma de crescer profissionalmente e monetariamente também de conseguir um salário melhor mas claro né Você precisa fazer isso de uma forma sustentável e Consciente e não ficar pulando de galho em galho que pode ser prejudicial também pra sua carreira ainda sobre mim assim sobre a essa parte né de dar o próximo passo na carreira assim como eu fiquei uns 4 5 anos como pleno para virar Senior aconteceu a mesma coisa quando eu tava como Senior e queria me tornar Tech Lead foram várias tentativas
né vários processos até que eu consegui é e cara assim a dica que eu dou é Não tenha pressa siga no seu rumo e você vai conseguir de uma forma natural não Force as coisas tá porque quando for para ser de fato vai ser beleza cara tem mais 175 respostas aqui e e vai aumentar a cada aula mas como eu falei eu prometo que eu vou salvar onde eu parei e eu vou ir respondendo nas próximas aulas talvez a gente pode um dia fazer um vídeo só respondendo perguntas também mas para fechar aqui eu vou
responder mais uma que é uma pergunta que eu achei bem legal que é como você fez para conseguir a primeira oportunidade a primeira vaga na programação e com o que você trabalhava eu comecei na programação profissionalmente com 16 anos eu já trabalhava com meu pai uma chapeação de carros fazia um trabalho que eu acho que era legal assim eu fazia a tinta para pintar os carros eu basicamente pegava o nome da da tinta num sistema lá no computador de um determinado carro e eu tinha que ajustar Até chegar na tonalidade do carro porque a tinta
ao longo do tempo ela vai queimando no sol né vai modificando Então e o carro também pode ter sido pintado antes já pode ter sido batido e aí a cor ficou um pouco diferente então por mais que você pegue a tinta certa né do modelo do carro sempre vai ser diferente então a gente precisa ir ajustando Até que a tonalidade fique certo é um negócio legal mas faz muito mal pra saúde porque é química né de fato e eu peguei um vício que hoje quando SA na rua sempre fico observando se o carro já foi
pintado ou não eu consigo ver porque eu percebo que a cor tá diferente sabe é engraçado mas enfim eu sempre gostei de programação e desde os meus 12 anos eu fazia sites eu comecei a fazer sites porque eu jogava um um jogo chamado mo online e era possível você ter um servidor pirata de mo online E aí eu tinha que ter um site para esse jogo e para assim eu conseguir vender itens dentro do mo que eu mesmo tinha criado né Eu segui alguns tutoriais na internet eu consegui criar um servidor mas eu tinha que
modificar o site para ficar com a cara do meu servidor lá que no meu caso o meu mu se chamava mut tribal e foi aí que eu comecei a me interessar pela programação comecei aprendendo PHP eu tive que aprender também SQL server que é um banco de dados que Inclusive a gente vai falar aqui nas próximas aulas HTML CSS também então foi aí que quando eu fiz 16 anos e que eu legalmente poderia trabalhar né Apesar de eu já trabalhava antes foi aí então que eu comecei a buscar minha primeira oportunidade de estágio eu encontrei
numa agência na minha cidade e eu fiquei como estagiário durante se meses e fui efetivado na empresa fiquei mais uns 2 anos até 1 ano e meio mais ou menos até eu fizer até que eu fiz 18 anos e fui pra faculdade tem um vídeo no meu canal aonde eu conto essa história certinho dá uma olhada lá que você vai encontrar lembra do Bento da aula um Ah você não assistiu bom recomendo que você assista assim que possível Bento era um frustrado na programação gastou muita grana em um curso de programação e não aprendeu absolutamente
nada virou frentista em um posto de gasolina e aos poucos voltou a ganhar o gosto pela programação na aula um junto com Bento você aprendeu o algoritmo de pesquisa binária e ordenação por seleção em Python e na sua carreira e nas próximas aulas esses conhecimentos sem dúvidas serão extremamente úteis e em breve a gente vai voltar a ver todos eles Bento Continua Estudando programação porém ele percebeu que além de gostar de escrever algoritmos que otimizem o seu dia a dia tornando a sua vida ainda mais fácil ele gosta e não só gosta mas também precisa
ganhar dinheiro e apesar de ter o seu trabalho formal como frentista ele também tem aquela Dívida no cartão de crédito que acumulou devido ao curso de programação que prometia vaga no final e que na na verdade foi apenas uma dívida porém em um certo domingo como de costume o tio Zé Roberto foi almoçar na casa do Bento e aí veio a tradicional pergunta e aí meu galo o que anda fazendo da vida então tio tô estudando programação caramba que bacana então o tio tava vendo alguns vídeos no tiktok e viu que dá para ganhar dinheiro
nental da internet vendendo curso não tá AF fim de ajudar o tio a vender um curso o tio grava as aulas e você vende te dou uma comissão de 50% mas curso do que tio Epa não sabe não O tio sabe tudo de de criptomoeda dá para ficar rico com isso aí Bento já caiu um golpe e aprendeu a não ser trouxo mas como o Bento sempre foi curioso ele resolveu pesquisar um pouco mais e foi aí então que Bento descobriu que realmente não seria uma boa ajudar o seu tio mas que existe sim oportunidades
interessantes no mercado digital descobriu que poderia usar os seus conhecimentos que já tinha aprendido na programação mas que precisaria aprender um pouco de html CSS e JavaScript para assim conseguir construir sites porque essas são as tecnologias básicas para desenvolver qualquer aplicação na web Bento também descobriu que seria interessante aprender um pouco mais sobre vendas Porque mesmo que ele não fosse ajudar o seu tio a vender o curso Ele poderia usar esses conhecimentos para vender os seus serviços como programador mas para isso ele precisaria aprender as estratégias de negócio digitais como funis de vendas por exemplo
Afinal toda a empresa precisa de uma área de estratégia se não há propaganda e uma história bem contada por trás de um produto ninguém compra coca-cola sem a marca seria apenas um refrigerante e eu digo seria o pior de todos e cada vez que bent se aprofunda ainda mais nos seus estudos da área de tecnologia ele descobre que esse é um mercado de infinitas possibilidades e claro você provavelmente pode estar pensando quem sabe um pouco de tudo não sabe nada Bento tá se perdendo em muitas frentes de conhecimento eu concordo e discordo eu não acho
que é necessário você ser especialista para ser competente em algo principalmente se você tá começando aprender novas habilidades pode fazer com que você desenvolva uma capacidade única de criar coisas jamais vistas e melhor você será capaz de resolver o problema de formas que as outras pessoas jamais resolveriam mas preste atenção você não irá conseguir ser especialista em tudo que fizer mas eu não tenho dúvida que terá uma habilidade única de conectar pontos entre essas habilidades na primeira aula nós usamos um editor na web não sendo necessário instalar nada no computador bastava um navegador e a
gente já estava pronto para programar a gente poderia seguir nessa linha nessa aula mas sem dúvida seria um pouco limitado os recursos que teremos disponíveis chegou a hora da gente conhecer o nosso primeiro editor de código por muito tempo utilizamos editores extremamente pesados conhecidos como ids as ids mais conhecidas sem dúvidas são Android Studio e o itj da Jet Brains visando resolver esse tipo de problema surgiram ferramentas mais leves como visual Studio code ele é um editor de código inicialmente simples mas que pode ficar bem poderoso graças ao seu arsenal de extensões que podem ser
criadas e mantidas pela própria comunidade o visual Studio code é um software livre e de código aberto mesmo estando sobre a licencia da Microsoft vamos inicialmente baixar o vs code ele tem suporte para as mais variadas linguagens de programação e sistema operacionais depois que você baixou na sua máquina abre o vest code e vamos aqui tentar entender um pouco mais dos menus do lado esquerdo o primeiro é onde a gente vai ver a listagem de arquivos do projeto o segundo é uma busca que vai realizar a busca em todo o projeto o terceiro é um
recurso que a gente vai utilizar mais paraa frente quando estiver falando de Git Git Hub o quarto também não vamos nos atentar agora é uma ferramenta de depuração de código para testar o código e facilitar toda a busca por bugs e o último ícon é onde fica as extensões e do que adianta um editor de código sem ter onde aplicar e eu também acabei te falar de html CSS Mas você conhece essas duas tecnologias HTML é uma linguagem de marcação utilizada na construção de páginas na web os documentos htmls podem ser interpretados pelos navegadores Tim
burns Lee criou o HTML na época não era uma especificação mas sim uma coleção de ferramentas para resolver as comunicações e disseminação de suas pesquisas entre ele e o seu grupo de colegas as primeiras versões foram definidas com regras flexíveis o que ajudou na sua popularidade com o tempo a popularidade do htm tornou a sintaxe mais rígida porém por questões de retrocompatibilidade até hoje as versões mais rudimentares ainda funcionam em muitos casos a popularização da linguagem iniciou na sua versão 2.0 ainda com os conceitos de burners Day mais tarde em 99 a versão 4.1 foi
lançada pela w3c e até hoje a versão mais usada como funciona o HTML a estrutura da linguagem é simples Até mesmo para alguém que nunca teve contato com qualquer tipo de linguagem de programação o HTML é essencialmente um arquivo de texto que contém a informação seja ela no texto de textos ou links para imagens ou qualquer outro tipo de conteúdo são os navegadores que se encarregam de processar e renderizar esse arquivo de texto transformando no que é visto no navegador pelos usuários a mágica acontece porque o HTML Diz ao navegador o que ele deve fazer
com cada porção de texto contido nesse arquivo um termo muito importante durante esse processo são as tags uma tag típica tem começo e fim ou seja abertura e fechamento a construção de um parágrafo para os navegadores é representada por duas tags p a primeira tag P apresenta o início do parágrafo e a segunda o seu fim outra tag simples amplamente usada é a tag a usada para representar links no caso das tags de link Geralmente os navegadores Vão colocar um sublinhado e pintar de azul é uma definição padrão e que vamos poder customizar com ajuda
do CSS o CSS foi proposto pela primeira vez em outubro de 94 por haon le que queria facilitar a programação de sites o CSS assim como o HTML não é uma linguagem em 1995 o css1 foi lançado pela AW 3c a linguagem de estilos Ganhou muito destaque entre 97 e 99 nesse período ficou conhecido por grande parte dos programadores o CSS é uma linguagem que determina a aparência do layout e das páginas da web a estrutura de sintaxe é bem simples tem um seletor e um bloco de declaração você seleciona um elemento e depois declara
o que deseja fazer com ele é bastante simples certo como exemplo vamos customizar a tag HTML P que declaramos anteriormente onde todos os elementos P serão estilizados e coloridos de azul e assim como também podemos remover o sublinhado e a cor azul da tag que criamos anteriormente agora que eu te apresentei o HTML ou CSS a sua cabeça deve estar realmente fritando com tanta informação Afinal a gente já viu um editor de código já viu trechos de código HTML CSS e sem falar na história das três tecnologias você acabou de sair na frente de muita
gente mas fica calmo que na sequência a gente vai olhar mais sobre cada uma dessas tecnologias de uma forma menos acelerada e com mais calma e sem dúvidas vai ficar muito mais claro na sua cabeça tudo isso então fica até o final dessa aula o nosso primeiro passo é criar um arquivo index HTML por definição os navegadores já vão buscar por um arquivo como esse na raiz do nosso projeto no início do documento a gente vai definir o DOC Type ele define Qual a versão do HTML que está sendo usada isso é extremamente importante cada
versão tem as suas regras e seus recursos declarando dessa forma simplificada já estamos dizendo que a versão atual é A5 e você conhece o dom document Object Model Esse é basicamente a árvore de tags do nosso documento HTML o HTML é a nossa tag principal ela engloba todas as outras tags do nosso documento o r a cabeça é aonde fica os metadados do nosso documento e declarando o título Dentro da Cabeça apesar de não ter nada visualmente já temos o nome da nossa página é só abrir o index html no navegador e a gente já
vai ver o título da nossa página aproveitando também que a gente abriu o navegador Bora conhecer a ferramenta do desenvolvedor o Dev Tools essa ferramenta do Google Chrome e de outros navegadores a a gente vai utilizar muito no nosso dia a dia Principalmente quando a gente tá trabalhando com front end ali a gente tem diversos recursos a gente consegue navegar entre os elementos que a gente construiu no nosso Dom a gente consegue abrir as nossas tags mais pra frente eu vou te mostrar que a gente consegue também mudar o nosso CSS e ver já as
alterações de forma visual claro que elas não vão ser de forma definitiva mas a gente consegue já ver ali de forma visual o que que aquela tag vai modificar no nosso código a gente também consegue ver ali quais são os recursos né que estão sendo carregados naquela página Quais são as requisições que estão sendo feitas na internet né a Network E ali a gente vai entrar mais a fundo nas próximas aulas a gente vai conhecer as principais formas de requisições né do protocolo http que são elas post get os tipos de resposta mais conhecidas né
como os status code 200 201 404 Mas calma que a gente vai ver isso nas próximas aulas Quando a gente tiver olhando mais ali para ipis e tudo mais não vamos se tentar isso agora que seria muita informação pra sua cabeça bom e voltando para nosso HTML agora que que mais precisa além da cabeça o corpo então no Bore do nosso HTML é onde de fato a gente vai passar a maior parte do nosso tempo para começar vamos colocar aqui um título e um parágrafo na nossa página a gente pode declarar o H1 que será
o maior título que pode ir até o h6 que será o menor logo eu vou te mostrar visualmente Qual a diferença entre eles abrindo novamente o navegador a gente já vai ver o nosso título e o nosso parágrafo agora mais bonitinho na tela Dependendo do que você está construindo pode ser interessante fazer essas variações entre títulos e você você vai estar utilizando o HTML mais semântico então é extremamente importante daqui a pouco a gente vai saber um pouco mais qual a importância do HTML semântico quando a gente esver mencionando aí sobre leitores de tela que
é uma ferramenta de acessibilidade muito importante que a gente precisa levar em consideração quando estamos trabalhando com HTML e você vai concordar comigo que tá extremamente chato eu ficar abrindo o navegador e dando F5 toda hora imagina quando você estiver escrevendo código o dia todo o tempo todo então para facilitar Bora instalar uma extensão que cria uma espécie de servidor de aplicação e a cada vez que a gente salva o nosso código automaticamente já atualiza o resultado na nossa tela sem a necessidade de ficar dando F5 Live server ou live preview são boas opções de
extensões com essa funcionalidade depois de instalado com o arquivo HTML aberto vai aparecer essa opção no canto direito superior clicando ali automaticamente já vai abrir uma janelinha do lado direito tá E aí fica com essa primeira opção que é um fundinho mais bonitinho ali com com o mesmo tema que você estiver usando o navegador mas tem a segunda opção também que ele abre de fato um navegador mesmo mesmo simulando ali Como se você tivesse aberto o Google Chrome E aí agora se eu modificar o meu código fazendo qualquer alteração automaticamente essa alteração já vai refletir
ao lado direito então eu não preciso ficar indo toda hora do navegador e dando F5 facilita sem dúvidas e agiliza muito o nosso trabalho no dia a dia bom assim como eu falei logo na introdução do html no HTML Geralmente as tags elas são abertas e fechadas assim como o bor como Red como a tag HTML e tudo mais mas algumas são um pouco diferentes assim como a tag BR a tag BR é uma quebra de linha e essa é uma das poucas que a gente não precisa fechar ela logo que a gente usar então
declarando uma tag P colocando BR ao final Eu vou ter uma quebra de linha e eu não preciso fechar a tag BR mas não é só isso que é curioso no htm algumas coisas até parecem não ter nenhuma mudança visualmente falando mas que por trás possuem sim uma grande diferença strong e B são duas tags que a primeira vista parecem apenas deixar o texto te dou 20 segundos para me responder no chat Se estiver assistindo comigo ao Vivo ou responder nos comentários Se estiver assistindo depois Qual a diferença entre essas duas tags no HTML o
ub é apenas uma tag de formatação que deixa o texto já o strong é uma tag de ênfase que deixa o texto semanticamente mais importante então para um leitor de tela ele será o elemento mais importante da nossa tela as tags i e m servem para deixar os textos itálicos mas também com uma ênfase diferente para leitores de tela ou seja em termos de acessibilidade é mega importante tem também a tag de sobrinhado não recomendo usar porque pode gerar uma confusão achando que você pode clicar mas que na verdade não é possível pois normalmente os
links que tenam sublinhado então eu recomendo não utilizar nenhum sublinhado na tela de forma alguma e tem uma tag muito legal para os textos que foi introduzida no HTML5 que foi a tag Mark que deixa o texto sublinhado como se tivesse marcado com uma caneta marca texto na aula passada a gente falou de listas no HTML a gente também tem elas mas aqui elas são listas visuais com pontinhos ou números assim como a gente faz em editores de texto normalmente as listas numeradas a gente usa a tag Order list que é a tag ol dentro
da tag ol a gente vai usar outra tag que é a tag li cada item dentro da nossa lista vai ser separado por uma tag li a lista não ordenada segue a mesma lógica a diferença é não ter nenhuma numeração agora eu quero te apresentar também duas tags aí que você vai utilizar muito no seu dia a dia que são as tags div e Spa As duas são muito parecidas ambas são usadas aí para organizar conteúdo a div você vai utilizar com muita frequência sem dúvidas é a tag que você mais vai utilizar no HTML
tá E qual a diferença entre as duas que a div ela vai utilizar por definição tá claro que você pode modificar isso através do se SS né mas por definição ela vai utilizar o contêiner toda da tela eu vou te mostrar isso visualmente colocando um fundo em ambas as tags tá se eu colocar um fundo na tag div a gente vai ver que a tag div ocupa toda a nossa tela de forma horizontal já a tag spam ela vai ocupar apenas o que o conteúdo de dentro estiver ocupando então ela vai crescer conforme o conteúdo
Essa é a principal diferença entre essas duas tags e Quando que a gente vai utilizar cada uma delas a div a gente vai usar a rodo tá a div a gente vai usar para Praticamente tudo Antigamente você fazia site muito com table tá quem é das antigas aí vai saber mas hoje a gente utiliza div para construir os nossos sites porque com elas a gente consegue usar flexbox que são aí recursos do CSS mas a gente vai falar isso mais pra frente a gente consegue aí fazer os nossos sites de forma responsiva utilizando os melhores
recursos e mais novos recursos aí do HTML do CSS utilizando as dives Então a gente vai usar sempre div o spa a gente vai utilizar Quando a gente quiser destacar um conteúdo muito específico fic dentro de alguma div ah por exemplo eu quero destacar um texto Dentro de uma div ou dentro de um parágrafo eu posso usar um spam então o spam ele fica muito mais específico para esse tipo de recurso e para te mostrar esse exemplos eu acabei já te introduzindo um outro recurso do HTML que são os atributos tá eu utilizei o atributo
Style o atributo Style é um atributo que a gente usa para escrever CSS em Line ou seja ao invés de declarar um código CSS a gente já coloca o CSS Na Linha Do nosso código HTML não é uma boa prática Mas dependendo do cenário é um recurso que a gente pode acabar utilizando sim mas eu vou aproveitar para introduzir um outro atributo que é o atributo Class esse atributo Class sim é o atributo que a gente vai utilizar aí fazer a utilização do CSS E aí no R eu consigo utilizar uma outra tag que é
a tag Style a tag Style é aonde a gente pode dentro do nosso arquivo HTML declarar código CSS então eu vou colocar aqui a nossa tag Style dentro dela eu vou declarar a minha primeira classe CSS eu posso colocar um back Ground color red E aí no meu atributo da minha div eu posso fazer a utilização dessa classe e o resultado vai ser o mesmo que eu tive anteriormente utilizando o CSS inline mas de uma forma muito mais correta as classes elas não são de uso exclusivo ou seja mais de uma T HTML pode usar
uma mesma classe em um arquivo HTML a gente costuma utilizar especificamente para estilização ou para ações vindas de JavaScript baseada em elementos do Don já outro atributo muito utilizado é o id o id por sua vez vez ele já é de uso exclusivo Ou seja eu só posso ter um ID com um nome eu não posso ter mais um ID com o mesmo nome e ele é usado principalmente no JavaScript não é muito normal utilizar ele com CSS Mas eu posso sim utilizar também para fazer estilização com CSS bom e não tem como construir uma
página sem utilizar imagens né E para fazer utilização de imagens no CSS é muito simples a gente tem uma tag chamada IMG a tag IMG ela tem um atributo também chamado sece que é obrigatório e é onde a gente informa qual que é o local aonde vai ser utilizado a imagem eu vou dar aqui o meu endereço do meu github você pode não saber mas se você colocar github.com bar o seu username.github.io é assim que uma pessoa com deficiência visual vai saber do que se trata aquela imagem então é muito importante que você sempre declare
essa tag em suas imagens e você também pode declarar a largura e a altura de uma determinada imagem não é obrigatório informar as duas tá então se você quer que a imagem e modifique a sua altura conforme a sua largura você só declara a sua largura assim é bom porque você não vai esticar imagem caso ela não seja padronizada aí com as definições que você fez e outra coisa que não não pode faltar em nenhum site são links tá E para você fazer links em HTML você utiliza a tag a a tag a também tem
um atributo obrigatório que é o HF o HF É de fato o endereço que você vai direcionar a pessoa quando ela clicar no seu link tá E então a tag a você coloca dentro do HF o endereço dentro das duas tags da abertura e do fechamento você qual que é o texto que a pessoa vai clicar para abrir o link e também tem uma tag muito legal que ela vai mudar o comportamento do link por padrão se você tiver uma página e clicar num link aquela página vai ser substituída pelo endereço informado no link mas
se você utilizar a tag target e colocar um target Blank sempre que você clicar no link uma nova aba do navegador vai ser aberta então é muito legal porque você mantém o usuário na mesma seção da onde ele tá você não tira a pessoa do seu site por exemplo então você não perde aquele usuário então é muito importante você sempre utilizar a Target Blank Claro se você tiver fazendo navegação dentro do site não tem porque fazer isso mas se você estiver levando para outro endereço é importante sim a abrir uma nova aba bom e do
que adianta a gente saber isso tudo e não aplicar em nada Bora criar uma página eu já vou adiantar que não vai ficar bonito mas a gente pode criar uma primeira página simplória para colocar em prática essas primeiras tags que a gente aprendeu vamos utilizar apenas o que a gente aprendeu até agora beleza você já vai ver que já dá para construir algumas coisinhas já com esses poucos recursos que a gente aprendeu b o primeiro passo é a gente limpar esse nosso arquivo HTML vamos deixar aqui só o head O Body e é isso eu
quero te mostrar também uma outra tag que é o link o link é uma forma de você carregar um arquivo CSS de forma que você não precise declarar o código CSS dentro do arquivo HTML dessa forma você cria um arquivo P CSS na raiz aí do seu projeto e importa ele no seu HTML agora todo o CSS que a gente escreveu antes dentro do HTML a gente pode escrever dentro desse arquivo e ele vai refletir no nosso código que vai ser utilizado lá no HTML também da mesma forma tá é só uma forma de organizar
o nosso código você vai ver aí na programação que existem várias formas de fazer a mesma coisa mas ao longo do tempo a gente vai aprendendo formas de deixar o nosso código mais organizado é de certa forma com o tempo também um pouco mais complexo mas na minha visão é necessário e é um processo aí que você vai adquirindo aos poucos né e que não adianta eu te mostrar a forma mais complexa que talvez seria a melhor forma logo de cara é melhor te mostrar a forma mais suja mas que vai ser a mais simples
e você ir aprendendo com conforme o tempo e ir evoluindo aí conforme a necessidade e é importante também a gente sempre pensar no nosso código HTML antes do CSS Pelo menos eu acho que é a melhor forma porque dessa forma você consegue pensar no seu código HTML é muito mais semântico tá e o HTML ele tem diversas tags semânticas que ele consegue te organizar o teu código de forma que ele fique visualmente falando muito bem organizado por exemplo se eu vou criar um site com um header eu tenho uma tag que se chama header então
eu coloco ela para organizar e definir que todo o código que tem dentro dessa minha tag pertence ao meu header da mesma forma que eu posso utilizar uma tag semântica chamado nave que vai dizer que tudo que tem ali é da minha navegação da Minha Nave bar tá então assim também eu tenho uma tag semântica chamada Main que tudo que vai ali dentro eu vou dizer que é o meu conteúdo Main que é o meu conteúdo principal da minha página olha só como fica a semântica e o que que tá faltando nessa página para fechar
o meu conteúdo semântico o footer que é o rodapé da minha página então eu consigo utilizar aí todas as tags semânticas do HTML para organizar o meu conteúdo e agora eu não tô me preocupando nada visualmente eu só tô colocando tudo que eu quero construir na minha página jogando o código para depois a gente vi com o CSS e deixar esse código mais bonitinho e organizado é o primeiro passo a gente acabou de dar aqui que foi escrever o nosso HTML semântico e agora chegou a hora da gente dar cor para essa nossa página de
dar um pouco mais de vida né porque agora só tem HTML Bora colocar o CSS E aí você pode ver que eu utilizei aqui de tags seman não coloquei nada de classes no nosso código ainda e sinceramente quando é uma página simples assim você vai fazer a utilização de poucas classes tá o próprio HTML semântico você pode utilizar essas próprias tags para estilizar no HTML A diferença é que ao invés de utilizar o ponto que tem numa classe para estilizar no CSS Você só coloca o nome da tag tá então por exemplo eu posso estilizar
o b posso colocar um fundo que vai modificar todo o fundo da minha página eu posso colocar direto no meu Body então eu coloco Body abro o Chaves coloco background Color e coloca um código numa cor RGB Esses códigos tem diversos sites na internet que você pode procurar E aí tem vários recursos para você arrastar e tal e ele já vai te dar o código Certinho é só você copiar tem algumas extensões também no próprio vest code que você pode instalar e você consegue aí fazer a cor que você quiser então é muito fácil aí
mas ao longo do tempo você vai decorando alguns códigos automaticamente eu também vou colocar uma corzinha no meu header para deixar a minha página o meu header da minha página colorido né com a cor padrão Aí do Bolt que é um roxinho a gente vai colocar também uma cor do nosso texto e aí para estilizar a cor do texto A gente pode usar o Color E aí eu vou colocar o FF que é o RGB para colocar é a cor branca eu posso utilizar o tex Aline para anar o meu texto ao centro eu também
tenho um recurso muito legal no CSS que é o paging e o paging que que ele vai fazer ele vai pegar o meu header e ele vai colocar um espaçamento dentro do meu header Então todo o conteúdo que tiver dentro desse header vai ter um espaçamento entre ele e o final desse header vai ficar ali um respiro né o o pading ele é aplicado internamente o margem ele é aplicado externamente em todas as dives ou tags semânticas que a gente vai utilizar no HTML vai ficar bem claro aí conforme a aula e Conforme você for
utilizando também qual que é a principal diferença entre eles e você vai utilizar ambos aí com muita frequência abrindo esse código no navegador você vai ver que a nossa página tá quebrada né o nosso texto tá quebrado a acentuação tá quebrada e a gente consegue resolver isso utilizando um meta uma met tag chamada meta charar 7 o tf8 então ele vai resolver ali todo o nosso problema de acentuação no nossos documentos HTML tá normalmente a gente acaba utilizando o tf8 atualmente em documentos HTML Tá além disso eu também vou fazer uma estilização na nossa navegação
vou colocar um fundinho vou utilizar novamente do pading vou também utilizar uma cor para deixar os links de forma Branca né para se destacar nosso fundo vai ser preto eu preciso especificamente estilizar o link então preciso fazer nave E aí eu dou um espacinho e coloco a tag a dessa forma eu tô especificamente estilizando todos as tags a que estiverem dentro da minha nave bar então toda a tag a que tiver dentro desse meu contexto de navegação vão ter essa mesma estilização que é a cor branca sem o sublinhado e com uma margem aplicada em
cima desse conteúdo o Main da nossa página eu também vou colocar um pading para ele ter um espaçamento e um respiro ali entre a lateral da nossa página no footer eu também vou estilizar ele um pouco né Vou colocar ali um pading nele também vou colocar também é um background nele também você deve ter percebido que tanto no margem quanto no paging eu coloquei dois números né e separados por um espaço né No primeiro inclusive nesse margem do nave Eu só coloquei o zero e coloquei 10 pixels atrás o que que isso quer dizer aqui
no footer eu vou te mostrar na prática como que isso se comporta no HTML tanto no pading quanto no margem você consegue controlar os quatro cantos né como que você vai definir aí qual que vai ser o espaçamento ou no caso ali qual que vai ser a distância interna ou externa que você quer definir nesse contexto E aí como que é a leitura você pode definir os quatro os quatro distanciamentos né e se você definir Os Quatros você vai estar definindo no primeiro Qual que é a distância do Topo Então vai ser o topo o
segundo vai ser o da direita o terceiro vai ser o da parte inferior e o quarto vai ser do lado esquerdo mas se eu definir somente duas casas como eu fiz ali nos de cima eu vou estar definindo somente altura Então vai aplicar já na parte de cima e na parte de baixo e no segundo vai est definindo as laterais então é legal porque eu posso definir somente ali Quais são os distanciamentos entre o topo e as laterais ou eu posso definir os quatro né ou eu posso definir só um se eu definir só um
ele vai aplicar nos quatro Campos então o CSS ele te dá essa customização muito grande ali para você eh customizar especificamente como que vai ser o distanciamento nos quatro cantos da sua div de uma forma bem específica né para finalizar aqui no nosso fter Eu só vou colocar ainda um color para deixar esse nosso texto branco o background color também vou utilizar o roxinho e agora a gente vai utilizar o outro recurso que é o position o position a gente vai usar o position absoluto tem diversos positions mas vamos se atendar Principalmente ao absoluto por
enquanto o absoluto ele vai fixar esse essa nossa div em algum lugar tá E por definição se eu colocar somente o absoluto Ele simplesmente vai ficar travado esse essa nossa div aqui no meio da tela inclusive vai cortar aqui o canto direito mas se eu definir um boram zero ele vai fixar essa nossa div lá no footer da nossa página então fica bem bacana porque ele vai fixar o footer no final da página e aí claro eu preciso dizer que a largura dessa nossa div vai ser 100% vai ocupar a tela toda e aí eu
consigo utilizar esses três recursos para deixar o footer fixado no final da nossa página Esse é o resultado da nossa primeira página HTML muito simples mas que a gente conseguiu utilizar as principais tags HTML CSS e é isso aí você acabou de construir o seu primeiro projeto HTML CSS pode colocar no github brincadeira não coloca Não porque isso aí só vai te prejudicar e a gente já vai falar um pouco mais sobre isso você acabou de aprender as primeiras tags do HTML e também já estilizou o seu código com CSS e talvez esteja chateado comigo
Afinal já está aqui por mais de 40 minutos e eu te ensinei a fazer essa coisa feia Olha eu concordo com você não ficou bonito mas eu tenho certeza que se você tivesse feito um tutorial fazendo uma Pokédex ou até um curso de mais de uma hora não teria aprendido tanta coisa como aprendeu hoje e sabe por quê Porque você teria apenas copiado e colado então quer dizer Bolt que eu preciso ficar horas aprendendo tudo que uma linguagem de marcação ou uma linguagem de programação tem antes mesmo de programar É lógico que não Eu Acredito
fortemente que o melhor caminho é aquele que você mesmo trilha eu não acho que é errado assistir um tutorial e copiar e colar o código do professor mas eu também não acho certo assumir que ao fazer isso é estar aprendendo a programar Porque de fato não é eu já fiz um vídeo falando sobre o inferno dos tutoriais de programação onde eu critico os vídeos de programação de mais de uma hora bom e olha eu aqui com canal só com vídeo vídeos de mais de uma hora de duração parece controverso né mas dá uma olhada na
forma como eu produzo essas aulas eu poderia simplesmente Ligar O OBS abrir o editor de código e sair escrevendo código assim como todo mundo faz ou até preparar uma página pronta em HTML CCS bonitona para caramba para essa aula só copiar o código aí você poderia copiar de mim que eu já estaria copiando também assim como a maioria das pessoas faz um copia do outro e que copia do outro e aí você abre o github e é um monte de projeto igual acredite em mim é por isso que você perde tanto dinheiro com com curso
de programação e não finaliza nenhum você é apenas um colecionador de curso e se quiser continuar nessa pegada tudo bem Eu mesmo vou te indicar um curso agora eu deixei o meu link de afiliado da on bit code aí e você pode comprar o curso da formação full stack lá você vai aprender HTML e JavaScript e sinceramente o curso é realmente bom eu também acho importante indicar aqui porque eu sei que uma hora é pouco para eu te mostrar tudo que Essas tecnologias tem e tem aí o javscript mas spoilers tá JavaScript será a nossa
próxima aula eu não te contei isso mas se inscreve aí embaixo no primeiro link fixado que você vai avisar quando essa próxima aula sair mas eu sei que você vai sair dessa aula sabendo muito mais do que fazendo outros cursos por aí com mais de CCO ou até 10 horas de duração assim como vocês mesmo falaram na aula um eu da primeira semana do mês eu lanço uma aula totalmente de graça nesse canal onde a gente aborda um assunto específico sobre programação o objetivo é que cada aula seja complementar a anterior portanto se você ainda
não assistiu a primeira saia dessa assim que terminar e assista essas aulas são de graça e sempre serão mas é claro você pode se tornar um membro bozão dessa comunidade que além de receber esses conteúdos de forma antecipada você também tem acesso a uma aula exclusiva comigo no discord para tirar as suas dúvidas a primeira já aconteceu e foi muito olha aqui o que um dos membros bozão falou especificamente nesse trecho da nossa conversa isso que eu achei bacana porque isso e essa comunidade assim assim é um plus ele não é o básico ele não
é necessário vamos supor tudo que você coloca no YouTube ali se a pessoa quiser estudar ela vai ter a mesma condição da gente que tá aqui claro que que a gente tem essa possibilidade de tá tirando dúvida com você tudo é algo a mais mas não é um o necessário você tá entendendo onde eu quero chegar você já tá oferecendo tudo para todo mundo isso isso é muito bacana e eu fiquei me perguntando por que que eu vou eh entrar lá Além Do Motivo assim de quer Eh patrocinar a ideia sabe eu sei que obviamente
assim eu acredito que você não não precise disso né mas é só uma questão mesmo para também né tem que não pode ser algo também é para entrar Eh vamos supor 10.000 Pessoas igual você falou não tem como você atender esse tanto de gente mas eu achei a ideia muito boa e assim o que me convenceu além dessa ideia eh de poder conversar com você de poder participar dessas causas aqui de vez em quando é quando você falou assim em uma parte lá do vídeo que você mencionou a inteligência artificial sabe eu achei muito massa
porque eu pensei pô o cara é um programador Sênior é mais de uma década de de de experiência né e ele não tem tipo assim aquela demagogia de falar assim ah vou ensinar tudo para vocês beabá não é você é como se fosse um amigo um profissional mais velho de de experiência que senta do nosso lado e ensina tudo explica e fala ó i tá aí hoje vamos vamos usar ela também ao nosso favor quando você falou que usar ia futuramente que ninguém poderia ninguém precisaria criar todos os códigos do zero Falei pô o cara
tá totalmente antenado com atualidade mesmo com toda a experiência que ele tem ele não tá tipo assim com a mente fechada também no passado que passado para tecnologia é 1 ano 2 anos né tipo assim eu vi exato bem bem bem antenado mesmo bem bem na atualidade sabe você tem Eu gostei da sua visão eu achei a sua você tem uma boa Visão em relação à utilização da da das inteligências artificiais Entendeu pô Valeu cara Obrigadão é sobre isso que a gente vai falar agora Sinceramente eu acho que as ias vieram para ficar não temos
como fugir delas eu mesmo já desenvolvi um projeto que causou a demissão de mais de 20 pessoas e congelou dezenas de outras vagas em breve eu vou fazer um vídeo no meu canal falando sobre isso mas o ponto aqui é que não faz sentido em pleno 2024 você aprender e estudar da forma como sempre estudou assistindo a dezenas de aulas esquecendo tudo no dia seguinte para quem sabe um dia muito distante aplicar tudo aquilo ou pior apenas copiar tudo e achar que aprendeu e logo em seguida esquecer absolutamente tudo e como eu prometi toda aula
eu quero te dar uma pitadinha de a E para finalizar essa faremos isso agora eu sei que muitos de vocês ainda são recios a utilizar chat PT e outras ias para estudar e eu entendo até porque quando a gente tá aprendendo é difícil acreditar e aceitar que as informações estão de fato corretas e é por isso mesmo que de forma antecipada Eu também quero te dar outro spoiler aqui eu estou treinando uma ia e não será umaa qualquer Ela será uma verdadeira cópia de mim todo o conhecimento que você está adquirindo nessas aulas ela terá
surgiu aquela dúvida sobre uma aula que não lembra em qual minuto eu expliquei o assunto Pergunte ao Bolt GPT e ele vai te explicar especificamente sobre aquilo mas não é só isso ele vai ir além ele vai te ajudar a continuar estudando treinando e se aprimorando sobre os assuntos que você está aprendendo nessas aulas aqui de forma gratuita no YouTube e como ainda vai demorar um certo tempo para essa ia estar pronta e mesmo depois de pronta só membros bouti Zão terão o acesso porque isso aí custa dinheiro para mim então não tem como eu
disponibilizar de graça para todo mundo senão eu cara estaria falido em um mês e provavelmente isso será disponibilizado via discord eu vou deixar alguns prompts que poderão te ajudar a continuar estudando html lcss a partir daqui de onde a gente parou nessa aula por quê Porque essa I vai demorar para sair ela só será para membros bolti Zão e eu não quero forçar ninguém a virar membro bouti Zão você só vai virar membro bouti Zão Se você realmente quiser fazer parte dessa comunidade olha e eu sou suspeito para falar mas sem dúvidas a comunidade que
a gente tá fazendo aí é uma comunidade muito tem gente lá todo dia trocando ideia e não será em vão Seu dinheiro não será jogado fora até porque cara é muito barato tá eu não vou dizer o valor porque amanhã ou depois vai subir com certeza vai subir porque tá quase de graça é um ano aí que você tem acesso e é tá quase de graça tá pelo que eu ofereço ali para você eu praticamente dou uma consultoria em grupo ali para um valor simbólico de verdade simbólica enfim e eu vou te passar esses fronts
também porque eu não pretendo falar de frontend tão cedo nessas aulas na próxima aula a gente vai mergulhar de cabeça no que vocês mais querem ver aqui nessas aulas JavaScript com foco em backend não em frontend Pode até parecer controvérsia para você mas JavaScript atualmente É sim Fort utilizado no backend eu sei que HTML CSS não é muito do interesse de vocês e eu mesmo não estou muito conectado atualmente com essa parte da programação Mas ela é fundamental pra nossa carreira principalmente para você que está começando seria impossível avançar nessas aulas sem te dar uma
pitadinha desse conteúdo por aqui se você estiver dentro da plataforma bolzon todos os prompts que eu vou te mostrar agora estarão abaixo dessa aula Se você estiver assistindo comigo no YouTube eu vou deixar alguns segundos na tela para você tirar um print e copiar depois da aula eu recomendo que você comece dando um papel para o chat GPT diga quem ele é bem específico mesmo utilizando palavras chaves e para essa aula algo como isso funciona muito bem depois de dar essa instrução Inicial você pode começar a fazer as suas perguntas explique o assunto de forma
simplificada para ele considere que você está falando com o iniciante tá dessa forma o chat de APT vai entender que você é um iniciante te dará respostas muito mais assertivas de acordo com o assunto que você pediu criar analogias também são excelentes pra gente conseguir aprender Afinal todos os meus vídeos são feitos com analogias é por isso que vocês gostam nos meus vídeos e você pode utilizar o chat GPT para fazer isso e sabe uma coisa que você sempre me pedem Road Maps Eu tô devendo um Road map para vocês há muito tempo mas quando
eu lançar esse Road map não será qualquer roadmap mas até lá você pode pedindo pro chat GPT te dar uma lista de coisas que você pode estudar de acordo com um determinado assunto ou uma profissão e ele vai te dar muito bem especificado até melhor do que eu poderia fazer em um vídeo sinceramente e claro assim Como eu sempre peço perguntas e deixo aqui questionários durante os meus vídeos principalmente lá na comunidade bouti Zão você pode pedir pro chat GPT fazer questionários para você também mas não só isso você pode pedir para ele corrigir os
seus exercícios também depois que você responder bom e o conteúdo prático a gente vai finalizando por aqui eu espero que realmente tenha sido útil essa aula e como de prash Bora responder algumas das dúvidas que vocês me enviaram via formulário antes dessa aula aquele que você recebeu por e-mail não recebeu Ah então você não tá inscrito na minha lista de avisos da Comunidade bolzinho inscreva-se no primeiro link fixado aí agora nós chegamos na última parte da aula Onde eu pego alguns minutos para responder algumas perguntas que vocês mandaram nos formulários que eu envio antecipadamente via
e-mail Eu geralmente pego algumas perguntas do bloco se você tiver 5 minutos para perguntar qualquer coisa para mim o que perguntaria e como são muitas perguntas inicialmente eu pensei em cada aula ir respondendo da mais antiga para mais recente mas talvez eu nunca terminaria dessa forma então para ser mais justo com vocês eu selecionei algum umas de forma aleatória e agora eu vou responder algumas delas dessa vez eu dei prioridade para as perguntas da comunidade bou Tião mas nas próximas aulas eu volto para a comunidade bouzin assim como foi na aula um Como é o
mercado de programação baseado na sua experiência e de conhecidos antes de responder eu preciso jogar um balde de água fria na sua cabeça o mercado não é justo as pessoas que se destacam geralmente não são as melhores Tecnicamente Claro em alguns cenários específicos são sim principalmente se for em algum lugar onde de fato precisa uma pessoa pessa com esse perfil mais especialista um perfil mais direcionado a um conhecimento específico Mas no geral as pessoas que se destacam assim como na vida são aquelas desenroladas acima de qualquer coisa você precisa saber vender o seu peixe não
adianta nada você ser o melhor Tecnicamente Se você não souber expor as suas ideias e não conseguir dialogar e conversar com as pessoas normalmente eu vejo pessoas que são excelentes Tecnicamente mas que não conseguem sair do lugar elas geralmente não são demitidas também porque a empresa sim precisa delas mas elas acabam ficando estagnadas e muitas vezes esquecidas e geralmente apenas são vistas como o pau para Toda obra então eu diria que o mercado é isso Você precisa ser bom Tecnicamente mas você precisa desenvolver e muito o seu lado de soft Skills além de hard Skills
senão você será apenas mais um e quem sabe muito em breve o Maya irá te substituir facilmente porque não esquece elas são boas Tecnicamente muito melhor que eu e qualquer um mas elas não possuem características humanas assim como a nossa sensibilidade que só nós temos e muito provavelmente elas não vão conseguir ter isso pelo menos aí nos próximos anos você ficou ansioso para sua primeira entrevista bom eu tinha 16 anos hoje eu tenho 28 e portanto já fazem 12 anos se eu fiquei ansioso Putz boto ansioso nisso Eu sempre tive o problema de suar muito
quando eu fico ansioso e eu lembro de ter feito a minha entrevista em um sábado pela manhã eu fui de buzão pro centro da cidade e para começar eu levei duas camisetas porque eu sabia que estaria completamente encharcado depois da entrevista e não foi diferente dessa vez bom e depois quando terminou eu tava tremendo tanto que eu devo ter ficado pelo menos uns 30 minut minutos sentados na frente do local aonde eu fiz a entrevista até a minha adrenalina baixar e eu consegui voltar para casa é até curioso mas eu consegui o meu primeiro emprego
na primeira oportunidade que surgiu apesar de novo eu já tava estudando há um bom tempo e deu tudo certo mas depois que eu entrei lá eu percebi que eu não sabia absolutamente nada e mais tarde uns 6 7 anos depois quando eu já tinha do anos de experiência já tinha ido pra faculdade eu fui procurar outra empresa maior eu acabei descobrindo que eu não sabia novamente nada e naturalmente fiquei nervoso de novo então todas as entrevistas que eu faço Eu sempre fico nervoso não tem como ser diferente como eu crio um networking forte tem diversas
formas de fazer networking atualmente né com a internet isso é muito fácil a comunidade do discord do Bolt verus é uma a comunidade de bouti Zão é outra e tem outras inúmeras comunidades pela internet de programação e claro o bom e velho evento físico é uma ótima oportunidade também para fazer Network eu mesmo já Participei de muitos eventos pós pandemia eu não fui em nenhuma mais mas eu pretendo sim voltar muito em breve e claro se você tiver a oportunidade de ir pra faculdade participe de tudo que for possível faça estágios projetos de pesquisa Organize
eventos participe de outros eventos e converse com as pessoas networking acima de tudo é conversar mas existe uma regra de ouro para você conseguir ter um networking forte sempre entregue mais do que você extrai ou seja se você chegar em uma roda de conversa ou em um grupo e tentando extrair tudo como um sangue suga você será chutado de lá o quanto antes chegue conversando ouvindo e contribuindo antes de querer algo em troca só assim você irá conseguir fazer um networking forte Independente de onde for vale mais a pena se especializar em uma área ou
ser full stack acho que essa aula já deixou bem claro a minha visão sobre isso eu sou full stack com uma pegada mais de backend Mas acima de ser full stack eu sou generalista eu gosto de aprender de tudo sou o melhor em tudo Claro que não eu não sou melhor em nada eu diria mas isso nunca me prejudicou Pelo contrário sempre me favoreceu principalmente em momentos de crise de mercado pensa comigo se uma empresa tem recursos escassos ela vai querer contratar um Dev especialista que só sabe fazer uma coisa e vai precisar contratar outros
para tapar os buracos ou vai preferir alguém que sabe fazer tudo eu acho que é a segunda opção Claro existe o ônus também para você Muitas vezes você pode acabar ganhando menos porque isso é Regra geral não só na programação pessoas especialistas custam mais caro assim como um médico mas na nossa área pessoas generalistas geralmente conseguem sair muito bem em cargos de liderança e gestão isso acaba compensando ao longo o prazo e como você aprende mais lendo ou assistindo depende geralmente é assistindo mas infelizmente são poucas as pessoas que TM uma didática que realmente consegu
me prender o que acaba me fazendo desistir muito rápido de assistir muitos cursos ou aulas aí pela internet e a forma como eu produzo meus conteúdos é uma afronta a isso eu odeio conteúdos arrastados e lentos eu sei que muitas vezes é preciso seguir por uma uma pista mais lenta né dessa forma explicando as coisas mais passo a passo mas com uma boa didática dá para resolver isso mas a grande maioria das pessoas que t o conhecimento Elas têm preguiça de pensar em Como elaborar uma e explicar da melhor forma possível então sempre quando eu
vou produzir um conteúdo eu procuro lembrar disso eu faço algo que eu mesmo assistiria até o final e pra leitura Eu tenho um pouco de dificuldade de ler coisas técnicas que acaba sendo um pouco pesado e massante para mim mas isso pelo que eu ouço por aí não é só para mim eu sei que muita gente é assim também aí eu acabo usando os livros para pegar algumas Sacadas Gerais assim algumas ideias também alguns livros TM uma didática muito boa uma forma de escrita muito fácil de entender eu gosto gosto muito desse tipo de abordagem
de aprendizado então dificilmente eu leio livros mais técnicos até o final mas eu leio alguns sim até porque os livros técnicos eles são perigosos tá Principalmente aqueles que focam em parte técnica na parte da tecnologia porque em menos de um ano A grande maioria já tá defasado quando eles focam mais em umaa tecnologia específica tá então eu gosto mais de livros com uma pegada mais de conceito e ideia sobre a área que caminho seguir para sair do básico da programação e criar projetos de verdade eu gostei muito dessa pergunta porque a maioria das pessoas não
sabe estudar tá nessa aula eu tentei mostrar um pouco disso nos caminhos de aprendizado de aprender de ter uma base forte na primeira aula também foi assim e o que eu percebo é que a grande maioria das pessoas assiste a aula só copia e cola o que tá sendo apresentado e não consegue depois passar isso para um projeto de verdade né então o que eu gosto de recomendar pensa primeiro num projeto e tenta destacar Qual é a base desse projeto Qual que é o coração dele o que sem aquilo perde a essência desse projeto e
quando você você conseguir definir isso no papel e na caneta mesmo você acabou de definir o seu MVP o próximo passo é separar em etapas de desenvolvimento se você conseguir criar uma rede social por exemplo separe em pequenas partes o desenvolvimento dela primeiro você faz o cadastro depois login a busca do contatos o pedido de amizade e esses já são quatro steps iniciais faça um por vez e vai dando check nesses pontos aí tá essa é uma forma de você medir o seu Progresso de desenvolvimento também E para isso funcionar Você vai precisar ir aprendendo
sobre demanda também Tente fazer o cadastro com o conhecimento que você já tem se você esbarrou em algo que não sabe aí sim você pesquisa e aprende sobre aquilo ou seja quebra o problema grande em problemas menores sem dúvidas é a melhor forma para você conseguir fazer um projeto de verdade e duradouro ao longo prazo como você lidou com as frustrações e falta de conhecimento para começar a fazer seus projetos Claro se teve em algum momento bom vou responder essa pergunta eu não entendi muito bem tá se é em relação à questão de meus projetos
pessoais ou se é projetos eh profissionais mesmo mas eu vou tentar responder de uma forma mais generalista tá eu tenho frustrações o tempo todo falta de confiança e muito mais problemas diariamente eu já passei por Burnout eu já Engordei para caramba Já emagreci e hoje eu estou praticamente careca mas ao longo do tempo eu fui notando que por mais difícil que possa parecer e mais desafiador que algo poderia ser poderia ser pior é resolver problemas complexos em prazos impossíveis claro que é é difícil aprender e lidar com uma tecnologia que você nunca viu antes lógico
mas caramba eu tô fazendo isso sentado na frente de um computador com uma roupa limpa a barriga cheia e eu não tô pegando sol eu tô reclamando do quê eu poderia estar acordando 3 da manhã pegando metrô buzão lotado e chegar 10 da noite em casa podre de cansado e ao final do mês mal ter dinheiro para pagar água luz e comida enfim é assim que eu lido com as minhas frustrações e falta de confiança pensando sempre que existe alguém em uma situação muito pior e vulnerável que a minha eu não tenho o que reclamar
são apenas problemas desafios como qualquer outra profissão assim como um jogador de futebol que tem o dever de treinar e fazer um bom jogo eu tenho o meu dever que é estudar e fazer um bom trabalho diferente das outras aulas eu quero começar essa te fazendo uma pergunta você sabe como JavaScript funciona neste momento quem já trabalha com JavaScript Deve estar sorrindo pensando Claro que eu sei eu escrevo código todos os dias Ok mas quando você escreve um código em um arquivo você sabe o que realmente acontece como navegador lei esse arquivo como JavaScript é
executado ou como nodejs funciona é curioso pensar que a gente escreve código em um editor de texto e magicamente ele se transforma em uma sequência infinitas de zero e um e que o computador simplesmente entende e executa e se você já viu as aulas um e dois percebeu que o meu principal objetivo aqui não é ensinar a sintaxe de uma linguagem de programação até porque o chat GPT ensina isso muito mais rápido e melhor do que eu o meu foco é formar pensadores questionadores e resolvedores de problemas eu não quero que você apenas fique aí
do outro lado copiando e colando o código que eu escrevo eu quero que você entenda os fundamentos e construa uma base sólida na programação Esta é a nossa terceira aula e não será diferente ao final dessa Você será capaz de explicar como o JavaScript funciona para qualquer pessoa mesmo que essa tenha apenas 5 anos de idade e não subestime esse ponto se você não entender um assunto profundamente jamais será capaz de sintetizá-lo ao ponto de explicá-lo de maneira simples e objetiva para alguém sem conhecimento técnico e se você tá duvidando pode agora mesmo fechar essa
aula e procurar no YouTube uma aula que explique tudo isso profundamente talvez você até encontre mas eu duvido que tenha paciência para assisti-la até o final pois nenhuma te dará uma compreensão tão profunda da linguagem que te eleve a um nível superior de forma dinâmica e objetivo como eu farei nessa aula sem dúvidas isso é um diferencial para você para que você consiga escrever um código muito melhor Ok mas o que há de tão importante no JavaScript que eu deveria saber para começar uma curiosidade o JavaScript não se chama JavaScript exato a linguagem se chama
na verdade ecma script e há um motivo muito especial para isso que a gente vai descobrir daqui a pouco junto com as suas versões além dessa Curiosidade você também vai aprender ainda nessa aula o motor do JavaScript sobre runtime interpretadores e compiladores como escrever um código otimizado Call stacks e memor hip memor leaks que são os vazamentos de memória garbage Collection que é coletor de lixo Como o nodejs funciona single trade Model e sobre linguagens com tipos estáticos e tipos dinâmicos diferença entre passagem de parâmetro por referência versus valor e muito mais será uma aula
longa mas como eu disse anteriormente Eu prometo que não será uma aula tediosa pelo contrário eu farei o meu melhor para conseguir te manter motivado e animado até o final e se você estiver comigo até o fim eu garanto uma coisa você não será um programador qualquer desde que você preste muita atenção você será um programador diferenciado e se destacará em tudo que envolva JavaScript a partir de hoje a sua forma de ver e trabalhar com JavaScript ou melhor ecman script será completamente diferente Tava preparando essa parte e eu me dei conta de uma coisa
é impossível entrar nesse assunto sem antes te explicar muito bem como o JavaScript de fato funciona eu também sei que a grande maioria das pessoas que assistirão a essa aula vão querer pular essa parte mas não pule sabe por quê Esses são tópicos que sempre caem em entrevistas de emprego e muita gente só enrola porque a grande maioria Na verdade nem sabe a fundo como JavaScript funciona e eu prometo não será chato eu farei o meu melhor para tornar esse tópico o mais divertido possível e se você não entender tudo bem assista Quantas vezes for
necessário essa parte mas não desista eu mesmo queria ter me forçado a aprender isso antes sem dúvidas teria economizado muitas boas horas com erros bobos que eu poderia ter evitado com esses conhecimentos e tudo bem Você não precisa saber disso para programar é como ser um piloto de um avião e não saber como ele pode voar mas ter esse conhecimento sem dúvidas Poderá te tornar um piloto melhor ou Poderá te salvar Em algum momento da sua vida ok então vamos lá o que é um programa resumidamente um programa é uma série de instruções com objetivo
de realizar uma tarefa e esse programa realiza algumas etapas elas são alou com a memória e claro ler os comandos e executar os script então quando eu faço algo como isso eu basicamente aloquei a memória e declarei uma string que será executada pelo meu código e se você está estudando JavaScript Muito provavelmente já ouviu falar do V8 que é o motor do JavaScript e a maioria das pessoas também sabe que o JavaScript é uma linguagem de encadeamento único ou seja uma linguagem de trade única e também talvez você já tenha ouvido falar que o JavaScript
é uma linguagem interpretada e tudo isso a gente vai analisar daqui paraa frente mas para começar o que é o V8 imagine o seguinte se eu chegar na frente do computador e falar F para ele computador liga agora e mostra um carro para mim ele vai conseguir fazer isso naturalmente olha atualmente com asias Talvez ele consiga Mas normalmente não seria possível até porque o computador é tão burro que nem aquele código que eu acabei de escrever ele entende porque o computador na verdade só entende zero e 1 essas linguagens como JavaScript Python rub e etc
são criadas por Nós seres humanos para seres humanos não para computadores entender para que o computador entenda no caso do JavaScript temos então o motor dele e é ele que permite que um arquivo com código JavaScript seja interpretado pelo computador é como se tivéssemos um tradutor em tempo real traduzindo tudo que a gente fala em português para ou inglês para um estrangeiro na Time Square e apesar do mais famoso ser o motor V8 que foi criado pela Google e usado no Google Chrome e em tantos outros navegadores baseados nele existem outros como spider monkey chakra
e basicamente todos eles têm o mesmo objetivo converter o código para uma sequência binária para que o computador assim consiga entender e basicamente o que que muda em cada uma delas é a forma como foi implementada a V8 Por Exemplo foi criada em c+ Plus ela é tão importante porque realmente foi um Marco histórico para a internet como um todo antes dele os navegadores usavam mecanismos muito mais arcaicos e o JavaScript era muito mais lento e ela foi criada Porque o Google estava sofrendo muito na implementação do Google Maps na verdade não seria possível de
implementar da forma como a gente conhece sem um mecanismo tão bom quanto o V8 Ok mas o que tem de tão mágico dentro desse V8 e desses outros motores do JavaScript uma Engine é nada mais nada menos do que um programa um programa tem uma série de etapas que devem ser executadas E no caso do V8 é mais ou menos assim que acontece a primeira etapa é receber o arquivo JS depois na sequência já é feita uma análise elética que divide o código em uma espécie de tokens para identificar o seu significado e saber o
que o código está querendo fazer esses tokens formam uma árvore abstrata conhecido como AST depois é avançado para outras etapas como como interpretação compilação otimização de código para então gerar o código que a máquina de fato conhece e consegue executar E você já deve ter notado que é relativamente fácil né entre aspas fazer o motor JavaScript Afinal qualquer um pode fazer e é por isso que existe a ecma script E você já sabe o que é de Fato né Ela é um órgão regulamentador que serve então para padronizar a linguagem como ela é é complicado
ensinar JavaScript são muitas formas de fazer a mesma coisa e cada versão que é lançada surgem mais opções aí eu percebi que eu precisava dar mais contexto principalmente pensando em um nivelamento de conhecimento foi por isso que eu resolvi dar o apanhado Geral agora das primeiras estruturas do JavaScript se você já assistiu a aula um e a aula dois da comunidade de botião será mais fácil mas não pula esse nivelamento você sempre aprende algo será rápido e indolor Eu prometo e se você não sabe nada e nunca viu uma linha de código no JavaScript Esse
é o seu momento de brilhar aproveita na aula dois eu te dei uma base necessária para a programação web e se você ainda não assistiu Depois assiste nela te mostro como é formatado um arquivo HTML e a sua estrutura básica nessa aula dois eu também te mostrei as meta tags e um arquivo HTML e nelas a gente tem uma que se chama script e é dentro dessa tag que o nosso código JavaScript executa no Browser então é o seguinte para que eu consiga executar arquivos JavaScript no navegador basta eu criar um arquivo HTML declarar uma
tag script e dentro colocar o código JavaScript vamos ao clássico olá mundo mas algo que você irá usar muito no seu dia a dia como programador JavaScript é o console log então colocando esse código e executando em um arquivo navegador abrindo o especional do navegador eu consigo ver esse console log do há mundo então parabéns agora você acabou de escrever o seu primeiro código em JavaScript Ok e olhando novamente para esse arquivo você já deve ter percebido um certo padrão de alinhamento entre os elementos desse arquivo perceba que o HTML está alinhado perfeit ente com
o seu fechamento assim como se eu declarar um if ele também vai ficar perfeitamente anado com a sua abertura e fechamento e não se preocupe caso não conheça o if ainda a gente vai ver sobre essa estrutura mais adiante mas Note que o padrão ainda se mantém na verdade isso que a gente tá fazendo é definindo um contexto no nosso código e na programação chamamos de formatação e identação de código e você precisa sim se atentar a isso para manter o código legível e bem estruturado mais para frente eu vou te mostrar bibliotecas que formatam
isso automaticamente quando o arquivo é Salv Mas não se preocupe Ainda com isso e se você já conhece alguma linguagem de programação sabe que é possível comentar código códigos comentados não são executados e no JavaScript a gente consegue comentar múltiplas linhas ou apenas uma linha e para comentar uma linha só é só usar barra barra para comentar múltiplas linhas a gente usa barra asterisco e na abertura e asteristico Barra no fechamento dessa forma bom e algo que a gente fala o tempo todo é de tipagens de dados e o JavaScript é uma linguagem que por
sua natureza é fracamente tipada ou seja ela vai tentar tentar converter em tempo real os dados baseados no valor que a variável recebe para você visualizar isso melhor veja o seguinte ao verificar o tipo dos seguintes valores o JavaScript vai dizer pra gente exatamente o que cada valor representa para ele então no nosso primeiro caso aqui usando o Type off eu consigo ver que o tipo para o valor um é Number o tipo para o valor bol é uma string e true é um boleano e agora Olhando um pouquinho mais sobre cada um desses tipos
primitivos a gente consegue ver que as Strings vão ser declar com aspas simples ou duplas e tá tudo bem no JavaScript ambas as formas são permitidas Mas é interessante que no seu projeto seja padronizado e assim como a identação aqui também Você pode usar ferramentas para fazer isso de forma automático como o s lint por exemplo e para o JavaScript o número um o e o número 1.5 são Number apesar de normalmente a gente chamar o um de um inteiro e 1.5 de float para o JavaScript é tudo a mesma coisa e os tipos booleanos
eles servem para definir valores verdadeiros ou falsos true e false mas claro você também pode fazer operadores de comparação que resultem neles mas isso a gente vai ver logo em seguida por exemplo um é igual igual igual a um tá então isso vai transformar em um tipo boleano também que é uma operação de comparação E esses são os tipos primitivos e claro assim Como toda sala de aula onde tem as estrelinhas e que são normalmente as que geram mais dores de cabeça no JavaScript não é diferente entre os tipos especiais a gente tem Infinite n
Number n undefine Object Array e Date o Infinite o nome já diz ele representa o valor do infinito então a gente consegue fazer aqui de uma forma forçada gerar esse número dividindo um por zero a gente vai conseguir forçar o resultado Infinite nora Number ou seja número não válido é Normalmente quando a gente não consegue fazer com que o javscript faça uma operação aritmética como um cálculo de uma string dividido por um número por exemplo no e undefine normalmente esses dois amiguinhos geram bastante confusão na cabecinha das pessoas que acham que é a mesma coisa
mas na verdade não é n é ausência de valor ou seja não há um valor definido e undefined significa que ele o JavaScript não conseguiu identificar o valor daquela determinada variável e agora eu acho um ótimo momento para eu lançar um questionamento me responde em 15 segundos no chat ou nos comentários porque quando eu digo nu é igual igual undefined o JavaScript me diz que é true ou seja diz que é verdadeiro se eu acabei de falar que são coisas diferentes bom isso acontece porque existe uma inferência de tipo que retorna que os dois valores
são sim inexistentes mas se eu adicionar mais um igual pedindo se eles são idênticos vai retornar que é falso Então já fica uma dica aqui sempre prefiro utilizar três iguais para fazer comparação de igualdade no JavaScript dessa forma você vai est garantindo que a sua comparação tá fazendo uma comparação de números idênticos ou de resultados idênticos E aí você vai tá muitos bugs no JavaScript os objetos são variáveis que eu posso dizer que elas são mais legais porque elas podem receber propriedades e se tornarem mais complexas e completas também por exemplo um objeto que representa
um carro eu vou ter algumas características eu vou ter o modelo o ano e a cor desse carro um objeto Ele não recebe só valores primitivos ele pode sim receber outros objetos e até a reis que a gente vai ver logo em seguida então eu consigo colocar um objeto dentro de um objeto e aí eu posso mudar o meu objeto original colocando as características como e modelo dentro de um outro objeto no objeto principal se ficou confuso fica calmo que daqui a pouco tudo vai fazer sentido na sua cabeça e os ar Reis são estruturas
bem complexas e amplamente utilizadas elas podem ter vários formatos usando dados primitivos e claro assim como os objetos elas também podem ter outros arris dentro de um arrei e objetos dentro da sua formatação também e sim os arris podem misturar tipos diferentes de dados e pode se tornar bem complexo dependendo da aplicação a rei gera um pouco de confusão pros novatos mas fica tranquilo que assim como os objetos ao longo do tempo vai começar a fazer bastante sentido na sua cabeça eles são estruturas bem maleáveis e fáceis de se usar o tipo date é o
pé no saco de todo o programador JavaScript dificilmente você vai usar os recursos nativos porque são horríveis no JavaScript normalmente você vai recorrer a alguma biblioteca de terceiro Mas de qualquer forma saiba que você pode capturar a data corrente declarando New date e até forçar datas específicas passando valores da data que você quer com como parâmetro por New date e até o momento eu apenas utilizei o console log para não confundir a sua cabecinha mas logicamente a gente não vai fazer isso normalmente na programação para isso a gente usa e abusa das variáveis e a
grosso modo variáveis são posições de memória que guardam valores no JavaScript declarando a palavra reservada var e seguido pelo um identificador eu já estou declarando uma variável e claro variáveis no JavaScript podem ser de todos os tipos que a gente viu anteriormente mas bar não é a única forma de declarar uma variel no JavaScript para falar a verdade ela é a menos utilizada e não recomendada atualmente conch e let são normalmente as formas que você vai ver e vai usar o let e o conch entraram no JavaScript nos es6 e para te segurar aqui até
o final dessa aula eu não vou apresentar elas agora você vai esperar um pouco e vai sim se aguentar até chegar nessa parte Aonde eu vou te apresentar esses recursos e outros recursos das novas versões mais recentes do JavaScript eu vou passar utilizar daqui paraa frente com chilet para te mostrar outros recursos né da linguagem que talvez fique uma ponta solta na sua cabeça mas é proposital e quando chegar lá tudo vai encaixar e eu prometo não vai prejudicar o seu aprendizado de forma alguma não saber a diferença explícita agora não vai prejudicar o seu
aprendizado eu preciso entrar um pouco mais a fundo na parte de ar reis porque assim como eu falei anteriormente essa é uma estrutura que você vai usar e abusar no JavaScript e para te trazer mais exemplos mais concretos Imagine que você tem uma agenda de contatos com nome telefone e eu já te mostrei uma estrutura muito boa para isso que é um objeto então para um contato um objeto seria mais ou menos assim um objeto com o nome Person onde tem name e o fone mas imagina agora se eu preciso adicionar outro contato na minha
lista uma alternativa seria duplicar esse objeto Mas e se eu tivesse 1000 2000 ou até mais contatos é inviável ficar replicando o código dessa forma é por isso que eu preciso de uma estrutura como um Array usando o Array eu consigo criar uma lista de contatos com n objeto e os arrays possuem características específicas e bem peculiares uma delas é que cada um desses valores dentro de um Array são demarcadas por posições e que eu posso acessar pelo seu índice no JavaScript na grande maioria das linguagens de programação essas posições iniciam do zero portanto eu
consigo acessar os valores do meu primeiro objeto eu consigo acessar o meu primeiro objeto do arrei dessa forma e eu posso ir além eu consigo acessar os atributos do objeto de cada um deles também bom E aqui tá fácil porque o meu objeto tá controlado mas Digamos que eu tenho um arrei com 1000 objetos como eu poderia descobrir qual é o último elemento desse arrei 10 segundos para você me responder no chat ou nos comentários bom e acertou quem falou que ela em men1 Esse é o método que retorna a quantidade de elementos de um
arrei mas não basta isso porque lembra que o arrei começa em zero então o total de elementos não será a última posição do arrei por isso eu preciso do men1 Então dessa forma eu consigo acessar especificamente o último elemento do meu arrei e como a gente tá falando de arris é um ótimo momento para introduzir as estruturas de repetição e ao Contrário de outras linguagens que realmente simplificam as coisas colocando apenas um laço de repetição o JavaScript gosta de complicar as coisas então ele não tem só um mas tem cinco formas e Dependendo da forma
que você considerar as opções pode ser três Tá mas bora ver cada uma delas nós vamos voltar a falar mais sobre o fluxo de execução de código do JavaScript quando a gente for falar de ciclo de vida mas na sua essência uma estrutura de repetição é basicamente um contexto ou seja um trecho de código que vai repetir diversas vezes até que uma cláusula seja atendida Eu ainda não te apresentei as estruturas condicionais mas eu vou usar apenas duas para simplificar as coisas aqui que é a comparação a igualdade no caso e os sinais de menor
e igual e já vai ficar bem claro quando eu te apresentar os códigos Fica tranquilo e tranquila bom a primeira estrutura de repetição é o while que o seu nome já diz especificamente o que é que é enquanto uma condição for verdadeiro repita um código e vamos usar o mesmo arre de antes para mostrar o resultado na tela conforme o io vai percorrendo Note que cada vez que eu percorro esse laço de repetição eu tô incrementando o meu índice em um bom agora que você entendeu Como o Wi funciona Espero que sim né Deve ter
notado que para usar o aio eu preciso criar um contador e controlar ele manualmente e a estrutura do for é um pouco diferente do a o i espera apenas um argumento aqui no Force são três argumentos esperados separadas por ponto e vírgula na primeira parte nós declaramos a variável de controle na segunda a condição e na última parte o incremento bom e se você estiver assistindo essa aula depois da sua estreia no YouTube ou na plataforma bolzon pausa agora por alguns minutos e faz o teste de mesa para fixar ainda mais os conceitos do laço
de repetição e Lembra que eu te comentei que Dependendo da forma como você interpretar as divisões dos laços poderiam ter cinco formas diferentes de fazê-los Então isso é porque o for tem mais duas variações que é o for off e o for in o usando o forof fica bem parecido com o que é antes só que com alguns argumentos a menos ou seja aqui eu não preciso controlar o índice porque eu nem preciso dele para acessar o valor porque a própria estrutura já transforma cada item no valor que está sendo percorrido na execução da sua
vez Note que o resultado será o mesmo que o anterior se ficou alguma dúvida repete o teste de mesa que não vai ficar eu tenho certeza bom e a lógica do forin é a mesma que do off porém com ele eu consigo iterar sobre um objeto então seguindo o meu exemplo anterior eu poderia complicar um pouco as coisas iterando o arrei e dentro da interação do arrei iterar os objetos desse arrei mas claro o retorno aqui será uma propriedade Então eu preciso sim acessar o valor usando essa propriedade E assim a gente vai ter o
mesmo resultado de anteriormente e finalmente o último laço de repetição que na verdade é o método do Array que é o map então usando o mesmo Array dos anteriores a gente consegue acessar de uma forma muito mais simplificada e não é à toa que normalmente ess será a forma que você vai usar no seu dia a dia mas sim ela tem alguns problemas Quando é usado com operações assíncronas Mas isso é um assunto que a gente vai ver mais pra frente e para fechar esse monte de sintaxe que eu tô te ensinando que o chat
GPT te ensina muito melhor Bora dar uma olhada geral nas estruturas de comparação para fechar essa parte na aula um e na aula dois eu falei de estruturas de comparação como o if e o else e assim como no Python e na grande maioria das linguagens de programação elas estão presentes aqui no JavaScript também neste caso a gente vai testar se o um é maior que dois se for a mensagem correspondente será exibida se não será exibida a mensagem do Bloco do Else no JavaScript a gente também tem o else if então neste caso novamente
o código do else será exibido mas Note que ele só será exibido porque o if e o else if anteriormente falharam senão o else não seria executado bom e agora uma última estrutura muito útil é o Switch para exemplificar eu criei uma espécie de sinaleira aqui um semáforo né coloquei uma cláusula que de acordo com o valor da variável definida o valor exibido irá mudar quando for dois irá cair no primeiro Case três no segundo e qualquer outro valor será exibido no no último bloco bom então fica até um exemplo legal aqui pra gente ver
de acordo com as mudanças que eu vou fazer na minha variável vai mudando o código do console que é executado e agora sim você está pronto para entender mais sobre a história das versões de Java script e claro conhecer as features mais recentes dessa linguagem acho que é algo de extrema importância além de saber tudo sobre a questão de versões do JavaScript do ecman script né é a gente entender como que surgiu essa linguagem para isso a gente precisa falar de uma figura muito importante pra linguagem que é o bradon a ele é o pai
do eckman script ele foi contratado pela Netscape em 1995 para desenvolver uma funcionalidade dentro do Netscape no início seria utilizando uma linguagem de programação chamada esima que é baseada em nisp era uma linguagem ali que o braden tinha bastante conhecimento porém é uma linguagem bem complexa e acabou sendo deixada de lado né porque uma das premissas é que essa linguagem utilizada dentro do navegador fosse de fácil manutenção que fosse uma linguagem fácil também para que novos desenvolvedores pudessem e interagir e desenvolver novas funcionalidades dentro do próprio Netscape E aí reza lenda que em apenas 10
dias nasceu ecm script com a premissa de ser essa linguagem mais eficiente e aí em 97 a Netscape submeteu o JavaScript para ecman International para criar uma especificação para que outros desenvolvedores de navegadores pudessem implementar Com base no trabalho que já foi feito pela Netscape E aí foi fundado né A primeira Norma a ecma 262 em junho de 97 surgindo assim o ecman script 1 o S1 essa é uma especificação que foi construída graças à formação de um comitê conhecido como tc39 que é composto por pessoas e empresas com muito interesse na linguagem que geralmente
trabalham diretamente com navegadores como é o caso de Google Apple Microsoft entre outras as próximas versões surgiram nos anos seguintes o S2 em 98 es3 em 99 es5 em 2009 opa Mas cadê o S4 ao longo de um período de 10 anos longos 10 anos houve uma separação dentro desse grupo tc39 Onde parte do grupo foi trabalhar em uma versão e outra parte foi trabalhar em outra versão essas versões elas tinham premissas um pouco diferentes entre elas um grupo que era conhecido da versão 3.1 trabalhava em funcionalidades menores e com menos Impacto agora o grupo
da versão 4 era um pouco mais ambicioso e tava desenvolvendo funcionalidades mais modernas funcionalidades novas aconteceu que essas duas versões ficaram compatíveis e ficou impossível realizar um merge entre essas duas versões depois de tanta discussão em busca de um rumo e a definição né de qual seria a próxima versão o tc39 que era o grupo acabou rejeitando essas versões nenhuma era boa o suficiente pro seu lançamento e aconteceu então que a versão es5 foi lançada com algumas funcionalidades na versão 3.1 e a grande maioria das funcionalidades inovadoras da versão 4 acabaram saindo em versões posteriores
Como foi o caso do S6 então o S6 tinha muita coisa que estava guardada lá desde a versão 4 e que só foi implementado mais futuramente finalmente em 17 de junho de 2015 chegou o tão conhecido es6 também chamado aí de ecman script 2015 diferente das versões anteriores o es6 trouxe uma mudança muito grande pro JavaScript desde a sua criação e sem dúvidas Essa é a versão mais famosa e popular da linguagem foi quando milhares de frameworks começaram a surgir todos os dias trazendo então a linguagem para rank das mais populares do mundo com o
S6 chegaram recursos bem conhecidos como aon functions classes mappers setters destructors template literals spread operators generators Promises modules entre outros posteriormente chegou o s7 em 2016 o S8 em 2017 E aí a gente já começa a ver um novo padrão depois do es6 as versões começaram a ser anuais Graças aos aprendizados obtidos ali com as versões grandes que foram A5 e A6 E aí com esse aprendizado foi decidido dentro do grupo que as versões seriam lançadas anualmente com aquelas funcionalidades que já estivessem prontas pro lançamento Vale lembrar que a definição de pronto no caso das
versões do JavaScript deve passar por quatro estágios sendo o estágio zero o estágio Inicial E aí conforme vai avançando até chegar no estágio quatro que é o que define se a funcionalidade já está apta ou não pro seu lançamento uma observação extremamente importante se você quiser testar versões mais atuais Fique ligado com compatibilidade dos navegadores utilize um transpile ou qualquer outra conversão de código para que o seu código fique compat com as versões do navegador visto que os navegadores às vezes demoram um pouco mais para implementar as suas funcionalidades mais recent do JavaScript eu refleti
bastante como seria essa aula e como eu ensinaria o JavaScript porque essa é uma linguagem relativamente antiga e diferente de muitas outras que simplesmente lançam coisas novas e deixam as antigas de lado aqui existem muitas formas de fazer a mesma coisa mas é claro nem tudo que tá disponível na linguagem deve ser usado essa é sim uma característica do JavaScript e é importante para que os navegadores continuem compatíveis com a linguagem eu acabei de te dar uma visão geral sobre as versões dessa linguagem porque elas irão guiar todo o nosso aprendizado durante essa aula eu
vou te mostrar as principais funcionalidades ao longo das versões e assim será muito mais fácil eu te apresentar os recursos mais atualizados e usados atualmente é importante que você tenha o máximo de conteúdo possível mas eu não acho relevante ensinar 10 formas de fazer a mesma coisa até porque as versões que realmente tornaram JavaScript o que ele é atualmente foram as versões 5 e se elas introduziram novos recursos que são muito Poderosas e tornaram a codificação muito mais amigável prazerosa e elegante a maioria dos códigos que você verá ao longo da sua carreira usarão os
recursos dessas versões ou de versões mais atuais se você prestou atenção até agora já deve estar com uma pulga atrás da orelha eu falei que as versões mais novas provavelmente não seriam compatíveis com os navegadores e que seria necessário um compilador e eu não poderia deixar de mencionar o mais famoso e o promissor deles o Babel graças a ele noss programadores JavaScript conseguimos nos libertar de código legado e usar as funcionalidades mais recentes da plataforma e o que tem de tão mágico nisso Olha esse exemplo eu Já ensinei funções na aula 1 em Python e
aqui em JavaScript é muito parecido por mais que pareça estranho para alguns no lado esquerdo é uma função uma aon function um recurso disponível a partir do ecma script 6 e do lado direito está o resultado após o Babel fazer o o seu trabalho resumidamente ele pega uma versão de código que não é compatível nativamente com todos os navegadores e torna esse código compatível com todos eles graças a essa ferramenta e outras como ela a gente consegue escrever códigos em javscript após as versões 5 e se que se tornou muito mais divertido e não é
à toa que essa são as versões que trouxeram jav Street para os H of FS tornaram essa linguagem uma das mais populares no mundo todo e vamos conhecer a partir de agora mais alguns dos recursos que essas versões trouxeram pra gente variáveis na aula um Eu também já falei delas no JavaScript a forma mais comum de declarar uma variável era usando a palavra reservada var mas nessas versões 5 e se o let e o conch surgiram entre as principais diferenças entre elas está o escopo Digamos que você tem uma conch name com o nome valor
Bolt e uma variável let chamada age com o valor 28 que é a minha idade na idade se eu mudar o Esopo Global eu consigo mudar o valor mas o nome que foi declarado como conch ao tentar modificar o valor inser eu vou receber um erro de atribuição Isso significa que uma constante não pode receber outro valor Além do valor original portanto não pode ser atualizado e qual usar de maneira geral sempre prefira utilizar conche se por algum motivo precisar alterar o valor Aí sim você troca para let comece pelo restrito e vai deixando mais
aberto o contexto conforme necessário e o var simplesmente esqueça você dificilmente vai utilizar atualmente ainda com essas características algumas coisas mudam sim em constante como um objeto por exemplo claro eu não consigo declarar um objeto dessa forma e alterar ele para uma string porém eu consigo sim mudar as propriedades dele aproveitando ainda os objetos deixe-me te apresentar outro recurso muito legal que são as desestruturação de objetos normalmente para acessar valores eu deveria fazer da seguinte forma com esse recurso de maneira simplificada Eu consigo fazer assim ou seja utilizando a desestruturação de objetos fica muito mais
fácil conseguir acessar as propriedades de um objeto você vai concordar comigo que esse código é realmente muito mais simples e elegante também não posso deixar de mencionar que existem outras formas de declarar as propriedades de um objeto basta colocar um con chete seguindo por aspas a vantagem desse método é que você pode ter propriedades dinâmicas como por exemplo usar variáveis e até fazer operações aritm na própria propriedade do objeto outro recurso que também deixa o código muito mais limpo são as templates Strings normalmente no JavaScript em outras linguagens quando a gente vai concatenar uma string
ou seja pegar um parte de uma string concatenar com uma variável para formar uma string final né uma string de dinâmica né que tem uma propriedade no meio geralmente a gente usa um operador aritmético como a de soma para fazer uma concatenação mas utilizando o template string eu posso substituir isso por por uma crase e utilizar também ali um cifrão seguido de Chaves que eu consigo ter o mesmo resultado também deixando um código muito mais elegante e para fechar essa parte Bora conhecer uma mudança muito Sutil mas que eu particularmente acho que deixou o código
em JavaScript muito mais elegante que foram as Zon funion ao invés de ficar escr esr vendo funções da seguinte forma agora a gente pode utilizar a Zon functions ou seja o código fica muito mais simplificado e dessa forma também fica muito mais fácil declarar funções de forma simplificada E claro também posso utilizar as chaves caso necessário para fazer uma função muito mais complexa com mais linhas e tudo mais e agora você vai concordar comigo que sim algumas mudanças são sutis mas que deixar o código muito mais elegante muito mais funcional muito mais limpo e no
dia a dia realmente faz grande diferença no dia a dia conforme a gente vai aplicando todas essas mudanças e nas próximas partes a gente vai ver daqui a pouco as outras mudanças que vieram nas próximas versões do JavaScript Seguindo a linha de voltar no tempo analisando as features do JavaScript ao longo dos anos vamos voltar para o ano de 2016 ano que o s7 foi lançado diferente dos seus antecessores O s5 e o 6 o s7 trouxe Poucas novidades para ser mais exato apenas duas e vamos dar uma olhada agora em ambas em JavaScript a
essa altura você já deve saber como declarar um arrei basta declarar uma concha e atribuir os valores dessa forma como eu posso descobrir se um determinado carro está presente nesse arrei bom existe algumas formas eu poderia percorrer esse arrei passando por cada um dos elementos testando se ele é o valor que eu estou buscando dessa forma porém Nessa versão o método includes foi adicionado dessa forma eu posso substituir o código pelo seguinte o método includes também vale para string Já que no JavaScript toda string é considerada uma arrei portanto dado uma string eu consigo buscar
se ela contém uma determinada da letra e outra adição dessa versão foi o operador exponencial Digamos que eu precise de uma função que Calcule os quadrados de um determinado número eu posso fazer da seguinte forma assim eu estou declarando uma função uma Eron function como aprendemos anteriormente e fazendo a potência de dois basta chamar a função passando como parâmetro o valor que eu quero e será elevado ao quadrado assim teremos o resultado esperado na sequência veremos as outras novidades das demais versões Seguindo a linha de volta no tempo analisando as features do JavaScript ao longo
dos anos vamos voltar para o ano de 2016 ano que o s7 foi lançado diferente do seus antecessores O s5 e o 6 o s7 trouxe Poucas novidades para ser mais exato apenas duas e vamos dar uma olhada agora em ambas em JavaScript a essa altura você já deve saber como declarar um arrei basta declarar uma concha e atribuir os valores dessa forma como eu posso descobrir se um determinado carro está presente nesse arrei bom existe algumas formas eu poderia percorrer esse arrei passando por cada um dos elementos testando se ele é o valor que
eu estou buscando dessa forma porém Nessa versão o método includes foi adicionado dessa forma eu posso substituir o código pelo seguinte o método includes também vale para string Já que no JavaScript toda string é considerada uma Rei portanto dado uma string eu consigo buscar se ela contém uma determinada letra e outra edição dessa versão foi o operador exponencial Digamos que eu precise de uma função que Calcule os quadrados de um determinado número eu posso fazer da seguinte forma assim eu estou declarando uma função uma Eron function como aprendemos anteriormente e fazendo a potência de dois
basta chamar a função passando como parâmetro o valor que eu quero e será elevado ao quadrado assim teremos o resultado esperado na sequência veremos as outras novidades das demais versões para começar deixa eu te falar o seguinte sim o S6 tem mais novidades quando comparado com o s7 mas logicamente muito menos quando comparado com o S6 e o es5 na verdade muito provavelmente nunca mais a gente terá versões tão grandes como essas e o motivo Você já viu Nessa aula mas bora ver algumas das novidades dessa versão pad start e pad end Essas são duas
adições que eu confesso nunca ter usado mas eu estou mostrando aqui mais como curiosidade basicamente dado uma string você consegue encer espaços no início de uma string usando pad start e claro usando pad end O resultado é o mesmo porém esses espaços são adicionados ao final agora saindo de algo que não é tão útil e passando para algo que é realmente útil conheça Object value e Object entries Eles são muito úteis porque antes quando a gente tinha um objeto como esse Digamos que eu precisasse percorrer esse objeto anteriormente seria necessário fazer algo como isso eu
deveria pegar as kys desse objeto fazer um forit E aí eu conseguiria sim obter os valores desse meu objeto porém com os recursos mais novos agora a gente consegue fazer um Object values e o resultado será o mesmo e aí eu não preciso usar o Object ke nesse caso Ok mas o resultado ainda tá bem diferente do primeiro Bolt não tem problema usando o Object entries o resultado será muito semelhante com o primeiro e com ele a gente consegue melhor manipular os valores transformando em um arrei esse objeto dessa forma e Lembra que eu falei
que o S8 é grande ué mas cadê o resto então bom tem algo que é muito importante que saiu Nessa versão que foi a SN a88 e a Gente terá uma sessão especial sobre isso que inclusive recebeu muitas melhorias no s9 também mas esse será um tópico que pode ser um pouco complexo principalmente para quem tá no início do JavaScript Então vamos parar por aqui de falar de versões pelo menos por enquanto e vamos entrar nesse assunto de extrema importância no JavaScript e que é fundamental para você entender ain a wate que é o JavaScript
assíncrono Antes de mostrar o assn a weight que é uma feature realmente incrível é importante a gente entender como a gente chegou até aqui e como tudo no JavaScript assin wage não passa de melhorias e novas formas de fazer algo que já existia eu preciso te explicar então sobre Promises e callback functions Promises assustam muita gente mas a grande verdade é que é simples na real elas não passam de uma apresentação do que é uma promessa na vida real por exemplo eu posso ter prometido dessa ser a melhor aula de JavaScript que você já assistiu
essa promessa pode ter dois resultados ela pode ser cumprida ou seja ela pode ter um resolve ou uma falha um rejet Se eu entregar a melhor aula de todos os tempos sobre JavaScript eu teri cumprido a minha promessa mas se eu não conseguir a promessa será rejeitada no JavaScript muitas operações são assíncronas Isso significa que elas não bloqueiam a execução do código enquanto esperam por uma resposta operações de chamadas de apis leituras e escrita de arquivos que acessam a banco de dados são bons exemplos de operações assíncronas antes da chegada das Promises a única maneira
de lidar com essas operações era passando uma função de callback para ser executada quando a operação fosse concluída nós já falamos bastante sobre funções e elas não devem ser nenhuma novidade mais a essa altura para você mas as funções com callbacks talvez sejam mas assim não é nenhum Bicho de Sete Cabeças não a declaração é a mesma coisa a diferença é que no parâmetro da função nós vamos receber outra função para exemplificar o no caso de uma função assíncrona eu vou colocar um time out que vai atrasar um pouco a nossa resposta da função de
teste A grande diferença é que na chamada dessa função a gente vai passar outra função com dois parâmetros o primeiro parâmetro será o caso de erro e o segundo será o resultado de sucesso bom e até aqui eu espero que esteja tudo bem certo você tá entendendo Caso não esteja por favor se estiver no YouTube me deixa aí no chat se você estiver assistindo com essa aula ao vivo comigo Deixa aí a sua dúvida ou se você estiver assistindo pela plataforma ou assistindo a gravação dessa aula depois deixa nos comentários que eu vou ter o
prazer de te ajudar também e o grande problema de trabalhar dessa forma com funções assíncronas é quando as respostas precisam ser encadeadas Inclusive a gente tem um nome para isso que são as callback Hell ou pirâmide of Doom sim é coisa do inferno porque a coisa realmente começa a ficar estranha veja só esses exemplos bom e com o surgimento das Promises foi uma grande melhoria já e claro com assim que a weight Melhorou mais ainda e com o surgimento das Promises já foi sim uma grande melhoria vamos fazer o seguinte vamos pegar aquela função Inicial
aonde a gente tem um timeout né que a atrasa um pouco a nossa resposta Vamos colocar agora uma Promise nela tá ela será muito parecida como era antes a grande diferença é que não irá mais receber a função de callback como parâmetro e o seu retorno terá essa Promise e a forma de consumi-la é um pouquinho diferente porque agora a gente introduziu dois novos personagens o den e o catch Então eu preciso fazer algumas mudanças na hora de consumir essa função mas o resultado eu acho que ficou até muito mais fácil de entender né pelo
menos para mim bom e apesar desse caso não parecer muito grande e não ter muitos grandes ganhos né se a gente tiver o olhando para funções maiores como esse exemplo aqui caramba aí na hora de consumir Com certeza o consumo vai ficar muito melhor bom e agora a gente já pode conhecer então o ay e o A8 eu já comentei sobre algumas novidades do es8 mas sem dúvidas as melhorias relacionadas ao código assíncrono no JavaScript com o uso do ass A8 são as mais conhecidas e relevantes algumas das melhorias que foram trazidas com essa adição
foi legibilidade e manutenção porque o código fica muito mais parecido com o síncrono o que facilita bastante a leitura e a manutenção o tratamento de erros foi simplificado com o uso do try Cat a redução do callback H foi eliminada praticamente por completo né então a gente consegue at um código muito mais claro e organizado vamos a alguns exemplos aqui lembra da nossa função vamos voltar com ela aqui aonde a gente tem lá a nossa Promise que demora um pouquinho para responder pois bem o assinle weit aqui nesse exemplo para simular a função assíncrona não
vai alterar essa função de exemplo que a gente tá usando aqui para trasar a nossa resposta mas vai alterar bastante a forma como a gente consome ela ao invés de usar o Dan e o cat eu vou fazer o seguinte eu vou declarar uma outra função e colocar na sua declaração a palavra reservada a na chamada da função aonde eu retorno uma Promise eu vou usar a palavra reservada a eit dessa forma eu vou isolar esse contexto de código com um try Cat o cat irá ser chamado sempre que a função der um erro caso
ela for rejeitada caso contrário o resultado será exibido dentro do Bloco do try isso vai eliminar totalmente o nosso caso de callback real também a gente consegue evitar o aliamento profundo de funções escrevendo um código de forma mais linear e f fácil de entender nesse exemplo cada função cujo retorno é uma Promise irá respeitar a ordem de chamada aguardando o retorno da anterior e o erro também vai ser Unificado no catch eu acho que ficou claro que todas essas abordagens tanto a questão do callback nas funções como as Promises e o A8 todas elas trabalham
com o mesmo objetivo melhorar e tratar a questão do JavaScript assíncrono porém cada evolução trouxe algumas melhorias né e assim é muito no JavaScript né Cada adição sempre se preocupa em trazer melhorias na forma com a gente cons os recursos deixando o código mais legível mais fácil de dar manutenção bom e agora eu vou Encerrando por aqui os conteúdos de JavaScript Sim eu sei que teriam muitos outros recursos e muitas coisas para eu falar sobre as versões até mais recentes do JavaScript eu sei que eu não falei muito também de orientação objetos não falei de
programação funcional não me aprofundei em assuntos mais profundos e específicos do JavaScript também Mas sinceramente seria muito impossível e seria massante também eu me aprofundar Ainda mais nesses conteúdos porque aqui o objetivo era eu trazer uma visão Geral das funcionalidades da evolução do javscript é a explicação né da snta básica trazendo também a evolução das principais eh versões né do ecman script também e Demorou mais de um mês para eu produzir o conteúdo dessa forma rico em detalhes eh da forma como eu tentei explicar eu me preocupei em explicar da forma mais mastigada e simples
possível para que você pudesse acompanhar independente do seu nível de conhecimento do seu se você nunca tivesse visto o JavaScript é ainda assim é a minha esperança é que você pudesse acompanhar essa aula e eu espero que eu tenha alcançado esse meu objetivo então eu sei que ainda é pouco e eu sei que tem muita coisa para eu ensinar sobre javscript porque essa é uma linguagem com muitos anos mas se vocês quiserem eu continuo Tá mas para que isso aconteça eu preciso do seguinte se você tá na plataforma da comunidade bouti Zão comenta em todas
as aulas todas as aulas de JavaScript pedindo mais conteúdo sobre essa linguagem avalia também para eu saber que é do seu interesse esse assunto e se você estiver no YouTube comenta qualquer coisa mas se você quer conteúdo sobre JavaScript comenta es assim eu vou saber que esse assunto é do seu interesse e que eu posso assim continuar que vai ter gente assistindo e para encerrar essa aula como de costume eu vou responder a algumas perguntas que vocês me mandaram nos formulários que eu envio com antecedência bom e dessa vez eu selecionei algumas perguntas lá dos
primeiros formulários que eu enviei Já faz alguns meses eu selecionei algumas perguntas interessantes né que eu joguei interessantes e um pouco diferentes dessa vez uma pergunta que fizeram eu achei bem curiosa né Você acredita que qualquer pessoa consegue ser um bom profissional sem possuir uma paixão pela tecnologia e para responder isso eu vou devolver com outra pergunta você acha que um jogador de futebol consegue ter sucesso jogando futebol sem ter paixão pelo futebol Cara eu acho muito difícil porque imagina que você vai ter que levantar todos os dias e fazer algo que você que você
não é aficcionado por aquilo sabe que você não tem é tesão realmente para fazer para estudar se dedicar e a programação a tecnologia como um todo você vai ter que estar o tempo todo estudando se preparando buscando conhecimento você nunca vai saber o suficiente todo dia tem coisa nova tá surgindo coisa nova então não tem como você continuar motivado fazendo e estudando algo que você não gosta entendeu depende né essa pergunta ela é um pouco subjetiva pode gostar de programar mas ela não gosta de hardware eu sou essa pessoa eu não gosto de hardware o
melhor hardware é aquele que eu simplesmente ligo o computador e instalo o que eu preciso para programar e sigo minha vida Eu odeio ficar montando o computador e ficar me preocupando em tendo que incrementar o computador para ele funcionar melhor essas coisas eu não tenho saco para isso então se a pergunta é nesse sentido não você não precisa ser apaixonado por tecnologia mas é de novo né você também tem que gostar daquilo senão vai ser um fardo todo dia acordar e estudar não sei se deu para entender mas é é o que eu penso sobre
isso tem uma pergunta aqui que todo dia as pessoas me fazem e Eu me faço também por que divulgar esse conhecimento de forma gratuita caramba olha só é quando surgiu esse projeto eu tinha um objetivo né que era montar uma comunidade de pessoas com interesse em aprender programação mas não assim com uma trilha muito específica assim ah por exemplo eu vejo que os cursos de programação Elas têm um um foco muito direcionado assim né geralmente a pessoa vai lá e cria um curso de JavaScript E aí a pessoa vai lá e compra aquele curso aprende
lá o JavaScript a sín taxe do JavaScript e beleza faz alguns projetos com aquele negócio lá e deu tá só que cara normalmente você aprende isso e na hora de usar muitas vezes aquilo não serve de nada sabe porque a realidade né do dia a dia Muitas vezes ela não ela ela não é assim não tem um uma trilha bem definida assim eu não posso chegar aqui e dizer Nossa estuda isso aquilo que que que deu acabou é o necessário a minha proposta com a comunidade bolzinho né que é essa parte Aonde eu libero esses
conteúdos de graça aqui no YouTube eh e ante esses conteúdos na comunidade bolão que é a comunidade privada onde quem paga tem acesso antecipado a esse conteúdo também tenha uma aula de tira dúvidas comigo o meu objetivo com essas pessoas tanto no YouTube quanto as pessoas que têm acesso essa comunidade privada é não fazer as pessoas se tornarem e especialistas ou e se tornarem e aptas para trabalhar com apenas JavaScript apenas Java Não eu quero que essas pessoas elas tenham a capacidade de se tornar pensadores tá eu acho que a faculdade ela tem muito esse
papel na faculdade a gente aprende muitos conceitos só que de uma forma muito arrastada muito demorada eu levei 4 anos e meio para me formar e eu tenho a capacidade hoje de ensinar isso de uma forma muito mais rápida muito mais mastigada e PR as pessoas de uma forma muito mais simplificada o mesma coisa que eu aprendi na faculdade tá com ilustrações com uma edição dinâmica Então o meu objetivo com esse tipo de conteúdo É de fato entregar esse conteúdo de graça no YouTube tá de uma forma muito mais mastigada pras pessoas e a comunidade
ela serve muito mais como pessoas que acreditam nesse projeto pessoas que querem querem investir nessa minha ideia né e querem financiar de alguma forma porque cara eu gasto muito tempo eu perco muito tempo tanto que essa aula de JavaScript ela me levou dois ou três meses para eu conseguir finalizar porque tava apertado no trabalho não consegui dedicar muito tempo para fazer então demorou paraa caramba para sair e não ficou 100% como eu gostaria eu gostaria de ter trazido mais coisas ainda mas demora tá demora porque eu tenho que preparar o conteúdo eu tenho que editar
mas eu não vou desistir tá Às vezes eu penso em desistir mas o meu objetivo aqui é trazer esse conteúdo de uma forma mastigada uma forma um conteúdo complexo né aprofundar muito mais as coisas formar pensadores pessoas que pensam de verdade sobre aquilo de uma forma muito mais fácil de entender muito mais rápida também do que uma faculdade por exemplo e é isso cara O porquê disso de fazer de graça Cara não sei eu quero fazer algo útil da minha vida alguma vez né porque assim eu quero retribuir um pouco do conteúdo que eu recebi
um pouco retribuí um pouco do conhecimento que eu adquiri é de graça na internet também e não sei é a minha forma de retribuir de alguma forma e e as pessoas que que que TM o interesse também de ajudar financeiramente sintam-se à vontade aí fazer parte da comunidade bozão em breve eu vou est fazendo algumas trazendo algumas novidades aí pras comunidade também aqui temu uma pergunta muito interessante que é como é programar em um emprego real Olha eu vou dizer que o que você menos faz é programar tá pelo menos em um nível mais avançado
assim digamos quando você já tá ali Senior Tech Lead al coisa assim o que você menos vai fazer é programar e isso é é chato né porque a gente gosta de programar tem que gostar né a gente é programador na Essência e é o que a gente menos faz a gente passa mais tempo às vezes em reunião mais tempo planejando que a gente tem que desenvolver entendendo que o produto quer que a gente quer que a gente entendendo o que a área de produto quer que a gente entregue e descobrindo Como qual a tecnologia qual
arquitetura a gente vai entregar muitos lugares pedem muita documentação então a gente passa mais tempo às vezes planejando do que codando de verdade então o mundo real ele é muito diferente do que os cursinhos e o que eu mesmo mostro aqui no YouTube mas claro que a parte técnica a gente precisa ter porque é a parte que a gente vai entregar né valor mesmo que a gente realmente entrega valor e é para isso que a gente é pago mas no final do dia é o que a gente menos faz infelizmente e felizmente também né porque
é por isso que a gente ainda tem trabalho né porque se fosse só codar a Talvez as inteligências artificiais já teriam tirado o nosso trabalho né então a gente tem um papel muito mais de pensar organizar as ideias para depois desenvolver o produto né então acho que a vida real mesmo é um pouco disso é a gente pensar estruturar documentar e aí só depois desenvolver e resolver bug né é isso ó tem umas perguntas aqui sobre emprego e tal como se destacar no mercado eu vou fazer o seguinte eu vou deixar aqui na descrição alguns
vídeos do meu outro canal do canal do Bolt né que é o canal maior lá tem alguns vídeos que eu falo sobre emprego tem um lá que eu mostro inclusive vários sites de onde encontrar vagas e então vou deixar o link fixado aí também bom e PR encerrar uma perguntinha aqui não é tão interessante mas mas é bem objetiva tu curte PGP cara então PHP pagou minhas contas PHP me abriu portas por muitos anos eu trabalhei PHP sei lá por uns 5 anos talvez trabalhando em agências né fazendo site cheguei a trabalhar com WordPress também
Deus me livre não quero mais é é trabalhei muito com laravel uma maravilha Muito bom e e eu sei que o laravel tem muita novidade recentemente tem muita feature legal muito recurso legal que eu infelizmente não consegui tempo para estudar para aprender mas eu tenho muito interesse de voltar a estudar um pouquinho de PGP porque o PHP ele é muito fácil de fazer as coisas assim né E e aí tem que tomar um cuidado porque quando a gente fala que é fácil é difícil escrever um um código PHP bem escrito Tá mas com o laravel
né com Framework e todo o ecossistema do laravel é muito fácil construir as coisas e sair do absoluto zero e entregar algo funcional bem escrito bem feito muito rápido então eu quero realmente tirar um tempo para estudar esses recursos novos me iterar mesmo das novidades do PHP por dois objetivos o primeiro eu quero sim gravar conteúdo então provavelmente a gente vai ter uma aula como essa de PHP no futuro e aí provavelmente eu já vou trazer o áb junto e também porque nos projetos pessoais que eu tenho que eu vou construindo eu quero voltar a
utilizar PHP porque é muito mais fácil manter muito mais fácil construir as coisas no PHP então por isso cara eu gosto de PHP e tem muito preconceito mas eu gosto e assim que der eu quero voltar a mexer com ele com certeza bom então é isso tá separei essas perguntinhas e a gente vai Encerrando por aqui agradeço por todos que acompanharam ao vivo comigo no YouTube Lembrando que a promessa é que essas aulas saem sempre na primeira semana de todos os meses mas a gente ficou aí dois meses sem ter aula infelizmente peço desculpa eu
vou fazer o possív para que isso não se repita para que a gente consiga ter aula todos os meses nem que essas aulas fiquem um pouco menores né Fique atento também aí aos grupos né da comunidade botzin que é essa comunidade de graça ativa aí essa notificação do canal e fique ligado aí também pros próximos vídeos valeu e a gente vai Encerrando por aqui até a próxima aula
Copyright © 2024. Made with ♥ in London by YTScribe.com