Docker – dial unix /var/run/docker.sock: permission denied

Comecei a brincar com Docker e a medida que vou encontrando erros e solucionando vou ṕstando no blog para ajudar outras pessoas. Depois de Instalar, surge o primeiro problema ao tentar rodar o Docker,

> docker run -d -p 80:80 -e SECRET_KEY_BASE=secretkey .

que resultou em:

2015/01/28 09:25:23 Post http:///var/run/docker.sock/v1.12/containers/create: dial unix /var/run/docker.sock: permission denied

Ao rodar
> docker -d

Recebo
2015/01/28 09:26:22 The Docker daemon needs to be run as root
Confirmo o problema de permissão do Docker, para solucionar basta executar o seguinte comando

> sudo usermod -a -G docker

e reiniciar a maquina!

sudo usermod -a -G docker

Publicado em Docker, Linux

Postgres: Deletando todas as tabelas de sua base de dados sem precisar da drop

Muitas vezes queremos fazer o backup->restore de uma base de dados ai acabava tendo de apagar a base de dados re-criar ela e depois fazer o restore.
Olha i o caminha mais fácil para essa tarefa:

drop schema public cascade;
create schema public;

Assim você poderá restaurar sua base de dados sem precisar excluir e re-criar ela de novo.

Publicado em Desenvolvimento, Dicas

Dica rápida: Fechando todas as conexões do Postgres

Para o PostgreSQL 9.1 ou inferior:

SELECT pg_terminate_backend(pg_stat_activity.procpid)
FROM pg_stat_activity
WHERE pg_stat_activity.datname = 'NOME_DO_BANCO'
  AND procpid <> pg_backend_pid();

PostgreSQL 9.2 ou superior:

SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE pg_stat_activity.datname = 'NOME_DO_BANCO'
  AND pid <> pg_backend_pid();
Publicado em Desenvolvimento, Dicas, Linux

Configuração inicial do Git

git config --global color.ui true
git config --global user.name "Luiz Carvalho"
git config --global user.email "maximusmano@gmail.com"
ssh-keygen -t rsa -C "maximusmano@gmail.com"
cat .ssh/id_rsa.pub 
Publicado em Linux

Rails: pacotes necessários para ubuntu

Aqui vai uma lista rápida de pacotes para fácil configuração de seu ambiênte Rails

 

sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libgdbm-dev libncurses5-dev automake libtool bison libffi-dev postgresql-common postgresql-9.3 libpq-dev  

 

 

Publicado em Ruby

Recuperando Grub

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair
boot-repair

Caso ocorra problemas com falta de pacotes utilize

 

sudo add-apt-repository ppa:fossfreedom/packagefixes
sudo apt-get update
sudo apt-get install banish404
sudo banish404
Publicado em Linux

Apresentação FLISPOL – Palmas – Ruby on Rails

Ruby-on-rails-servicos-flisol-palmas

 

 

 

 

 

 

 

Download da apresentação aqui

Publicado em Sem categoria

Minicurso de Android no V Workshop Tocantinense de Sistemas de Informação Católica-TO

Para os alunos e interessados no conteúdo disponibilizado durante o mini curso, coloco aqui os recursos utilizados.

Android Básico

Baixe a apresentação aqui: Apresentação

Baixe as imagens aqui: Imagens

Baixe o código aqui: Código

Publicado em Android

Rails migrations tasks

Hoje vou passar uma lista de tarefas rake para manipulação de sua base de dados

  • db:create cria a base de dados do env atual
  • db:create:all cria databases de todos os envs
  • db:drop apaga a base de dados do env atual
  • db:drop:all apaga todas as base de dados de todos os envs
  • db:migrate executa as migrações que ainda não foram executadas ainda
  • db:migrate:up roda uma migration específica
  • db:migrate:down retrocede para uma migration específica
  • db:migrate:status exibe o estado da migração atual
  • db:migrate:rollback retrocede para a última migration
  • db:forward avança a versão atual do schema em um.
  • db:seed roda o arquivo db/seeds.rb
  • db:schema:load carrega o schema para a base de dados do env atual
  • db:schema:dump da um dumps no schema do env atual
  • db:setup roda o db:schema:load, db:seed
  • db:reset roda db:drop db:setup
  • db:migrate:redo roda (db:migrate:down db:migrate:up) or (db:migrate:rollback db:migrate:migrate) dependendo da migração
  • db:migrate:reset roda db:drop db:create db:migrate
  • db:migrate VERSION=0 retrocede todos os migrations
Publicado em Ruby

Android: Networking

