Postagens

Mostrando postagens de 2018

Javascript / NodeJs - Varias maneiras de escrever uma função

Imagem
Uma função pode ser declarada de várias formas diferentes. Abaixo estão alguns exemplos. Ao implementar funções em javascript para navegadores cuidado com a versão do mesmo. Algumas versões de navegador podem não interpretar as ultimas duas maneiras de declaração. Function declaration A primeira é a mais conhecida function resultado ( numero ) { return 2 * numero } Function Expression const resultado = function( numero ) { return 2 * numero } Arrow function expression const resultado = numero => { return 2 * numero } No caso de dois ou mais parâmetros de entrada da função const resultado = ( numero , multiplicador ) => { return multiplicador * numero } Anonymous Arrow function Com parâmetro (( numero ) => { console.log( 2 * numero ) })( numero ) Sem parâmetro (() => { console.log( 2 * 2 ) })() Assíncrono (async () => { console.log( 2 * 2 ) })() Concise Arrow function expression const resultado = numero => 2 * numero ...

PHP - Modificando métodos através da extensão de classes

Imagem
Extensão de classes é uma ótima maneira de organizar e reaproveitar código, tornando a aplicação mais clara e de manutenção mais simples. Vamos mostrar aqui um exemplo muito simples de extensão de classe utilizando os mesmos nomes de método. Isso pode ser muito útil, por exemplo, quando temos uma chamada de método em várias partes do código e precisamos mudar alguma coisa neste método porém não queremos mexer diretamente nele. Vamos supor que o método statement()  dentro da classe Main é chamado em trinta pontos de sua aplicação e você precisa alterar a saída dele. main.class.php <?php Class Main { public function statement() { return "Classe 'Main'"; } } index.php <?php include "main.class.php"; $new = New Main(); echo $new->statement(); echo "\n"; Uma opção seria alterar o método mas você não quer mexer diretamente nel...

NodeJS / Javascript - Concatenando arrays com concat

Imagem
Para concatenar arrays em Javascript basta aplicar o método .concat() let result = ['a','b','c'].concat(['d','e','f']) O resultado será a array abaixo: ['a','b','c','d','e','f'] Outra maneira de aplicar a função: let var1 = ['a','b','c'] let var2 = ['d','e','f'] let result = var1.concat(var2) O resultado será o mesmo do exemplo anterior: ['a','b','c','d','e','f'] É possível também fazer uma concatenação de uma array dentro de um objeto como no exemplo abaixo: let content = [{titulo:'Titulo 1',tags:['tag1','tag2']},{titulo:'Titulo 2',tags:['tag3','tag4']}] let result = [] content.map( item => { result = result.concat(item.tags) } ) Como resultado temos: ['tag1', 'tag2...

Docker - Comandos básicos

Imagem
O Docker lembra o conceito de máquina virtual onde é possível simular um sistema operacional dentro do sistema operacional principal (Exemplo: uma máquina rodando Windows 10 pode rodar dentro dela um ambiente com Linux, isolado do Windows). Com o Docker é possível pegar seu script em qualquer linguagem (PHP, Node.JS, Python, etc), baixar uma imagem de sistema operacional apenas com os recursos básicos para rodar o script (Kernel de Linux mais a instalação do Node.JS com Mongo por exemplo) e rodar este script como se fosse uma máquina isolada dedicada apenas a este script. Além disso é possível criar várias instancias de um mesmo script como se fossem várias máquinas separadas. A instalação do Docker é um pouco chata e apenas máquinas com capacidade de virtualização podem rodá-lo. Algumas versões de Windows tem tido problemas para rodar o Docker. O Recomendado é que ele seja instalado em ambiente Linux que é seu lugar 'natural'. O guia para instalação pode ser acessad...