anúncios

sexta-feira, 31 de dezembro de 2021

Resetando e redefinindo o password root no Linux

Nota: Os procedimentos a seguir assume que seja executado na máquina física de sua propriedade.

Procedimentos para resetar o password root no GNU/Linux (qualquer distro)

Na tela do GRUB, segue:

  1. Na tela do GRUB, aperte a tecla e;
  2. Procure a linha linux /vmlinuz… e substitua o "quiet" por "init=/bin/bash"
  3. Digite CTRL+X para iniciar o Shell;
  4. Quando aparecer a tela do shell, digite mount -o remount,rw /
  5. Agora digite passwd e logo será solicitada a nova senha e a confirmação da mesma;
  6. Reinicie o computador shutdown -r e faça o logon com a nova senha.

Feito!

Treine a sua lógica de programação com problemas na comunidade de programadores

A partir de 24/10/2021 a URI Online Judge passou por uma alteração no nome para Beecrowd, mas continua com o seu objetivo para você treinar a sua lógica de programação, por meio de diversos problemas organizado por categorias.

Se ainda não tem uma conta, então cadastre-se e crie o seu perfil para começar a explorar o site e resolver os problemas de programação apresentados.

É interessante colocar o nome da universidade que faz o curso de graduação e assim agrupar os colegas do curso.

O Beecrowd (antecessor de URI Online Judge) dispõe de dois ranks, o primeiro é o geral, onde todos os usuários participam, ficando em primeiro lugar os que tiverem o maior número de exercícios resolvidos e aprovados. O segundo rank é específico de sua universidade, ou seja, apenas os alunos de sua instituição de ensino participam. O critério para alcançar a melhor posição é o mesmo para o rank geral.

Em resumo, procure resolver o maior número de programas de programação e submeta para verificação.

Quais linguagens de programação é permitido resolver os problemas?

Você pode resolver os problemas com as linguagens de programação: C, C++, C#, Python, Java, PHP, Lua, Haskel, Go e tem problemas específicos para SQL.

O mais comum na maratona de programação são as linguagens C, C++, Java, Python.

Recomendo treinar na linguagem C ou C++.

O Beecrowd é uma oportunidade para você mostrar o quanto é bom em programação. Ótimo teste para suas habilidades de desenvolvedor.

Uma sugestão é criar um repositório no GitHub para salvar os problemas de programação que resolver no Beecrowd como backup e assim você rever posteriormente a sua evolução.

Treinar as habilidades de programação com Beecrowd e em conjunto o Git/GitHub, certamente são de auxílio no seu desenvolvimento pessoal e profissional.

Feito!

quarta-feira, 29 de dezembro de 2021

Instalando o cliente VPN Cisco AnyConnect no Linux

O objetivo deste post é explicar os procedimentos de instalação e utilização do cliente VPN Cisco AnyConnect, no Linux (qualquer distro).

Segue os procedimentos:

  1. Acesse https://software.cisco.com/download/home
  2. Na barra de pesquisa, digite "Anyconnect" e as opções serão exibidas. Selecione AnyConnect Secure Mobility Client v4.x
  3. Faça o download do Cisco AnyConnect VPN Client. Especificamente a opção Pacote de pré-implantação do AnyConnect (Linux 64 bits)
  4. No terminal, acesse o diretório onde salvou o arquivo algo similar com isso anyconnect-linux64-4.9.01095-predeploy-k9.tar.gz
  5. Extrair com o comando $ tar -xzvf anyconnect-linux64-4.9.01095-predeploy-k9.tar.gz
  6. Acessar o diretório extraído
  7. $ cd anyconnect-linux64-4.9.01095
  8. Acessar o subdiretório
  9. $ cd vpn
  10. Executar o script de instalação do AnyConnect
  11. $ sudo ./vpn_install.sh
  12. Aceite os termos do contrato de licença para concluir a instalação digitando "y"

A instalação do AnyConnect foi instalado.

Utilizando o AnyConnect Secure Mobility Client v4.9.x

Para acessar o AnyConnect, abra o terminal e execute: $ /opt/cisco/anyconnect/bin/vpngui

