abril 17th, 2009 by elm
O Grupo de Usuários de PHP do Estado de Santa Catarina está promovendo o evento em Itajaí – litoral do estado – em parceria com a Univali durante a Semana da Computação, nos dias 29 e 30 de Maio de 2009. E no dia 31 de Maio, no mesmo local, será realizado o primeiro TestFest de PHP de Santa Catarina.
Para tanto, faz a chamada de trabalhos a palestrantes interessados em participar do evento, que deverão enviar suas propostas até o dia 30/04/2008. Os trabalhos deverão se encaixar em uma das duas categorias disponíveis para o evento: mini-cursos ou palestras. Se a proposta enviada for uma palestra, esta deverá ter duração de no mínimo 1 hora e no máximo 1h30. Se mini-curso, duração mínima de 3h30 e máxima 4h.
Os assuntos para o evento deste ano foram expandidos, contemplando as seguintes áreas:
- PHP (Frameworks, melhores práticas de desenvolvimento (OO, uso do PHPUnit etc), PHP básico, IDEs para PHP, Banco de Dados e PHP entre outros assuntos);
- Cases de empresas que usaram PHP como solução tecnológica;
- Desenvolvimento ágil Scrum, XP e outras metodologias co-relacionadas;
- Rich Internet (RIA), Jquery, Prototype, Flex, Javascript, CSS;
- Iniciando no desenvolvimento Web (assuntos que envolvam PHP, JavaScript, Design e por onde começar);
- Integração de PHP com outras plataformas e linguagens;
- Como contribuir com a comunidade e como ajudar a corrigir e melhorar o PHP;
Caso a sua proposta se encaixe em um dos temas relatados envie as seguintes informações.
A seguir modelo de proposta a ser enviado:
Nome do palestrante: Fulano
Título da palestra: PHP e Oracle
Nível: Intermediário
Resumo da palestra: A palestra tem como objetivo demonstrar a utilização do banco de dados Oracle com a linguagem PHP. Também será demonstrado dicas de performance específicas na utilizaçãodeste banco. Adicionalmente serão apresentada as novidades que foram adicionadas ao Oracle 11g e como estas novidades afetam o PHP.
Minicurriculo do palestrante: Fulano possui graduação em Ciência de Computação pela universidade X e especialização em Ciência da Computação pela Y. Atualmente é Analista de Sistemas da empresa W e Professor da faculdade Z, ministrando disciplinas de Programação, Segurança, Sistemas Distribuídos, entre outras.
Categoria: Palestra
Duração: 1:15
Currículo: Contendo informações adicionais e se já palestrou em algum evento do gênero.
As propostas devem ser enviadas para conf @ phpsc.com.br.
Maiores informações serão divulgadas durante o[s] meses de Abril/Maio no site do grupo e na lista do Yahoo http://br.groups.yahoo.com/group/php-santacatarina
abril 8th, 2009 by elm
Foi publicada na segunda edição da revista TIdigital uma reportagem sobre o framework CakePHP.
Foi feita uma entrevista com um dos criadores do framework, John David Anderson e profissionais brasileiros que usam a ferramenta: Jhony Maiki Maseto, Tulio Vitor Machado Faria, Oberaldo Büll Junior, João José Carvalho Pedrini e eu.
O PDF da reportagem está disponível neste link
novembro 25th, 2008 by elm
Outra novidade para mim ao usar o Subversion foi o controle de Locks.
Eu sempre usei o CVS integrado ao Eclipse para gerenciar os projetos que eu trabalhava e com essa duplinha é bem fácil configurar para evitar que dois programadores alterem o mesmo arquivo.
Com o Subversion e o Eclipse (usando o plugin Subclipse) eu não encontrei essa opção. A solução que encontrei foi configurar o cliente do subversion para quando criar novos arquivos marcá-los com um flag. Este flag indica que, para editar o arquivo é preciso que seja feito o “lock” antes. No momento de criar o lock o Subclipse também verifica a versão do arquivo e avisa caso a versão local seja inferior a que consta no repositório. Desta forma eu garanto que o programador sempre tenha a última versão do arquivo e evito que duas pessoas alterem o mesmo arquivo ao mesmo tempo. Existem formas de corrigir isso usando práticas de merge, mas eu acho mais fácil evitar o problema do que resolvê-lo
O que eu fiz foi alterar o arquivo config no diretório do usuário:
mate ~/.subversion/config
Eu estou usando o Textmate no MacOSX. Mas o mesmo passo vai funcionar no Linux. No Windows XP o arquivo encontra-se no diretório
c:\Documents and Settings\usuario\Dados de Aplicativos\Subversion\config
Neste arquivo eu alterei
# enable-auto-props = yes
para
enable-auto-props = yes
E adicionei alinha abaixo na seção [auto-props]
* = svn:needs-lock
Desta forma, assim que o programador criar um novo arquivo e realizar o primeiro commit é adicionada esta flag ao arquivo. Todos que forem alterá-lo vão passar pela fase “lock-edit-commit”, com um “update” caso seja necessário.
agosto 30th, 2008 by elm
No dia 04/09/2008 fazem 5 anos que criei este site!
Nestes 5 anos foram 245 posts (246 contando com este), 576 comentários, vários novos amigos e grande conhecimento adquirido. Realmente foi uma das melhores práticas profissionais e pessoais que já fiz.
Para comemorar e agradecer aos leitores eu vou sortear duas cópias do meu livro Frameworks para Desenvolvimento em PHP. Autografados e enviados pelo correio. Lembre-se que minha assinatura e mais 15 reais valem uma cerveja em qualquer Night Club do país!!
Para participar é só deixar um comentário nesse post, com nome e e-mail corretos. O sorteio vai ser feito pelo meu pequeno e humilde script para sortear alunos azarados no dia 08/09/2008
Boa sorte e obrigado por ler meu site
maio 26th, 2008 by elm
Excelente artigo com dicas de performance para scripts em PHP.
Vale a leitura
abril 25th, 2008 by elm
Estou desenvolvendo um sistema grande usando o framework CakePHP e surgiu uma necessidade. Precisava criar uma pseudo-coluna com o resultado do cálculo de outras duas. Seguindo o conceito de MVC, achei mais interessante fazer este cálculo no Model para poder usar em todos os programas que utiizam aquela tabela.
Para ilustrar isto montei um exemplo. Criei a seguinte tabela:
-
CREATE TABLE IF NOT EXISTS `clientes` (
-
`id` int(11) NOT NULL AUTO_INCREMENT,
-
`nome` varchar(100) NOT NULL,
-
`sobrenome` varchar(100) NOT NULL,
-
PRIMARY KEY (`id`)
-
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
O Model da tabela ficou da seguinte forma:
-
class Cliente extends AppModel {
-
-
var $name = 'Cliente';
-
var $validate = array(
-
'id' => VALID_NOT_EMPTY,
-
'nome' => VALID_NOT_EMPTY,
-
'sobrenome' => VALID_NOT_EMPTY,
-
);
-
-
/*
-
funcao que é executada toda vez que é realizado uma consulta na tabela
-
esta funcao adiciona o nome completo do cliente ao resultado como uma pseudo-coluna.
-
idéia tirada de http://www.paulherron.net/articles/view/cakephp_afterfind_psuedofield
-
*/
-
function afterFind($results) {
-
if(isset($results['0']['Cliente'])) {
-
foreach ($results as $key => $val) {
-
$results[$key]['Cliente']['nome_completo'] = $results[$key]['Cliente']['nome'] . $results[$key]['Cliente']['sobrenome'] ;
-
}
-
}
-
return $results;
-
}
-
}
E na visão eu simplesmente imprimo a pseudo-coluna:
echo $cliente['Cliente']['nome_completo'];
Simples assim.