quinta-feira, 21 de agosto de 2008

Site comiteolimpicoportugal.pt estoura e mostra a password da base de dados...


Não sei se ainda continua a acontecer, mas o certo é que aconteceu agora mesmo (se calhar por ter acessos a mais)... Isto é o que dá não investir em tecnologias de informação... Vejam o que aconteceu no screenshot...

Que formato de imagem usar: GIF JPG PNG ?

Que tipo (formato) de imagens se devem usar em páginas HTML?

Em resumo:

GIF: Use for graphics that have text. Text will not suffer from artifacts
JPEG: Photos and graphics that have more than 256 colors
PNG: Requires special include file to get IE to display transparencies correctly. Generally great for both photos and graphic text, but tends to have display issues on different browsers.

Ou seja,

GIF para imagens com texto, ao gravar oomo GIF, a imagem não sofre qualquer alteração
JPG: fotografias e imagens com muitas cores (mais de 256)
PNG: possivelmente vai funcionar de forma diferente em browsers diferentes, pode ter problemas nas transparencias.

Obrigado pela investigação Filipe

terça-feira, 12 de agosto de 2008

Indexação no Google - Afinal que factores influenciam?

Existem muitissimos factores que influenciam o rank do google, ou seja, a posição em que os sites aparecem quando é feita uma pesquisa no google.

Antes de mais há que esclarecer que um site não aparece SEMPRE na mesma posição na lista de resultados do google.
Um site aparece normalmente na mesma posição na lista de resultados do google para ** uma determinada expressão de pesquisa **
O que é uma expressão de pesquisa? É o texto que colocamos na caixa de pesquisa do google.
E digo "aparece normalmente" porque o google é um dinâmico e muda constantemente! Claro, todos os dias o google inclui na sua base de dados novos sites e novas páginas, actualiza frequentemente os algoritmos que decidem o rank e os próprios sites/páginas mudam com o tempo (alterações de conteúdo) ou se não mudam, também podem ser penalizadas porque o google gosta de conteúdo "fresco".

Muitas pessoas perguntam: porque é que o meu site nunca aparece nas primeiras posições no google?
Para além do google ser dinâmico, há que ter em conta que o google trata individualmente as páginas de cada website, por isso não é "o site que não aparece nas primeiras posições do google" mas sim, as páginas do site.

Acrescenta-se o facto de que o google só mostra o conteúdo relacionado com a pesquisa que foi feita, excluindo por isso os resultados que considera que não são relevantes.

Por isso, quando se fala de optimizar um site para o google, na realidade devia-se falar em OPTIMIZAR UMA PÁGINA PARA DETERMINADAS EXPRESSÕES PARA O GOOGLE.

Depois desta introdução vamos ao que interessa: Afinal que factores influenciam?
Neste artigo apenas se vão tratar alguns dos aspectos que influenciam positivamente o rank:

- Expressão de pesquisa contida no title do header
- Popularidade geral do website (ou seja, qualidade+quantidade dos links para o site em questão)
- Texto nos links que apontam para a página
- Idade do site (medida a partir do momento em que o site passa a ser indexado pelo google)
- Número de links internos (do mesmo site) para a página em questão
- Número de links a apontar para a página, com conteúdos relacionados e keywords relacionadas
- Popularidade do site entre os sites de temas relacionados
- Expressão de pesquisa contida no BODY da página
- Popularidade dos sites que têm links para a página
- Qualidade dos links externos da página (links para sites com relevância e com qualidade)
- Frequencia de novos links a apontar para o site
- Conteúdo da página (BODY) relacionado com as keywords definidas no HEAD
- Idade da página (mais idade = mais relevância; mais recente = temporariamente mais relevantes)

Estes são os factores mais relevantes. Obviamente que esta informação é dificilmente comprovável, no entanto alguns destes factores são consensuais na comunidade de SEOs

sexta-feira, 8 de agosto de 2008

What is google dance?

Google dance an expression that means the google's search engine index update.
This is one of the reasons why people complain about their websites are moving up&down without a reason.