Irá abrir o Cisco AnyConnect, informe o IP e porta da VPN da organização ou vpn.empresa.com.br

Após isso irá solicitar as credencias de acesso, seu usuário e o password é código de 6 digitos do MobilePASS.

Feito!

Conhecendo o MIT App Inventor

O que é MIT App Inventor?

O MIT App Inventor é uma ferramenta web que nos permite criar aplicativo para Android.

Criada no MIT - Massachusetts Institute of Technology, é uma ferramenta bastante fácil de utilizar, até mesmo por quem não tem experiência em programação.

O MIT App Inventor trabalha com a linguagem visual (baseada em blocos). Assim você vai encaixando cada bloco como fosse um quebra-cabeça.

Uma forma de criar aplicativos Android em programação de blocos, ideal para quem não tem conhecimento avançado em programação para dispositivo mobile, mas tem uma ideia de criar um aplicativo. Agora tem uma opção desta ferramenta para colocar em prática a sua ideia em alguns dias de forma simples.

Como utilizar o App Inventor?

  1. Acessar https://appinventor.mit.edu/ e criar uma conta
  2. Após criar a conta, logar e clique em "Create apps"
  3. 3. Explore e crie um aplicativo Android

Criar um aplicativo no App Inventor

Estando logado na ferramenta App Inventor, vai em Project > Start new project

No lado esquerdo encontra-se as paletas de componentes e no lado direito as proriedades de cada componente. No centro o resultado do aplicativo.

Na aba Designer é onde você pode trabalhar seu aplicativo. Onde cria a aparência do aplicativo e especifica os componentes utilizados, tais como botões, imagens, caixas de texto e funcionalidades como sensores e GPS.

Na aba Blocks (blocos) é onde faz a programação do aplicativo. É faz o encaixe de cada bloco como um quebra-cabeça.

Como emular o aplicato criado no App Inventor?

Para emular o aplicativo criado na plataforma no seu smartphone, instale Play Store - MIT AI2 Companion App com a leitura do QR code irá sincronizar.

Caso tenha desenvolvido uma API REST ou conheça uma API pública, é possível fazer a integração na ferramenta App Inventor, informando a URL da API com o endpoint correspondente a funcionalidade do aplicativo.

Referências

https://appinventor.mit.edu/

Feito!

terça-feira, 28 de dezembro de 2021

Conhecendo o TransferNow

O que é TransferNow?

O TransferNow possibilita que você envie ou hospede arquivos volumosos de todos os tipos e tamanhos, em poucos cliques ou simplesmente arrastando e soltando os arquivos na interface. Você e seus destinatários não precisam ter uma conta de usuário para transferir ou fazer download de arquivos com TransferNow.

Acesse https://www.transfernow.net/pt e faça um teste que provavelmente irá surpreender com o serviço do TransferNow.

Feito!

Conhecendo o AirMore

O que é AirMore?

AirMore é um aplicativo para Android e iOS que permite transferir arquivos entre dispositivo e computador sem precisar de cabos USB. Assim pode acessar aplicativos do celular pelo computador e gerenciar os diretórios e arquivos, pelo seu sincronismo.

De forma similar ao AirDroid e Wifi-Transfer-File.

Como utilizar o AirMore?

O primeiro passo é acessar a loja de aplicativos Play Store ou App Store , pesquisar por AirMore e efetuar a instalação. Após instalar o aplicativo AirMore no seu smartphone, irá ter um botão "Leia para conectar" ou "Read to connect" e acessar Web AirMore para visualizar o código QR code de pareamento O próximo passo é fazer o escaneamento do QR code do item anterior para sincronizar o smartphone e computador. Lembra que ambos devem estar na mesma rede Wi-Fi.

Pronto, agora pode transferir arquivos do seu dispositivo para o computador e vice-versa.

Feito!

segunda-feira, 27 de dezembro de 2021

Conhecendo o Wifi Transfer File

O que é Wifi Transfer File?

O Wifi Tranfer File é um aplicativo Android e iOS que permite sincronizar o smartphone e computador, assim transferir arquivos sem precisar do cabo USB, pois utiliza a sua rede Wireless.

