Arquivo do autor:edgard leal

R vs SQL

R logo

R logo

Iniciando

Quando comecei a utilizar o R o maior problema foi a adaptação devido ao fato de já utilizar SQL com bancos relacionais, imediatamente surgiam as dúvidas:

  1. Como faço um “where” ?
  2. Tem como fazer um “like” ?
  3. Como faço um “group by”
  4. Como faço para ordenar?
  5. Como faço um “limit”

Continue lendo

Analisando o log do fail2ban

Firewall configuração com o fail2ban

Introdução

O fail2ban é uma ferramenta escrita em python que analisa os arquivos de log dos seu sistema e automaticamente cria regras de bloqueio no iptables para ips que estejam realizando alguma atividade suspeita. Por exemplo, em casos de muitas tentativas de acesso pelo ssh inválidas, o fail2ban identifica estas tentativas com erro no log do sistema ( /var/log/syslog ) e cria uma regra no iptables bloqueando este ip por alguns minutos.

Continue lendo

Ferramentas para o Shell

linux

Introdução

Muitas vezes no dia precisamos criar uma pasta e em seguida entrar nesta pasta para realização de algum procedimento dentro desta, que seria algo como:

 

Utilizando funções

É possível criar funções( comandos ) personalizados modificando o arquivo ~/.bashrc ( ou ~/.profile se for mac ) que é o arquivo com código Shell que é executando quando é iniciada uma nova instância do terminal, desta forma, toda vez que você abrir o terminal, ou logar no servidor este arquivo será executado a as funções contidas nele ficarão disponíveis.

Para isso adicione as seguinte linhas neste arquivo:

Uso:

No final você estará na pasta “pasta_final”.

OBS: nesta função foi utilizado o parâmetro -p do comando mkdir que cria toda a raiz de pasta quando a pasta “pai” não existir.

Ex.:

 

Utilizando alias

Em algumas situações o recurso que desejamos implementar é tão simples que não precisamos criar um função Shell, neste caso podemos criar apenas um alias para um determinado comando. Uma situação comum para utilização deste recurso é com comando onde costuma-se repetir sempre os mesmos parâmetros. Veja alguns exemplos:

Listando os maiores arquivos de uma pasta

Existem situações onde é preciso liberar espaço em disco rapidamente para que ou seu serviço não pare por falta de espaço no HD ou simplesmente para fazer uma limpeza.

Listando arquivos

Já se perguntou quantas vezes por dia você executa o comando ls ?

Abaixo segue alguns exemplos de como enriuecer seu arquivo .bashrc/.profile:

Você encontra estes e outros exemplos no arquivo completo aqui.

 

 

Ordenamento por Data no DataTables

Logo do DataTables plugin jQuery

O DataTables é hoje uma dos plugin jQuery mas utilizado por resolver ordenamento e paginação de forma automática. Mas em qualquer ferramenta que tente fazer ordenamento sem reflection, ocorre um problema que é a identificação automática do tipo de dados da coluna ou lista ordenada.
Isto ser torna um problema no seguinte caso:

  • 01/02/2015
  • 02/01/2015
  • 03/12/2014
Na lista acima as datas estão ordenadas como “string”.
Por padrão, o plugin do dataTables reconhece automáticamente os tipos “string”, “numeric”, e, “date” , mas todos em formato americano.

Para burlar este problema, é possível criar um tipo de dado extendendo a api do jQuery (Clique em Result para ver o resultado ):

Você pode testar o código acima no JsFiddle.

ShellScript para implementação de “lixeira”

Utilizando ShellScript para não perder mais arquivos no Linux

Linu

Introdução

Neste post iremos utilizar o ShellScript para implementar um recurso muito importante que possibilita a recuperação simples e rápida de uma lixeira para o linux quando utilizado sem os gerenciadores de janelas como KDE, Gnome e outros que ja possuem um recurso parecido.

O Problema

Quando se utiliza o terminal o linux, pode acontecer alguns desastres, como por exemplo o uso do comando rm que remove o arquivo informado permanentemente. Por isso criei o script abaixo que move o arquivo ou pasta informado para uma pasta temporária, e só remove permanentemente após 30 dias.

