Configurar a variável de ambiente JAVA_HOME no Mac OS X

Recentemente eu precisei executar uma aplicação Java no Mac, que rodaria a partir do terminal e para isso foi necessário configurar a variável JAVA_HOME. Segui o seguinte procedimento:

  1. Inicie o terminal
  2. Crie e/ou edite o arquivo ~/.bash_profile
    vi ~/.bash_profile
  3. Cole o seguinte trecho, tudo em uma única linha:
    export JAVA_HOME=/System/Library/Frameworks/
    JavaVM.framework/Versions/CurrentJDK/Home
  4. Salve, saia do VI, reinicie o terminal e execute o seguinte comando:
    echo $JAVA_HOME

Como recuperar como checked um campo armazenado como array – PHP

Só dicas simples ultimamente né. Vamos lá:

Imagine que você tenha um formulário HTML com alguns campos checkbox, ou seja, que permitem múltiplos valores.

[php]

Marque o turno:
Matutino
Vespertino
Noturno

[/php]

No banco, você terá um campo que irá armazenar as opções selecionadas em formato de array separados por vírgula (1,2,3). A dúvida é, como que você irá recuperar os valores selecionados de forma que ao editar este formulário os respectivos campos checkbox’s venham marcados? Muito simples, basta utilizar as funções implode() e explode(), veja:

Para inserir em formato de array separados por vírgula basta dar um implode():

[php]$turno = implode($_POST[‘turno’],”,”);[/php]

Ai basta utilizar esta variável ($turno) no seu INSERT.

Na query que irá recuperar os dados, utilizamos explode() para separar os elementos do array:

[php]$turno = explode(“,”, $row[“turno”]);[/php]

E na hora de marcar os campos do formulário com os registros recuperados vamos utilizar a função do PHP chamada in_array, com um operador ternário:

[php]
/>Matutino
/>Vespertino
/>Noturno
[/php]

Pronto, dessa forma os valores que vierem da variável $turno que coincidirem com o value do checkbox será marcado como ativo.

Seguindo o mesmo princípio, você pode querer trazer em formato de relatório os valores selecionados, como no exemplo abaixo:

( X ) MATUTINO        (  ) VESPERTINO        ( X ) NOTURNO

É a mesma coisa, basta dar um echo na variável no espaço onde será preenchido o X:

[php]( < ?php echo (in_array('1',$turno))?('X'):('');?> ) MATUTINO ( < ?php echo (in_array('2',$turno))?('X'):('');?> ) VESPERTINO ( < ?php echo (in_array('3',$turno))?('X'):('');?> ) NOTURNO[/php]

Fonte: Handling checkbox in a PHP form processor

Eliminar linhas em branco no Excel

Se você precisa apagar linhas em branco em um intervalo, essa dica pode ajudar:

  1. Selecione o intervalo;
  2. Pressione a tecla F5, e clique na opção “Especial” e selecione a opção “em branco (blanks)” e clique em “OK”;
  3. Escolha a opção “excluir–linha inteira” no menu editar.

Caso estiver usando o office 2007 (ou maior), o item 3 será ligeiramente diferente:
em “Home/Cells” selecione a opção “Delete–Delete cells” e “Entire row”.

E seja feliz! 🙂

Removendo espaços no início e fim de uma string.

Dica boba 🙂

Acontece muito quando se importa dados de uma planilha alguns dados apresentarem espaços no início ou no fim da string. Para remover é fácil, basta executar esta query:

UPDATE tabela set campo = trim(campo);

Agora caso queira remover somente espaços da direta ou da esquerda é só executar:

Lado esquerdo:
UPDATE tabela SET campo = LTRIM(campo);

Lado direito:
UPDATE tabela SET campo = RTRIM(campo);

Resetando a sequência em um campo Serial no PostgreSQL

1. Se você quiser preservar os dados, das demais tabelas e alterar somente a sequência:

SELECT setval(‘nome_da_sequencia’, 1, false);

Para saber o nome da sequência, pode-se executar este outro comando, antes:

SELECT pg_get_serial_sequence(‘nome_da_tabela’,’nome_do_campo_serial’);

2. Se você quiser apagar toda a tabela e resetar a sequência:

TRUNCATE TABLE nome_da_tabela
RESTART IDENTITY;

Howto: Tunelamento de servidor SVN via ProxyPass – Apache

Caso: Você já tem um servidor SVN em sua empresa rodando de boa internamente e agora precisa colocar o serviço SVN para acesso externo. Existe n maneiras de se fazer isso, porém caso você esteja trabalhando com proxypass para disponibilizar conteúdo da sua rede interna à internet, esta é a forma de fazer com o Subversion.

