Encontro sobre os princípios SOLID

Que galera massa! Hoje falamos sobre os princípios SOLID. A discussão ficou tão gostosa que ficaram faltando 2 princípios. 😀
 
O mais interessante de tudo, foi lidar com pessoas abertas a discutir assuntos de uma maneira saudável. Pessoas que querem compartilhar conhecimento e aprender cada vez mais.
 
Já já teremos muito mais encontros!
 
Valeu programadores do PHP Ribeirão Preto!!
Obrigado pela presença. :))

Contar linhas de códigos escritas – php

Olá,

Só por curiosidade, deu vontade de saber quantas linhas de código eu escrevi em um projeto que estou prestes a entregar. Um script curtinho no terminal ‘resolveu pra mim’.

find . -name '*.php' -not -path "./tests*" -not -path "./config*" | xargs wc -l

Em meu caso, estou excluindo a pasta de testes e o arquivo de configurações.
35439 linhas até agora. Pra que irei utilizar isso? Quem sabe!? Hahahahah

Utilizem bastante.   🙂

Citação

A programação deveria ser uma disciplina presente na grade curricular das escolas?

Programação na prática, talvez não. A inclusão digital de verdade, sim.

Atualmente, muitas pessoas se questionam sobre algumas matérias obrigatórias no ensino médio. O que era pra ser um preparo para uma entrada no mercado de trabalho, ou até mesmo um aprimoramento do que queremos fazer na faculdade, se torna um aglomerado de assuntos que no final das contas, não iremos utilizar tanto assim. Qual a ultima vez que você utilizou a equação do segundo grau? Ou precisou recordar a organização celular de uma célula eucarionte?

Não quero defender aqui que este tipo de conhecimento seja desnecessário ou fútil. Mas praticando um pouco de alteridade, podemos simular uma situação simples. Se eu quisesse me tornar um cirurgião plástico de sucesso, por que precisaria aprender a programar? Vamos praticar o inverso também. Quero me tornar um matemático acadêmico de sucesso. Por que eu preciso destrinchar tanto a biologia?

Mas então, nada de tecnologia nas escolas? Sim. A área da tecnologia que todos deveriam saber. Quem mais sabe o que são cookies, a não ser profissionais web? O que é RFID? Como funciona o gps do meu smartphone? Por que não é seguro me conectar em uma rede Wi-Fi pública? Por que quando eu pesquiso tênis na internet, anúncios sobre tênis ficam aparecendo durante horas em meu navegador? Estes sim, são assuntos indispensáveis sobre tecnologia.

Se começarmos a partir do pressuposto de que a pessoa que está do outro lado tem noção de como as coisas acontecem, aquilo não é mais ‘mágica’. Atualmente percebemos que algumas pessoas acham que os recursos digitais funcionam milagrosamente. A inclusão digital de verdade seria uma ótima matéria para desmistificar isso. Hoje nas escolas, se preocupam em ensinar a usar o Windows ou Android. Isso é simples. Deixa um notebook ou um tablet na mão de uma criança e um mês depois ela vai te ensinar a usar.

Mas essa mesma criança, cinco anos depois continuará a não saber o que são cookies, politicas de segurança nos e-mails, o grande problemas de redes Wi-Fi públicas e etc. Isso sim, deveria ser matéria primordial nas escolas. Afinal de contas, até os que não querem, estão inseridos no mundo digital.

 

Resposta publicada em atividade acadêmica em 15/05/2016

Link

Mailgun – Alternativa para Mandrill

Olá pessoal,

Recentemente o mandrill (api para disparo de e-mails) removeu o plano gratuito que MUITA gente utilizava com fé na sua gratuidade. Ferrou!!

Como sempre (ou quase sempre), tem um carinha de stand-by pronto para nos ajudar.
Nesse caso, mailgun caiu muito bem.  🙂

O mailgun disponibiliza (até o momento deste post) 10 mil disparo de e-mails gratuitos, por cada conta. Acredito que, para um projeto que quer uma solução de e-mail grátis e com bastante integração, 10 mil e-mails está de bom tamanho.

Enfim, deem uma olhada no mailgun e aproveitando a oportunidade, irei deixar aqui também uma referencia a um pacote muito bacana que utilizei para integrar o mailgun com o Laravel. Espero que gostem.

