Postagens

Usando o EditorConfig para padronizar a formatação de seu projeto

Imagem
Uma das coisas que mais incomodam desenvolvedores profissionais é a formatação e padronização de código, principalmente em situações que vários membros de um time trabalham em um mesmo código ou aplicação. O EditorConfig ajuda a resolver uma parte deste problema mantendo a consistência na formatação do código, tanto entre diferentes desenvolvedores quanto entre os diversos IDEs. O projeto EditorConfig consiste em um arquivo contendo as definições de formatação que são aplicadas automaticamente na IDE que você está usando . Para que o EditorConfig funcione você precisa criar um arquivo chamado .editorconfig com as definições de formatação apropriadas dentro da pasta de seu projeto (na raiz por exemplo). Ao abrir o projeto através de sua IDE preferida o PlugIn procurará nas pastas pelo arquivo até encontrá-lo. Cada IDE tem um procedimento próprio de instalação do PlugIn. Como exemplo segue o passo a passo para instalar o EditorConfig no Sublime Text. Vá no menu 'Prefere...

AngularJS - detectando o evento Enter através de uma diretiva ngEnter

O AngularJS tem inúmeras diretivas e funções para criar rapidamente uma aplicação porém uma que não existe no pacote do framework e que faz bastante falta é um evento ' on-Enter ' para chamar uma função ou método. Por exemplo se estou desenvolvendo um formulário e quero que ao preencher um campo e apertar o Enter uma função seja chamada, seja para validar algum dado, seja para efetuar um login. Apesar de não existir um evento deste tipo o AngularJS permite a criação de diretivas personalizadas. Assim podemos criar a nossa própria diretiva ng-Enter . Abaixo está uma diretiva simples que permite incluir em sua aplicação um ng-enter e, através deste, chamar uma função qualquer. /* Esta diretiva permite chamar uma função qualquer ao pressionar a tecla Enter. */ app.directive('ngEnter', function () { return function (scope, element, attrs) { element.bind("keydown keypress", function (event) { if(event.which === 13) { ...

MySQL - Clonando tabelas na linha de comando

Clonar tabelas é fácil se você tiver a disposição um ' PHP MyAdmin ' ou uma aplicação gráfica instalada em sua máquina. Porém existem casos em que você só possui acesso a um shell (ou terminal) ou mesmo precisa criar uma aplicação que em algum momento seja necessária a clonagem de uma tabela. Os procedimento é muito simples: 1º Criar um clone da estrutura original (LIKE banco_de_dados.tabela) CREATE TABLE recipes_new LIKE production.recipes; 2º Inserir o conteúdo original dentro do clonado (FROM banco_de_dados.tabela) INSERT recipes_new SELECT * FROM production.recipes; É simples assim! Abraços

AngularJS - Como gerenciar requisições assíncronas em Ajax e não perder o fluxo de dados

Imagem
Se por um lado a tecnologia Ajax de requisições assíncronas foi uma revolução para a Web, permitindo aplicações mais leves, rápidas, robustas e ágeis seu gerenciamento exige cuidados. É muito comum perder dados entre requisições ou então efetuar cálculos ou procedimentos sem ter o cuidado de garantir que os dados requisitados através de um http Post ou Get tenham chegado a tempo. Talvez o maior segredo para trabalhar com requisições assíncronas é ter sempre em mente que os dados não chegam em uma sequência como a da programação estruturada mas sim na ordem em que as consultas feitas nos web services e fontes de dados são concluídas. Desta forma uma consulta que foi feita primeiro em uma fonte de dados 'A' não necessariamente será concluída antes de uma consulta feita logo depois em uma fonte de dados 'B'. Se o server 'B' for mais rápido que o 'A', por exemplo, a sequência é invertida. Este cenário é interessante na medida em que não precisamos aguar...

Mobile - Tabela de dimensões e aparelhos

Uma lista que pode ser util na hora de criar um layout responsivo para mobile: Dimensões Tela 320x568 4'' iPhone 5 360x640 480x800 720x1280 4.8'' Galaxy S 768x1024 9.7'' iPad 1024x768 15'' monitor 1280x800 14'' Notebook 1360x768 1440x900 19'' monitor 1600x900 20'' monitor 1680x1050 22'' monitor 1920x1200 24'' monitor

PHP - phpinfo diretamente na linha de comando

Imagem
É procedimento mais que conhecido e adotado criar um arquivo (phpinfo.php) para visualizar as propriedades da instalação do PHP em determinada máquina. <?php echo phpinfo(); Mas é posssível obter esta mesma informação diretamente pelo terminal, através do shell $ php -i O problema aqui é que será exibida uma lista corrida na tela com todas as propriedades, funções e etc. Podemos resolver o problema redirecionando a saída para um arquivo, através de um pipe: $ php -i | cat > phpinfo.txt Uma maneira mais prática é consultar diretamente o pacote que se deseja descobrir se está instalado ou não. Para isto podemos usar o comando abaixo: $ php -i | grep -i <pacote_a_ser_verificado> Vamos descobrir se o Curl está instalado: $ php -i | grep -i curl A resposta é: Fácil e rápido!

GIT - Comandos uteis

Imagem
  A breve lista de comandos úteis do GIT deste post estão muito longe de esgotar todas as possibilidades. Marca o arquivo para remoção git rm <file> Desfaz um git add em <file> git reset <file> Reverte um único arquivo para seu ultimo commit git checkout <filename> Vai para um commit qualquer (semelhante a mudar para um branch $ git checkout <branch_name>) git checkout <commit_hash> Volta para o HEAD do seu branch atual git checkout master Exibe os logs de atualização em linhas git log --oneline Exibe quais branches foram foram adicionados ao Master git log --oneline --decorate Verifica o conteúdo modificado antes de dar um add git diff <filename> Verifica o conteúdo modificado após um add git diff --cached Verifica o conteúdo modificado comparado com o último commit git diff HEAD Se esquecer de commitar um arquivo basta colocar este arquivo no stage dando um 'gi...