Aplicação JavaScript: Como desenvolver um buscador de letras de músicas

Поделиться
HTML-код
  • Опубликовано: 25 янв 2025

Комментарии • 110

  • @lucaofm
    @lucaofm 2 года назад

    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

  • @FernandoSilva-yv4bc
    @FernandoSilva-yv4bc Год назад

    mano! melhor tutorial de javascript que eu ja vi rs

  • @batatonho0995
    @batatonho0995 4 года назад +8

    Obrigado pelo conteúdo, ainda mais nesse momento que estamos, uma aprendizagem nova é sempre bom.

  • @maxwell6400
    @maxwell6400 Год назад

    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!

  • @aquaparalelodigital
    @aquaparalelodigital 2 года назад +1

    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.🇺🇲🇧🇷🌲.

  • @codedropsjs9633
    @codedropsjs9633 4 года назад +2

    nossa, nunca vi ninguém explicar tão bem assim, valew

  • @eduardocarvalho4232
    @eduardocarvalho4232 3 года назад +1

    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 😊

  • @dimascapelari
    @dimascapelari 2 года назад +1

    Estou tendo problemas com a implementação do heroku cors anywhere

  • @lucasknupppessoa9055
    @lucasknupppessoa9055 2 года назад +1

    Excelência de conteúdo. Show de bola, fantástico, incrível. Me faltam adjetivos. Obrigado mestre!

  • @ryanreynald4048
    @ryanreynald4048 4 месяца назад +1

    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.

  • @abelsouzacostajunior2013
    @abelsouzacostajunior2013 4 года назад +1

    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?

  • @alexalannunes
    @alexalannunes 4 года назад +1

    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

    • @RogerMelo
      @RogerMelo  4 года назад +1

      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"
      }
      }

    • @alexalannunes
      @alexalannunes 4 года назад +1

      @@RogerMelo Obg amigão foi de grande ajuda \oooo/

  • @_guilhermesales
    @_guilhermesales 4 года назад

    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!

    • @RogerMelo
      @RogerMelo  4 года назад

      Valeu Guilherme!
      Obrigado por compartilhar, tenho certeza que ajudará quem esbarrar no mesmo problema =)

  • @luizsantos6614
    @luizsantos6614 4 года назад +1

    Aulinha top, deu pra tirar proveito de várias coisas, Parabéns.

    • @RogerMelo
      @RogerMelo  4 года назад +1

      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/

    • @luizsantos6614
      @luizsantos6614 4 года назад +1

      @@RogerMelo Inscrito ;)

    • @RogerMelo
      @RogerMelo  4 года назад

      Te encontro lá, Luiz! 👊

  • @egomes2011
    @egomes2011 2 года назад

    Show de conteúdo! Porém estou com um erro de sameSite cookie....pode me dar uma luz? Abraços.

  • @stomperhk9107
    @stomperhk9107 2 года назад

    Onde tá a documentação dessa API? Procurei e achei só uma página em branco.

  • @juarezfranca
    @juarezfranca 4 года назад

    muito obrigado pela força, man! suas aulas me ajuda muito.

  • @FabricioDupin
    @FabricioDupin 4 года назад

    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.

    • @RogerMelo
      @RogerMelo  4 года назад +1

      Wow! Muito obrigado pelo feedback, Fabricio!

  • @guilhermebabugia8562
    @guilhermebabugia8562 4 года назад +1

    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 ..

  • @fernandofariajunior
    @fernandofariajunior 3 года назад

    Parabéns pelo conteúdo, Roger! Muito útil!

    • @RogerMelo
      @RogerMelo  3 года назад +1

      Valeu Fernando 👊🏻

  • @Paulinho3706
    @Paulinho3706 4 года назад

    Roger, você é fantástico. Muito obrigado por compartilhar.

  • @kolgamers8415
    @kolgamers8415 3 года назад

    alguem me ajude estou tendo problemas ao se conectar na api o link e igual mas da erro

  • @Gabriel-ny2om
    @Gabriel-ny2om 2 года назад

    minuto 45 pra frente eu tento colocar o link do herokuapp mas dar erro, nao sei pq

  • @dimascapelari
    @dimascapelari 2 года назад

    Consegui resolver mas a API demora muito para responder é assim mesmo ?

  • @leonardocampello9298
    @leonardocampello9298 4 года назад

    Conteúdo incrível, muito obrigado pela aula. Pode ter certeza que vou te indicar para meus amigos que estão aprendendo JavaScript 😁

    • @RogerMelo
      @RogerMelo  4 года назад +1

      Valeu Leonardo! 👊

  • @naldo_1988
    @naldo_1988 4 года назад

    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.

    • @RogerMelo
      @RogerMelo  4 года назад

      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 =)

  • @hailtonnascimento386
    @hailtonnascimento386 2 года назад

    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.

  • @Jvjuino
    @Jvjuino 2 года назад

    alguém mais ta com o erro 429 too many requests (muitas requisições) quando clica no botão próximas?

  • @naldo_1988
    @naldo_1988 4 года назад +1

    Sou fan do canal, trabalho com frontend.

  • @rafaelcostamoura
    @rafaelcostamoura 4 года назад +1

    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.

    • @RogerMelo
      @RogerMelo  4 года назад +4

      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.

    • @rafaelcostamoura
      @rafaelcostamoura 4 года назад

      @@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.

  • @lucasalmeida-yp2sr
    @lucasalmeida-yp2sr 3 года назад +2

    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.

  • @edu_sp
    @edu_sp 2 года назад

    parabéns pelo conteúdo, toma teu like e a inscrição, vou te acompanhar por aqui

  • @AdrianodeOliveira98
    @AdrianodeOliveira98 3 года назад

    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?

  • @arimariojesus7621
    @arimariojesus7621 4 года назад +1

    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!

    • @RogerMelo
      @RogerMelo  4 года назад +1

      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

    • @arimariojesus7621
      @arimariojesus7621 4 года назад +1

      ​@@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
      @RogerMelo  4 года назад +1

      Ficou show cara! =D
      No que precisar, é só dar o toque =)

    • @arimariojesus7621
      @arimariojesus7621 4 года назад

      ​@@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!

  • @rwietter
    @rwietter 4 года назад

    Excelente trabalho!
    Obrigado por compartilhar 👏

  • @franciscobarros6656
    @franciscobarros6656 4 года назад

    parabens pelo video, vc pode passar a documentação da API?

  • @cursosdanilo
    @cursosdanilo 3 года назад

    Conteúdo sensacional! obrigado por compartilhar conosco !

    • @RogerMelo
      @RogerMelo  3 года назад

      Valeu Danilo 👊🏻

  • @luisbulek65
    @luisbulek65 3 года назад

    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.

  • @MsAndersonchannel
    @MsAndersonchannel 3 года назад

    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?

    • @RogerMelo
      @RogerMelo  3 года назад +2

      Aqui tem uma tabela com APIs públicas: github.com/public-apis/public-apis#music

  • @PexuPixo
    @PexuPixo 3 года назад +1

    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).

  • @joaocancio9873
    @joaocancio9873 3 года назад

    Roger,...sem palavras, mas me diga uma coisa, o link da cors-anywhere...ainda está funcionando???

    • @RogerMelo
      @RogerMelo  3 года назад

      Valeu João. Dá uma olhada aqui: github.com/Rob--W/cors-anywhere/issues/301

  • @fernandopedro5446
    @fernandopedro5446 3 года назад

    excelente aula... ainda não conclui, tive um problema no request das próximas páginas, deu 403 (Forbidden)

    • @cscsc4161
      @cscsc4161 3 года назад +1

      Tá dando o mesmo erro pra mim também

    • @erikstellet
      @erikstellet 3 года назад

      @@cscsc4161 Aqui tbm.

  • @andreborba882
    @andreborba882 3 года назад

    Ó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.

    • @nadinecoelho3256
      @nadinecoelho3256 3 года назад +3

      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

    • @dev_Juninho
      @dev_Juninho 3 года назад

      @@nadinecoelho3256 mesmo fazendo esse passo a passo o erro acontece..

  • @thigamex
    @thigamex 4 года назад +2

    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?

    • @RogerMelo
      @RogerMelo  4 года назад +3

      Obrigado ThiGameX.
      Apenas um estilo de código, prefiro não usar else em casos onde ele é desnecessário =)

  • @didimarinhoo
    @didimarinhoo 3 года назад +3

    tragam um gênio para esse troféu

    • @RogerMelo
      @RogerMelo  3 года назад

      Tamo junto Diego 👊

  • @cesarvaz6622
    @cesarvaz6622 4 года назад

    Aula massa demais! Valeu!

  • @rodrigorocha8212
    @rodrigorocha8212 4 года назад

    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.

    • @RogerMelo
      @RogerMelo  4 года назад +1

      Isso pode acontecer por vários motivos, o mais comum é o servidor ser lento para responder.

  • @johnnyenaty8583
    @johnnyenaty8583 4 года назад

    Como sempre muito top.

  • @naldo_1988
    @naldo_1988 4 года назад

    estou me aprofundando no js, quais os passos que eu posso seguir aqui no seu canal?
    todo dia vejo um vídeo seu.

    • @RogerMelo
      @RogerMelo  4 года назад

      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

    • @naldo_1988
      @naldo_1988 4 года назад

      @@RogerMelo vlw fera vou da uma olhada

    • @naldo_1988
      @naldo_1988 4 года назад

      @@RogerMelo Como faço para iniciar o curso?
      Vou ter suporte seu como mentor?

    • @RogerMelo
      @RogerMelo  4 года назад

      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á =)

    • @naldo_1988
      @naldo_1988 4 года назад

      @@RogerMelo blz, enquanto isso vou praticando com as suas vídeos aulas

  • @gstgama
    @gstgama 3 года назад

    Essa API não funciona mais :/

  • @imdevbutok
    @imdevbutok 4 года назад +1

    Sabe muito!

    • @RogerMelo
      @RogerMelo  4 года назад +1

      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/

    • @imdevbutok
      @imdevbutok 4 года назад +1

      @@RogerMelo Já fiz a inscrição.

    • @RogerMelo
      @RogerMelo  4 года назад

      Legal Michel! Te encontro lá 🔥

  • @cwgappmobile9644
    @cwgappmobile9644 3 года назад

    Top demais

  • @JoaoVitor-rb3mf
    @JoaoVitor-rb3mf 4 года назад

    Essa api ainda funciona??

    • @RogerMelo
      @RogerMelo  4 года назад

      Acabei de testar aqui, funcionando normalmente =)

  • @mariafalcao8537
    @mariafalcao8537 2 года назад

    👏👏👏👏

  • @Saudavelpro
    @Saudavelpro 4 года назад

    mto bom, ótimo, mas este refatoramento me caiu os butiá do bolso, tive que reler pra entender. Parabéns!!!

    • @RogerMelo
      @RogerMelo  4 года назад +1

      😂😂😂 qual parte achou mais complexa?

    • @Saudavelpro
      @Saudavelpro 4 года назад

      @@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.

    • @RogerMelo
      @RogerMelo  4 года назад +1

      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

  • @nadinecoelho3256
    @nadinecoelho3256 3 года назад

    Showwww!

  • @joca3250
    @joca3250 4 года назад +2

    Parece que a APIlycris está fora do ar. Estou curtindo suas aulas.

    • @joca3250
      @joca3250 4 года назад

      Onde eu consigo o código pronto?

    • @RogerMelo
      @RogerMelo  4 года назад

      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 =)

    • @joca3250
      @joca3250 4 года назад +1

      @@RogerMelo Sem problemas... Obrigado pelo retorno. Aguardando a semana do Java script.

  • @rafaelmrantunes
    @rafaelmrantunes 4 года назад

    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)

    • @RogerMelo
      @RogerMelo  4 года назад

      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 =)

  • @jamangueira7
    @jamangueira7 2 года назад

    A busca das letras da musica especifica não ta funcionando.

  • @diogenespasqualoto
    @diogenespasqualoto Год назад

    API não funciona mais!

    • @RogerMelo
      @RogerMelo  Год назад +1

      Aqui tem várias, só escolher uma e o restante do processo é basicamente o mesmo. github.com/public-apis/public-apis#music

    • @diogenespasqualoto
      @diogenespasqualoto Год назад

      @@RogerMelo obrigado mestree