Category Archives: Tecnologia

Cinco pilares IASA

Estratégia de tecnologia do negócio: os arquitetos precisam ter um entendimento básico do negócio; do contrário não conseguirão dar suporte aos objetivos da organização ou aos objetivos dos clientes. Esses conhecimentos compreendem assuntos financeiros, estratégias de inovação de TI e técnicas de validação, assim como conceitos da indústria, tendências, padrões e compliance (aderência a padrões, regulamentos etc.).

Ambiente de TI: os arquitetos devem ter a “capacidade de verificar a solução e a maturidade organizacional em aspectos funcionais e de procedimentos da empresa”. O ambiente de TI envolve a implementação de elementos relacionados ao processo de desenvolvimento, o gerenciamento de projetos, a utilização de plataformas e frameworks, as mudanças e ativos gerenciais, a governança, além dos testes e controle de qualidade. Por exemplo, arquitetos devem estar alinhados com as tendências de mercado, entender os benefícios e limitações de uma determinada tecnologia, e também conhecer metodologias e tecnologias usadas em um determinado ambiente.

Atributos de qualidade: o atributos de qualidade são mapeados pelo IASA em quatro categorias – qualidades que definem aspectos de usabilidade, aspectos de desenvolvimento como mudanças de requisitos, questões operacionais como performance, além de requisitos de segurança. Tais qualidades são tipicamente requisitos transversais, levando a escolhas importantes, baseadas em limitações de tempo, custo, requisitos e recursos. Wilt enfatiza que os atributos de qualidade devem ser medidos e monitorados constantemente. Devem também ser viáveis: um cliente pode estar interessado em “cinco noves” de disponibilidade, mas pode não querer pagar por tal nível.

Projeto: a capacidade de criar um bom projeto arquitetural é a “principal ferramenta de um arquiteto, ao entregar uma estratégia e um produto para o negócio”. Como Wilt enfatiza, o design não se trata apenas da criação de uma arquitetura; inclui a revisão de todo o projeto. Não é só questão de “belos diagramas”, mas sim de “justificações, razões e ponderações”, quando for necessário tomar decisões. Habilidades necessárias nessa área incluem conhecimentos em técnicas e metodologias de design. E, é claro, arquitetos devem conhecer ferramentas e artefatos de design, como patterns, estilos e views. Para fazer as escolhas corretas sobre o design de um projeto, os arquitetos devem sempre alinhar suas decisões aos requisitos do negócio.

Dinâmica interpessoal: a dinâmcia entre pessoas inclui gerenciar e influenciar pessoas em um contexto de um projeto ou ambiente de TI. Wilt explica que há diversas habilidades necessárias nesse contexto. É necessário lidar com a cultura e com a relação com os clientes, além de lidar com os membros da equipe em um projeto. E embora a maioria dos arquitetos não detenha responsabilidades gerenciais, é necessário que possuam habilidades de liderança e gestão. Além disso, habilidades de negociação e colaboração são requisitos essenciais, assim como escrever e bem e ser capaz de realizar apresentações eficazes.

Automation Anywhere – Recorders

Smart Recorder

  • Use Smart Recorder:
    • To record tasks in Internet Explorer 8 and above only.
    • To navigate across controls, it is recommended that you use ‘Click’ action instead of ‘TAB’.

Screen Recorder

Use Screen Recorder to run the automated process (the recorded task) on the same computer on which it was recorded. This ensures that the screen display coordinates are the same as they were when the task was recorded.

Web Recorder

  • Use the Web Recorder when you want to automate the following processes (tasks):
    • Opening web pages
    • Logging into a website
    • Navigating through search
    • Entering data into forms and submitting them
    • Extracting data and updating database records
    • Using a Web-based ERP (Enterprise Resource Planning) system
    • Extracting web data to a local file
    • Testing an online application

Salesforce Integração

Este post apresenta estratégias de integração entre sistemas legados e fornecedores.

Object x Remote Process Invocation

Acompanhando soluções de Salesforce, integrando com sistemas externos, um ponto que me questionam é sobre utilizar o Salesforce como interface de sistemas legados, utilizando integração por APIs.

Remote Process Invocation

O Remote Process Invocation define que os dados não sejam armazenados no Salesforce, sendo integrado através de APIs

Veja mais sobre esse assunto aqui.

Remote Process Invocation - State Tracking Using Lightning
VantagensDesvantagens
Armazenamento em tempo real no Remote System.
Tratamento de Segurança da Informação centralizada no Remote System.
Caso o Remote System esteja offline, o Salesforce também ficará.
Não utilizar Object, toda facilidade de gestão e permissão, que o Salesforce fornece, deve ser implementada no Remote System.

NetBeans no Ubuntu

Este post demonstra a instalação do NetBeans no Ubuntu.

OBS: Tive problemas com o OpenJDK Headless, então sugiro que utilize a instalação normal.

Caso o JDK não esteja instalado

$ sudo apt install openjdk-11-jdk

Baixar ou instalar o NetBeans. Neste exemplo, baixei e descompactei no diretório,

