jump to navigation

Novo endereço Outubro 27, 2009

Posted by edersonmelo in Ajax, Android, Arquitetura e Design de Sistemas Para Web(e intranet), Asp, Banco de Dados, CSS, CSharp, Conteúdo do Blog, Designer, DotNEt, Eventos, FISL, Game, Game Design, Game Programer, Gerênciamento de Projetos e Produtos, Google, Grails, Groovy, Hibernate, Html, JBoss, Java, Linguagens, MSSql, Mysql, OpenSocial, Oracle, PHP, PostgreSQL, Python, Ruby, Ruby, Ruby on Rails, Spring, Visual Studio, XML, XSL, c#, jpa, jsf, jsp, jstl, php, python, struts, tomcat.
add a comment

Peço a todos desculpas pela falta de postagem recentemente, mas o motivo foi nobre, a troca de endereço do blog que agora está em www.edersonmelo.com.

O novo blog está com o último post deste porém receberá atualizações constantes apartir de Quinta-Feira(29/10/2009).

www.edersonmelo.com


Conto com o acesso de todos na busca de um blog mais profissional e melhor.



Orientação a objetos no CSS Setembro 2, 2009

Posted by edersonmelo in Arquitetura e Design de Sistemas Para Web(e intranet), CSS, Designer, Gerênciamento de Projetos e Produtos, Linguagens.
Tags: , ,
add a comment

Nicolle Sullivan em sua apresenta descreve a Orientação a Objetos em CSS, criando módulos reutilizáveis, criando uma folha de estilo mais clara, leve e limpa.

Como não conheço bem o assunto e estou engatinhando, preferi deixar o resultado da pesquisa com vídeos e pdf’s que podem ser acessados no link stubbornella.org

Abraço,
Ederson Melo – @edersonmelo

Iniciativa Caelum na busca de emprego Agosto 18, 2009

Posted by edersonmelo in Ajax, Android, Arquitetura e Design de Sistemas Para Web(e intranet), Asp, Banco de Dados, CSS, CSharp, Conteúdo do Blog, DotNEt, Gerênciamento de Projetos e Produtos, Grails, Groovy, Hibernate, Html, JBoss, Java, Linguagens, OpenSocial, PHP, Python, Ruby, Ruby, Ruby on Rails, Spring, Visual Studio, XML, XSL, c#, jpa, jsf, jsp, jstl, php, python, struts, tomcat.
Tags: , , , , , , , , , ,
1 comment so far

A Caelum, renomada empresa em treinamentos e serviços estreou mês passado o site aondetrabalhar.com. A iniciativa visa ajudar alunos, profissionais e empresas que conhecem o trabalho da Caelum e possam confiar na busca de  profissionais cadastrados.

aondetrabalhar_edersonmelo

Segundo o blog.caelum.com.br de Fabio Kung:

A idéia principal do site é fazer as vagas atingirem os melhores desenvolvedores, de maneira simples. Pessoalmente, sempre achei irritante ter que preencher enormes formulários para poder começar a procurar por vagas. Pior ainda quando precisamos fazer upload de um arquivo do Word com o currículo!

A filosofia principal do site é simplicidade. Funciona como um job board (popular lá fora) e as empresas podem anunciar vagas de emprego a vontade. Detestamos burocracia: procurar boas oportunidades de emprego deve ser simples e fácil. Não é necessário se cadastrar, nem preencher formulários para buscar por vagas. Quer procurar por vagas de Java? De Ruby on Rails?

http://ondetrabalhar.com/java
http://ondetrabalhar.com/rails

Apenas em São Paulo?

http://ondetrabalhar.com/java/em/sao-paulo-sp

Estamos fazendo um trabalho forte de Search Engine Optimization (SEO) para fazer as vagas ficarem bem posicionadas nos principais mecanismos de busca. Além disso, fornecemos feeds para qualquer pesquisa e você pode acompanhar as vagas do seu agregador de RSS favorito. Em breve, também será possível receber emails com as vagas de interesse.

