Postado por Marcus Antonius - 15 dez, 2009. em projetos
Quase sempre queremos saber como está o nosso CRE (Coeficiente de Rendimento Escolar), tanto para verificar o nosso rendimento, quanto para ver se ele está apto a entrar naquele projeto de pesquisa que queremos participar. Porém a cada período o número de disciplinas aumenta, o que torna cansativo o cálculo de uma forma manual. E foi por esse motivo que resolvi criar uma forma mais automatizada para o cálculo de CRE.
Basicamente o CRE é determinado pela seguinte expressão:
Obs.: Eu tomei como base de cálculo um documento da instituição onde estudo, o IFPB (antigo CEFET-PB), a quem interessar, clique aqui.
Postado por Marcus Antonius - 8 nov, 2009. em eventos
O GOPHP Conference 2009 é um evento destinado aos profissionais de PHP que querem aprimorar a sua base de conhecimento e aumentar a sua rede de relacionamentos.
O evento contará com a participação de palestrantes de renome e possuirá 12 palestras sobre os mais variados temas, relacionados a PHP. O GOPHP Conference 2009 não tem um publico alvo específico, atendendo tanto o profissional com bastante experiência quanto ao profissional iniciante e estudante.
Além das palestras haverão 4 minicursos de 4 horas cada, que têm como objetivo explicar os assuntos de maneira que o participante saia do minicurso apto a aplicar a técnica/tecnologia na prática. Inicialmente os temas dos minicursos serão Orientação à Objetos, Frameworks, Segurança e Metodologias.
Outro ponto forte do evento será o networking entre os participantes, que terão a possibilidade de se conhecer e fazer contatos profissionais durante os dois cofee breaks oferecidos pelo evento.
O evento ainda contará com 4 Palestrantes Convidados.
Com isso, o evento visa mostrar que Goiás é um pólo de desenvolvimento Web com PHP, com bons profissionais e de renome internacional.
Postado por Marcus Antonius - 19 out, 2009. em eventos
O terceiro encontro do grupo de desenvolvedores PHP da Paraíba tem como objetivo reunir os membros do grupo, estudantes e profissionais da área de TI para troca de conhecimentos na tecnologia PHP e relacionadas. O encontro contará com palestras e momentos de networking entre os participantes.
Teremos também um momento de desafio, onde haverá uma competição de resolução de problemas utilizando PHP valendo brindes. Para isso, caso você tenha um notebook, leve para o evento. Caso o contrário combine com um amigo, pois a competição será em duplas.
O evento ocorrerá no dia 31 de outubro de 2009 no Auditório do Sebrae em João Pessoa – PB.
Postado por Marcus Antonius - 13 set, 2009. em php
Aplicações Web PHP podem acrescentar estado nas suas aplicações de forma muito fácil, porque a ilusão de estado é mantida através do ID de uma sessão e nela podemos transportar informações entre uma página e outra sem perdê-la no meio do caminho. Talvez você já tenha perdido uma produtividade potencial por conta de bugs bizarros ou até mesmo brechas de segurança por causa dessas belezinhas. Aqui vão quatro dicas para evitar que você fique perdendo tempo e garanta o seu site.
1. Não use underscores em hostnames
A menos que você tenha memorizado o RFC de caracteres permitidos no nome do host, você pode não estar ciente de que não é permitido colocar underscores em nomes de hosts. Em alguns browsers, como o firefox, não aplica esta proibição, mas o Internet Explorer vai se recusar a setar um cookie/session cujo hostname possua underscores. O IE vai fazer com que em cada página carregada seja gerado um novo ID de sessão. Mas o usuário nunca vai aceitá-la. Fonte: documentação set_cookie.
2. Atualize suas sessões depois de redirects
Você deve chamar a função session_write_close (ou pelo alias session_commit) para escrever os dados na sessão antes que qualquer HTTP Location redirects seja emitido. Este comando também “libera” a sessão do usuário assim ele pode fazer outras atividades na sua aplicação. Veja os comentários por cenaculo e bkatz.
3. Prevenindo a fixação de sessão
Fixação de sessão ou session fixation, permite que qualquer usuário mal intencionado receba o id de uma sessão válida passando um simples link. Sem predizê-la ou roubá-la do cookie de algum usuário ou através de um $_GET comum. A vitima é pega utilizando o id da sessão gerada pelo “hacker” e não através do servidor. Você pode prevenir este tipo de ataque chamando a função session_regenerate_id(), particularmente após armazenar informações importantes como o nome de um login ou uma flag. Isso vai mostrar para o “hacker” um id de sessão inútil. Chris Shifflet fez uma discussão mais meticulosa sobre Session Fixation.
4- Não exponha id’s de sessão.
Cookies talvez sejam, relativamente, o lugar mais seguro para armazenar o id de suas sessões se comparando a incorporá-la diretamente na sua url (via PHPSESSID). Aqui vão duas configurações (via php.ini) para controlar este comportamento, cada um deles são muito importantes, por isso você deve setar ambos. Você deve setar o session.use_trans_sid para (off) e se você estiver utilizando PHP 4.3.0 ou superior você pode setar também session.use_only_cookies para “1?.
Postado por Marcus Antonius - 18 ago, 2009. em php
Tekuna is small, just 3000 source lines of code, it improves reusability with a component-oriented definition of the application and intuitive routing. Its small footprint will not pollute your codebase with unnecessary stuff.
Below a more detailed features list for Tekuna :
Component-oriented Definition of the Application
Intuitive Routing of Actions to Controllers
Friendly URLs (RESTful API)
MVC Architecture
PHP Error handling with Exceptions (and thus catchable)
Separate Request and Response Objects
Strict Input Filtering
Full UTF-8 Support
Support for multiple Template Engines
Simple Multilanguage Support
Fully Unit-tested
100% E_STRICT Compliant
Combinable with many other frameworks (Templating, ORM, Unit-testing…)
Geared to java programming and naming style
Open Source under an MIT License
Current Tekuna version os 0.1.189 requires PHP 5.2.1 with mod_rewrite enabled on your Apache webserver. A quick start is available to understand Tekuna principles, architecture and features. The project is at its early stage and not ready for production, but you might check the project’s roadmap to have a better idea about what’s coming next.
Aprenda a adicionar a documentação do PHP.net na barrinha de busca do Mozilla Firefox e tenha acesso rápido e certeiro à documentação da função ou funcionalidade que você procura.
Hoje vou dar uma dica básica pra todo mundo que gosta de trabalhar com PHP e precisa, constantemente, acessar o PHP.net para tirar dúvidas sobre as funções/argumentos/parâmetros/classes e etc… É uma documentação maravilhosa que todos devemos visitar pelo menos uma vez por dia.
A maioria dos desenvolvedores usa o Mozilla Firefox pela vantagem enorme dos plugins de desenvolvimento e eu gosto muito do FF por causa daquela barrinha de busca que fica do lado da “wonderfull bar“… E eu vou mostrar pra vocês como colocar o PHP.net ali, pra você digitar o nome da função e cair direto na documentação dela.
Primeiro acesse o PHP.net e repare que o íconezinho da barra de busca vai ficar azulado:
figura 1
Agora é só clicar na setinha e clicar em Adicionar “Add PHP.net search”, como mostra a imagem:
Se você – a esta altura do campeonato – não faz idéia do que é um “tweet”, ponha-se daqui para www.twitter.com !
Agora ! Podemos conversar de igual pra igual. Pense em um framework. Uma coisa grande. Com várias opções, módulos, suporte a plugins, MVC, talvez um Data Mapper, etc, etc, etc. Agora pense em um tweet: 140 caracteres. São coisas como óleo e água, gato e cachorro, são paulinos e mulheres (eu ainda vou escutar por causa disso).
Pois bem, tentando mostrar a beleza feminina aos São Paulinos – ou que um framework não precisa ser uma coisa grande, pra quem não entendeu a piada -, o fundador do Symphony (o framework) criou o Twitto: um framework do tamanho de um tweet, ou seja: 140 caracteres. Na verdade – e lógico – ele não e grande coisa, simplismente funciona como um Front Controller bem básico. Mas é uma prova de conceito e usa novas features do PHP 5.3, enfim … o dito cujo segue abaixo.
Agora você pode se parguntar, quais são as coisas “novas” que o twitto está usando, simples:
Constante __DIR__
Operador ?:
Funções anônimas
No fim, o Twitto existe apenas como brincadeira, e para mostrar alguns novos recursos do PHP 5.3, mas se ele realmente for aceito como framework ele é o mais rápido existente. Mais pra frente mostro uns benchmarks que estou fazendo e o twitto já está neles.
Postado por Marcus Antonius - 30 jul, 2009. em php
Nesse Post irei fazer uma sínstese de uma séries de postagens sobre o uso de frameworks em php e também o que de fato um framework não é.
PHP é a linguagem de programação mais famosa do mundo por várias razões: flexibilidade, facilidade de uso e vários outros fatores. Mas algumas vezes a programação se torna monótona e/ou repetitiva, e é aí que um framework pode ajudar.
O que é um framework de PHP?
De forma resumida o framework é uma estrutura, uma fundação para você criar a sua aplicação. Em outras palavras o framework te permite o desenvolvimento rápido de aplicações (RAD), o que faz economizar tempo, ajuda a criar aplicações mais sólidas e seguras além de reduzir a quantidade de código repetido. Os frameworks também permitem que os iniciantes criem aplicações mais estáveis garantindo uma boa relação entre o banco de dados e a camada externa de exibição. Isso tudo te permite gastar mais tempo desenvolvendo a aplicação em si do que repetindo os códigos que todas as aplicações têm.
A idéia padrão de trabalho por trás de um framework no PHP está ligada ao modelo MVC (Model View Controller). MVC é uma forma de programação que isola a lógica de negócio (como a aplicação funciona) da camada de exibição (a parte visual). O Model cuida do banco de dados, o View cuida da camada de exibição e o Controller cuida da lógica de negócio. Isso tudo faz com que você trabalhe mais rápido e de forma setorizada.
Por que usar um framework de PHP?
Os desenvolvedores utilizam frameworks por vários motivos, e o maior deles é para agilizar o processo de desenvolvimento. A re-utilização de código em vários projetos vai economizar muito tempo e trabalho? Isso é garantido, pois o framework já traz uma série de módulos pré-configurados (e funcionando) para fazer as mais variadas e comuns tarefas como envio de e-mails, conexão com o banco de dados, sanitização (limpeza) de dados e proteção contra ataques.
Estabilidade é outra grande vantagem dos frameworks. A simplicidade, que é um dos grandes “feitos” do PHP, também é o que possibilita inúmeros erros e falhas pelos principiantes? Nem todo código que funciona necessariamente está correto e bem desenvolvido.
Postado por Marcus Antonius - 13 jul, 2009. em php
Olá todos, gostaria de me desculpa pela demora nas postagens, mas o tempo tava muito corrido.
Agora retomando as postagens venho apresentar (é, eu sei, já faz uns dias…) a nova versão do PHP.
O PHP 3.5 traz algumas inovações muito esperadas para a comunidade desenvolvedora.
Correção de bugs
Foram mais de 140 pequenos problemas corrigidos, tornanado essa uma das versões mais estáveis do interpretador PHP.
Namespaces
Muito usados em outras linguagens, servem para agrupar trechos de código e protegê-los e evitar conflitos com outras partes do código.
Garbage Colector
Permite, entre outras coisas, armazenar o conteúdo de variáveis em cache, podendo serem resgatadas a qualquer momento.
Funções Anônimas
Permitem a criação de funções sem um nome específico, o que facilitará a implementação de funções de callback, com chamadas indiretas e respostas semelhantes às de funções tradicionais.
Integração com MySQL
Novos drivers para acesso a bancos de dados, que agilizarão ainda mais as buscas, além de ampliar a compatibilidade com novos modelos.
Postado por Marcus Antonius - 28 mai, 2009. em php
Uma coisa que recentemente achei bem legal foi a descoberta de podcasts sobre PHP.
Primeiro foi o PHP Podcast, muito interessante, porém apenas em inglês.
Então pesquisando achei o grupo de usuários de PHP de SP, o PHPSP, e vi que eles criaram o PHPSPCast, que está tendo uma recepção incrível com diversas mensagens de apoio e incentivo, além de centenas de downloads em poucos dias.