Como utilizar?

O primeiro passo é acessar a loga de aplicativos Play Store ou App Store . Após instalar, verifique primeiro que o seu dispositivo está conectado na mesma rede Wireless com o computador, sendo assim conecte e irá exibir o endereço IP com a porta para acessar no browser do computador. Pronto, agora pode transferir arquivos do seu dispositivo para o computador e vice-versa.

Feito!

Conhecendo o AirDroid

O que é AirDroid?

AirDroid é um aplicativo Android que permite o gerenciamento do smartphone ou tablet a partir de um computador, por meio do browser. Não é necessário cabos, pois todo o processo é realizado via rede Wi-Fi.

Como utilizar?

O primeiro passo é acessar o Play Store e pesquisar por AirDroid para instalar. Após instalar, crie uma conta que pode sincronizar com sua conta do Google, Facebook ou Twitter.

Para sincronizar o AirDroid com o smartphone, acesse https://web.airdroid.com/ e faça a leitura do QR code por meio do aplicativo em AirDroid Web. Pronto, feito isso, já pode transferir arquivos do smartphone ou tablet para o computador e vice-versa. Simples assim.

Também permite executar qualquer aplicativo instalado no smartphone ou tablet no computador por meio do sincronismo do AirDroid.

Feito!

domingo, 26 de dezembro de 2021

Configurando PHP 8 com OCI8 no ambiente Docker

O objetivo deste howto é explicar os procedimentos de configuração para subir rapidamente um ambiente com Apache, PHP 8 e Oracle Client no Docker

A premissa é ter o Docker e Docker-Compose instalados, caso ainda não tenha, verifique Instalando Docker e Docker Compose no Linux (qualquer distro) ou Instalando Docker no Windows 10

Segue os procedimentos:

$ mkdir -p $HOME/ambiente-php8-oci8-docker $HOME/ambiente-php8-oci8-docker/src

$ cd $HOME/ambiente-php8-oci8-docker

Criar o arquivo docker-compose.yml com o conteúdo abaixo:

docker-compose.yml


version: "3"
services:
  php5.6-oci8:
   image: slatrach/php8-oci8-apache
   container_name: php8-oci8
   ports:
      - "8000:80"
   volumes:
      - ./src:/var/www/html

OBS: Esteja atento a indentação do arquivo docker-compose.yml para o correto funcionamento na hora que for executar.

O diretório src é o volume do HOST mapeado com o CONTAINER, onde ficará os códigos fontes do projeto.

Executar o build e execução do ambiente na raiz do diretório ambiente-php8-oci8-docker

$ docker-compose up -d

Aguarde e após estiver OK, verifique o status com o comando $ docker ps

Crie um arquivo info.php no diretório src (volume mapeado entre HOST e CONTAINER)

<?php
phpinfo();

No browser acesse http://localhost:8000/info.php>/p>

Verifique se o módulo OCI8 está habilitado no PHP.

Pronto, ambiente PHP 8 com OCI8 configurado rapidamente.

Feito!

sexta-feira, 10 de dezembro de 2021

Treinamento e Certificação Oracle

Uma certificação é um grande diferencial para programadores, engenheiros de software e profissionais de tecnologia em geral. Ela acaba sendo um "selo" de conhecimentos mais aprofundados em determinada tecnologia. Faça treinamentos e as provas para a certificação OFICIAIS gratuitamente, através do Programa de Certificação e Treinamento Gratuito de OCI (Oracle Cloud Infrastructure).

O prazo máximo para realização dos exames vai até o dia 31/12/2021, por isso não deixe para a última hora. Esse é sem dúvida um presente de Natal da Oracle!

Onde fazer a inscrição dos treinamentos e certificados Oracle?

Acesse Oracle Cloud Infraestructure , faça o cadastro e a inscrição do treinamento e posteriormente a certificação.

Feito!

terça-feira, 7 de dezembro de 2021

Configurando PHP 5.6 com OCI8 no ambiente Docker

O objetivo deste howto é explicar os procedimentos de configuração para subir rapidamente um ambiente com Apache, PHP 5.6 e Oracle Client 12 no Docker