Outra enorme preocupação do OndeTrabalhar.com é fazer as vagas chegarem no público certo: os melhores desenvolvedores do mercado. Para isso, estamos fazendo diversos acordos com algumas das maiores comunidades de desenvolvimento do Brasil. Entre as que já posso citar estão o GUJ.com.br, o PortalJava, o RubyOnBr.org, o Ruby Inside Brasil e algumas comunidades de outras linguagens como PHP e Python ainda vem por aí. Em breve já aparecerão vagas de emprego do OndeTrabalhar.com em todos esses sites, inclusive por aqui no Blog da Caelum.

Caso exista alguma vaga aí na empresa onde trabalha, eu te peço um enorme favor: comente sobre o OndeTrabalhar.com ao responsável. Melhor ainda se você mesmo for o responsável e puder cadastrar a(s) vaga(s) por lá.

Se você tem interesse em fazer alguma parceiria conosco, para ter uma lista de vagas atualizada no seu site, blog, portal, ou comunidade, sem ter dor de cabeça tendo que gerenciar isso (inclusive remover vagas já preenchidas), entre em contato!

O OndeTrabalhar.com foi produzido pelo núcleo de Ruby on Rails da Caelum, do qual eu tenho um orgulho e felicidade enormes de ver crescendo!

Fonte:

blog.caelum.com.br de Fabio Kung

Abraço,
Ederson Melo – @edersonmelo

Pagamentos online com paypal e PHP Junho 8, 2009

Posted by edersonmelo in Arquitetura e Design de Sistemas Para Web(e intranet), CSS, Gerênciamento de Projetos e Produtos, Html, Linguagens, PHP.
Tags: , , ,
1 comment so far

O uso do Paypal em sites tem sido muito empregado nos últimos tempos. Mas quando vamos pesquisar na web sobre o assunto, acabamos encontrando muitos posts, porém, todo iguais e isso inclui os erros também.  Encontrei 20 posts e todos iguais copiados de um único blog, do qual as configurações informadas não funcionam e os links para baixar o “API” em PHP não existe.

O objetivo do post é mostrar a simplicidade na utilização do Paypal em sites PHP.

paypal_logo_edersonmelo

Então vamos começar com o básico. O arquivo para download aqui ou sourceforge(que recomendo por estar sempre atualizado).

Extrair os arquivos do .zip, que devem conter os seguintes arquivos:
config.inc.php
Configuração do script
global_config.inc.php
Funções globais que serão usadas no script
payment.php
Botão para pagamento pré-configurado
orderform.php
Formulário pré-configurado para testes
process.php
Serve para processar o envio das informações de transação para o PayPal
success.php
Mensagem de resposta de sucesso ao enviar a transação para o PayPal
cancelled.php
Mensagem de Erro quando a transação falha.
ipn.php
Recebe informações da API do PayPal e interpreta os resultados
ipn_success.php
Executado somente se a transação tiver sido executado com sucesso
ipn_error.php
Executado somente se a transação deu erro

Fora o .css que não é preciso comentar pois nada vamos alterar nele.

Dentro da pasta includes você deve configurar o arquivo  config.inc.php, com a conta que você deve ter criado no PayPal.

<?php
/*
* config.inc.php
*
* EDERSON MELO
* Copyright (c) 2004 PayPal Inc
* Released under Common Public License 1.0
* http://opensource.org/licenses/cpl.php
*/

//Configuration Settings

$paypal[business]=”emaildaconta@meumail.com”;
$paypal[site_url]=”http://www.meusite.com/”;
$paypal[image_url]=”";
$paypal[success_url]=”paypal/success.php”;
//$paypal[success_url]=”paypal/ipn/ipn.php”;
$paypal[cancel_url]=”paypal/error.php”;
$paypal[notify_url]=”paypal/ipn/ipn.php”;
$paypal[return_method]=”2″; //1=GET 2=POST
$paypal[currency_code]=”USD”; //[USD,GBP,JPY,CAD,EUR]
$paypal[lc]=”US”;

$paypal[url]=”http://www.paypal.com/cgi-bin/webscr”;
//$paypal[url]=”https://www.paypal.com/cgi-bin/webscr”;
//$paypal[url]=”https://www.sandbox.paypal.com/cgi-bin/webscr”;
$paypal[post_method]=”fso”; //fso=fsockopen(); curl=curl command line libCurl=php compiled with libCurl support
$paypal[curl_location]=”/usr/local/bin/curl”;

$paypal[bn]=”toolkit-php”;
$paypal[cmd]=”_xclick”;

