Skip to content
Jun 26 09

Fazer a manutenção de um servidor à profissional

by João Pedro Pereira

Recentemente deparei-me novamente com a necessidade de colocar um portal em modo de manutenção para proceder a algumas actualizações e ia fazer como habitual de acrescentas três linhas ao inicio do ficheiro index.php, algo do género:

include('modomanutencao.php'); die();

Mas desta vez isto não me satisfez e senti a necessidade de fazer isto de uma forma mais “profissional” não a desenrascar, porque assim o site continuaria online caso entrassem por outro URL.

E o primeiro pensamento que me veio à cabeça foi utilizar o htaccess. Assim comecei a escrever algumas regras para o htaccess redireccionar todos os utilizadores para o modomanutencao.php menos eu, pois tinha de fazer testes a tudo.

RewriteCond %{HTTP:portalmanutencao} !^1$
RewriteRule ^(.*)$ modomanutencao.php

E o que fazem estas duas linhas? A primeira é uma condição que diz que todos os browsers que não enviem o Header portalmanutencao com o valor 1 têm de seguir a regra da segunda linha que diz que todas as páginas que tentarem aceder serão redireccionadas para a página modomanutencao.php

Para mudar e acrescentar HTTP Headers podem utilizar o seguinte plugin caso utilizem o browser Mozilla Firefox: Modify Headers

Depois da manutenção feita quando estava a fazer o meu jogging ao fim do dia isto ficou-me na cabeça e pus-me a pensar noutras maneiras de se fazer isto e surgiu-me mais uma ideia também utilizando o htaccess, que basicamente funciona de maneira parecida à interior, só que neste caso redirecciona também o utilizador para a página de modo de manutenção exceptuando quem tiver o IP definido.

ErrorDocument 503 http://joaopedropereira.com/modomanutencao.php
Order deny,allow
Deny from all
Allow from 127.0.0.1 #colocar o IP de quem estiver a fazer a manutenção

Aprender mais sobre o mod_rewrite do apache

Existem mais formas de o fazer, utilizando htaccess, PHP, etc.

Como é que vocês fazem quando definem o modo de manutenção nas páginas que administram?

Jun 9 09

Online Marketing Expo Lisboa 2009

by João Pedro Pereira

O que se vai falar na OMExpo Lisboa

Apesar de ser a primeira vez que este evento vem a Portugal, A OMExpo Lisboa pretende também no nosso pais ser o evento de referência no que toca ao marketing online, como tal os temas que se vão abordar, não poderiam ser mais específicos e interessantes para todos os profissionais da área. Na OMExpo Lisboa terá como temas principais o Marketing em sites de busca, Analítica da Web, E-Mail Marketing, Mobile Marketing, Marketing Afiliado, Behavioral Targeting e Marketing Online.

A quem se destina a OMExpo Lisboa

Este evento tem como objectivo reunir os directores das grandes empresas nacionais, tanto na área do Marketing, do Marketing Online, da Publicidade e Meios Digitais. Mas para os profissionais individuais e webmasters também será um evento de extrema importância, pois pela primeira vamos ver reunidos no evento nacional os principais sponsors para o mercado nacional. Vai ser uma oportunidade única para conhecer pessoas, trocar ideias, dar sugestões e falar pessoalmente com as pessoas que directa ou indirectamente trabalham connosco através dos nossos sites. Dai eu faço um apelo especial a todos os webmasters para aparecem em força neste evento, à que mostrar às grandes empresas que os sites “homemade” representam uma grande e óptima oportunidade de negócio dentro desta área.

Gostava de ir… Quando e Onde?

Se tal como eu está interessado em participar nesta conferência de excelência que temos a sorte de ser realizada em Portugal fique sabendo que é já este mês, a 24.06.2009, e será realizada no Lisbon Marriott Hotel. Por isso não marque nada para esse dia e apareça por lá.

Caso não esteja em condições financeiras de assistir a esta conferência porque não candidatar-se a um dos 5 bilhetes grátis que o Mais-Tráfego tem para oferecer ou então beneficiar dos 15% de desconto que oferecem utilizando o código promocional: “MAISTRAFEGO24?

Direct URL: http://online-marketing.com.pt/lisboa/2009/index.php

O que acham deste evento? Estão a pensar ir?

May 1 09

Vulnerabilidade XSS no jogo System Empires

by João Pedro Pereira

