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?
Online Marketing Expo Lisboa 2009
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?
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)
Concurso de Artigos da Wiki P@P
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?
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…
JavaScript OOP #2 – Conceitos Básicos
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.
Um novo estilo de interface
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.
Template System KISS #1
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 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 do Sistema de Templates
P.S – Desculpem a má documentação.
Concurso de Projectos de Programação P@P
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.
JavaScript OOP #1
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…






