{"pageProps":{"tag":["Javascript"],"allPostsTags":[{"icon":"/techs/all.svg","name":"Todos","slug":"/blog"},{"name":"Carreira","icon":"/techs/carreira.svg","slug":"/tag/carreira"},{"name":"Javascript","icon":"/techs/javascript.svg","slug":"/tag/javascript"},{"name":"Fundamentos","icon":"/techs/fundamentos.svg","slug":"/tag/fundamentos"},{"name":"NodeJS","icon":"/techs/nodejs.svg","slug":"/tag/nodejs"},{"name":"Algoritmos","icon":"/techs/algoritmos.svg","slug":"/tag/algoritmos"},{"name":"ReactJS","icon":"/techs/reactjs.svg","slug":"/tag/reactjs"}],"allPostsData":[{"filepath":"content/blog/como-gerar-um-array-populado-em-javascript/index.md","slug":"como-gerar-um-array-populado-em-javascript","url":"/como-gerar-um-array-populado-em-javascript","hash":"ff12afa89fbc7f6e6eb4d728674c1a6cc0bfa2a0928f9decbaebac00a3746d5b2796b7645d879522aac6a011076bec36969e169b7c489224a1bda33a7ae041ee","frontMatter":{"title":"4 formas de gerar um array (vetor) populado em Javascript","date":"2021-07-25","tags":["Javascript"],"thumbnail":"array-javascript.jpg","author":"Tulio Faria"},"mdx":{"compiledSource":"","renderedOutput":""},"relationships":{"author":[null]},"excerpt":"\nÉ muito comum durante a solução de alguns problems com algorítmos de precisarmos de um array com valores padrão já inseridos.\n\nInclusive para gerar dados de testes. E podemos gerar o array com os mais diversos valores, como números, strings e até mesmo objetos.\n\n## O bom e velho `for`\n\nA forma mais...","datePtBR":"25 de julho de 2021"},{"filepath":"content/blog/como-invocar-funcoes-dinamicamente-com-js/index.md","slug":"como-invocar-funcoes-dinamicamente-com-js","url":"/como-invocar-funcoes-dinamicamente-com-js","hash":"0815e20540ff08298924c90be1c0b763befa930d79296d1a1b7928bdc1bc2f309ac6748ac01be43cf5829f017cee45125d91cd843e0dbbc24e50038f1ee48a28","frontMatter":{"title":"Como invocar funções dinamicas em JavaScript","date":"2018-02-19","tags":["Javascript"],"thumbnail":"INVOCAR-FUNÇÕES-790x400.png","author":"Tulio Faria"},"mdx":{"compiledSource":"","renderedOutput":""},"relationships":{"author":[null]},"excerpt":"\nEm programação, blocos de código que executam instruções específicas são chamadas de funções e, no Javascript, são conhecidas como métodos. Agora, imagine o seguinte cenário: como desenvolvedor, você não conhece o nome do método que quer chamar mas sabe que existe o nome dele em uma variável. Então...","datePtBR":"19 de fevereiro de 2018"},{"filepath":"content/blog/normalizar-email/index.md","slug":"normalizar-email","url":"/normalizar-email","hash":"0908f63e7c552f4f0dc3f4b15b04ede0c1dfd3cc213eecfc2b2c2090e3a72190bfc08302e6d0b18c12c76e2b6d465a57c6b0adb551457991377a973774765d3b","frontMatter":{"title":"Normalizar-email","date":"2017-11-30","tags":["Javascript","NodeJS"],"thumbnail":"NormalizarEmail.png","author":"Tulio Faria"},"mdx":{"compiledSource":"","renderedOutput":""},"relationships":{"author":[null]},"excerpt":"\nHoje eu quero comentar um detalhe de implementação de e-mail muito interessante e como podemos contornar essa característica que temos em alguns endereços de e-mail.\n\nUma coisa que muita gente acredita é que nossos e-mails somente funcionam dessa maneira:\n\n```jsx\ntuliofaria@devpleno.com\n```\n\nUm det...","datePtBR":"30 de novembro de 2017"},{"filepath":"content/blog/azure-cognitive-service/index.md","slug":"azure-cognitive-service","url":"/azure-cognitive-service","hash":"5ebae415256b6a174ac7f41d139a8870867198163dc5d109bc999af350f8a447ddfd00b1f711341e42e8da955fd190cdec3b44286ff9bf75787ae56b12f248ba","frontMatter":{"title":"Classificação de imagens com Azure","date":"2017-11-30","tags":["Javascript"],"thumbnail":"classificação-de-IMAGENS-790x400.png","author":"Tulio Faria"},"mdx":{"compiledSource":"","renderedOutput":""},"relationships":{"author":[null]},"excerpt":"\nNa dica de hoje, vamos continuar falando sobre classificação de imagens de forma automática, mas será uma outra abordagem, a de utilizar um serviço de visão computacional para reconhecer e classificar essa imagem.\n\nVamos utilizar a API Azure Computer Vídeo. Como pegamos uma key dessa API?\n\nSe você ...","datePtBR":"30 de novembro de 2017"},{"filepath":"content/blog/multer-upload-de-imagens-com-nodejs-e-express/index.md","slug":"multer-upload-de-imagens-com-nodejs-e-express","url":"/multer-upload-de-imagens-com-nodejs-e-express","hash":"bf7e3b76c643e6e5c6c4c5599c539b6b47430ad9ce21b041934be3073421e9301a5216529706336de3c4ef879cf3126696aaba3537b311bd567041d9bd8deebe","frontMatter":{"title":"Multer upload de imagens com nodejs e express","date":"2017-11-29","tags":["Javascript","NodeJS"],"thumbnail":"Multer.png","author":"Tulio Faria"},"mdx":{"compiledSource":"","renderedOutput":""},"relationships":{"author":[null]},"excerpt":"\nHoje vou mostrar uma dica rápida de como podemos fazer upload no NodeJS utilizando o Express. Para isso vamos utilizar o Multer.\n\nA primeira coisa que vamos fazer é o seguinte:\n\n```jsx\nyarn add express ejs multer\n```\n\nAgora, com o Visual Studio Code aberto, vamos criar um arquivo novo index.js e ta...","datePtBR":"29 de novembro de 2017"},{"filepath":"content/blog/como-criar-e-reutilizando-seus-proprios-modulos/index.md","slug":"como-criar-e-reutilizando-seus-proprios-modulos","url":"/como-criar-e-reutilizando-seus-proprios-modulos","hash":"acbc0283a8f9bc29d80fd56f1f6713c9334450f241ece42248282491e07dfef894db9133ca676361b063ca30d4c5eaa4abaec194c5243d43e7dd92b98e8af9ba","frontMatter":{"title":"Como criar e reutilizar seus módulos no NodeJS com Git","date":"2017-11-29","tags":["Javascript","NodeJS"],"thumbnail":"criar-e-reutilizar-seus-próprios-módulos-790x400.png","author":"Tulio Faria"},"mdx":{"compiledSource":"","renderedOutput":""},"relationships":{"author":[null]},"excerpt":"\nHoje quero mostrar um recurso que nós temos na ferramenta NPM e que poucas pessoas sabem que existem. Com ela, podemos criar nossos próprios módulos sem precisar registrar no repositório do NPM.\n\nUma coisa interessante do yarn e NPM é que podemos colocar como dependência do nosso projeto um reposit...","datePtBR":"29 de novembro de 2017"},{"filepath":"content/blog/reconhecimento-facial-com-js/index.md","slug":"reconhecimento-facial-com-js","url":"/reconhecimento-facial-com-js","hash":"861a4051d09d9f97e4f6c3f74add96423e8f0f544fcb7f4fe785c7b8a31c8046ad9a32220e911488a4b4c935bc01639e0f28b42b108b92d3da4fe809c9ac10a4","frontMatter":{"title":"Reconhecimento facial com JS","date":"2017-11-24","tags":["Javascript"],"thumbnail":"ReconhecimentoFacial.png","author":"Tulio Faria"},"mdx":{"compiledSource":"","renderedOutput":""},"relationships":{"author":[null]},"excerpt":"\nHoje vamos fazer um hands-on em uma biblioteca que eu achei muito interessante chamada TrackingJS. Ela nos ajuda a trabalhar com visão computacional.\n\nVisão computacional é uma forma que temos de processar imagens para extrair alguma coisa delas, nesse exemplo vamos fazer um tracking facial, reconh...","datePtBR":"24 de novembro de 2017"},{"filepath":"content/blog/reconhecimento-de-nudez-com-js/index.md","slug":"reconhecimento-de-nudez-com-js","url":"/reconhecimento-de-nudez-com-js","hash":"3b30243c0291ee688f2c573ac8093fa81d7160c1bf267ce9124450f1ecf5522dece057ef4728ee6ced449568a049f4a1e6c59865b2bda1b00ec046f09c570db8","frontMatter":{"title":"Reconhecimento de nudez com js","date":"2017-11-24","tags":["Javascript"],"thumbnail":"ReconhecimentoNudez.png","author":"Tulio Faria"},"mdx":{"compiledSource":"","renderedOutput":""},"relationships":{"author":[null]},"excerpt":"\nHoje quero complementar aquela dica passada sobre [reconhecimento facial](https://www.devpleno.com/reconhecimento-facial-com-js/). Outra atividade que fazemos bastante quando permitimos que um usuário envie uma foto é checar por nudez. Isso também é conhecido como feature detection.\n\nO mais comum é...","datePtBR":"24 de novembro de 2017"},{"filepath":"content/blog/chaves-dinamicas/index.md","slug":"chaves-dinamicas","url":"/chaves-dinamicas","hash":"947071ef9e3aa12a27ccf9eb7be9cf35b04e1df625af055661fd210f69736c82356d9488e78d5de3bc2fb7af7e7703f8f86ae537f97c55fc13f9a6ec655669bd","frontMatter":{"title":"CHAVES DINÂMICAS","date":"2017-11-23","tags":["Javascript"],"thumbnail":"CHAVES-DINÂMICAS-790x400.png","author":"Tulio Faria"},"mdx":{"compiledSource":"","renderedOutput":""},"relationships":{"author":[null]},"excerpt":"\nHoje eu quero comentar uma novidade no ES6, mostrando a forma de como faríamos isso anteriormente. A partir do ES6, conseguimos inicializar um objeto JavaScript passando uma Key dinâmica, mas anteriormente nós conseguiamos fazer isso apenas posteriormente, ou seja, tínhamos que criar o objeto para ...","datePtBR":"23 de novembro de 2017"},{"filepath":"content/blog/hands-on-threejs/index.md","slug":"hands-on-threejs","url":"/hands-on-threejs","hash":"b885aa9ff7d7f6813727584a5a01a0de56bdaae98963d9f589de83973ffc62303c0ef884bb65aebe99442c0fcde59ecb7c39311866ee76fdbcb7fc036693d661","frontMatter":{"title":"Hands-on - Three.JS","date":"2017-11-16","tags":["Javascript"],"thumbnail":"ThreeJS.png","author":"Tulio Faria"},"mdx":{"compiledSource":"","renderedOutput":""},"relationships":{"author":[null]},"excerpt":"\nHoje vamos falar um pouco sobre Three.JS, que é uma biblioteca muito interessante para conseguirmos fazer 3d no browser, melhor dizendo, ele faz essa compatibilidade para renderizar no browser com WebGL ou canvas. Para testar isso, vamos fazer um teste utilizando um cubo em 3d. No site deles, exist...","datePtBR":"16 de novembro de 2017"},{"filepath":"content/blog/preview-de-imagens-antes-do-upload/index.md","slug":"preview-de-imagens-antes-do-upload","url":"/preview-de-imagens-antes-do-upload","hash":"6b4fa36660ce018080f1586eaccb49c227eceb1e64b3ff459bd6e761e3be3d74c7c68222b3b407a5940015ac5ab152df0ef51e279779aea80ade3d15ca8404e7","frontMatter":{"title":"Preview de imagens antes do upload","date":"2017-11-13","tags":["Javascript"],"thumbnail":"PreviewDeImagens.png","author":"Tulio Faria"},"mdx":{"compiledSource":"","renderedOutput":""},"relationships":{"author":[null]},"excerpt":"\nHoje vamos fazer o preview da imagem que está sendo selecionada para fazer upload, isso é bastante interessante de se fazer quando o usuário está selecionando uma foto.\n\nVamos criar inicialmente um html, em seguida criar um input type do tipo file e um img:\n\n```jsx\n\n Preview Upload\n \n \n \n ...","datePtBR":"13 de novembro de 2017"}],"totalPages":17,"currentPage":0,"currentPageStr":""},"__N_SSG":true}