//Payment Page Settings
$paypal[display_comment]=”0″; //0=yes 1=no
$paypal[comment_header]=”Comments”;
$paypal[continue_button_text]=”Continue >>”;
$paypal[background_color]=”"; //”"=white 1=black
$paypal[display_shipping_address]=”"; //”"=yes 1=no
$paypal[display_comment]=”1″; //”"=yes 1=no

//Product Settings
$paypal[item_name]=”$_POST[item_name]“;
$paypal[item_number]=”$_POST[item_number]“;
$paypal[amount]=”$_POST[amount]“;
$paypal[on0]=”$_POST[on0]“;
$paypal[os0]=”$_POST[os0]“;
$paypal[on1]=”$_POST[on1]“;
$paypal[os1]=”$_POST[os1]“;
$paypal[quantity]=”$_POST[quantity]“;
$paypal[edit_quantity]=”"; //1=yes “”=no
$paypal[invoice]=”$_POST[invoice]“;
$paypal[tax]=”$_POST[tax]“;

//Shipping and Taxes
$paypal[shipping_amount]=”$_POST[shipping_amount]“;
$paypal[shipping_amount_per_item]=”";
$paypal[handling_amount]=”";
$paypal[custom_field]=”";

//Customer Settings
$paypal[firstname]=”$_POST[firstname]“;
$paypal[lastname]=”$_POST[lastname]“;
$paypal[address1]=”$_POST[address1]“;
$paypal[address2]=”$_POST[address2]“;
$paypal[city]=”$_POST[city]“;
$paypal[state]=”$_POST[state]“;
$paypal[zip]=”$_POST[zip]“;
$paypal[email]=”$_POST[email]“;
$paypal[phone_1]=”$_POST[phone1]“;
$paypal[phone_2]=”$_POST[phone2]“;
$paypal[phone_3]=”$_POST[phone3]“;

?>

O Paypal pode ser bem incrementado e criado configurações intermediárias durante o processo de pagamento. Como adicionar loading e ícones personalizados no seu site.

Por falando em ícones, no site fineicons encontrei os principais cartões de pagamento, até mais do que aceito pelo Paypal e são excelentes para incrementar seu site.

Espero que o post tenha real utilidade e que mais a frente possamos estar discutindo maiores implementações.

Abraço,
Ederson Melo – @edersonmelo

genealógia das linguagens de programação Março 11, 2009

Posted by edersonmelo in Ajax, Android, Arquitetura e Design de Sistemas Para Web(e intranet), Asp, CSS, CSharp, DotNEt, Gerênciamento de Projetos e Produtos, Grails, Groovy, Hibernate, Html, JBoss, Java, Linguagens, PHP, Python, Spring, Visual Studio, XML, XSL, c#, jpa, jsf, jsp, jstl, php, python, struts, tomcat.
Tags: , , , , , ,
2 comments

Você alguma vez parou para pensar a origem, a raiz da linguagem que você está usando hoje? Eu não, até a achar um mapa, ou árvore genealógica das linguagens de programação.

mapa_linguagens_edersonmelo

É muito bacana, vou mandar imprimir em formato de pôster para por na parede (Sem comentários, sei que não tem nada mais nerd).

Download do pdf Aqui!

teste software bug

Ederson Melo

Microformatos Outubro 15, 2008

Posted by edersonmelo in Arquitetura e Design de Sistemas Para Web(e intranet), CSS, Html, Linguagens, XML.
Tags: , , , , , , , ,
add a comment

Microformatos é um conjunto de formatos abertos projetados para adicionar semântica em qualquer documento XML, especialmente HTML/XHTML.

Foi criado por  Tantek Çelik, chefe de tecnologia do Technorati e menbro do Web Standards Project e especialista da W3C Cascading Style Sheet.

Aplicações, como buscadores, podem extrair informações específicas de páginas que usam microformatos, como informações de contato, evento, licença, etc. Como exemplo para indicar que a página apontada por um link é de um amigo:
<a href=”http://www.siteseuamigo.com/” rel=”friend”>Amigo</a>

Os mecanismos de busca e os spiders possuem um algoritmo cuja função principal é verificar o que é mais relevante, de forma a criar relações
entre as informações obtidas sobre cada documento da web, que por sua vez geram ratings e rankings baseados nestas inter–relações.

