Cinco ferramentas que todo programador PHP deve dominar

Caro leitor,

Se você me conhece, sabe que o PHP é a minha paixão. Falar sobre PHP é divertido, trabalhar com PHP é divertido e ajudar os outros a trabalhar com PHP é divertido. Gosto tanto de PHP que fiz dele o meu trabalho do dia a dia pelos últimos 3 anos, trabalhando com PHP e também com os programadores.

Nos últimos nove anos me divertindo com PHP, comecei a ver que existem cinco categorias de ferramentas das quais eu dependo mais do que quaisquer outras. Claro, eu tenho um embelezador de código, um verificador de padrões e uma pasta cheia de scripts escritos à mão que eu uso em vários momentos para tornar minha vida mais fácil. No entanto, quando se trata de ferramentas para PHP, existem cinco delas nas quais confio todos os dias.

Aqui estão elas em ordem de importância. Deixe-me saber quais são as suas cinco ferramentas preferidas também! Não vamos …

[Leia mais]
DatabaseCast: Banco de dados no setor público

Olá, pessoal! Neste episódio do DatabaseCast, Mauro Pichiliani (Twitter | Blog), Wagner Crivelini (@wcrivelini) e o convidado Lucas Benevides (@beneladen) estudam para passar no concurso público. Neste episódio você vai saber quais são as vagas do setor público para trabalhar com banco de dados, como ficar com raiva das questões da prova, aprender a lidar com burocracia, identificar quem trabalha e quem fica de moleza no serviço e porquê nunca se deve esquecer um acento em um modelo de dados.

Este episódio é um oferecimento da …

[Leia mais]
[PostgreSQL] - Listando as 10 maiores tabelas no PostgreSQL

Para listar as maiores tabelas do seu banco de dados, utilize a consulta abaixo:

WITH table_stats AS ( SELECT schemaname, tablename, pg_relation_size(schemaname || '.'|| tablename) as table_size, (pg_total_relation_size(schemaname || '.'|| tablename) - pg_relation_size(schemaname || '.'|| tablename)) as index_size, pg_total_relation_size(schemaname || '.'|| tablename) as

[PostgreSQL] - Tamanho das tabelas no PostgreSQL

Em muitos casos é preciso saber o espaço em que as tabelas do banco de dados estão utilizando em disco, para fins de monitoramento e decisão de estruturação de banco. Para tal tarefa no PostgreSQL o comando abaixo resolve o problema. SELECT esquema, tabela, pg_size_pretty(pg_relation_size(esq_tab)) AS tamanho, pg_size_pretty(pg_total_relation_size(esq_tab)) AS tamanho_total

Seqüência de Fibonacci Procedimento

Original post: http://anothermysqldba.blogspot.com/2015/06/fibonacci-sequence-procedure.html

 Bem, tem sido um tempo desde que eu postei, desculpe por isso. Hoje eu estava assistindo a reprises do programa de TV Fringe e quando Walter referenciado a seqüência de Fibonacci eu tenho lado seguido com opções do MySQL para isso. 

Agora este post já existia: 


Então eu peguei esse …

[Leia mais]
Abrir o código: um relato pessoal

Um dia fui desenvolvedor. Profissional, com diploma e carteira assinada. A vida tem seus mistérios e com o tempo acabei migrando para a administração de sistemas, depois para a administração propriamente dita, e o resultado disso é que poucas vezes contribuí diretamente com código para algum projeto open source, apesar de estar envolvido nessa cena desde 1996.

Houve algumas exceções, incluindo o código de extensões para outros programas e um sistema de configuração para conexões PPP discadas, ainda nos tempos heróicos em que conectar um PC com Linux à Internet era uma tarefa muito complicada.

Minha contribuição ao longo desses anos sempre foi mais como cronista e disseminador de informações, eventualmente como palestrante, às vezes como colaborador financeiro com um ou outro projeto especialmente meritório e necessitado.

A maior parte da minha contribuição ocorre por meio do site BR-Linux, onde já …

[Leia mais]
[Jasper] - Declaração de Lista e Variáveis dinâmicas e condicionais

É algo simples, mais facilita no dia-a-dia no desenvolvimento de relatórios no Jasper Report:

Lista dinâmica: $X{IN, CO.GRUPOCALCID , grupocalculo} -- declarar a variável como lista

Variável dinâmica: $P!{grupocalculo} -- variável dinâmica no jasper

Utilizando Variável condicional no Jasper: (($P{ordenacao}.toString() == "A") ? "ALFABÉTICA"  : "NUMÉRICA" )

Você sabe como listar as dependências de uma tabela?

Uma tarefa um tanto quanto chata de ser realizada é fazer um delete em uma tabela em um registro que possui filhos(ou dependência, como preferir) e que na criação da Foreign Key não é definido a opção ON DELETE CASCADE. Então você irá tentar apagar e irá aparecer essa mensagem de erro:

ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails...

Isso significa que para que seja possível apagar o registro desejado, antes será necessário apagar os filhos desse registro.

Nesse momento que bate aquela tristeza enorme, pois você não tem o MER e terá que olhar várias até achar os filhos.

Para ajudar nesse processo eu desenvolvi essa procedure que lista as tabelas que possuem filhos(apenas as tabelas que possuem filhos, pode ser que exista um FK mas a tabela não possui nenhum filho, nesse caso não irá apresentar como resultado) de um registro.

[Leia mais]
Top 5 das ferramentas JavaScript que você não deveria ficar sem

O JavaScript surgiu nos últimos anos como a expressão de facto das tecnologias web da próxima geração, e um componente crítico de tecnologias HTML5 – juntamente com CSS e JQuery. O JavaScript é realmente onipresente – ele está aparecendo em toda parte! Há muitas outras razões pelas quais o JavaScript e as ferramentas baseadas nele estão se tornando a onda do futuro. O JavaScript é a linguagem mais usada no GitHub, e essa tendência só vai aumentar. Como um artigo colocou, “JavaScript é a linguagem número um no mundo; é a linguagem da web e um ponto de partida para tantos novos desenvolvedores…”.

Para entender melhor o domínio do …

[Leia mais]
Seu site tão rápido quanto o Google usando ElasticSearch

Muitos sites são referências na área em que atuam devido à relevância do conteúdo. Mas não basta oferecer informação/produto/serviço de qualidade, é preciso fazer com que o usuário encontre o que ele tanto procura. Sabe por quê? Porque quando ele não acha o que precisa, desiste e abandona o site.

E agora, o que devemos fazer? Uma solução é utilizar um mecanismo de FullTextSearch do MySQL que, aparentemente, irá resolver o problema por um tempo. Mas digamos que o CEO de sua loja virtual resolva fazer uma megaliquidação, no Black Friday (por exemplo) e, para turbinar os acessos e vender ainda mais, promove uma megacampanha no Google e no Facebook. De repente, o fluxo de pessoas procurando desesperadamente por promoções no site aumenta 10 vezes. É aí que começa a complicar para você que resolveu utilizar o FullTextSearch.

Será que você estava de fato preparado para enfrentar essa situação? Acho que você …

[Leia mais]