A Solução

 Para disponibilizar o comando em qualquer local do terminal, crie o arquivo com o nome “del.sh”, dê permissão de execução com o comando “chmod +x del.sh” e crie um link dentro da pasta “/usr/local/bin” com o seguinte comando: “ln -s /home/pasta/onde/esta/o/arquivo/del.sh del”
Apos seguir todos estes passos, você ja poderá utilizar o comando:
del arquivo.txt

O ShellScript del.sh

Exemplo de uso:

Derby – utilizando auto incremento

Derby embed java database

Derby

O Derby

O Derby é um sistema de banco de dados relacional embarcado no java, isto significa que você não precisa ter um serviço a mais sendo executado na sua maquina para fazer uso do sistema de banco de dados, todo o código é executado na mesma JVM de sua aplicação.

Alguns motivos para utilizar o Derby

  • Rápida instalação e ouço consumo de recursos 2.6MB por instância já considerando o driver.
  • Baseado em Java, JDBC, e SQL padrão.
  • Possibilidade de utilização no modo cliente servidor.
  • Facilidade de instalar e usar.

Criando a tabela com auto-incremento

O auto incremento no derby é um pouco diferente do padrão dos outros banco de dados.
Segue um exemplo que pode ajudar a criar as tabelas de seu novo banco.

Link para o site oficial.

Conectando-se ao banco Derby

Logo do Apache Derby

Introdução

Apache Derby é um sistema de gerenciamento de banco de dados relacional Java que pode ser embutido em programas Java e que possui quase todos os recursos dos grandes SGDBS.

História:

Apache Derby originou-se na Cloudscape Inc, uma start-up de Oakland, California fundada em 1996 para desenvolver tecnologia Java para banco de dados. A primeira versão do motor do banco de dados, foi nomeada JBMS, em 1997. Posteriormente foi renomeada para Cloudscape e novas versões eram desenvolvidas a cada seis meses.
Em 1999 a Informix Software, Inc., comprou a Cloudscape, Inc. Em 2001 a IBM adquiriu os ativos da Informix Software, incluindo a Cloudscape. O banco de dados foi registrado como IBM Cloudscape e suas versões continuaram a ser produzidas, principalmente focando o uso em aplicações embarcadas usando os produtos Java da IBM.
Em agosto de 2004 a IBM contribuiu com o código para a Apache Software Foundation como Derby, um projecto incubado mantido pelo projeto Apache DB. Em julho de 2005 o projeto Derby foi promovido na incubadora do Apache e agora está sendo desenvolvido como um sub projeto do DB, um projeto de alto nível na Apache. Anteriormente à promoção do Derby na incubação, a Sun uniu-se ao projeto Derby com a intenção de usar o Derby como um componente de seus produtos,3 e com o lançamento do Java 6 em dezembro de 2006, a Sun incluiu o Derby no JDK renomeado como Java DB.
Em março de 2008 a IBM anunciou a remoção do produto Cloudscape do mercado, mas continuará contribuindo com o projeto.
Fonte: (wikipedia)

Instalando o Derby

Você pode fazer o download do arquivo jar aqui

OBS: O parâmetro “create=true” informa que se o arquivo nao existir o driver devera cria-lo.

 

Site oficial: Apache Derby.

Os melhores serviços cloud gratuítos ( armazenamento na web )

Vocês ja deve ter passa do pela situação de perder arquivos no computador que pifou, ou mandou formatar sem fazer backup, ou ainda precisar de uma arquivo que esta no seu pc de casa, a solução para este e outros problemas é o armazenamento em nuvem ( cloud ).

Usando as 12 opções de armazenamento em nuvem pública seguintes, você poderia, teoricamente, chegar 112GB de armazenamento em nuvem livre. Mas nem todos os serviços são os mesmos. Alguns têm seus prós e contras relacionados a como um limite de tamanho de arquivo que pode ser carregado, o preço do espaço adicional de armazenamento em nuvem, integrações com diversos sistemas operacionais e aplicativos móveis, e, claro, as precauções de segurança.

Veja a comparação dos principais com opção gratuita e escolha o melhor para sua situação, ou melhor, escolha como usar todos ao mesmo tempo 😀 .

