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;

As 8 melhores bibliotecas Python para Machine Learning

O que é machine learning?

O machine learning (ML), ou aprendizado de máquina, é o estudo de algoritmos de computador que melhoram automaticamente com a experiência. É visto como parte da inteligência artificial.

É o campo com maior intensidade de algoritmo na ciência da computação. Já se foi o tempo em que as pessoas tinham que codificar todos os algoritmos paramachine learning. Graças ao Python e suas bibliotecas, módulos e estruturas, agora é mais eficaz e fácil.

Algumas das melhores bibliotecas Python para machine learning em 2021

Bem, Python cresceu e se tornou a linguagem preferida para algoritmos de machine learning. Vamos dar uma olhada nas principais bibliotecas Python usadas para isto.

ML / DL envolve muitos cálculos matemáticos e operações, especialmente Matrix. Para tornar mais fácil e menos demorado, são usadas bibliotecas Python para machine learning.

De acordo com o relatório, NumPy, Pandas e Matplotlib são as bibliotecas Python preferidas para machine learning.

Imagem Ilustrativa

Agora, vamos verificar algumas das melhores bibliotecas Python para machine learning em 2021.

1- Numpy

NumPy ou Numerical Python é álgebra linear desenvolvida em Python. Um grande número de desenvolvedores e especialistas prefere isso a outras bibliotecas Python paramachine learning. Porque quase todos os pacotes de machine learning Python, como scipy, Mat-plotlib, Scikit-learn, etc, dependem fortemente dessa biblioteca em uma extensão razoável.

Além disso, ele vem com funções para lidar com operações matemáticas complexas como transformação de Fourier, álgebra linear, número aleatório e recursos que funcionam com matrizes e n-arrays em Python. Além disso, este pacote python executa cálculos científicos. Portanto, é amplamente utilizado no tratamento de ondas sonoras, imagens e outras funções binárias.

Características:
Objeto de matriz N-dimensional de alto desempenho
Interativo
Recipiente multidimensional para dados genéricos
Intuitivo
Informação adicional

2- TensorFlow

TensorFlow é uma biblioteca de machine learning Python de ponta a ponta para realizar cálculos numéricos de ponta. É uma das bibliotecas Python mais recomendadas para aprendizado de máquina. Ele pode lidar com redes neurais profundas para PNL (Processamento de Linguagem Natural), redes neurais recorrentes, reconhecimento de imagem, incorporação de palavras, classificação de dígitos manuscritos e PDE (Equação Diferencial Parcial). O TensorFlow Python garante excelente suporte de arquitetura para permitir implantações de computação fáceis em uma ampla gama de plataformas, incluindo desktops, servidores e dispositivos móveis.

Um dos principais benefícios do TensorFlow é a abstração para projetos de machine learning e IA. Esse recurso permite que os desenvolvedores se concentrem na lógica abrangente do aplicativo em vez de lidar com os detalhes mundanos da implementação de algoritmos. Além disso, com esta biblioteca, os desenvolvedores de Python agora podem aproveitar IA e ML sem esforço para criar aplicativos responsivos exclusivos, que respondem às entradas do usuário, como expressão facial ou de voz.

Características:
Ele é otimizado para velocidade e faz uso de técnicas como o XLA para operações rápidas de álgebra linear.
Construto Responsivo
Flexível
Facilmente treinável
Treinamento de rede neural paralela
Grande Comunidade
Código aberto

3- Pytorch

Você já pensou por que o PyTorch se tornou uma das bibliotecas Python populares para machine learning em tão pouco tempo?

PyTorch é uma biblioteca de machine learning Python pronta para produção com excelentes exemplos, aplicativos e casos de uso suportados por uma forte comunidade. Esta biblioteca absorve forte aceleração da GPU e permite que você a aplique a partir de aplicativos como o NLP. Como ele suporta computação de GPU e CPU, ele fornece otimização de desempenho e treinamento distribuído escalonável em pesquisa e produção.

Redes neurais profundas e computação de tensor com aceleração de GPU são os dois recursos de ponta do PyTorch. Ele inclui um compilador de machine learning chamado Glow, que aumenta o desempenho de estruturas deste processo.

Características:
Front-end híbrido
Treinamento Distribuído
Python First
Bibliotecas e ferramentas

4- Pandas

Em projetos de machine learning, uma quantidade substancial de tempo é gasta na preparação dos dados, bem como na análise de tendências e padrões básicos. É aqui que o Python Pandas atrai a atenção dos especialistas em machine learning. Python Pandas é uma biblioteca de código aberto que vem com uma ampla gama de ferramentas para manipulação e análise de dados. Com a ajuda dessa biblioteca, você pode ler dados de uma ampla variedade de fontes, como bancos de dados SQL, CSV, arquivos JSON e Excel.