Hoje venho mostrar-vos como é fácil encontrar vulnerabilidades em páginas web, para inaugurar esta nova “categoria” do blog o website escolhido foi o jogo web-based System Empires jogo este que tenho vindo a jogar e a falha nele explorada será o tipo de falha Cross-site scripting (XSS) esta falha, para os que não sabem, permite fazer injecção de código numa página, esta é uma vulnerabilidade client-side pois só se dá no browser da vítima e não afecta, directamente, o servidor.

Nota: esta falha é apenas vísivel a membros registados no jogo. Vulnerabilidade corrigida (mais informações)

read more…

Apr 28 09

Concurso de Artigos da Wiki P@P

by João Pedro Pereira

A Wiki P@P tem como objectivo ser o maior, e de melhor qualidade, repositório de conhecimento de língua portuguesa relacionado com o tema programação. Assim existe o objectivo de todos os programadores portugueses passarem na Wiki, lerem conteúdo, editarem conteúdo e criarem conteúdo. A filosofia da Wiki é isto: partilhar conhecimento!

A Wiki Team tem como principal objectivo de existência a manutenção da plataforma Wiki P@P e das regras / estrutura dos artigos. Tem também uma tarefa importante no controlo da qualidade de artigos existente. Assim é à comunidade é que cabe, tal como em qualquer outra plataforma colaborativa do género wiki, a criação de conteúdo e o melhoramento do conteúdo já existente.

Para dinamizar a Wiki, a comunidade decidiu organizar um concurso com a duração de dois meses, para premiar o maior e melhor contribuidor, e com isto tentar dar uma nova dinâmica à plataforma Wiki. Para mais informações sobre o concurso, veja o regulamento.

Esperamos a vossa participação!

Permalink: http://blog.portugal-a-programar.org/2009/04/28/concurso-de-artigos-da-wiki-pap/

E vocês o que acham desta iniciativa?

Apr 3 09

Diminuir Load Times no Carregamento de Páginas Web

by João Pedro Pereira

Um aspecto muito importante que é necessário ter em conta aquando do desenvolvimento de páginas web é a acessibilidade de uma página e do tempo que a página demora a estar pronta para ser utilizada, pois caso o tempo de carregamento (load time) seja elevado, os visitantes não vão gostar podendo até retroceder e não voltar a essa página, logo load times elevados correspondem quase que directamente a visitantes / utilizadores / membros / clientes perdidos.

Tempo de carregamento baixo = – tempo perdido = utilizador contente

Então podemos concluir que é necessário diminuir os tempos de carregamento das páginas e neste artigo vão ser abordadas várias formas de como reduzir os tempos de carregamento tendo em conta a optimização do JavaScript, do CSS, das imagens bem como optimização do lado do servidor nomeadamente com a utilização de PHP. read more…

Mar 14 09

JavaScript OOP #2 – Conceitos Básicos

by João Pedro Pereira

Neste artigo relativo a JavaScript Orientado a Objectos vamos abordar a programação orientada a objectos de uma forma mais soft explicando a todos os que nunca viram POO (Programação Orientada a Objectos) em JavaScript, os conceitos básicos.

Criando Construtores

Em JavaScript, um construtor é nada mais que uma função comum, que é instanciada numa variável. Essa instância cria-se através da palavra reservada new, indicando a criação de um novo objecto.

function MyFunction() {}
var MyVar = new MyFunction();

Definir Propriedades

Propriedades, ou também conhecidas como atributos, são dados que ficam encapsulados no escopo do objecto com que são relaccionadas.

Utilizemos um exemplo mais comum  e menos abstracto como por exemplo as caracteristicas de uma pessoa.

function Individuo() { return this; }
 
var eu = new Individuo();
eu.nome = "João Pedro Pereira";
eu.altura = "186";

No código acima, definimos um nome e uma altura apenas ao objecto eu. Qualquer outro objecto criado a partir de Individuo não terá essa propriedade. Podemos ver a utilidade disto quando precisamos de dar caracteristicas mais restrictas ao objecto. No entanto, caso estejamos a falar de caracteristicas que serão comuns a todos os objectos ai já será mais dispendioso fazê-lo desta forma, mas felizmente existem alternativas.

read more…

Mar 12 09

Um novo estilo de interface

by João Pedro Pereira

Um site que costumo frequentar é o TED e ontem encontrei um vídeo que tinha de partilhar.
Quem nos fala é a Pattie Maes do MIT e que apresenta o trabalho de Pranav Mistry.