Empresa Capacidade (Grátis) Armazenamento extra Descrição
5G 20GB, $10/year; 50GB, $25/year; 100GB, $50/year; 200GB, $100/year; 1TB, $500/year. Cloud Music player: 250 imported songs free; 250,000 imported songs, $24.99/year. Músicas compradas e baixadas da Amazon são automaticamente armazenadas na Amazon Cloud Drive de graça. O serviço também faz o backup de tablets Kindle da marca. Desde seu lançamento em março de 2011, o serviço foi alvo de críticas por suas políticas de acesso. Veja mais aqui .
5G 10GB (15GB total with 5GB free), $20/year; 50GB, $100/year Automaticamente sincroniza arquivos, fotos, vídeos e até mesmo guias de navegação na Web através de dispositivos Apple. Apps como o Keynote, Pages e Numbers são utilizados para a gestão / sincronização de documentos. A Apple possui uma criptografia mínima de 128 bits AES para iCloud
5G 25GB for $9.99/mês; 50GB, $19.99/mês. Business account: $15/usuário/mês, 3 a 500 usuários; Fornece SSL 256-bit AES criptografia protegido por firewall. Para negócios e contas da empresa, os arquivos são armazenados criptografados com redundância automática. Limites de tamanho de arquivo: 100MB para as contas gratuitas, 1GB para contas pessoais pagas; edições negócios têm limite de tamanho de arquivo de 2 GB. Box permite a edição de documentos na nuvem por meio de aplicativos de terceiros, como o Zoho.
2G contas pró até100GB, $9.99/mês ou $99/ano,  500GB por $49.99/mês ou $499/ano. Conta para grupos, 1TB por $795/ano para 5 usuários, $125 por usuário adicional. Fornece SSL 256-bit AES criptografia protegido por firewall. Para negócios e contas da empresa, os arquivos são armazenados criptografados com redundância automática. Limites de tamanho de arquivo: 100MB para as contas gratuitas, 1GB para contas pessoais pagas; edições negócios têm limite de tamanho de arquivo de 2 GB. Box permite a edição de documentos na nuvem por meio de aplicativos de terceiros, como o Zoho.
7G
ilimitados para documentos no formado do googleDrive
25GB, $2.49/mês; 100GB, $4.99/mês; 200GB, $9.99/mês; 1TB, $49.99/mês; 16TB, $799.99/mês Google Drive permite aos usuários armazenar muito mais arquivos em sua nuvem de graça se os arquivos são o Google Docs. Em muitos casos, os ficheiros podem ser convertidos para este formato, simplesmente através de cópia para um documento do Google. Tem alguns limites de arquivo, incluindo 2MB de arquivos convertidos, ou 10MB para arquivos não-Google Doc. Planilhas têm um limite de 20 MB ou 256 colunas. Arquivos do Google Doc pode ser editado no aplicativo, mas aplicativos de terceiros são necessários para editar arquivos Doc não do Google, como arquivos do Microsoft Word
50G

Edição pró 250GB por $4.50/mês, e Business edition com 1TB por $49/mês. Startup MediaFire oferece uma grande quantidade de armazenamento em nuvem, mas ele só tem Windows, OS X e os aplicativos de desktop Linux, sem aplicativos móveis ainda. Por US $ 1.50/mês, os usuários podem obter 50GB de armazenamento, sem anúncios, através da edição de “pessoal”. MediaFire comercializa seu pacote de distribuição de conteúdo fortemente. Pro Edition permite 500GB/mês de distribuição de conteúdo através de 500 links de uma só vez por dia; enterprise edition permite 4TB/mês de distribuição com 5.000 links por dia. A versão gratuita tem limite de tamanho de arquivo de 200MB, enquanto que pessoal tem um limite de tamanho de arquivo de 1GB. Pro tem um limite de tamanho de arquivo de 4 GB e de negócios tem limite de tamanho de arquivo individual de 10GB.
7G

20GB, $10/ano;
 50GB, $25/ano; 100GB, $50/ano.
Microsoft SkyDrive, que tem uma interface no estilo do Windows 8, oferece aos usuários uma das maiores contas das principais ofertas de nuvem de armazenamento gratuito iniciais. Ele faz envios limite de 300MB de arquivos via navegador da Web e tem um limite de 2GB por meio do aplicativo de desktop, que pode ser executado no Windows e OS X. Ele também suporta iOS, Android e aplicativos Windows Phone. Ele inclui um esqueci alguma coisarecurso que permite que os usuários recuperem remotamente um arquivo no seu PC que não tenha enviado para a nuvem.
7G