Is CSS positive to Google rank? / Usar CSS é positivo para o google rank?

We already know that google takes into consideration a lot of factors to classify the pages. After some research about using CSS I tried to answer to the following question: is using CSS positive to google ranking or not?

The answer is positive. By using CSS there are (at least) 2 positive factors:
- The files (the html) is smaller which is positive
- CSS helps to maintain a better structure of the html page, by separating the content and structure from the layout and look&feel

/

Aparentemente a utilização dos CSS é positiva:
- Usando CSS os ficheiros (o html) fica com tamanho menor - o que teoricamente é positivo
- A utilização dos CSS normalmente ajuda a que a estrutura da página html seja melhor, já que separa o conteúdo da formatação


Já se sabe que o google entra em consideração com muitos aspectos para classificar as páginas. Fiz alguma investigação sobre o uso de CSS: será que influencia positivamente ou negativamente a classificação do google?

Aparentemente a utilização dos CSS é positiva:
- Usando CSS os ficheiros (o html) fica com tamanho menor - o que teoricamente é positivo
- A utilização dos CSS normalmente ajuda a que a estrutura da página html seja melhor, já que separa o conteúdo da formatação

quinta-feira, 7 de agosto de 2008

Akelos PHP Framework How to create an application

In the last post I told you how to install Akelos, if you had a problem just post a comment and we'll try to help you.

Now I will try to explain what happened when you installed that "booklink" application previously.

Go to database and see what it looks like:
mysql -u root -p booklink_dev
and do
show tables;
desc books;


Now, check the file app/installers/book_installer.php (inside the booklink dir).
This is where the default data entity is defined. Akelos created it for you. This is used to create the database table that stores the books.
Change it to:

function up_1(){
$this->createTable('books',
'id,'. // the key
'title,'. // the title of the book
'description,'. // a description of the book
'author_id,'. // the author id. This is how Akelos will know how to link
'published_on' // the publication date
);
$this->createTable('authors',
'id,'. // the key
'name' // the name of the author
);
}
function down_1(){
$this->dropTables('books','authors');
}

Please note that there are naming conventions for the column names (for instance if the column name is id, then it's the primary key, and if suffix is _at then it's a datetime, etc.) To full control all your tables, check http://phplens.com/lens/adodb/docs-datadict.htm (I didn't by now)

Now, to update our application with this new model, we need to migrate (execute it from booklink directory):

php script/migrate book install


Now you can go to the database
mysql -u root -p booklink_dev
and do
show tables;
desc books;
desc authors;

Now we need to create the scaffold for both entities: books and authors.
To do so, we will execute:
php script/generate scaffold book
and
php script/generate scaffold author


If you get this error:
There where collisions when attempting to generate the scaffold.
Please add force=true to the argument list in order to overwrite existing files.

Then do:
php script/generate scaffold book --force
and
php script/generate scaffold author --force

(the --force will akelos to rewrite some files)

Now check your application. Cool isn't it?

Installing Akelos on Windows

Install Akelos on Windows with a example.

I'm assuming that there's an Apache 2 installed and a PHP 5 in the machine.

First download akelos framework
http://www.akelos.org/download

Then extract it, for example, to
c:\akelos_framework
then execute go to c:\akelos_framework and execute
php script/setup -d c:\httpdocs\booklink