Apesar da versão PHP 5.6 ser muito antiga e não ter mais suporte, mas se tratando em sistemas legados que utilizam essa versão, é o meio mais rápido de subir um ambiente PHP 5.6 com OCI8.

A premissa é ter o Docker e Docker-Compose instalados, caso ainda não tenha, verifique Instalando Docker e Docker Compose no Linux (qualquer distro) ou Instalando Docker no Windows 10

Segue os procedimentos:

$ mkdir -p $HOME/ambiente-php5.6-oci8-docker $HOME/ambiente-php5.6-oci8-docker/src

$ cd $HOME/ambiente-php5.6-oci8-docker

Criar o arquivo docker-compose.yml com o conteúdo abaixo:

docker-compose.yml


version: "3"
services:
  php5.6-oci8:
   image: thomasbisignani/docker-apache-php-oracle
   container_name: php5.6-oci8
   ports:
      - "8000:80"
   volumes:
      - ./src:/var/www/html

OBS: Esteja atento a indentação do arquivo docker-compose.yml para o correto funcionamento na hora que for executar.

O diretório src é o volume do HOST mapeado com o CONTAINER, onde ficará os códigos fontes do projeto.

Executar o build e execução do ambiente na raiz do diretório ambiente-php5.6-oci8-docker

$ docker-compose up -d

Aguarde e após estiver OK, verifique o status com o comando $ docker ps

Crie um arquivo info.php no diretório src (volume mapeado entre HOST e CONTAINER)

<?php
phpinfo();

No browser acesse http://localhost:8000/info.php>/p>

Verifique se o módulo OCI8 está habilitado no PHP.

Pronto, ambiente PHP 5.6 com OCI8 configurado rapidamente.

Feito!

segunda-feira, 6 de dezembro de 2021

Configurando o SGBD Oracle 12 no ambiente Docker

O objetivo deste howto é explicar os procedimentos de configuração do SGBD Oracle 12 no ambiente Docker

A premissa é ter o Docker e Docker-Compose instalados, caso ainda não tenha, verifique Instalando Docker e Docker Compose no Linux (qualquer distro) ou Instalando Docker no Windows 10

Segue os procedimentos:

$ mkdir -p $HOME/ambiente-oracle12-docker,$HOME/ambiente-oracle12-docker/oredata

$ docker run --name oracle12_2 -p 1521:1521 -p 5500:5500 -v $HOME/ambiente-oracle12-docker/oradata:/opt/oracle/oradata oracle/database:12.2.0.1-ee

Observe que não foi gerado o password automaticamente, iremos fazer no passo seguinte:

$ docker exec oracle12_2 ./setPassword.sh SecretPassword

Verificar o status do SGBD Oracle em execução:

$ docker ps -a

Agora pode realizar a conexão com algum cliente DB(DBeaver ou SQLDeveloper), informando os dados seguintes:

Connection Name: nome qualquer que identifique
Username: sys
Password: o password que você criou anteriormente
Hostname: localhost ou 127.0.0.1
Port: 1521

Para verificar o log

$ docker logs oracle12_2

Para parar o serviço do container SGBD Oracle 12

$ docker stop oracle12_2

Para iniciar o serviço do container SGBD Oracle 12

$ docker start oracle12_2

Feito!

sábado, 4 de dezembro de 2021

Configurando o SGBD PostgreSQL e Adminer no ambiente Docker

O objetivo deste howto é explicar os procedimentos de configuração do SGBD PostgreSQL com a ferramenta Adminer no ambiente Docker.

A premissa é ter o Docker e Docker-Compose instalados, caso ainda não tenha, verifique Instalando Docker e Docker Composer no Linux (qualquer distro) ou Instalando Docker e Docker Compose no Windows 10

$ mkdir $HOME/ambiente-postgresql-adminer-docker && $HOME/ambiente-postgresql-adminer-docker

$ mkdir $HOME/ambiente-postgresql-adminer-docker/db

O diretório db é o volume mapeado entre HOST e CONTAINER

Se não tiver o volume db ao encerrar, o banco de dados irá para o espaço, na hora que for encerrado, pois o container é volátel.

Crie o arquivo docker-compose.yml no diretório raiz de ambiente-postgresql-adminer-docker, conforme o conteúdo seguinte:

docker-compose.yml


version: "3"
services:
  db:
    image: postgres
    restart: always
    environment:
      POSTGRES_PASSWORD: secret
    volumes:
      - "./db://var/lib/postgresql/data"

  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080

OBS: Esteja atento a indentação do arquivo docker-compose.yml para o correto funcionamento na hora que for executar.

Executar o build e execução do ambiente na raiz do diretório ambiente-postgresql-adminer-docker

OBS: Antes de executar, verifique se as portas 8080 (Adminer) e 5432 (PostgreSQL) estão disponíveis na sua máquina.

$ docker-compose up -d

Aguarde e após estiver OK, verifique o status com o comando $ docker ps

Acesse no browser http://localhost:8080 irá redirecionar para a tela do Adminer, insere as credenciais definidas do SGBD PostgreSQL no docker-compose.yml

Após o acesso, poderá criar o banco de dados e as respectivas tabelas pelo Adminer que irá integrar ao SGBD PostgreSQL.

Feito!

sexta-feira, 3 de dezembro de 2021

Configurando SGBD MySQL e Adminer no ambiente Docker

O objetivo deste howto é explicar os procedimentos de configuração do SGBD MySQL com a ferramenta Adminer no ambiente Docker.

A premissa é ter o Docker e Docker-Compose instalados, caso ainda não tenha, verifique Instalando Docker e Docker Composer no Linux (qualquer distro) ou Instalando Docker e Docker Compose no Windows 10

$ mkdir $HOME/ambiente-mysql-adminer-docker && $HOME/ambiente-mysql-adminer-docker

$ mkdir $HOME/ambiente-mysql-adminer-docker/db

O diretório db é o volume mapeado entre HOST e CONTAINER

Se não tiver o volume db ao encerrar, o banco de dados irá para o espaço, na hora que for encerrado, pois o container é volátel.

Crie o arquivo docker-compose.yml no diretório raiz de ambiente-mysql-adminer-docker, conforme o conteúdo seguinte:

docker-compose.yml


version: "3"
services:
  db:
    image: mysql:8.0
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: secret
    volumes:
      - "./db:/var/lib/mysql"

  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080

OBS: Esteja atento a indentação do arquivo docker-compose.yml para o correto funcionamento na hora que for executar.

Executar o build e execução do ambiente na raiz do diretório ambiente-mysql-adminer-docker

OBS: Antes de executar, verifique se as portas 8080 (Adminer) e 3306 (MySQL) estão disponíveis na sua máquina.

$ docker-compose up -d

Aguarde e após estiver OK, verifique o status com o comando $ docker ps

Acesse no browser http://localhost:8080 irá redirecionar para a tela do Adminer, insere as credenciais definidas do SGBD MySQL no docker-compose.yml

Após o acesso, poderá criar o banco de dados e as respectivas tabelas pelo Adminer que irá integrar ao SGBD MySQL.

Feito!

Configurando ambiente Apache Kafka no Docker

O objetivo desse post é explicar a configuração do Apache Kafka no ambiente Docker.

O Apache Kafka é um serviço de mensageria e o Kafdrop é o projeto web que visualiza informações de brokers Kafka dos tópicos existentes, consumers e mensagens encaminhadas no tópico.

Pré-requisto: Ter o Docker e Docker Compose instalado.

$ mkdir $HOME/ambiente-kafka-docker && cd $HOME/ambiente-kafka-docker

Crie o arquivo docker-compose.yml conforme o conteúdo a seguir:

Segue o conteúdo do arquivo docker-compose.yml para o ambiente Apache Kafka + ZooKeeper + Kafdrop).

O serviço zookeeper é criado com a imagem confluentinc/cp-zookeeper, que é a instância do ZooKeeper.

O serviço Kafka é criado com a imagem confluentinc/cp-kafka, que é a instância do Apache Kafka, utiliza a porta 9092 externo e internamente para o network broker-kafka na porta 29092. Esse container também é uma instância do ZooKeeper em depends_on.

O serviço Kafdrop, container que possibilitará o acessa via browser à interface de gerenciamento do Kafdrop na porta 19000. A variável de ambiente KAFKA_BROKERCONNECT foi configurada para se comunicar com o container kafka (depends_on) internamente na porta 29092.

docker-compose.yml


version: '3'
services:
  zookeeper:
    image: confluentinc/cp-zookeeper:latest
    networks: 
      - broker-kafka
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000

  kafka:
    image: confluentinc/cp-kafka:latest
    networks: 
      - broker-kafka
    depends_on:
      - zookeeper
    ports:
      - 9092:9092
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1

  kafdrop:
    image: obsidiandynamics/kafdrop:latest
    networks: 
      - broker-kafka
    depends_on:
      - kafka
    ports:
      - 19000:9000
    environment:
      KAFKA_BROKERCONNECT: kafka:29092

networks: 
  broker-kafka:
    driver: bridge  

Executar o build na raiz do diretório ambiente-kafka-docker

OBS: Antes de executar, verificar se as portas 9092,290092 e 19000 esteja livres no HOST.

$ docker-compose up -d

Verifique o status se está tudo OK, com o comando $ docker ps

Acesse no browser http://localhost:19000 para visualizar o Kafdrop, gerenciamento gráfico do Kafka.

Feito!

quinta-feira, 2 de dezembro de 2021

Configurando o MongoDB no ambiente Docker

O objetivo deste howto é explicar os procedimentos para instalar o SGBD noSQL (não relacional), MongoDB no ambiente Docker com a aimagem container oficial.

A premissa é ter o Docker e Docker-Compose instalados, caso ainda não tenha, verifique Instalando Docker e Docker-Compose no Linux ou Instalando Docker e Docker-Compose no Windows

$ mkdir $HOME/ambiente-mongodb-docker && cd $HOME/ambiente-mongodb-docker

Crie o arquivo docker-compose.yml, conforme o conteúdo a seguir:

docker-compose.yml


version: "3.2" 
services: 
 mongo: 
    image: mongo 
    restart: always 
    environment: 
      MONGO_INITDB_ROOT_USERNAME: admin 
      MONGO_INITDB_ROOT_PASSWORD: secret 
 mongo-express: 
    image: mongo-express
    restart: always 
    ports: 
      - 8081:8081 
    environment: 
      ME_CONFIG_MONGODB_ADMINUSERNAME: admin 
      ME_CONFIG_MONGODB_ADMINPASSWORD: exemplomongodb 
      ME_CONFIG_MONGODB_URL: mongodb://admin:exemplomongodb@mongo:27017/ 
 

Executar o build na raiz do diretório ambiente-mongodb

OBS: Antes de executar, verificar se as portas 27017 e 8081 estejam livres no HOST.

$ docker-compose up -d

Verifique o status se está tudo OK, com o comando $ docker ps -a

Acesse o Mongo Express http://localhost:8081 pelo browser e conecte com o usuário e password definido no docker-compose.

Feito!

quarta-feira, 1 de dezembro de 2021

Conhecendo o Robo 3T

O que é Robo 3T?

Robo 3T é uma ferramenta gráfica para o MongoDB, que facilita assim gerenciar bancos de dados NoSQL (não relacional).

Instalando o Robo 3T

Pré-requisito: Ter instalado o MongoDB, caso ainda não tenha, verifique aqui

Acesse https://robomongo.org/download e após clicar no botão "Download Robo 3T" que será redirecionado para página correspondente para selecionar o Sistema Operacional (Windows, Linux, macOS) por aba, informe o seu e-mail, nome e clique no botão "Download for [SO conforme a aba escolhida]".

O procedimento de instalação é simples independente do SO, basta extrair, acessar o diretório bin e executar o arquivo robo3t.

Ao abrir, cliquei no botão "Connect", as informações default para o ambiente local são:

Define um nome qualquer, Address: localhost, Port: 27017

Clique no botão "Save".

Com o Robo 3T, pode importar o arquivo implementado em Node.js com as collections.

Feito!