https://github.com/Bogardo/Mailgun

Utilizem bastante.   🙂

Buscando arquivos e pastas de um determinado usuário – Linux

Olá pessoal,

Precisei utilizar um recurso simples no linux e vou compartilhar com vocês.
Basicamente, precisei filtrar todos os arquivos e diretórios em /home/ubuntu/, onde o dono desses registro era o usuário ‘soufraz’.

find /home/ubuntu -user soufraz

Em meu caso, a instalação de um programa alterou alguns arquivos indevidamente. E então, precisei procurar tudo que foi alterado para anexar ao log de bugs do fórum do programa.

Utilizem bastante.   🙂

Funções variaveis e/ou funções dinâmicas em php

Olá pessoal,
Sempre que faço a releitura do manual php me impressiono com alguns recursos da linguagem.
Hoje vou compartilhar um trecho de código que está no próprio site do php (php.net).
O conceito é relativamente simples. Se você tem uma variável nomeada ‘algo’ com o valor ‘retornaAlgo’, você pode chamar essa variável com parenteses no final e o php irá procurar um função com o nome que está atribuido nessa variável.
Parece complicado mas na prática é simples. Abaixo mesmo exemplo citado no site:


function foo() {
echo "Chamou foo()
n";
}

function bar($arg = '')
{
echo "Chamou bar(); com argumento '$arg'.
n";
}

// Essa eh uma funcao wrapper para echo()
function echoit($string)
{
echo $string;
}

$func = 'foo';
$func(); // Chama foo()

$func = 'bar';
$func('test'); // Chama bar()

$func = 'echoit';
$func('test'); // Chama echoit()

Lindo né não? A reutilização e utilização de ‘funções dinâmicas fica sensacional!
🙂

Inserir marca d’água em arquivo pdf

Iai pessoal. Tudo em ordem? Vamos para mais uma pequena dica.

No desenvolvimento de alguns sistemas, é necessário uma serialização na visualização de alguns documentos. Nem sempre uma página com fundo branco, uma listagem de registros e uma bordinha cinza vem a ser útil. Em casos em que o sistema o qual desenvolvemos está sendo utilizado por uma  empresa que precisa apresentar documentos  em uma reunião formal, tal como a reunião o documento precisa estar bastante legal (para não repetir formal).

No código abaixo estou utilizando a biblioteca FPDF, que ao longo do tempo pretendo explora-la bastante. E tenham certeza que irei postar o máximo de informações que eu poder para que possamos desfrutar de uma forma abrangente está ótima biblioteca feita em PHP.

Para mais informações e download da biblioteca FPDF acessem: http://www.fpdf.org/

* Lembrando que é necessário baixar a biblioteca, extrair os arquivos e colocar dentro do seu projeto.
Vamos ao que interessa:

require('fpdf/fpdf.php'); //Inclui os arquivos da biblioteca no arquivo desejado

$pdf = new FPDF(); //Instancia o objeto
$pdf->AddPage(); // Adiciona uma nova página
$pdf->SetFont('Trebuchet','B','18'); // Define a fonte - param.: família fonte, estilo, tamanho
$pdf->SetXY(38,100); // Define largura altura onde iniciara a escrita (abscissa e a ordenada)
$pdf->Image('caminho_imagem'); //Nome da imagem - existem outros parâmetros
$pdf->SetY (38); //Após inserir a imagem com base no método SetXY, move o cursor para a posição desejada pronto para escrever novamente
$conteudo = 'conteudo_do_arquivo'; //Variável onde está armazenado a string que será escrita no arquivo
$pdf->Cell(0,5,$conteudo,0,1); // Imprime uma célula - param.: largura, altura, texto, borda, posição após chamada da função
$pdf->Output(); // Salva ou envia o documento

Como explicado linha-a-linha, pode se perceber que não tem nenhum segredo na utilização da biblioteca. Depois de muitas soluções temporárias principalmente para relatórios, a biblioteca FPDF está me ajudando muito. E tenho certeza que irá ser de bastante agrado para quem está precisando de uma apresentação de documentos bonitinha.

Obs: Hoje existem vários plugins para geração de relatórios que já imprimem inclusive gráfico. Mas para quem gosta de estar sempre explorando o PHP (como eu), fica a dica.

Até mais!