Uma das características que definem os sistemas móveis modernos é que eles podem nos manter conectado e em rede, sem nos prender a um local. Nesta lição, vamos explorar as práticas que você precisa para conectar seus aplicativos na internet. Então, eu vou começar esta lição, discutindo redes em geral.

Essa discussão se concentrará em conectar suas aplicações a internet usando Hypertext Transfer Protocol ou HTTP especificamente usando solicitações HTTP GET. Depois disso, vou apresentar várias classes que o Android oferece para apoiar este tipo de conectividade. E, finalmente, eu vou discutir como suas aplicações podem processar os dados recebidos em resposta a essas solicitações HTTP GET. Em particular, eu vou falar de dois formatos populares de dados. Um deles, o Javascript Object Notation Language, ou JSON.

O outro é o Extensible Markup Language, ou XML. E eu vou falar sobre como você analisar, e processar essas respostas HTTP quando elas forem formatadas em um desses formatos. Assim, nossos dispositivos nós darão essa mobilidade.

Dispositivos de hoje combinam poderosos processadores com conexões de rede Wi-Fi mais rápidas e redes móveis. Aplicações portáteis, portanto, muitas vezes querem fazer uso desses recursos de rede para acessar e fornecer dados e serviços. Agora, para ajudá-lo a fazer isso, Android inclui uma variedade de classes de suporte incluindo Socket e URL, no pacote Java.net, as classes HttpRequest e HttpResponse nos pacotes org.apache.

E as classes URI, AndroidHttpClient e AudioStream, nos pacotes android.net. Nesta lição nós vamos olhar para várias dessas classes usando cada uma delas para implementar o mesmo aplicativo de exemplo. E este aplicativo interage com um serviço de internet para obter informações sobre os terremotos que ocorreram em uma região geográfica específica. E como você vai ver, que os dados são retornados em vários formatos.

Mais tarde, na aula, eu vou mostrar-lhe como processar os dados para extrair apenas a informação que você deseja. Ah, e, e uma outra coisa. Como você verá em um segundo, esses dados incluem informação geográfica, eles estão realmente implorando para ser exibido em um mapa, e não em texto. Agora, nós não vamos fazer isso nesta lição, mas mantenha isso em mente, porque nós vamos voltar a isto, quando chegarmos à lição em mapas e localização.

Portanto, a fim de fazer o trabalho do aplicativo, o código precisa criar uma solicitação HTTP, enviá-lo a um servidor, recuperar os resultados e, em seguida, exibi-los. Android fornece várias classes para te ajudar com isso. Três falaremos agora são a classe Socket, a classe HttpURLConnection e o AndroidHttpClient.

Exemplo: Ao pressionar um botão, o aplicativo irá emitir uma solicitação HTTP GET para um servidor externo. E esse servidor irá responder com um texto complexo que contém os dados do terremoto solicitados.

E então, este código continua obtendo fluxo de entrada do socket e passando-a para um método chamado readStream. O método readStream última instância lê os dados de resposta do InputStream do socket.

E, em seguida, retorna a resposta como uma única seqüência. E essa string é passado para o método OnPostExecute que executa no thread principal e que exibe a resposta na exibição de texto. Se voltar para o aplicativo, você notará que o texto de resposta inclui não apenas os dados do terremoto, mas também os cabeçalhos de resposta HTTP. Agora normalmente, eu não gostaria de exibir esse texto aqui.

Eu realmente só quero te mostrar os dados do terremoto. Assim, no caso, eu deveria ter analisado a resposta e tirou apenas os dados que eu queria. Além disso, você deve ter notado que eu não escrevi nada do código de tratamento de erro que você realmente precisa para fazer esta aplicação robusta. E estes pontos, capturar muito bem os trade-offs de usar soquetes.

O nível muito baixo, você pode escrever o que quiser sobre o soquete, mas, em troca, você tem que lidar com todos os muitos detalhes de fazer as solicitações HTTP, todo o tratamento de erros, e todo o processamento das respostas HTTP. O próximo implementação veremos usa a classe HttpURLConnection.  A terceira classe é cliente HTTP Android. Esta classe é uma implementação do DefaultHttpClient do projeto Apache e permite que uma grande quantidade de personalização.

Em particular, a classe de quebra de uma transacção HTTP para um objecto de pedido e resposta para um objecto. Assim você pode criar subclasses que personalizam o tratamento de solicitações e suas respostas.

 

Serie: 5 – 8 – Networking – Part 1

Related Posts Plugin for WordPress, Blogger...
Publicado em Android