Resolvendo problema de containers Orphans no Docker

Eu resolvi escrever este micro artigo para ajudar ai quem tiver passando pelo mesmo problema. Eu tenho em meu ambiente diversos containers rodando em paralelo e utilizamos o Docker Compose para manipular estes containers. Porém eu particularmente não havia setado o nome do projeto dentro das stacks do docker e isto acabou gerando um problema na hora de subir e baixar os containers pelo docker-compose.

A ideia aqui é simples, precisamos informar o nome dos projetos na hora de subir a stack com docker-compose up para não haver este tipo de incidente.

Então é simples, crie um arquivo .env na raiz do projeto onde você possui o docker-compose.yml com o seguinte conteúdo:

COMPOSE_PROJECT_NAME={project name}

Uma outra maneira de fazer isto é colocando a flag de comando:

docker-compose -p “project_name” up -d

Simples não ? pois é mas muitas vezes só aprendemos colocando em prática. Valeu galera abs,

#fix WARNING: Found orphan containers

Como resolver Unable to resolve “react-native-gesture-handler”

Caso você já tenha passado por este problema ao desenvolver uma aplicação React Native fique sabendo que o erro é comum e pode ser resolvido com uma certa facilidade.

Este erro pode estar relacionado com a sua versão do Expo como foi no meu caso. A solução mais simples para isto é seguir os comandos abaixo:

rm -rf node_modules

e depois:

npm i -s react-native-gesture-handler
expo install react-native-gesture-handler

Ativando o autocomplete de Emmet no VSCode

A funcionalidade de autocomplete chamada de Emmet não é ativada por padrão principalmente se estiver trabalhando com HTML dentro do Javascript comum por exemplo em bibliotecas como React.

O processo para habilitar é muito simples. Dentro do VSCode você deve ir em suas configurações e editar o JSON de configuração do VSCode adicionando as seguintes linhas abaixo:

"emmet.syntaxProfiles": {
        "javascript" : "jsx",
    },
    "emmet.includeLanguages": {
        "javascript" : "javascriptreact",
    },
    "emmet.optimizeStylesheetParsing": false,
    "emmet.triggerExpansionOnTab": true,

PySnake – utilizando controle do PS4 no Python

PySnake é um jogo feito com a biblioteca PyGame onde eu integro um controle de PlayStation 4 em modo USB para controlar a cobrinha do game.

É um ótimo exemplo de como você integra e captura os eventos de um controle USB no Python através da lib PyGame. Eu implemento também o Py Mixer para colocar uma música de background no game.

O código fonte do game é Open Source e a instalação basta você baixar o código fonte através do Github e instalar a dependências necessárias através do PIP para que o game rode 100%.

Download do código:
https://github.com/jaccon/PySnakeGame

Hardware Necessário:
– Um controle USB ( testado com DualShock 4);
– Cabo Mini USB

Hardware Necessário

Vídeo de demonstração

Assine o canal no Youtube para ser notificado de quando irei implementar o game ao vivo ! Saiba mais em:

https://www.youtube.com/user/andrejaccon/

Criando um servidor de streaming rtsp com NodeJS/Express/Web Socket

Recentemente eu comprei uma camera ip daquelas bem simples mas interessante pelo custo/benefício.

Além de ter vários recursos interessantes como transmissão e envio de áudio com viva voz, visão 360º, streaming de vídeo a 720p que pra mim é mais que suficiente ela possibilita através do protocolo RTSP o streaming via web.

O que ficou ainda mais interessante foi quando descobri que a camera ip utiliza protocolo rtsp. Através de um sniffer identifiquei o usuário e senha e a url de transmissão utilizada pelo aplicativo nativo da camera. A partir dai resolvi criar uma aplicação web onde eu consigo transmitir via node-rtsp via protocolo websocket. Você pode adicionar quantas cameras quizer basta adicionar as informações no config.js.

Para quem quizer saber mais como tudo isto funciona baixe o código no meu Github:

Download do código

https://github.com/jaccon/NodeStreamCamServer

Screenshot

Xpeng Motors, gigantes chinesas apostam em startup da Xiaomi

A Alibaba se juntou a Foxxon para aportar $ 400 milhões de dolares em uma startup da também gigante Xiaomi. E o que isto significa ? significa que teremos em breve mais uma empresa automobilística vinda do mercado de TI. Uma outra que deve sacodir o mercado no próximo ano é a Apple com o misterioso Apple Car.

Vamos aguardar…

O que o Bolsonaro tem haver com o horário do seu servidor ?

O presidene atual do Brasil Jair Bolsonaro cancelou o horário de verão neste ano de 2019. Sendo assim alguns servidores estão passando por problemas no acerto do horário e ai vai uma dica para acertar o problema em distribuições baseadas no Debian

apt-get update
apt-get install tzdata
dpkg-reconfigure tzdata

Como descobrir se seus dados vazaram em ataques ?

A Mozilla Foundation, criou uma ferramenta chamada Firefox Monitor. Esta ferramenta tem como objetivo avisar caso os seus dados pessoais foram vazados em algum tipo de ataque.

Eu descobri que meus dados foram vazados 18 vezes em sites como Diqus, Linkedin, ShareThis, Last.fm, Facebook, MySpace, Tumblr entre diversos outros sites.

Quer descobrir se os seus dados também já vazaram ? Acesse:

https://monitor.firefox.com/scan

Dê seu comentário aqui ou nas redes sociais com a hashtag #meusdadosvazara

Dockerizando Python 2.7, 3x e Flask APIs

Fala galera tudo certo ? hoje eu resolvi preparar uma imagem do Docker para quem necessita rodar uma aplicação Python 2.7, 3x ou até mesmo Flask APIs utilizando uma imagem Docker já preparada para este tipo de ambiente.

Basta baixar a imagem:
https://hub.docker.com/r/jaccon/pydockr

Para baixar a image utilize o comando:

docker pull jaccon/pydockr

Agora você irá precisar de uma arquivo docker-compose.yml para preparar o ambiente Docker. Ele irá orquestrar o container da aplicação.

No meu exemplo aqui eu irei mapear o diretório ./src para dentro do container em /app. No diretório src deve conter os arquivos de sua API

version: '2'

services:
  app:
    #build: .
    image: jaccon/pydockr
    container_name: api-flask-pydockr
    ports:
      - "8422:8080"
    networks:
      - hosting
    volumes:
      - ./src:/app
    restart: always
    command: bash -c "python /app/app.py"

networks:
  hosting:
   ipam:
      config:
       - subnet: 10.0.0.1/24
  

Você pode baixar o arquivo de exemplo no Github em:

https://github.com/jaccon/pydockr

É muito simples, você vai baixar o repositório do PyDockr no link acima, vai colocar o seu código dentro do diretório ./src conforme o exemplo. Configure a porta que a aplicação irá funcionar em appListener

Não esqueça também de setar a porta no arquivo docker-compose.yml