(I'm assuming that c:\httpdocs is your Apache DocumentRoot)

Now create the database:
mysql -u root -p
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.41-community-nt MySQL Community Edition (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> CREATE DATABASE booklink;
Query OK, 1 row affected (0.00 sec)

mysql> CREATE DATABASE booklink_dev;
Query OK, 1 row affected (0.02 sec)

mysql> CREATE DATABASE booklink_tests;
Query OK, 1 row affected (0.01 sec)

mysql> GRANT ALL ON booklink.* TO cassio@localhost IDENTIFIED BY "pass";
Query OK, 0 rows affected (0.09 sec)

mysql>
mysql> GRANT ALL ON booklink_dev.* TO cassio@localhost IDENTIFIED BY "pass";
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql> GRANT ALL ON booklink_tests.* TO cassio@localhost IDENTIFIED BY "pass";
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> exit;
Bye

Open in the browser:
http://127.0.0.1/booklink/public/

should display :


Welcome aboard
You’re using The Akelos Framework!
Getting started

1.
Configure your environment

Run a step by step wizard for creating a configuration file or read README.txt instead.

Start the configuration wizard


Configure your database according to the DB you've created previously.

Configure your language (in my case for example: pt,pt_PT)

Then go to command line, to the c:\httpdocs\booklink directory and run

php script/generate scaffold Book

which will tell you that some files where created.

Now... magic: just go to http://127.0.0.1/booklink/book and start playing with your application!!!

I will be posting the next round in a short time: how to create your own application

sábado, 2 de agosto de 2008

Extender o tamanho de uma partição no Windows XP

Para o caso em que têm no vosso Windows XP duas partições (C: e D: por exemplo) e querem juntá-las numa só, aqui seguem algumas dicas de como o podem fazer. Vamos supor que querem juntar a D: à C: e ficar apenas com uma partição C:, com todo o espaço disponível.

O primeiro passo é fazer um backup de uma das partições (por exemplo a D:) por forma a eliminar a partição (apenas uma das partições tem que ser removida e os dados da partição a manter, C:, ficam inalterados e não são perdidos).

1. Usando a ferramenta da Microsoft, Diskpart
O Windows XP traz uma ferramenta, Diskpart, que permite executar esse tipo de operações. Para tal, vão ao menu START > Run e digitem o comando "cmd". Na janela de DOS:
C:\> diskpart
DISKPART>list volume
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ------ ----- --------- ------- --------- --------
Volume 0 F DVD-ROM 0 B
Volume 1 C NTFS Partition 35 GB Healthy System
Volume 2 D NTFS Partition 35 GB Healthy System
Como pretendemos remover a partição D: (após terem sido copiados todos os dados dessa partição), devemos executar:
DISKPART>delete volume 2
Depois disso, temos que seleccionar o volume 1 e extender (ao não especificarmos para que tamanho pretendemos extender, ele extende para o máximo espaço disponível).
DISKPART>select volume 1
DISKPART>extend
No entanto, caso a partição não seja do tipo Dynamic (normalmente para partições de sistema não é) vão obter a seguinte mensagem:
Diskpart failed to extend the volume. Please make sure the volume is valid for extending

Nestes casos, não é possível extender a partição usando a ferramenta da Microsoft. No ponto 2. é detalhada uma alternativa usando uma ferramenta disponível na Internet (grátis para uso pessoal).
Para mais informações sobre a ferramenta Diskpart, consultem a seguinte página http://support.microsoft.com/kb/325590.

2. Usando ferramenta EASEUS Partition Manager
Esta ferramenta está disponível para download aqui. Após a instalação, devem seguir os passos:

  • Seleccionar a partição a extender
  • Escolhar a opção Resize/Move
  • Esticar a barra delimitadora do tamanho até ao máximo possível.

  • Seleccionar "Apply"

    Ao fazerem "Apply" vai ser pedido para fazerem um restart, e ao reiniciar o Windows as alterações serão aplicadas. Caso nessa operação obtenham uma mensagem de erro ( por exemplo "Error Code 9"), entrem novamente no Windows e:

  • Control Panel > Administrative Tools > Computer Management > Disk Management
  • Cliquem no disco com o botão do lado direito e seleccionem "Properties"
  • Seleccionem a tab "Tools"
  • "Check Now" e e seleccionem as duas opções ("Automatically fix file system errors" e "Scan for and attempt recovery of bad sectors")
  • Novamente será pedido um restart e a verificação do disco é feita durante o arranque do windows.
  • Quando o Windows arrancar, voltem a repetir os passos efectuados com a ferramenta EASUS Partition Manager e após fazerem "Apply" e reiniciar o computador, a operação deverá funcionar e o tamanho total de C:+D: estará agora todo na partição C: sem perda dos dados existentes na partição.
  •