Lembram-se do Minority Report com o Tom Cruise em que ele tem aquela interface espetacular? Estes investigadores chegaram a algo do género, na minha opinião bastante mais interessante…

Está simplesmente espetacular o modo como funciona, a simplicidade e as funcionalidades apresentadas, penso que será fantástico quando estes aparelhos saírem no mercado, vai revolucionar a maneira como se usa a tecnologia. Vai libertar muito mais as pessoas e no entanto torná-las mais utilizadoras da tecnologia.

Mas palavras para quê? Visualizem, estabeleçam uma opinião e digam o que acham disto.

Feb 9 09

Template System KISS #1

by João Pedro Pereira

English Version:

The template system was developed with two objectives.
The first, turn the development of new designs and the adaptability to new/other situations.
The second objective was creating a system that itself was easy to manage, to change and to add new features, like a plugin system or new funcions that will be used on the application. For that I’ve followed a KISS (Keep It Simple Stupid) principle.

I hope it will be usefull for your projects. If so, let me know.

I’m open to comments, sugestions for the next version, etc.
Download: Download Template System
P.S – Sorry for the bad documentation and my bad english

 

 

Versão em Português:

Como tinha prometido aqui está o meu sistema de templates.
Este sistema de templates foi desenvolvido tendo em conta dois aspectos.

O primeiro, o de facilitar o desenvolvimento de novos desenhos e de adaptação dos mesmo às situações necessárias, o segundo aspecto centra-se na própria personalização do sistema, tendo em conta uma filosofia KISS é possível com a simplicidade do sistema, no futuro, adicionar-lhe facilmente características como a adaptação para utilizar um sistema de plugins no core da aplicação ou mesmo simplesmente adicionar-lhe funções base que sejam necessárias num outro sistema (caso se queira fazer uma passagem deste módulo para outra aplicação).

Espero que vos seja útil. Se for, gostava de o saber.

Estou aberto a comentários, sugestões para uma próxima versão, etc.

Download: Download do Sistema de Templates
P.S – Desculpem a má documentação.

Jan 26 09

Concurso de Projectos de Programação P@P

by João Pedro Pereira

A comunidade Portugal-a-Programar está a organizar um concurso de projectos de programação em português, aberto à participação de todos os interessados.

Este concurso está aberto a qualquer programador e encontra-se dividido em duas categorias “Projectos de software livre/aberto” e “Projectos de software proprietário”. Irá ser realizado de dois em dois meses, alternando entre as duas categorias acima mencionadas, encontrando-se as datas dos concursos e prazos de entrega de trabalhos, disponíveis no regulamento.

Com o concurso a P@P pretende contribuir para a dinamização e divulgação das diversas linguagens de programação, assim como prestar reconhecimento aos programadores pelos seus trabalhos.

O vencedor terá direito a alguns prémios, entre os quais uma T-Shirt do P@P, alojamento para o projecto no servidor do P@P, entre outros de possíveis patrocinadores.

As datas dos concursos e respectivos prazos de entrega de trabalhos podem ser conhecidos online, acedendo à página do regulamento.

Jan 13 09

JavaScript OOP #1

by João Pedro Pereira

Uma linguagem que poucos sabem abordar a nível de Programação Orientada a Objectos (OOP – Oriented Object Programming) é o JavaScript e por isso pretendo fazer uma breve abordagem a este tema. Não irei fazer uma introdução sobre o que é a Programação Orientada a Objectos por isso é aconselhável que o leitor tenha as noções bases de utilização desta técnica, bem como que tenha uma noção básica da linguagem de programação abordada.

A linguagem JavaScript tem um estilo bastante particular no que toca a Programação Orientada a Objectos, não é uma sintaxe dificil de aprender mas comporta-se de forma diferente do que os programadores de linguagens compiladas como o Java ou o C++ estão habituados.
Isto porque o JavaScript não é uma Linguagem Orientada a Objectos completamente desenvolvida mas sim uma linguagem estruturada, e não estão implementados alguns conceitos classes e instâncias mas existem objectos, protótipo e herança implicita bem como variáveis públicas e privadas.

O JavaScript suporta variáveis / funções privadas declaradas usando a palavra reservada var. Propriedades publicas e métodos “priveligiados” são declarados utilizando a expressão this
Métodos “priveligiados” podem aceder variáveis / funções privadas que não estão acessíveis fora da classe.
read more…