Blog

Desativar correção no ZSH.

Estou usando o oh-my-zsh a alguns meses. É muito útil e facilita muito para trabalhar com git. Porém tem um funcionalidade nele que irrita um pouco: auto-correção.

Para desativar é simples, no seu arquivo:

$HOME/.zshrc 

procure pela linha:

source $ZSH/oh-my-zsh.sh

e adicione logo abaixo dela:

unsetopt correct_all

Feito. :)

UpperCase First Letter no MySQL

Precisei normalizar alguns dados que estavam todos com a letra em maiúscula, em vez de conectar com o PHP e usar ucfirst(); pesquisei e fiz direto no banco.

Equivalente ao ucfirst do PHP no MySQL.

1
UPDATE [table] SET [field] = CONCAT(UPPER(LEFT(LOWER([field]), 1)), SUBSTRING(LOWER([field]), 2));

Plugin para Revisão de Posts no WordPress

O WP RevisionPost permite que você marque o Post para ser revisado por alguma pessoa antes de ser postado. Desenvolvi ele para o Blog Volvo Caminões porque o cliente precisava aprovar os posts feitos pela agência antes da publiação no blog.

Você pode efetuar o Download diretamente no repositório do GitHub.

https://github.com/Danielpk/WP-Revision-Post

Custom Finds Behavior

Esse Behavior foi criado para economizar tempo com finds padrões da aplicaçao, vai ajudar a economizar algumas linhas de códigos e deixar sua aplicação mais elegante.
Vamos ao que interessa..

Instalação

Baixe o behavior no github http://github.com/mobvox/CustomFinds e coloque o arquivo custom_finds.php dentro do diretório behaviors.

Na Prática

Bom, não vou explicar muito como você pode usar o behavior, mas com os códigos abaixos já vai te dar uma boa ideia das possibilidades que o behavior te oferece.

Model

<?php
class Product extends AppModel{
    //...
    var $actsAs = array('CustomFinds');

    var $customFinds = array(
        'topSellers' => array(
            'fields' => array('Product.name','Product.price', ...),
            'contain' => array('ProductImage.source'),
            'conditions' => array('Product.countSeller >' => 20, 'Product.is_active' => 1),
            'recursive' => 1,
            //All others find options
        )
    );
    //...
}
?>

Controller

 'topSellers',
        //'conditions' => array(...),
        //...
    );
    function index(){
        $findAll = $this->Product->find('all', array('custom' => 'topSellers', 'conditions' => array('Product.category_id' => 2)));
        $findFirst = $this->Product->find('first', array('custom' => 'topSellers'));
        $findCount = $this->Product->find('count', array('custom' => 'topSellers'));
    }
    //...
}
?>

Bom, se tiver alguma dúvida ai da uma perguntado nos comentários ou aperece no canal do #cakephp-pt na rede freenode que eu to sempre por la.

Autor: Daniel L. Pakuschewski (eu) e Ariel Patschiki

Gerenciadores MySQL gratuito para uso comercial

Na MobVox seguimos a risca o uso de softwares originais e sempre que precisamos de alguns software pesquisamos se não existe uma solução free de uso comercial.

A Busca da vez foi para um gerenciador MySQL, compartilho com vocês abaixo a lista de softwares encontrados:

Se alguem tiver mais algumas alternativas, manda nos comentários que eu adiciono na lista.

Corrigir as sequences do Postgres

Função em PLSQL para corrigir as os valores das sequences.

– Update – 03/05/2012 –

O Jackson Fraga fez algumas melhorias na função:

  • retorna qtde de tabelas corrigidas
  • corrrige qualquer schema
  • corrige apenas tabela q contenham campo “Id”
  • corrige apenas qdo há um sequence criado!
  • funciona com campos CASE SENSITIVE (meu caso “Id” id)
Valew ;)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
CREATE OR REPLACE FUNCTION "public"."fixsequence"()
 RETURNS "pg_catalog"."int2" AS $BODY$declare v_reg record;
v_sql varchar;
i_count int;
BEGIN
 i_count := 0;
 
       for v_reg in (
               select t.table_name, c.column_name, t.table_schema, s.sequence_name
               from information_schema.tables t
               inner join information_schema.columns c on
                  c.table_catalog = t.table_catalog and
                  c.table_schema = t.table_schema and
                  c.table_name = t.table_name and
                  c.column_name = 'Id'
               inner join information_schema.sequences s on
                  t.table_catalog = s.sequence_catalog and
                  t.table_schema = s.sequence_schema and
                  lower(s.sequence_name) = lower(t.table_name || '_id_seq')
       ) loop
               v_sql := 'SELECT setval(''"'|| v_reg.table_schema || '"."' || v_reg.sequence_name || '"'', (SELECT max("'|| v_reg.column_name ||'")+1 FROM "'||v_reg.table_schema||'"."' || v_reg.table_name || '"))';
               execute v_sql;
               i_count := i_count +1;
       end loop;
       RETURN i_count;
END
$BODY$
 LANGUAGE 'plpgsql' VOLATILE;

Furtada descaradamente do Ariel Pat$%&S#.

Olá, mundo!

DENOVO!

<?php
echo 'teste';
?>

Bem-vindo ao WordPress. Esse é o seu primeiro post. Edite-o ou exclua-o, e aí comece a brincadeira!