100GB, $4.99/mês; 500GB, $20/mês ou $199/ano; 1TB, $35/mês ou $325/ano. MiMedia se intitula como sendo um repositório de backup e ferramenta de nuvem de acesso especificamente para a mídia, embora ele funcione também para outros documentos. O destaque deste serviço são os recurso para arquivos de áudio, como a opção de escutar as suas músicas online. MiMedia ainda não suporta Mac OS X. Ela tem iOS e Android apps.
2G

$10 por mês ou
$100 por ano para 100GB.
SpiderOak apresenta-se como a opção de armazenamento em nuvem pública seguro. Gozando de um “conhecimento zero” política, o programa de SpiderOak não armazena senhas dos clientes, e todos os dados do cliente são criptografados, tanto em transmissão e durante o armazenamento, usando hashes salgados e uma combinação de 2048 bits RSA e criptografia AES de 256 bits. Para os desenvolvedores da multidão, a empresa também começou a abertura da fonte parte do código usado para criar o produto. SpiderOak oferece pessoal, empresarial e sócio / versões de seu serviço de nuvem revendedor.
5G

30GB, $4.99/mês ou  $49.99/ano; 60GB, $9.99/mês ou $99.99/ano; 500GB, $39.99/mês ou $399.99/year. Business account com 100GB para três usuários por $29.99/month ou $299.99/ano. Até 32 GB de armazenamento adicional livre disponível se você recomendar outros que se inscreverem para o serviço. SugarSync tem aplicativos móveis disponíveis no iOS, Android, BlackBerry, Symbian e plataformas WinMobile.
até 10G

? Symform oferece, de longe, a maior quantidade de armazenamento potencialmente livres, mas há um problema. Sua nuvem pública usa espaço de armazenamento doados pelos usuários, ou seja, os dados criptografados de outros clientes serão armazenadas em seu sistema quando você contribui para a nuvem Symform. A quantidade de armazenamento de cada usuário recebe é baseado em quanto de armazenamento contribuem de volta para a rede de nuvem pública Symform. Assim, por exemplo, se você contribuir com 2 TB de armazenamento, você pode obter 1TB de armazenamento gratuito. Casos de uso comum para isso é em torno de recuperação de desastres e backup. Os clientes podem pagar para o armazenamento ao invés de contribuir para trás o excesso de espaço de armazenamento também. Symform criptografa arquivos usando 256-bit AES, em seguida, divide os arquivos armazenados na nuvem, em 64 blocos, que são distribuídos por toda a rede de cloud Symform de modo que há um único usuário tem acesso ao conjunto completo de dados criptografados de um cliente.
2G

50GB, $15/mês para edição pessoal. Syncplicity é de propriedade da EMC. Preços para a edição de negócios, que inclui controles de acesso centrais, começam em US $ 45/mês com preços diferenciados para até armazenamento ilimitado. Não há limite de tamanho de arquivo ou número de arquivos. Criptografia AES de 256-bit é usado em transmissão e em repouso.

Executar comando em segundo plano

Existem situações onde precisamos iniciar um processo manualmente em segundo plano, como por exemplo, inicializar um servidor web. O problema é que o processo fica preso na tela do console nos impossibilitando de utilizar a mesma sessão, e o pior: quando o acesso é remoto ( ssh ) , e você não pode fechar o terminal para não encerrar o processo.
Uma das formas de resolver este problema é usando o “&” ao fim do comando (ainda não resolve para ssh)

edgard$ sleep 3&
[1] 16129

Sera exibido na tela o spid do processo e o console fica imediatamente livre para digitação, e após 3 segundos é impresso na tela a informação de que o processo foi finalizado.

[1]+  Exit 127                $ sleep 2

Outro problema é com o uso do acesso remoto (ssh) que quando fechamos a aplicação ( se for windows o put por exemplo) , processo é finalizado. Para resolver este problema, utilizaremos o aplicativo nohup.
Ex.:

nohup sleep 3&

Além de executar o processo em segundo plano, o nohup envia toda a saida (stdout) para o arquivo nohup.out que estará na pasta corrente.