precisa nem pedir para curtir o vídeo, poucos minutos de vídeo, já pausei pra curtir o conteúdo por conta própria, to consumindo muito Roger Melo no meu dia dia
Sou um entusiasta da área desde criança. Sempre programei a base de gambiarra. Mas por fim deicidi entrar na area. Lembrei do teu conteúdo e peguei para estudar suas aplicações e demais coisas em teu canal. Como sempre muito bom! Gosto da sua didática. Você esta de parabéns Roger! Gostaria de propor uma ideia de aplicação. Eu não saberia como fazer agora. A aplicação é este mesmo buscador, mas misturado com a aplicação da pokedex. Onde pode-se buscar por caracteristicas ou até pelo o nome do mesmo. Se não fizer, vou entender. E quando eu o fizer, te citarei como fonte de inspiração! Vlwww meu caro. Deus te abençoe imensamente!
Muito boa aula,gratificante das suas aulas, é que em parte também, além do super conteúdo explicativo,mesmo eu assistindo de um celular,eu vejo tudo muito bem,pois você,valoriza bem o zoom na tela, muito diferente de alguns canais aqui RUclips,nesse seguimento explicativo,onde mal posso ver o que digita os palestrantes. Está de parabéns seu canal pelo conteúdo. Gratidão sempre.🇺🇲🇧🇷🌲.
Roger conteúdo animal, algo fora do normal. Eu assisto conteúdo em Inglês chego a ver 3 e 4 vídeos para entender o que estão usando. Tu explica tudo detalhadamente, parece meu professor. Nível PROFISSIONAL. Obrigado Roger 😊
Tive um problema no uso do cors anywhere, quando eu clico no botão próximo, tenho como retorno o seguinte erro: app.js:106 GET cors-anywhere.herokuapp.com/api.deezer.com/search?limit=15&q=Misfits&index=15 429 (Too Many Requests) Tentei substituir o uso de cors anywhere por outro serviço, o AllOrigins usando 'api.allorigins.win/raw?url=/${url}', mas obtenho um array vazio como resposta. Poderia me ajudar a resolver o problema?
Primeira aula que participo por aqui. Queria agradecer pela transmissão de conhecimento e elogiar a maneira como você repassa isso pra gente. Apesar de estar meio no início da aprendizagem do JavaScript, do jeito que a aula foi construída com esse redirecionamentos para assuntos importantes enquanto íamos esbarrando neles ajudou a aplicar melhor cada coisa que ia aprendendo. Me bati um pouquinho ali com o cors pq levei um xingão do cors-anywhere, mas ajustei adicionando "liveServer.settings.port": 0, no settings.json do Live Server do VS fazendo com que minha porta fosse modificada randomicamente para testes. Pode ser que ajude alguém! Vou checar as próximas aulas também. Abraço!
Fico feliz que tenha ajudado, Luiz! Já se inscreveu na Semana do JavaScript? É um evento 100% gratuito que realizo para divulgar meus métodos de estudos. Vou deixar o link abaixo caso queira participar =) semanadojs.com.br/
Rogério Melo que aula incrível. Sou designer e fotógrafo e já trabalhei fazendo html e css para e-commerce, sou iniciante em programação, venho buscando cursos pagos e gratuitos para aprender a programar em JS e sem sucesso. Com suas explicações do pq usar cada coisa, eu consegui entender bem. Virei seu fã. PARABÉNS PELO ÓTIMO TRABALHO. QuerI deixar algumas sugestões para mesma aplicação: - Fazer a mesma aplicação em node usando MODULES - Fazer em frameworks - Fazer usando GraphQL - Usar banco de dados para guardar essas informações. - Pegar a imagem do album do artista. - Pegar o preview da música. A ideia é ir aprendendo todas essas tecnologias. Com a sua didática e conhecimento, você explica muito melhor do que uitos cursos que já comprei ou assisti, tenta usar essas sugestões que você terá conteúdo e seguidores infinitos. KkKkkkkk OBS: Compraria com certeza cursos feitos por vc. Se precisar de ajuda para alguma coisa, me coloco a disposição.
acha que da pra usar o atributo "preview" que vem pra colocar um player pra cada musica encontrada? vem essa url em cada musica contendo 30 segundos da musica, tava pensando em colocar um botão em cada uma de play/pause ..
Roger é normal e é bom, refazer varias vezes. Estou fazendo e vou refazer outras vezes, umas 6 vezes. Eu vejo falar muito do map, redux, mais nunca vi sendo usado de forma simples e sendo explicado o por q usar e onde usar.
Parabéns pelo vídeo. Muito bom além de fazer o projeto o melhor é a refatoração! A Trybe está contratando professores, seria bom ter você como professor lá. Da uma olhadinha.
Obrigado pela sugestão, Rafael. Não pretendo trabalhar como empregado novamente. O que faz meu coração cantar é estar no controle de executar minha missão. Minha missão: formar pessoas que constroem aplicações web com JavaScript puro.
@@RogerMelo é por isso que eu gosto desse canal. Javascript puro é top demais. Não sei como tem pessoas que desenvolvem em frameworks e não sabem javascript.
Pessoal, pra poder usar o proxy cors-anywhere tive que habilitar esse recurso temporariamente pro meu servidor local. Pra quem tiver com esse problema tbm é só colocar a url na barra de endereço do navegador e clicar no botão que aparecer.
Excelente conteúdo professor. Aprendi muito. SOu iniciante em JS. Uma dúvida: acredito que acrescentaram alguns detalhes nas letras das músicas na API. Por exemplo, todas as letras estão vindo com a primeira linha: "Paroles de la chanson Easy On Me par Adele", traduzindo algo como: "Letra de ..." Existe alguma maneira usando replace para eliminar a primeira linha no resultado da constante lyrics?
Olá, Roger! Esta é minha primeira aula assistida no seu canal, e achei simplesmente incrível. Sua didática é excelente, a melhor que vi até agora no youtube. Queria te agradecer por compartilhar conosco gratuitamente um conteúdo com tanta qualidade. Aprendi bastante com esta única aula, e me senti estimulado a implementar algumas features. Fiz um repositório citando o que eu implementei, e o que aprendi nesta aula. github.com/arimariojesus/Lyrics-Search Caso não tenha problema compartilhar o link aqui, espero que venha ajudar e estimular aos que venham a assistir essa excelente aula posteriormente a irem além. Já estou inscrito, e pronto para aprender mais por aqui. Grande abraço!
Oi Arimario! Bem-vindo =) Fico feliz que a aula tenha lhe ajudado. Parabéns pela aplicação, gostei muito dos globos espelhados 😄. Pode ficar à vontade e compartilhar quando quiser. O canal tem uma playlist de vídeos de aplicações com JavaScript puro. Vou deixar o link abaixo, caso queira treinar suas habilidades na linguagem =) ruclips.net/p/PLpSJMw6H4PFMOJHMULTxKNOEw7g1cBuyP
@@RogerMelo hahahah um pouco brega, mas é que sentir a vontade de aplicar um efeito de parallax, os disco balls foi a primeira coisa q veio à mente 😅. Obrigado, pode deixar. Ôpa, já deixei salva aqui, já já estarei praticando com eles não tenho dúvida de que irão me ajudar assim como este.
@@RogerMelo Muito obrigado! Um elogio desse é melhor que café pra estimular a continuar estudando😄. Pode deixar 😉. ..."Maratonando" seus vídeos e vendo os depoimentos dos alunos do CJRM, e morrendo de vontade de fazer este investimento, mas infelizmente não posso no momento. Espero poder investir e participar na próxima turma, achei o conteúdo e o "roadmap" excelentes!
Estava todo empolgado acompanhando essa aula, e recebo o seguinte retorno do fetch: Access to fetch at "url em questão" has been blocked by CORS policy. Descobri que incluir na chamada do fetch: , { mode: 'no-cors'} resolve o problema, mas ao tentar acessar recebo outra mensagem: net::ERR_ABORTED 503 (Service Unavailable). Parece que o serviço está indisponível para manutenção, ou para sempre, vai saber !!! Bom, o jeito é esperar retornar para continuar a lição.
Conteúdo top Roger. Eu não consegui seguir por conta que o site da api de lyrics api.lyrics.ovh está fora e não consegui encontrar outra api public para lyrics. Se puder dar um help?
Uma melhoria de lição para casa como desafio é tratar falta de retorno de dados da API (há casos em que nenhum dado é retornado sobre o autor da música ou sobre a letra da música, portanto, os dados não são carregados na tela ao pesquisar ou clicar para ver a letra da música).
Ótima aula! Só não consegui fazer funcionar o prev e o next com a url do heroku, não trás a nova requisição Failed to load resource: the server responded with a status of 403 (Forbidden) index.html:1 Uncaught (in promise) SyntaxError: Unexpected token S in JSON at position 0 Pesquisei, mas ainda não encontrei outra forma de fazer.
No meu também não estava funcionando mas no repositorio do cara tem um link para liberar o acesso CORS Anywhere apenas ao seu cliente. Só visitar: cors-anywhere.herokuapp.com/ e clique no botão "Solicitar acesso temporário ao servidor de demonstração" para restaurar temporariamente a funcionalidade completa do CORS Anywhere. Repositório: github.com/Rob--W/cors-anywhere/issues/301
aula boa p krl, a explicação já é maneira e ainda tem um cara com voz de locutor falando.. eu só tenho uma duvida, por que nos seus videos voce sempre tenta fazer com que um if nunca tenha um else dentro de uma funcao, voce sempre usa o return pra nao ter que colocar o else, qual o beneficio disso?
Aula top!!. Só tenho um dúvida, Roger. Nos seus testes em buscar a letra da música, acontecia de às vezes a API não trazer nenhuma letra? Pq comigo acontece de vez em quando.
Oi Ednaldo. O conteúdo no youtube não é organizado de forma sequencial. Um começo razoável é seguir o conteúdo do meu treinamento fechado: drive.google.com/file/d/1nBwUFtxbLZOZgcGDY1FROZZHVsRcu7Nn/view?usp=sharing E treinar seus conhecimentos com essa playlist: ruclips.net/p/PLpSJMw6H4PFMOJHMULTxKNOEw7g1cBuyP
Oi Ednaldo. Sim, dou todo o suporte e mentoria necessária aos meus alunos para que eles alcancem a fluência em JavaScript. As turmas do CJRM são abertas logo após a Semana do JavaScript, que é um evento que realizo para divulgar meus métodos de estudos e o treinamento. Ainda não sei quando farei a próxima edição da Semana do JS, mas continue acompanhando os vídeos para saber quando ela acontecerá =)
Valeu Michel! Já se inscreveu na Semana do JavaScript? É um evento 100% gratuito que realizo para divulgar meus métodos de estudos. Vou deixar o link abaixo caso queira participar =) semanadojs.com.br/
@@RogerMelo quando tinha o lyrics como objeto e depois usava o ponto eu entendi, mas aí desestruturou e separou a função, não consegui imaginar aquele dado sendo puxado pela api. E os outros parecidos, se tivesse desestruturado sem separar as funções eu até ia entender, mas quando separou me perdi, mas depois vou reler novamente.
Isso mesmo, Raphael. Releia e refaça até conseguir implementar sem precisar olhar o vídeo. Se quiser ver outros exemplos do destructuring em ação, pratique também com os vídeos abaixo: ruclips.net/video/htM6esStNo8/видео.html ruclips.net/video/jxg2N5iQiUs/видео.html
Oi Henrique. Testei aqui correu tudo bem com o request. Pode ter sido uma queda temporária. Tente executar o código abaixo no console dessa página ou em um arquivo .js: const url = `api.lyrics.ovh/suggest/matanza` const fetchSongs = async () => { const data = await (await fetch(url)).json() console.log(data) } fetchSongs() Não costumo deixar os códigos das aplicações disponíveis =)
Resolvi fazer junto. Quando vou exeutar o getMoreSongs, com aquela solução do CORS, eu recebo este problema: GET cors-anywhere.herokuapp.com/api.deezer.com/search?limit=15&q=Earthgang&index=15 429 (Too Many Requests)
Oi Rafael. Status 429 significa que muitos requests foram fetos em um determinado intervalo de tempo (geralmente especificado pela API). Tente executar o request novamente após 1h mais ou menos e me avise se rolou =)
precisa nem pedir para curtir o vídeo, poucos minutos de vídeo, já pausei pra curtir o conteúdo por conta própria, to consumindo muito Roger Melo no meu dia dia
mano! melhor tutorial de javascript que eu ja vi rs
Obrigado pelo conteúdo, ainda mais nesse momento que estamos, uma aprendizagem nova é sempre bom.
Sou um entusiasta da área desde criança.
Sempre programei a base de gambiarra.
Mas por fim deicidi entrar na area.
Lembrei do teu conteúdo e peguei para estudar suas aplicações e demais coisas em teu canal.
Como sempre muito bom!
Gosto da sua didática.
Você esta de parabéns Roger!
Gostaria de propor uma ideia de aplicação. Eu não saberia como fazer agora.
A aplicação é este mesmo buscador, mas misturado com a aplicação da pokedex.
Onde pode-se buscar por caracteristicas ou até pelo o nome do mesmo.
Se não fizer, vou entender.
E quando eu o fizer, te citarei como fonte de inspiração!
Vlwww meu caro. Deus te abençoe imensamente!
Muito boa aula,gratificante das suas aulas, é que em parte também, além do super conteúdo explicativo,mesmo eu assistindo de um celular,eu vejo tudo muito bem,pois você,valoriza bem o zoom na tela, muito diferente de alguns canais aqui RUclips,nesse seguimento explicativo,onde mal posso ver o que digita os palestrantes. Está de parabéns seu canal pelo conteúdo. Gratidão sempre.🇺🇲🇧🇷🌲.
nossa, nunca vi ninguém explicar tão bem assim, valew
Valeu Victor 🙏
Roger conteúdo animal, algo fora do normal.
Eu assisto conteúdo em Inglês chego a ver 3 e 4 vídeos para entender o que estão usando.
Tu explica tudo detalhadamente, parece meu professor.
Nível PROFISSIONAL.
Obrigado Roger 😊
🙏
Estou tendo problemas com a implementação do heroku cors anywhere
Excelência de conteúdo. Show de bola, fantástico, incrível. Me faltam adjetivos. Obrigado mestre!
Alguém sabe me informa se essa api ainda funciona?
não estou localizando ela na web, código do github a parte do script está sem nada.
Tive um problema no uso do cors anywhere, quando eu clico no botão próximo, tenho como retorno o seguinte erro:
app.js:106 GET cors-anywhere.herokuapp.com/api.deezer.com/search?limit=15&q=Misfits&index=15 429 (Too Many Requests)
Tentei substituir o uso de cors anywhere por outro serviço, o AllOrigins usando 'api.allorigins.win/raw?url=/${url}', mas obtenho um array vazio como resposta.
Poderia me ajudar a resolver o problema?
Muito show. Vou assistir toda essa playlist ...
Roger, disponibiliza pra a gente seus snippets. Vi vc digitando dqs e já apareceu o code. 😁
Abraço
Oi Alex. De fato, eu usava os snippets em aula. Hoje, não uso mais, para incentivar o aluno (através do exemplo) a desenvolver memória muscular através da digitação manual de cada expressão. Pelo-menos, no começo.
Lá vai:
{
// Pure JS --------------------------------------------------------
"Creates an html tag inside template string": {
"prefix": "tst",
"body": [
"`$2`"
],
"description": "Creates an html tag inside template string"
},
"const": {
"prefix": "c",
"body": [
"const ${constName} = ${constValue}"
],
"description": "Create a const declaration"
},
"let": {
"prefix": "l",
"body": [
"let ${letName} = ${letValue}"
],
"description": "Create a let declaration"
},
"Print to console": {
"prefix": "log",
"body": [
"console.log(${value})"
],
"description": "Log output to console"
},
"ES5 Function": {
"prefix": "f",
"body": [
"function ${functionName} (${params}) {",
"\t${functionBody}",
"}"
],
"description": "Create an ES5 function declaration"
},
"Anonimous Arrow Function": {
"prefix": "af",
"body": [
"${params} => {",
"\t${functionBody}",
"}"
],
"description": "Create an Anonimous Arrow Function declaration"
},
"Named Arrow Function (assigned to a const)": {
"prefix": "naf",
"body": [
"const ${constName} = ${param} => {",
"\t${functionBody}",
"}"
],
"description": "Create an Named Arrow Function"
},
"Template String": {
"prefix": "ts",
"body": [
"`${templateStringText}`"
],
"description": "Create a Template String"
},
"JS block comment": {
"prefix": "bc",
"body": [
"/* ${comment} */"
],
"description": "Create a JavaScript block comment"
},
"Show a template string in console": {
"prefix": "logts",
"body": [
"console.log(`${string}`)"
],
"description": "Create a template string within a console.log() method"
},
"Const + template string": {
"prefix": "cts",
"body": [
"const ${constName} = `${string}`"
],
"description": "Assign a template string to a const"
},
"Return a template string": {
"prefix": "rts",
"body": [
"return `${string}`"
],
"description": "Create a return statement wich returns a template string"
},
"HTML Inline Code": {
"prefix": "hic",
"body": [
"$1"
],
"description": "Declares a HTML Inline Code"
},
"Return Statement": {
"prefix": "r",
"body": [
"return ${value}"
],
"description": "Create a return statement"
},
"Create a JS Module to be exported": {
"prefix": "jsm",
"body": [
"'use strict'",
"",
"const ${1:moduleName} = () => {",
" ${2:moduleBody}",
"}",
"",
"export default ${1:moduleName}"
],
"description": "Create a JS Module to be exported"
},
"create an export default declaration": {
"prefix": "ed",
"body": [
"export default ${1:moduleName}"
],
"description": "create an export default declaration"
},
"Assigns & invoke a document.querySelector() method": {
"prefix": "dqs",
"body": [
"const ${1:elementName} = document.querySelector('${2:element selector}')"
],
"description": "invoke a document.querySelector() method"
},
"create an es6 module import ": {
"prefix": "im",
"body": [
"import ${1:method} from '${2:module}'"
],
"description": "create an es6 module import "
},
// Jest --------------------------------------------------------
"new it statement": {
"prefix": "it",
"body": [
"it('${1:description}', () => {",
" const before = ${2:value}",
" const after = ${3:value}",
" expect(before).toBe$4",
"})"
],
"description": "new it statement"
},
"describe: create scope for tests": {
"prefix": "des",
"body": [
"describe('\
${1:description}', () => {",
" ${2:tests here}",
"})"
],
"description": "describe: create scope for tests"
},
"import expect from chai": {
"prefix": "ie",
"body": [
"import { expect } from 'chai'"
],
"description": "import expect from chai"
},
"create test template": {
"prefix": "test",
"body": [
"'use strict'",
"",
"import ${1:method} from '${2:module}'",
"",
"it('${3:description}', () => {",
" ${4:descriptionOrIt}",
"})"
],
"description": "create test template"
},
// React --------------------------------------------------------
"Create a React Component to be exported": {
"prefix": "rc",
"body": [
"'use strict'",
"",
"import React from 'react'",
"",
"const ${1:ComponentName} = () => (",
" ${2:component body}",
")",
"",
"export default ${1:ComponentName}"
],
"description": "Create a React Component to be exported"
},
"className": {
"prefix": "cn",
"body": [
"className={style['${1:class-name}']}"
],
"description": "className"
},
"className='className'": {
"prefix": "cns",
"body": [
"className='${1:className}'"
],
"description": "className with string"
}
}
@@RogerMelo Obg amigão foi de grande ajuda \oooo/
Primeira aula que participo por aqui.
Queria agradecer pela transmissão de conhecimento e elogiar a maneira como você repassa isso pra gente. Apesar de estar meio no início da aprendizagem do JavaScript, do jeito que a aula foi construída com esse redirecionamentos para assuntos importantes enquanto íamos esbarrando neles ajudou a aplicar melhor cada coisa que ia aprendendo.
Me bati um pouquinho ali com o cors pq levei um xingão do cors-anywhere, mas ajustei adicionando "liveServer.settings.port": 0, no settings.json do Live Server do VS fazendo com que minha porta fosse modificada randomicamente para testes. Pode ser que ajude alguém!
Vou checar as próximas aulas também. Abraço!
Valeu Guilherme!
Obrigado por compartilhar, tenho certeza que ajudará quem esbarrar no mesmo problema =)
Aulinha top, deu pra tirar proveito de várias coisas, Parabéns.
Fico feliz que tenha ajudado, Luiz!
Já se inscreveu na Semana do JavaScript? É um evento 100% gratuito que realizo para divulgar meus métodos de estudos. Vou deixar o link abaixo caso queira participar =)
semanadojs.com.br/
@@RogerMelo Inscrito ;)
Te encontro lá, Luiz! 👊
Show de conteúdo! Porém estou com um erro de sameSite cookie....pode me dar uma luz? Abraços.
Onde tá a documentação dessa API? Procurei e achei só uma página em branco.
muito obrigado pela força, man! suas aulas me ajuda muito.
Valeu Juarez 🙏
Rogério Melo que aula incrível.
Sou designer e fotógrafo e já trabalhei fazendo html e css para e-commerce, sou iniciante em programação, venho buscando cursos pagos e gratuitos para aprender a programar em JS e sem sucesso. Com suas explicações do pq usar cada coisa, eu consegui entender bem. Virei seu fã.
PARABÉNS PELO ÓTIMO TRABALHO.
QuerI deixar algumas sugestões para mesma aplicação:
- Fazer a mesma aplicação em node usando MODULES
- Fazer em frameworks
- Fazer usando GraphQL
- Usar banco de dados para guardar essas informações.
- Pegar a imagem do album do artista.
- Pegar o preview da música.
A ideia é ir aprendendo todas essas tecnologias.
Com a sua didática e conhecimento, você explica muito melhor do que uitos cursos que já comprei ou assisti, tenta usar essas sugestões que você terá conteúdo e seguidores infinitos. KkKkkkkk
OBS: Compraria com certeza cursos feitos por vc.
Se precisar de ajuda para alguma coisa, me coloco a disposição.
Wow! Muito obrigado pelo feedback, Fabricio!
acha que da pra usar o atributo "preview" que vem pra colocar um player pra cada musica encontrada? vem essa url em cada musica contendo 30 segundos da musica, tava pensando em colocar um botão em cada uma de play/pause ..
Parabéns pelo conteúdo, Roger! Muito útil!
Valeu Fernando 👊🏻
Roger, você é fantástico. Muito obrigado por compartilhar.
alguem me ajude estou tendo problemas ao se conectar na api o link e igual mas da erro
minuto 45 pra frente eu tento colocar o link do herokuapp mas dar erro, nao sei pq
Consegui resolver mas a API demora muito para responder é assim mesmo ?
Conteúdo incrível, muito obrigado pela aula. Pode ter certeza que vou te indicar para meus amigos que estão aprendendo JavaScript 😁
Valeu Leonardo! 👊
Roger é normal e é bom, refazer varias vezes.
Estou fazendo e vou refazer outras vezes, umas 6 vezes.
Eu vejo falar muito do map, redux, mais nunca vi sendo usado de forma simples e sendo explicado o por q usar e onde usar.
Oi Ednaldo. Na playlist de aplicações com JS puro do canal você verá map, filter e reduce sendo usados em várias situações diferentes =)
Muito boa a aula!! Mas estou com problema ao tentar o proxy, ele não resolve o problema de Cros, se puder ajudar agradeço.
alguém mais ta com o erro 429 too many requests (muitas requisições) quando clica no botão próximas?
Sou fan do canal, trabalho com frontend.
Parabéns pelo vídeo. Muito bom além de fazer o projeto o melhor é a refatoração! A Trybe está contratando professores, seria bom ter você como professor lá. Da uma olhadinha.
Obrigado pela sugestão, Rafael. Não pretendo trabalhar como empregado novamente. O que faz meu coração cantar é estar no controle de executar minha missão.
Minha missão: formar pessoas que constroem aplicações web com JavaScript puro.
@@RogerMelo é por isso que eu gosto desse canal. Javascript puro é top demais. Não sei como tem pessoas que desenvolvem em frameworks e não sabem javascript.
Pessoal, pra poder usar o proxy cors-anywhere tive que habilitar esse recurso temporariamente pro meu servidor local. Pra quem tiver com esse problema tbm é só colocar a url na barra de endereço do navegador e clicar no botão que aparecer.
valeu mano, ajudou muito !
parabéns pelo conteúdo, toma teu like e a inscrição, vou te acompanhar por aqui
Excelente conteúdo professor. Aprendi muito. SOu iniciante em JS. Uma dúvida: acredito que acrescentaram alguns detalhes nas letras das músicas na API. Por exemplo, todas as letras estão vindo com a primeira linha: "Paroles de la chanson Easy On Me par Adele", traduzindo algo como: "Letra de ..." Existe alguma maneira usando replace para eliminar a primeira linha no resultado da constante lyrics?
Olá, Roger!
Esta é minha primeira aula assistida no seu canal, e achei simplesmente incrível. Sua didática é excelente, a melhor que vi até agora no youtube. Queria te agradecer por compartilhar conosco gratuitamente um conteúdo com tanta qualidade.
Aprendi bastante com esta única aula, e me senti estimulado a implementar algumas features. Fiz um repositório citando o que eu implementei, e o que aprendi nesta aula. github.com/arimariojesus/Lyrics-Search
Caso não tenha problema compartilhar o link aqui, espero que venha ajudar e estimular aos que venham a assistir essa excelente aula posteriormente a irem além.
Já estou inscrito, e pronto para aprender mais por aqui.
Grande abraço!
Oi Arimario! Bem-vindo =)
Fico feliz que a aula tenha lhe ajudado.
Parabéns pela aplicação, gostei muito dos globos espelhados 😄. Pode ficar à vontade e compartilhar quando quiser.
O canal tem uma playlist de vídeos de aplicações com JavaScript puro. Vou deixar o link abaixo, caso queira treinar suas habilidades na linguagem =)
ruclips.net/p/PLpSJMw6H4PFMOJHMULTxKNOEw7g1cBuyP
@@RogerMelo hahahah um pouco brega, mas é que sentir a vontade de aplicar um efeito de parallax, os disco balls foi a primeira coisa q veio à mente 😅. Obrigado, pode deixar.
Ôpa, já deixei salva aqui, já já estarei praticando com eles não tenho dúvida de que irão me ajudar assim como este.
Ficou show cara! =D
No que precisar, é só dar o toque =)
@@RogerMelo Muito obrigado! Um elogio desse é melhor que café pra estimular a continuar estudando😄.
Pode deixar 😉.
..."Maratonando" seus vídeos e vendo os depoimentos dos alunos do CJRM, e morrendo de vontade de fazer este investimento, mas infelizmente não posso no momento. Espero poder investir e participar na próxima turma, achei o conteúdo e o "roadmap" excelentes!
Excelente trabalho!
Obrigado por compartilhar 👏
parabens pelo video, vc pode passar a documentação da API?
Conteúdo sensacional! obrigado por compartilhar conosco !
Valeu Danilo 👊🏻
Estava todo empolgado acompanhando essa aula, e recebo o seguinte retorno do fetch: Access to fetch at "url em questão" has been blocked by CORS policy.
Descobri que incluir na chamada do fetch: , { mode: 'no-cors'} resolve o problema, mas ao tentar acessar recebo outra mensagem: net::ERR_ABORTED 503 (Service Unavailable). Parece que o serviço está indisponível para manutenção, ou para sempre, vai saber !!!
Bom, o jeito é esperar retornar para continuar a lição.
Conteúdo top Roger. Eu não consegui seguir por conta que o site da api de lyrics api.lyrics.ovh está fora e não consegui encontrar outra api public para lyrics. Se puder dar um help?
Aqui tem uma tabela com APIs públicas: github.com/public-apis/public-apis#music
Uma melhoria de lição para casa como desafio é tratar falta de retorno de dados da API (há casos em que nenhum dado é retornado sobre o autor da música ou sobre a letra da música, portanto, os dados não são carregados na tela ao pesquisar ou clicar para ver a letra da música).
Roger,...sem palavras, mas me diga uma coisa, o link da cors-anywhere...ainda está funcionando???
Valeu João. Dá uma olhada aqui: github.com/Rob--W/cors-anywhere/issues/301
excelente aula... ainda não conclui, tive um problema no request das próximas páginas, deu 403 (Forbidden)
Tá dando o mesmo erro pra mim também
@@cscsc4161 Aqui tbm.
Ótima aula! Só não consegui fazer funcionar o prev e o next com a url do heroku, não trás a nova requisição
Failed to load resource: the server responded with a status of 403 (Forbidden)
index.html:1 Uncaught (in promise) SyntaxError: Unexpected token S in JSON at position 0
Pesquisei, mas ainda não encontrei outra forma de fazer.
No meu também não estava funcionando mas no repositorio do cara tem um link para liberar o acesso CORS Anywhere apenas ao seu cliente. Só visitar: cors-anywhere.herokuapp.com/ e clique no botão "Solicitar acesso temporário ao servidor de demonstração" para restaurar temporariamente a funcionalidade completa do CORS Anywhere.
Repositório: github.com/Rob--W/cors-anywhere/issues/301
@@nadinecoelho3256 mesmo fazendo esse passo a passo o erro acontece..
aula boa p krl, a explicação já é maneira e ainda tem um cara com voz de locutor falando..
eu só tenho uma duvida, por que nos seus videos voce sempre tenta fazer com que um if nunca tenha um else dentro de uma funcao, voce sempre usa o return pra nao ter que colocar o else, qual o beneficio disso?
Obrigado ThiGameX.
Apenas um estilo de código, prefiro não usar else em casos onde ele é desnecessário =)
tragam um gênio para esse troféu
Tamo junto Diego 👊
Aula massa demais! Valeu!
Aula top!!. Só tenho um dúvida, Roger. Nos seus testes em buscar a letra da música, acontecia de às vezes a API não trazer nenhuma letra? Pq comigo acontece de vez em quando.
Isso pode acontecer por vários motivos, o mais comum é o servidor ser lento para responder.
Como sempre muito top.
estou me aprofundando no js, quais os passos que eu posso seguir aqui no seu canal?
todo dia vejo um vídeo seu.
Oi Ednaldo. O conteúdo no youtube não é organizado de forma sequencial. Um começo razoável é seguir o conteúdo do meu treinamento fechado:
drive.google.com/file/d/1nBwUFtxbLZOZgcGDY1FROZZHVsRcu7Nn/view?usp=sharing
E treinar seus conhecimentos com essa playlist:
ruclips.net/p/PLpSJMw6H4PFMOJHMULTxKNOEw7g1cBuyP
@@RogerMelo vlw fera vou da uma olhada
@@RogerMelo Como faço para iniciar o curso?
Vou ter suporte seu como mentor?
Oi Ednaldo. Sim, dou todo o suporte e mentoria necessária aos meus alunos para que eles alcancem a fluência em JavaScript.
As turmas do CJRM são abertas logo após a Semana do JavaScript, que é um evento que realizo para divulgar meus métodos de estudos e o treinamento.
Ainda não sei quando farei a próxima edição da Semana do JS, mas continue acompanhando os vídeos para saber quando ela acontecerá =)
@@RogerMelo blz, enquanto isso vou praticando com as suas vídeos aulas
Essa API não funciona mais :/
Sabe muito!
Valeu Michel!
Já se inscreveu na Semana do JavaScript? É um evento 100% gratuito que realizo para divulgar meus métodos de estudos. Vou deixar o link abaixo caso queira participar =)
semanadojs.com.br/
@@RogerMelo Já fiz a inscrição.
Legal Michel! Te encontro lá 🔥
Top demais
Valeu CWG 🙏🏻
Essa api ainda funciona??
Acabei de testar aqui, funcionando normalmente =)
👏👏👏👏
mto bom, ótimo, mas este refatoramento me caiu os butiá do bolso, tive que reler pra entender. Parabéns!!!
😂😂😂 qual parte achou mais complexa?
@@RogerMelo quando tinha o lyrics como objeto e depois usava o ponto eu entendi, mas aí desestruturou e separou a função, não consegui imaginar aquele dado sendo puxado pela api. E os outros parecidos, se tivesse desestruturado sem separar as funções eu até ia entender, mas quando separou me perdi, mas depois vou reler novamente.
Isso mesmo, Raphael. Releia e refaça até conseguir implementar sem precisar olhar o vídeo.
Se quiser ver outros exemplos do destructuring em ação, pratique também com os vídeos abaixo:
ruclips.net/video/htM6esStNo8/видео.html
ruclips.net/video/jxg2N5iQiUs/видео.html
Showwww!
Parece que a APIlycris está fora do ar. Estou curtindo suas aulas.
Onde eu consigo o código pronto?
Oi Henrique. Testei aqui correu tudo bem com o request. Pode ter sido uma queda temporária. Tente executar o código abaixo no console dessa página ou em um arquivo .js:
const url = `api.lyrics.ovh/suggest/matanza`
const fetchSongs = async () => {
const data = await (await fetch(url)).json()
console.log(data)
}
fetchSongs()
Não costumo deixar os códigos das aplicações disponíveis =)
@@RogerMelo Sem problemas... Obrigado pelo retorno. Aguardando a semana do Java script.
Resolvi fazer junto. Quando vou exeutar o getMoreSongs, com aquela solução do CORS, eu recebo este problema:
GET cors-anywhere.herokuapp.com/api.deezer.com/search?limit=15&q=Earthgang&index=15 429 (Too Many Requests)
Oi Rafael. Status 429 significa que muitos requests foram fetos em um determinado intervalo de tempo (geralmente especificado pela API). Tente executar o request novamente após 1h mais ou menos e me avise se rolou =)
A busca das letras da musica especifica não ta funcionando.
API não funciona mais!
Aqui tem várias, só escolher uma e o restante do processo é basicamente o mesmo. github.com/public-apis/public-apis#music
@@RogerMelo obrigado mestree