A série de especificações:

Fontes:
Wikipediamicroformats
Abraço,
Ederson Melo

Tamanhos e acessibilidades Outubro 8, 2008

Posted by edersonmelo in Arquitetura e Design de Sistemas Para Web(e intranet), CSS, Gerênciamento de Projetos e Produtos, Html.
Tags: , , , , , , , , , ,
add a comment


Nos cursos sempre aprendemos(ou deveríamos aprender) unidades de medidas em CSS. Tais unidades, tem como importância o auxílio na acessibilidade do site e evidentemente que na formatação do mesmo.

O valor de uma propriedade, por exemplo, font-size, pode-se expressar em unidades de comprimento, ou em unidades de porcentagem.

Unidades de Comprimento

Unidades absolutas

* in (polegadas)

* cm (centímetros)

* mm (milímetros)

* pt (pontos)

* pc (picas)

* px (pixels)

Unidades relativas

* em

* ex

Unidades de Porcentagem

* %

De todas, as unidades recomendadas são as relativas.

Com esse tipo de medida, o autor mantém um controle relativo em relação ao tamanho da fonte padrão do usuário, onde pode especificar quanto maior ou menor se vê o texto na página.

Mas por que não utilizar medidas absolutas? As unidades absolutas como px (pixel), cm (centímetros), pt (pontos), permitem um controle exato da aparência da página, sempre e quando, que seja visualizada com o fim que ela foi projetada (onde se acaba a acessibilidade da página). Por exemplo, a unidade px tem um valor diferente dependendo da resolução da tela e do tipo de computador usuário. Assim, um sistema Windows mantém uma equivalência de 96px por polegada, e o Macintosh, 72 px por polegada. Se utilizarmos pt (pontos), no lugar de px (pixels) o tamanho dos pontos dependem da resolução do usuário.

Abaixo a tabela equivalente as medidas e seus valores aproximados, pois tudo depende do Navegador utilizado e também do Sistema Operacional:

Pontos Pixels Em’s %
6pt 8px 0.5em 50%
7pt 9px 0.55em 55%
7.5pt 10px 0.625em 62.5%
8pt 11px 0.7em 70%
9pt 12px 0.75em 75%
10pt 13px 0.8em 80%
10.5pt 14px 0.875em 87.5%
11pt 15px 0.95em 95%
12pt 16px 1em 100%
13pt 17px 1.05em 105%
13.5pt 18px 1.125em 112.5%
14pt 19px 1.2em 120%
14.5pt 20px 1.25em 125%
15pt 21px 1.3em 130%
16pt 22px 1.4em 140%
17pt 23px 1.45em 145%
18pt 24px 1.5em 150%
20pt 26px 1.6em 160%
22pt 29px 1.8em 180%
24pt 32px 2em 200%
26pt 35px 2.2em 220%
27pt 36px 2.25em 225%
28pt 37px 2.3em 230%
29pt 38px 2.35em 235%
30pt 40px 2.45em 245%
32pt 42px 2.55em 255%
34pt 45px 2.75em 275%
36pt 48px 3em 300%

Fonte: Não lembro(Peço desculpas mas realmente não lembro as fontes consultadas)

Abraço,
Ederson Melo

CMS’s Outubro 1, 2008

Posted by edersonmelo in Ajax, Arquitetura e Design de Sistemas Para Web(e intranet), Banco de Dados, CSS, Gerênciamento de Projetos e Produtos, Hibernate, Html, Java, Linguagens, MSSql, Mysql, Oracle, PHP, PostgreSQL, Python, XML, XSL, jsf, jsp, jstl, php, python, tomcat.
Tags: , , , , , , , , , , , , , , , , , ,
add a comment

Procurando sobre CMS’s desenvolvidos em php, para ter uma idéia melhor da quantidade que temos disponíveis, achei uma lista completa na wiki. Coloquei a lista mais abaixo para quem deseja conferir.

E claro, aprendi um pouco mais sobre CMS.

CMS é a sigla para Content Management System, ou em bom português, Sistema Gerenciador de Conteúdo.

Um CMS tem como objetivo facilitar a criação, edição, publicação e distribuição de informação.