Ele permite que você gerencie operações de dados complexas com apenas um ou dois comandos. Além disso, Python Pandas vem com vários métodos embutidos para combinar dados e agrupar e filtrar a funcionalidade de série temporal. No geral, o Pandas não se limita apenas a lidar com tarefas relacionadas a dados; também serve como o melhor ponto de partida para criar ferramentas de dados mais focadas e poderosas.

Características:
Objeto DataFrame rápido e eficiente com indexação padrão e customizada.
Ferramentas para carregar dados em objetos de dados na memória de diferentes formatos de arquivo.
Alinhamento de dados e tratamento integrado de dados ausentes.
Remodelagem e dinamização de conjuntos de dados.

5- Matplotlib

Como o nome sugere, Matplotlib oferece uma interface semelhante ao MATLAB e fornece aos usuários uma excelente experiência de usuário. Ele usa kits de ferramentas GUI padrão como Qt, wxPython, GTK + ou Tkinter para fornecer aos programadores uma API orientada a objetos para incorporar gráficos e plotagens em seus aplicativos.

Matplotlib ajuda a produzir gráficos e figuras 2D de alta qualidade em vários formatos. Os tipos de gráficos e gráficos incluem gráficos de erros, gráficos, histogramas, gráficos de dispersão e gráficos de barras com o mínimo de linhas de código.

Características:
Renderização de texto mais rápida
Mapa de cores qualitativo
Suporte de imagem aprimorado
Melhor escolha de texto de deslocamento

6- Scipy

SciPy é uma das bibliotecas Python populares para machine learning. Tem sido uma biblioteca favorita entre os entusiastas do machine learning, pois contém diferentes módulos para integração, otimização, álgebra linear e estatística. Há uma diferença entre a biblioteca SciPy e a pilha SciPy. O SciPy é um dos pacotes principais que compõem a pilha do SciPy. Além disso, SciPy também é muito útil para a manipulação de imagens.

Características:
Lida facilmente com operações matemáticas.
Oferece rotinas numéricas eficientes, como integração e otimização numérica, usando submódulos.
Suporta processamento de sinal.

7- Keras

Keras é uma das melhores bibliotecas Python para machine learning. Se você for um iniciante em machine learning, sugiro que use Keras. Além disso, fornece uma maneira mais fácil de expressar redes neurais. Além disso, ele também fornece alguns dos utilitários para compilar modelos, processar conjuntos de dados, avaliar resultados, visualizar gráficos e muito mais.

Keras usa internamente Tensorflow ou Theano como backend. Algumas outras estruturas de rede neural populares como CNTK também podem ser usadas. Keras é lento quando comparado a outras bibliotecas porque constrói um gráfico computacional usando a infraestrutura de back-end e depois o usa para realizar operações. Além disso, Keras fornece muitos conjuntos de dados pré-processados ​​e modelos pré-treinados como Inception, SqueezeNet, Mnist, VGG, ResNet, etc.

Características:
Ele funciona perfeitamente na CPU e GPU.
Conjuntos de dados pré-etiquetados
Vários métodos para pré-processamento de dados
Avaliação de modelo
Modularidade

8- Theano

Em essência, Theano é uma conhecida biblioteca de computação científica que permite definir, otimizar e avaliar expressões matemáticas que lidam com matrizes multidimensionais. O fundamento de vários aplicativos de ML e IA é o cálculo repetitivo de uma expressão matemática complicada.

Theano permite que você faça cálculos com muitos dados mais rápido do que executando somente em sua CPU. Além disso, é bem otimizado para GPUs, o que oferece diferenciação simbólica eficaz e inclui recursos de teste de código extensos.

Quando se trata de desempenho superior, Theano é uma ótima biblioteca de machine learning Python, pois inclui a capacidade de lidar com cálculos em grandes redes neurais. Tem como objetivo aumentar o tempo de desenvolvimento e o tempo de execução de aplicativos de ML, principalmente em algoritmos de aprendizado profundo. Apenas uma desvantagem do Theano na frente do TensorFlow é que sua sintaxe é bastante difícil para iniciantes.

Características:
Integração total com NumPy
Uso transparente de uma GPU
Diferenciação simbólica eficiente
Otimizações de velocidade e estabilidade
Geração de código C dinâmico
Teste de unidade extensivo e autoverificação

Conclusão

O ecossistema python é enorme, tanto em termos de contribuição quanto de uso. Discutimos as bibliotecas Python para machine learning usadas em todas as principais áreas do ML, desde o estágio de manipulação de dados ao aprendizado profundo, processamento de linguagem natural e até mesmo visualização.