/opt/netbeans-12.3/

Para executar, digite o comando,

$ /hd1/opt/netbeans-12.3/netbeans/bin/netbeans

Informações de Hardware no Ubuntu

Para visualizar informações de hardware do PC e outras informações do sistema no terminal do Ubuntu, você precisa instalar o programa inxi, usando o gerenciador de pacotes, ou abrindo um terminal e executando o seguinte comando:

sudo apt-get install inxi

Em seguida, execute o comando abaixo para obter uma lista de opções de comando:

man inxi

Ou execute o comando abaixo para obter uma saída rápida:

inxi -F

Resultado:

fernando@dell-gamer:~$ inxi -F
System:    Host: dell-gamer Kernel: 5.8.0-50-generic x86_64 bits: 64 Desktop: Gnome 3.36.4 
           Distro: Ubuntu 20.04.2 LTS (Focal Fossa) 
Machine:   Type: Laptop System: Dell product: Inspiron 15 7000 Gaming v: N/A serial: <superuser/root required> 
           Mobo: Dell model: 0P84C9 v: A01 serial: <superuser/root required> UEFI [Legacy]: Dell v: 1.12.1 date: 06/19/2020 
Battery:   ID-1: BAT0 charge: 59.8 Wh condition: 59.8/74.0 Wh (81%) 
CPU:       Topology: Quad Core model: Intel Core i7-7700HQ bits: 64 type: MT MCP L2 cache: 6144 KiB 
           Speed: 3400 MHz min/max: 800/3800 MHz Core speeds (MHz): 1: 3271 2: 2833 3: 2975 4: 3277 5: 2449 6: 3286 7: 2368 
           8: 3368 
Graphics:  Device-1: Intel HD Graphics 630 driver: i915 v: kernel 
           Device-2: NVIDIA GP107M [GeForce GTX 1050 Ti Mobile] driver: nouveau v: kernel 
           Display: x11 server: X.Org 1.20.9 driver: nouveau resolution: 1920x1080~60Hz 
           OpenGL: renderer: Mesa Intel HD Graphics 630 (KBL GT2) v: 4.6 Mesa 20.2.6 
Audio:     Device-1: Intel CM238 HD Audio driver: snd_hda_intel 
           Device-2: NVIDIA GP107GL High Definition Audio driver: snd_hda_intel 
           Sound Server: ALSA v: k5.8.0-50-generic 
Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet driver: r8169 
           IF: enp2s0 state: down mac: 8c:ec:4b:0f:53:ba 
           Device-2: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter driver: ath10k_pci 
           IF: wlp3s0 state: up mac: 2c:6f:c9:65:eb:53 
           Device-3: Qualcomm Atheros type: USB driver: btusb 
Drives:    Local Storage: total: 1.03 TiB used: 143.80 GiB (13.7%) 
           ID-1: /dev/sda vendor: LITE-ON model: CV3-8D128-11 SATA 128GB size: 119.24 GiB 
           ID-2: /dev/sdb vendor: Western Digital model: WD10SPZX-75Z10T0 size: 931.51 GiB 
Partition: ID-1: / size: 116.38 GiB used: 11.57 GiB (9.9%) fs: ext4 dev: /dev/sda5 
Sensors:   System Temperatures: cpu: 70.0 C mobo: 41.0 C sodimm: 42.0 C gpu: nouveau temp: 46 C 
           Fan Speeds (RPM): cpu: 4087 
Info:      Processes: 332 Uptime: 2h 16m Memory: 15.30 GiB used: 6.08 GiB (39.7%) Shell: bash inxi: 3.0.38 

Instalar Python no Linux compilando o código fonte

Para instalar o Python 3.8 no Linux compilando o código fonte, você deve fazer o seguinte:

Passo 1. Abra um terminal;
Passo 2. Instale os pacotes de compilação e bibliotecas de desenvolvimento da sua distribuição usando a central de programa da mesma (procure pelos nomes ou equivalentes listados nos comandos abaixo) . No caso do Ubuntu, Debian e derivado isso pode ser feito com o seguinte comando;

sudo apt-get install build-essential checkinstall
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev

Passo 3. Acesse a pasta opt;

cd /opt

Passo 4. Baixe o código fonte com o comando abaixo;

sudo wget https://www.python.org/ftp/python/3.8.7/Python-3.8.7.tgz

Passo 5. Use o comando a seguir para descompactar o arquivo baixado;

sudo tar xzf Python-3.8.7.tgz

Passo 6. Agora, acesse a pasta criada durante a descompactação;

cd Python-3.8.7

Passo 7. Use o comando abaixo para preparar os arquivos para a compilação;

sudo ./configure --enable-optimizations

Passo 8. Em seguida, compile o programa com esse comando (O make altinstall é usado para impedir a substituição do arquivo binário python padrão /usr/bin/python);

sudo make altinstall

Passo 9. Verifique a versão instalada do python usando o seguinte comando;

python3.8 -V

Passo 10. Após a instalação bem-sucedida, remova o arquivo baixado para economizar espaço em disco;