Características na maioria dos CMS:

  1. Suporte a múltiplos usuários (registro, gerenciamento e atribuição de papéis a vários usuários).
  2. Edição de conteúdo facilitada.
  3. As funcionalidades iniciais podem ser ampliadas ou novas podem ser adicionadas através de plugins e/ou módulos.
  4. Gerenciamento e controle de documentos através de publicação, revisão, arquivamento e eliminação de documentos.
  5. Camada de apresentação gerenciada através de templates, permitindo a troca rápida da interface independente do conteúdo.
  6. Controle de Fluxo. Por exemplo, um usuário pode enviar um artigo para um site, mas este não é publicado imediatamente, até que seja revisto por um editor e depois aprovado por um editor-chefe.

Em 1995, a CNET, uma empresa de mídia web, resolveu comercializar seu CMS através de uma empresa à parte, denominada Vignette, iniciando assim o comércio de gerenciadores de conteúdo.

Nome Plataforma BD Suportados Licenças
AdaptCMS Lite PHP MySQL GPL
Alfresco Java MySQL, Oracle, SQL Server, PostgreSQL, Informix GPL & Commercial
Apache Lenya Java, XML, Apache Cocoon Apache

License

Aqua CMS PHP MySQL GPL
AxCMS.net ASP.net Microsoft SQL Server 2005 or above free
b2evolution PHP MySQL GPL
BLOG:CMS PHP MySQL GPL
blosxom Perl Flat-file database MIT
Bricolage Perl PostgreSQL BSD
Byteflow Python, Django PostgreSQL, MySQL, SQLite, Oracle BSD
CivicSpace PHP MySQL Open source, detail

unknown

CMSimple PHP Flat-file database Affero
CMS made simple PHP MySQL, PostgreSQL GPL
concrete5 PHP MySQL MIT
Contrexx Open Source edition PHP MySQL Free for non-

commercial

use

Cyclone3 Perl, XUL, JavaScript, C, Java MySQL and any Perl DBI GPL
Daisy Java, XML, Apache Cocoon MySQL Apache

License

Dokuwiki PHP Flat-file database GPL
DotClear PHP MySQL, PostgreSQL GPL
DotCMS Java MySQL, MSSQL, PostgreSQL, Oracle GNU GPL v2
DotNetNuke ASP.NET Microsoft SQL Server (out-of-the-box) or any data storage system (each storage system needs a custom data provider to be installed) BSD
Drupal PHP MySQL or PostgreSQL GPL
e107 PHP MySQL GPL
Exponent PHP MySQL/PostgreSQL GPL
ExpressionEngine PHP MySQL Free “Core” version for

non-

commercial use

eZ Publish PHP MySQL/PostgreSQL/Oracle/Microsoft SQL Server GPL
Fedora Java MySQL or Oracle Educational Community License
Frog CMS PHP5 MySQL or SQLite MIT License
GX WebManager Community Edition Java MySQL or SQLite Free for

non-

commercial use

Habari PHP MySQL, PostgreSQL, SQLite Apache License
ImpressCMS PHP MySQL GPL
Jahia Java HyperSonic SQL, PostgreSQL, MySQL, Oracle JCDDL and JSSL
jAPS – java Agile Portal System Java HyperSonic SQL, PostgreSQL GPL
Joomla! PHP MySQL GPL
Liferay Java Apache Derby, DB2, HyperSonic SQL, Informix, InterBase, JDataStore, MySQL, Oracle, PostgreSQL, SAP, SQL Server, Sybase MIT
KnowledgeTree Document Management System PHP MySQL GPL
Lyceum PHP MySQL GPL
Magnolia Java JCR GPL
Mambo PHP MySQL GPL
MediaWiki PHP MySQL, PostgreSQL GPL
MiaCMS PHP MySQL GPL
Midgard CMS PHP (Midgard framework) MySQL LGPL
MODx PHP MySQL GPL
MoinMoin Python Flat-file database GPL
Movable Type Perl, mod_perl, FastCGI MySQL or MS SQL server or Oracle or PostgreSQL or SQLite GPL
Nucleus CMS PHP MySQL GPL
Nuxeo CPS Python ZODB GPL
Nuxeo EP Java PostgreSQL, MySQL, Oracle, SQL Server, Ingres LGPL
OneCMS PHP MySQL GPL
OpenACS TCL AOLserver PostgreSQL/Oracle GPL
OpenCms Java MySQL, Oracle, PostgreSQL, SQL Server, DB2, HSQL LGPL
Opus PHP MySQL GPL
Phenotype PHP + Smarty MySQL GPL
phpCMS PHP Flat-file database GPL
PHP-Fusion PHP MySQL GPL
PHP-Nuke PHP MySQL GPL
PHPSlash PHP GPL
phpWCMS PHP MySQL GPL
phpWebSite PHP MySQL or PostgreSQL LGPL
PhpWiki PHP Flat-file database/MySQL/PostgreSQL etc. GPL
Plone Python ZODB, SQLite, PostgreSQL, MySQL, Oracle via Zope GPL
PmWiki PHP Flat-file database GPL
PostNuke PHP MySQL GPL
PyLucid Python MySQL, PostgreSQL, SQLite GPL
Radiant Ruby MySQL, PostgreSQL, SQLite MIT
Scoop Perl on mod_perl MySQL GPL
Serendipity PHP + Smarty SQLite, PostgreSQL, MySQL, MySQLi BSD
SilverStripe PHP MySQL BSD
SiteFrame PHP + Smarty MySQL Creative Commons
Slash Perl on mod_perl MySQL GPL
SPIP PHP MySQL GPL
TangoCMS PHP MySQL GNU/GPL 2
Textpattern PHP MySQL GPL
TGS Content Management PHP MySQL GPL
TikiWiki CMS/Groupware PHP MySQL and others using ADOdb LGPL
Tribiq CMS PHP MySQL GPL
TWiki Perl Plain files (under version control) GPL
Typo Ruby on Rails MySQL, PostgreSQL, SQLite MIT
TYPO3 PHP MySQL, PostgreSQL, Oracle GPL
Quick.Cms.Lite PHP Flat-file database Creative Commons Attribution 2.5
WebGUI Perl on mod_perl MySQL GPL
whCMS PHP MySQL GPL
WordPress PHP MySQL GPL
Xaraya PHP with XHTML/XML/XSLT MySQL, PostgreSQL, SQLite using ADOdb and Microsoft SQL Server with Creole GPL
XOOPS PHP + Smarty MySQL GPL
XOOPS Cube PHP + Smarty MySQL BSD
Zena Ruby MySQL MIT

Fontes:

http://www.marcusvbp.com.br

http://pt.wikipedia.org

Abraço,
Ederson Melo

seletor :not() Setembro 10, 2008

Posted by edersonmelo in CSS, Html, Linguagens.
Tags: , , , , , , , , , , , , ,
2 comments

O seletor :not() ainda não está implementado completamente nos browsers, como a tabela abaixo mostra:

Value IE 5.5 IE 6 IE 7 IE 8b2 FF 2 FF 2 Saf 3.0 Win Saf 3.1 Win iPhone 3G Opera 9.5b

Negation of a selector

No Yes Yes Yes

Mas me ajudou em uma class genérica onde acabei tendo alguns ítens do type Submit mesmo. Basicamente ele tem como funcionalidade básica negar algo:

input#exemplo {
background-color:blue;
}
/* Todos os elementos que não contenham o #exemplo */
input:not(#exemplo) {
background-color:green;
}
/* Todos os elementos que não sejam do tipo Submit */
input:not([type="submit"]) {
font-size:3em;
}

Fontes:
W3C

http://www.w3.org/TR/css3-selectors/
anieto2k
http://www.anieto2k.com/2008/08/25/el-selector-not-de-css3/

Abraço,
Ederson Melo

Fluxo conteúdo dentro tabelas Setembro 8, 2008

Posted by edersonmelo in CSS, Html, Linguagens.
Tags: , , , , ,
add a comment

Em muitos casos o uso de tabelas é recomendado. Casos em que você realmente tem uma tabela lá no meio do seu layout, por exemplo.
Em alguns casos, as tabelas podem incluir dados dinâmicos ou não. Uma solução é a utilização de css’s específicos para que o fluxo acompanhe o conteúdo na tabela.

Então podemos utilizar:

Para fluxo acompanhar o conteúdo:
.auto_table{
table-layout:auto;
}

Para fluxo de tamanho fixo:
.fixed_table{
table-layout:fixed;
}

Abraço,
Ederson Melo