Esse tutorial tem como objetivo possibilitar a configuracao do layout de teclados via console. Ele sera util para quem estiver utilizando, por exemplo, a versao Mini do Ubuntu [https://help.ubuntu.com/community/Installation/MinimalCD], que nao possui interface grafica.Os passos sao: No shell efetue:sudo dpkg-reconfigure console-setup Isso ira abrir uma interface de configuracao;Informe o modelo do teclado;Informe a origem do teclado (Brazil);Informe o layout do teclado;Informe as demais configuracoes que a interface ira exibir;Voce tambem pode fazer isso editando o arquivo /etc/default/console-setup da seguinte forma:sudo vi /etc/default/console-setupMais informacoes a respeito podem ser obtidas no artigo de Gustavo Brandao, que foi a fonte deste tutorial. A funcao foreach utiliza muito espaco em memoria e pode ate dar estouro de memoria se o array for muito grande. Este problema acontece quando alteramos valores do array dentro do foreach. Uma alternativa para percorrer um array grande e movimentar o ponteiro interno do array. $registro = reset($listaDeRegistros); while ($registro !== false) { //foreach estoura memoria $i = key($listaDeRegistros); //faca o que quiser.... var_dump($listaDeRegistros[$i]); $registro = next($listaDeRegistros); } # instalar o locale pt_BR (q eh o iso-8859-1).. isso so instala, nao vai mudar o locale do SOsudo locale-gen pt_BR# ir para o diretorio do fonte do postgresql-8.2./configure --prefix=/opt/postgresql-8.2makesudo make install# colocar na inicializacaosudo cp contrib/start-scripts/linux /etc/init.d/postgresql-8.2sudo chmod +x /etc/init.d/postgresql-8.2sudo vim /etc/init.d/postgresql-8.2# editar as linhas: prefix=/opt/postgresql-8.2 PGDATA="/opt/postgresql-8.2/data"sudo update-rc.d postgresql-8.2 defaults# criar os diretorios de dadossudo mkdir /opt/postgresql-8.2/datasudo chown postgres: /opt/postgresql-8.2/datasu - postgres/opt/postgresql-8.2/bin/initdb -D /opt/postgresql-8.2/data -E LATIN1 --locale="pt_BR.ISO-8859-1" --lc-collate="C"#configurarsudo vim /opt/postgresql-8.2/data/postgresql.conf# editar a linha port = 9876# inicializarsudo /etc/init.d/postgresql-8.2 start# criar usuario local e seu banco de dadossudo su postgres -c "/opt/postgresql-8.2/bin/createuser -p 9876 -P --superuser --createdb novousuario"/opt/postgresql-8.2/bin/createdb -p9876 novousuario# Para ser utilizado este SGBD, deve ser usado o PSQL (CREATEDB, PG_DUMP) da seguinte forma:/opt/postgresql-8.2/bin/psql -p 9876 ......OUpsql -h 127.0.0.1 -p 9876 ...... Mudancas na classe Auxilio:- O metodo obterDataFormatada($dataiso,$formato) foi renomeado para formatarDataViaGetDate($dataiso,$formato)- O metodo obterDataFormatadaPadraoStrftime($timestamp,$formato) foi renomeado para formatarDataViaStrftime($timestamp,$formato)- Adicionalmente, foi criado o metodo formatarData($dataiso,$formato), que recebe uma data em formato ISO e converte para o formato especificado no padrao strftime ("%d/%m/%Y"). Internamente, o metodo formatarData converte a data ISO em timestamp e chama o metodo formatarDataViaStrftime.- O metodo formatarData utiliza o formato que esta no XML da aplicacao caso o parametro $formato nao seja especificado.Isto foi feito pois o comando utilizado pelo metodo que utiliza strtime permite obter dias da semana e nomes de mes em portugues.Porem, o retorno do nome destes detalhes em portugues nao funciona com periodos menores que 1970 e maiores que 2038.Exemplos:Caso de teste 1: OK, data 31/12/2010. $data = "2010-12-31"; $dataF = N::$objAuxilio->formatarData($data, "%d/%m/%Y %A"); var_dump($dataF); $dataF = N::$objAuxilio->formatarDataViaGetDate($data, "d/m/Y l"); var_dump($dataF);/* Saida:string '31/12/2010 sexta' (length=16)string '31/12/2010 Friday' (length=17) */Caso de teste 2: ERRO, data 31/12/2010. $data = "1965-12-31"; $dataF = N::$objAuxilio->formatarData($data, "%d/%m/%Y %A"); var_dump($dataF); $dataF = N::$objAuxilio->formatarDataViaGetDate($data, "d/m/Y l"); var_dump($dataF);/* Saida:string '31/12/1965 Friday' (length=17)string '31/12/1965 Friday' (length=17) */Para obter a data atual basta chamar:N::$objAuxilio->formatarData(false, "%d/%m/%Y"); Instrucoes para instalar o Java:http://happy-coding.com/install-sun-java6-jdk-on-ubuntu-10-04-lucid/https://help.ubuntu.com/community/JavaUtilizar o Java (JDK) 6 da Oracle (Sun).Comentarios: esse help do Ubuntu esta desatualizado, para baixar o java utilize o endereco: http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html#jdk-6u32-oth-JPR Visando padronizar o uso da validacao XML utilizando arquivo XSD, publicarei aqui alguns problemas