• Code Sniffer
    phpcs

    Ignorando regras do phpcs

    Certo, o phpcs é uma das maiores adições que temos para deixar nosso código padronizado, mas as vezes precisamos ignorá-los em certos pontos, onde a legibilidade ficaria melhor sem ele. Vamos ver como fazer isso Ignora todo o arquivo Ignora a linha atual e a próxima: Ignora um bloco grande de código

  • ngrok
    Programação

    Como usar o ngrok para testar a api do telegram localmente ?

    A forma mais fácil de testar a integração da api do telegram, é através do retorno do webhook. Mas desenvolvendo localmente não temos como testar esse retorno, a menos que tivessemos um IP válido, ou fazendo um deploy da aplicação e testando remotamente, correto ? Seria, se não existisse o ngrok A forma mais fácil de instalá-lo é através do snap (para mais opções entre no site) Com o ngrok instalado, digite o comando (substitua o 80 caso não seja sua porta web) Caso dê tudo certo, a tela acima deverá se abrir o no seu terminal. Repare a linha forwarding, é para esse endereço que você deve apontar oa…

  • json
    Laravel,  Linux,  PHP,  Tutoriais

    Exibindo uma saída em json no terminal

    Muitas vezes quando estou testando uma api, eu gosto de ir no chrome, copiar a saída em CURL, e usar o terminal para ver como será o retorno dessa API. Para copiar o curl, basta seguir os seguintes passos do gif Para não ter que ficar digitando os comandos repetidamente no chrome, podemos jogar o curl no terminal, e executar ele concatenando no jq (para instalar acesse aqui) Então quando for rodar 1 curl no terminal, inclua o jq no final do comando, dessa forma Para transformar

  • git

    Utilizando o git patch

    As vezes na correria do dia, é muito mais fácil compartilhar códigos com outros devs sem a necessidade de criar 1 commit, push e pull, simplesmente porque aquele código não vai para a versão final. Nesse caso entra o patch. Criando o patch a partir do head As vezes não queremos comitar nada, e precisamos de tudo git diff HEAD > file_name.patch Criando o patch A melhor forma de se fazê-lo, é criar a partir de um sha, e especificar quantos commits para trás você quer incluir nesse patch, exemplo Dessa forma será gerado um arquivo, com a extensão .patch como por exemplo file.patch Aplicando o patch Prontinho!

  • Api,  Postman,  Programação

    Chamando uma api externa de dentro do Postman

    Para um teste recente de um sistema, precisei, a cada cadastro, utilizar um CNPJ diferente para cada chamada no postman, para não conflitar com o que já havia sido cadastrado na base de dados. Claro que poderia ter excluído os dados a cada chamada, mas queria fazer algo diferente. No tutorial que fizemos sobre scrapping, ensinei a pegar os dados de uma API comum, então eu tinha, em um sqlite, 3000 registros, que poderiam ser utilizados. A idéia básica seria, quando clicar em enviar (em 1), ele já trazer a variável fetched_cnpj, em 2, preenchida) Para isso, vamos clicar em pre-request-scrips e colar o seguinte código

  • Uncategorized

    Como fazer web scraping com laravel


    Warning: DOMDocument::loadHTML(): Tag template invalid in Entity, line: 12 in /home/samu/public_html/blog/wp-content/plugins/gistpress-master/includes/class-gistpress.php on line 473

    Warning: DOMDocument::loadHTML(): Tag svg invalid in Entity, line: 14 in /home/samu/public_html/blog/wp-content/plugins/gistpress-master/includes/class-gistpress.php on line 473

    Warning: DOMDocument::loadHTML(): Tag path invalid in Entity, line: 15 in /home/samu/public_html/blog/wp-content/plugins/gistpress-master/includes/class-gistpress.php on line 473

    Warning: DOMDocument::loadHTML(): Tag template invalid in Entity, line: 27 in /home/samu/public_html/blog/wp-content/plugins/gistpress-master/includes/class-gistpress.php on line 473

    Warning: DOMDocument::loadHTML(): Tag svg invalid in Entity, line: 29 in /home/samu/public_html/blog/wp-content/plugins/gistpress-master/includes/class-gistpress.php on line 473

    Warning: DOMDocument::loadHTML(): Tag path invalid in Entity, line: 30 in /home/samu/public_html/blog/wp-content/plugins/gistpress-master/includes/class-gistpress.php on line 473

    A ideia inicial desse tutorial foi de pegar os dados que estão disponíveis no site cnpj.info/lista e montar uma base de dados local para utilizá-los como massa de testes para um tutorial futuro (sobre a criação de uma extensão para o chrome). Para instalar o projeto siga os passos abaixo O segredo para o scraping está no arquivo app/Http/Controllers/GoutteController.php, método doWebScraping, que é acessado pela url http://127.0.0.1:8000/web-scraping O próximo passo, é, informar nessa página os seletores que queremos extrair da página. É bem simples, o processo consiste em abrir o dev-tools, inspecionar, e copiar o seletor. Subi um video (abaixo) que mostra o processo. Um detalhe que temos que ficar…

  • git

    Como alterar a parent branch no git

    Imagine o cenário, você criou uma branch, a partir da master, fez todas as alterações que precisava, e descobre que ao invés de implantar essas alterações de imediato, precisará enviá-las para outro servidor que não produção. Ou seja, você precisaria que essa branch tivesse sua origem em outra branch, quem sabe develop ? O processo é bem simples e direto. Imagine a situação. Você está na master (git checkout master) e você cria uma branch, baseada nela (git checkout -b new-branch). Adiciona os arquivos, trabalha e commita. O truque, bem simples na verdade, é continuar na branch ‘errada’, e dar o rebase para a branch certa git rebase develop dessa…

  • Docker,  Laravel,  PHP,  Siege

    Testando a performance de aplicações utilizando o siege e docker

    Para testar a velocidade/disponibilidade/performance de um site, utilizando o siege. A primeira coisa que vamos fazer é clonar o repositório Siga os seguintes passos: Depois de executado o comando, você já tem uma imagem docker rodando … para procurá-la basta digitar o comando Você verá uma imagem que se chama siege-local …. para rodar os testes em um servidor, execute o comando abaixo Entendendo os parâmetros utilizados Parâmetro Parâmetros -c 100 O parâmetro -c 100 indica que, para esse teste de stress, utilizaremos 100 usuários concorrentes. É como se o siege criasse 100 usuários para você. Esse número só é limitado pelos seus recursos da máquina. -r 50 O parâmetro…