[php]

ServerName svn.dominio.com
ProxyPass / http://svn.dominio.com/

ProxyPassReverse / http://svn.dominio.com
Order Deny,Allow
Allow from all
Satisfy Any

[/php]

Pronto, já pode-se conectar com seu cliente SVN.
Fonte: http://silmor.de/proxysvn.php

Finalizar todas as sessões ativas de um banco PostgreSQL

Para fazer um DROP DATABASE é necessário “matar” as conexões ativas, existe várias maneiras de fazer isso, porém a mais simples é você usar a a função pg_terminate_backend(int).

Você pode obter todas as seções ativas, rodando pg_stat_activity.

A forma mais simples de matar todas as sessões é executando essa query (claro que você não pode estar conectado na mesma base de dados).

select pg_terminate_backend(procpid)
from pg_stat_activity
where datname = ‘nome_do_database’

Fonte: http://stackoverflow.com/

Resolvendo o problema Too many connections do MySQL

O MySQL por default vem configurado para aceitar 100 conexões simultâneas e isso é mais que suficiente para a grande maioria das situações. Porém é comum receber periodicamente o erro “Too many connections”.

Uma solução paliativa é aumentar o número de conexões do MySQL, dessa forma:

Fara MySQL 3.x:
# vi /etc/my.cnf
set-variable = max_connections = 250

Para MySQL 4.x and 5.x:
# vi /etc/my.cnf
max_connections = 250

Reiniciar o MySQL. É possível checar o número de conexões configuradas dessa forma:

echo “show variables like ‘max_connections’;” | mysql

Agora, este problema normalmente ocorre porque o PHP esta persistindo as conexões, ou seja, cada vez que chama-se uma página com conexão com o banco, é adicionado mais um pool de conexão. Para resolver de vez, não é necessário aumentar o número de conexões do MySQL, conforme mostrado acima, pois o problema esta na configuração do PHP, tem que desativar a persistência das conexões, editando o arquivo php.ini, e colocando o allow_persistent em OFF.

[MySQL]
; Allow or prevent persistent links.
mysql.allow_persistent = Off

E é tudo, reinicie o Apache com /etc/init.d/httpd restart.

Aplicações Open Source para transformar a educação

Enquanto alguns educadores rapidamente compreendem o potencial de software de código aberto, muitos outros têm hesitado em se afastar da zona confortável de aplicações comerciais.

No entanto, isso está mudando. Mais professores e instituições estão agora participando de organizações como Schoolforge, a Fundação Open Source para Educação e Escolas Open Source. Esses educadores estão começando a ver que a filosofia open source tem o poder de transformar a educação em vários aspectos.

Em primeiro lugar, as escolas podem usar aplicativos de código aberto para substituir o software comercial caro e liberar recursos para outros fins. Por exemplo, openSIS executa as mesmas tarefas que programas de administração escolar de código fechado (agendamento, notas, boletins, atendimento, etc), reduzindo o custo total de propriedade em até 75% por cento.

Em segundo lugar, aplicativos de código aberto estão mudando a maneiras de alunos e professores interagirem e algumas instituições, nomeadamente o MIT e a Universidade de Berkeley, ter utilizado o conceito de ensino a distância open source.  Como membros do Consórcio OpenCourseWare , eles disponibilizam o conteúdo de alguns cursos gratuitamente, de modo que qualquer pessoa no mundo pode se beneficiar de seus conhecimentos.

Finalmente, o software de código aberto dá aos educadores mais opções do que nunca. Hoje, os instrutores têm dezenas, se não centenas, de opções de aplicativos de código livre e aberto que os ajudam a apresentar lições sobre tudo, desde aprender o ABC até sobre a modelagem das interações complexas de moléculas durante os processos bioquímicos.

Confira no link abaixo uma pequena amostra das aplicações de código aberto disponíveis para ajudar os educadores a ensinar e inspirar seus alunos.

Link: http://www.datamation.com/osrc/article.php/3831751/55-Open-Source-Apps-Transforming-Education.htm

Como montar um servidor gratuito por um ano na Amazon Web Services

E-book  muito bom e em português, com um passo a passo sobre como criar um servidor na Amazon Web Services do início ao fim.

Esse livro te ensinará o passo a passo para a utilização de diversos serviços e produtos da Amazon Web Services, com o intuito final de você ter um servidor completo e funcionando gratuitamente por um ano inteiro e posteriormente com um preço muito baixo na AWS!

Links para downloads:

Maiores informações: