domingo, julho 03, 2022

To Install Docker on Oracle Linux

Introduction :

The Docker is a operating system virtualization technology allows applications to be packaged as containerized files. This is fundamental to cloud computing, as containerized applications can run on any infrastructure, regardless of the provider.


Installation steps:

Step 1 : check the version of the OS


[root@linuxhelp ~]# cat /etc/os-release 

NAME="Oracle Linux Server"

VERSION="8.4"

ID="ol"

ID_LIKE="fedora"

VARIANT="Server"

VARIANT_ID="server"

VERSION_ID="8.4"

PLATFORM_ID="platform:el8"

PRETTY_NAME="Oracle Linux Server 8.4"

ANSI_COLOR="0;31"

CPE_NAME="cpe:/o:oracle:linux:8:4:server"

HOME_URL="https://linux.oracle.com/"

BUG_REPORT_URL="https://bugzilla.oracle.com/"



Step 2 : Install yum-utils packages by using the below command

[root@linuxhelp ~]# yum install yum-utils

Last metadata expiration check: 1 day, 5:04:54 ago on Wednesday 15 December 2021 02:35:28 AM IST.

Package yum-utils-4.0.21-3.0.1.el8.noarch is already installed.

Dependencies resolved.

Nothing to do.

Complete!


Step 3 : Add Docker Repository by using the below command


[root@linuxhelp ~]#  yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Adding repo from: https://download.docker.com/linux/centos/docker-ce.repo


Step 4 : Install Docker packages by using the below command


[root@linuxhelp ~]# yum install docker-ce docker-ce-cli

Last metadata expiration check: 0:10:54 ago on Thursday 16 December 2021 09:37:34 AM IST.

Dependencies resolved.

============================================================================================================================================

 Package                             Architecture     Version                                             Repository                   Size

============================================================================================================================================

Installing:

 docker-ce                           x86_64           3:20.10.12-3.el8                                    docker-ce-stable             22 M

 docker-ce-cli                       x86_64           1:20.10.12-3.el8                                    docker-ce-stable             30 M

Installing dependencies:

 container-selinux                   noarch           2:2.167.0-1.module+el8.5.0+20416+d687fed7           ol8_appstream                54 k

 containerd.io                       x86_64           1.4.12-3.1.el8                                      docker-ce-stable             28 M

 docker-ce-rootless-extras           x86_64           20.10.12-3.el8                                      docker-ce-stable            4.6 M

 docker-scan-plugin                  x86_64           0.12.0-3.el8                                        docker-ce-stable            3.7 M

 fuse-overlayfs                      x86_64           1.7.1-1.module+el8.5.0+20416+d687fed7               ol8_appstream                72 k

 fuse3                               x86_64           3.2.1-12.0.3.el8                                    ol8_baseos_latest            51 k

 fuse3-libs                          x86_64           3.2.1-12.0.3.el8                                    ol8_baseos_latest            95 k

 libcgroup                           x86_64           0.41-19.el8                                         ol8_baseos_latest            70 k

 libslirp                            x86_64           4.4.0-1.module+el8.5.0+20416+d687fed7               ol8_appstream                70 k

 slirp4netns                         x86_64           1.1.8-1.module+el8.5.0+20416+d687fed7               ol8_appstream                51 k


Transaction Summary

============================================================================================================================================

Install  12 Packages


Total download size: 90 M

Installed size: 377 M

Is this ok [y/N]: y

Downloading Packages:


Step 5 : start the Docker services by using the below command


[root@linuxhelp ~]# systemctl start docker


Step 6 : Enable the Docker service by using the below command


[root@linuxhelp ~]# systemctl enable docker

Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.

Step 7 : check the Docker status by using the below command


 [root@linuxhelp ~]# systemctl status docker

● docker.service - Docker Application Container Engine

   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)

   Active: active (running) since Thu 2021-12-16 09:55:32 IST; 27s ago

     Docs: https://docs.docker.com

 Main PID: 10910 (dockerd)

    Tasks: 7

   Memory: 30.5M

   CGroup: /system.slice/docker.service

           └─10910 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock


Step 8 : Download and Run the Docker image from Online Docker Library


[root@linuxhelp ~]# docker run hello-world

Unable to find image 'hello-world:latest' locally

latest: Pulling from library/hello-world

2db29710123e: Pull complete 

Digest: sha256:cc15c5b292d8525effc0f89cb299f1804f3a725c8d05e158653a563f15e4f685

Status: Downloaded newer image for hello-world:latest


Hello from Docker!

This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:

 1. The Docker client contacted the Docker daemon.

 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.

    (amd64)

 3. The Docker daemon created a new container from that image which runs the

    executable that produces the output you are currently reading.

 4. The Docker daemon streamed that output to the Docker client, which sent it

    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:

 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:

 https://hub.docker.com/

For more examples and ideas, visit:

 https://docs.docker.com/get-started/

 

By this the installation of Docker on Oracle Linux has been completed

Good book to avoid all this mess --> https://amzn.to/3Rb9pUq

terça-feira, junho 14, 2022

Indicação de livro para gerente de projeto

Não dá pra aprender relacionamento de pessoas lendo livros, mas não tem nenhum mau em complementar seu conhecimento com alguns bons livros. 

E eu recomendo dois. 

O primeiro é o lendário “Psychology of Computer Programming” do grande Gerald Weinberg. 

E ele tem vários outros livros interessantes como o “Becoming a Technical Leader”. 

Mas se quiserem só um resuminho, acho que no mínimo todo mundo já deveria ter lido outro livro famoso, o “Peopleware”, do Tom DeMarco. 

Esse eu acho que tá um pouco defasado. Várias coisas que eram novidade nele, valiam pro começo dos anos 2000 e hoje parte já é meio considerado comum, mas continua sendo válido ler. 

Eu vou bater no ponto que a parte mais importante de gerir projetos é entender pessoas, então todo gestor deveria fazer um esforço nessa direção, nem que seja ler alguns livros.


Trecho do imperdível vídeo do Fábio Akita: https://www.youtube.com/watch?v=2tpshOTtleM

terça-feira, maio 10, 2022

10 livros imperdíveis para Product Owners




Livros para Product Owners

1. A Startup Enxuta (Eric Ries) O Lean Startup revolucionou a maneira de construir um negócio, tornando muito mais barato e rápido, através de validação de hipóteses. O autor descreve um plano para que cada um possa executar os princípios fundamentais de Lean Startup em qualquer ambiente. 2. Running Lean (Ash Maurya) Descubra como criar um processo sistêmico para validar rapidamente as novas ideias de produtos e aumentar as suas chances de ter sucesso. 3. How to measure anything (Douglas W. Hubbard) Como medir coisas em seu negócio, que até agora, você considerava como “imensurável”, incluído satisfação do cliente, flexibilidade organizacional, risco e ROI de tecnologia. 4. Value Proposition Design (Osterwalder Alex, Pigneur Yves e Bernarda Greg) Os autores explicam como aproveitar o “Canvas da Proposta de Valor” para desenvolver, testar, lançar e gerenciar os produtos e serviços que se adaptam às necessidades dos clientes. 5. The Lean Product Playbook (Dan Olsen) Um guia passo-a-passo, utilizando princípios do Lean Startup para ajudá-lo a desenvolver o produto certo. 6. Strategize (Roman Pichler) Pichler fornece orientações essenciais para criar estratégias e roadmaps para aumentar suas chances de criar produtos bem sucedidos na era digital. 7. Lean Customer Development (Cindy Alvarez) Evite perder tempo e dinheiro desenvolvendo um produto ou serviço que ninguém precisa, através de entrevistas abertas e técnicas de pesquisas rápidas. 8. Lean Analytics (Alistair Croll e Benjamin Yoskovitz) O maior risco que você pode ter é construir algo que ninguém quer. Neste livro, os autores trazem uma abordagem prática para validar se um problema é real, encontrar os clientes certos e decidir o que construir. 9. Do sonho a realização em 4 passos (Steven G. Blank) O autor escreve passo a passo uma estratégia amplamente testada por empreendedores em diversos países para estruturar vendas, marketing e o desenvolvimento de negócios de um novo produto ou empresa. 10. Scrum – Gestão Ágil para Projetos de Sucesso (Rafael Sabbagh) Rafael Sabbagh descreve diversas práticas de Scrum que podem ajudar as organizações a entregar valor frequentemente para seus clientes, reduzindo desperdício e aumentando a qualidade, visibilidade e produtividade.
Como você pode perceber, esses livros são essenciais para tornar o seu trabalho de gestão de produtos ainda mais estratégico, efetivo e bem-sucedido. São leituras repletas de dicas e insights valiosos, que certamente trarão conhecimentos úteis para o trabalho de Product Owners.

Livro bônus para PO trabalhar com time Home Office --> Effective Remote Work: For Yourself, Your Team, and Your Company

segunda-feira, março 14, 2022

Changing default load balance settings nginx in elastic beanstalk


Scenario

imagine a .net core api hosted on linux that needs to upload files from 6 to 10 Mb (considering the resolution of the cell phone cameras is still very little).

You prepare your beanstalk environment, connect to the instance via terminal and adjust the nginx.conf to support files larger than 10 megs from the client-max-body-size property to the size you see fit.

However, with each new deployment of your API, the nginx settings go back to the initial default, losing its configuration.

The solution is to create a structure within your api project and create a configuration file with just the parameters you need to adjust, the structure should look like this:

-->.ApiProject\.platform\nginx\conf.d\elasticbeanstalk\proxy.conf



Don't forget to configure so that this file is always present in the release:



terça-feira, novembro 23, 2021

NLOG - Archieve - Changing the name of the file to be compressed

In a given scenario I needed to keep the log name, however, when compressing I needed to change the file name. The easiest way to do this is to change NLog.Targets.FileTarget.FileCompressor, remembering that it is a static attribute and will affect all other logs. 1. Create a class with IFileCompresso interface with you logic, in my case I set the name iquals to zip file but .txt at the end. 

using NLog.Targets;
using System.IO;
using System.IO.Compression;

namespace LogManager
{
    internal class MyZipFileCompressor : IFileCompressor
    {        
        internal MyZipFileCompressor () { }

        public void CompressFile(string fileName, string archiveFileName)
        {
           
            string entryName =  Path.GetFileNameWithoutExtension(archiveFileName) +".txt";
            using (var archiveStream = new FileStream(archiveFileName, FileMode.Create))
            using (var archive = new ZipArchive(archiveStream, ZipArchiveMode.Create))
            using (var originalFileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
            {
                var zipArchiveEntry = archive.CreateEntry(entryName);
                using (var destination = zipArchiveEntry.Open())
                {
                    originalFileStream.CopyTo(destination);
                }
            }

        }
    }

}

//when you start your Target juset set your compressor
 _logFileTarget.FileCompressor = new MyZipFileCompressor ();

quarta-feira, maio 12, 2021

Sua reunião vai começar logo mais!
























Aquele barulhinho que sempre te deixa preocupado para terminar o que está fazendo e se preparar para mais "outra" reunião!

segunda-feira, março 29, 2021

Empatia versus Indiferença: Como se conectar com alguém de forma autêntica



 A palavra "empatia" vem da palavra alemã "einfühlung" e significa "sentimento" ou, quando traduzido de forma mais livre, "sentimento nos outros". Examinar a origem dessa palavra é um ótimo ponto de partida para uma discussão sobre como se conectar de forma mais autêntica com outras pessoas e estabelecer relacionamentos mais íntimos. Ter empatia sugere um movimento para longe de si mesmo e em direção aos outros. Refere-se a um traço ou habilidade que requer a compreensão das emoções de outras pessoas ou se colocar no lugar de outra pessoa. Algumas pessoas precisarão fazer mais esforço mental do que outras para serem empáticas. Para aqueles que suspeitam que não têm empatia, a chave para melhorar é cuidar. 
É por isso que a indiferença é o outro lado da moeda da empatia.


O gatilho da infelicidade da indiferença

A indiferença está perto da apatia, a sensação de não estar interessado. Se você é indiferente, você não se importa de qualquer maneira. Uma tendência moderna para o egoísmo, telas e mídias sociais narcisistas exacerbou esse gatilho de infelicidade. Ao ignorar, bloquear, envergonhar ou dispensar pessoas com pontos de vista diferentes dos nossos, diminuímos nossa capacidade de ver as pessoas inteiras e nos conectar com elas. Limitamos o quanto podemos aprender com eles.


Empatia vs. Simpatia

Empatia não deve ser confundida com simpatia, que é semelhante, mas tende a envolver pena de alguém. A empatia não julga. Quer você seja um líder ou esteja procurando melhorar seus relacionamentos pessoais, ser capaz de compreender os outros sem julgamento é útil.


O poder da empatia

Um dos principais benefícios de ser empático é que você terá menos probabilidade de demitir pessoas. Se alguém tem um ponto de vista com o qual você discorda - digamos, você tem um chefe pratica com ênfase o microgerenciamento de todas as suas atividades, e isso o deixa louco - ser empático pode ajudá-lo a vê-lo como uma pessoa completa, com experiências de vida que podem ter moldado seus hábitos. Essa capacidade de ver uma pessoa inteira permite que você se envolva de maneira mais eficaz, de modo que possa ter relacionamentos mais significativos e honestos e uma comunicação clara.

Com empatia, você valoriza as outras pessoas e suas opiniões sem precisar concordar. É uma atitude construtiva e positiva sobre a qual você pode construir acordos, negócios e relacionamentos.

O exercício de agir com inteligência emocional irá melhorar suas principais habilidades empáticas, que são:

• Evitar julgar os outros.

• Buscar as perspectivas dos outros.

• Comunicar o que você entende que os outros estão sentindo.

O aprimoramento de suas habilidades empáticas requer prática. Ninguém acerta todas as vezes. Como outros tipos de educação e treinamento, aprender a ser mais empático exige esforço e leva a recompensas.


Desenvolvendo Empatia

Você não precisa ter tido as mesmas experiências que outra pessoa para ter empatia por ela. Em vez disso, use suas emoções. A maioria das pessoas experimentou alegria, medo, dor, tristeza e desespero. Se pudermos voltar para dentro de nós mesmos até o momento em que sentimos emoções específicas, podemos usar esses sentimentos para compreender melhor os outros e nos conectar com eles. Podemos preencher a lacuna às vezes artificial entre nós e os outros, estando cientes de nossas emoções.


Passos práticos para melhorar a empatia

Falar com estranhos. Adquira o hábito de falar com pessoas que você não conhece. Isso ajudará a expô-lo a novas experiências de vida e pontos de vista menos familiares. As melhores conversas serão com pessoas com quem você normalmente não se associa. Isso tornará a empatia mais desafiadora. Assim como acontece com o exercício de um músculo, sua capacidade de empatia melhorará, mesmo se você não tiver sucesso no início.

Experimente ouvir com empatia. Isso significa sair do caminho e permitir que alguém fale. É um equilíbrio entre ouvir atentamente e responder apenas o suficiente para mostrar que você está interessado e deseja que continuem. O segredo é fazer pequenas perguntas e deixar a outra pessoa se abrir. Se você estiver sendo empático, verá a luz nos olhos da outra pessoa ao receber suas histórias.

Para ouvir verdadeiramente desta forma, você precisa fazê-lo sem preconceitos, noções preconcebidas ou desenvolver opiniões. Se você concordar, discordar, persuadir, debater ou compartilhar suas próprias histórias, não estará mais ouvindo com empatia. Enquanto você escuta, não julgue. Em vez disso, considere como seria ser a outra pessoa. Um mantra para desenvolver empatia poderia ser: "Não se trata de você."

Pratique a humildade. Por ser humilde, você se concentrará no exterior, o que o tornará menos propenso a colorir o que ouve e vê com noções preconcebidas. Você terá a oportunidade de obter uma imagem precisa do que está acontecendo porque está totalmente engajado com a outra pessoa.

Seja honesto. Se você descobrir que não consegue compreender o que outra pessoa está sentindo, não há problema em dizer isso. É melhor dizer que você não consegue entender o que eles estão sentindo do que fingir ou oferecer um chavão.

A menos que haja um problema psiquiátrico ou doença envolvida, empatia e indiferença são escolhas. A indiferença é a escolha que limita. Fecha as portas que a vida tenta abrir. Não se importar pode proteger as pessoas de uma dor potencial, mas também as afasta de oportunidades. O desenvolvimento pessoal requer investimento emocional no processo e em outros.

Recorra à empatia como uma força positiva e poderosa. A empatia ajuda as pessoas a se sentirem compreendidas, o que é uma necessidade humana básica, permitindo que nos conectemos sem julgamento. Isso cria um ciclo de feedback positivo que transformará sua vida. Por sua vez, também pode transformar a vida de seus colegas, amigos e familiares. 


Tradução livre da matéria da Forbes https://www.forbes.com/sites/forbescoachescouncil/2021/03/16/empathy-vs-indifference-how-to-attract-opportunities-and-connect-with-others-authentically/?sh=258e12f8723d