Minha Jornada em ser proficiente em JavaScript e Python.

Sempre trabalhei mais com produtos de mercado do que com desenvolvimento, mas sempre procurei conhecer as linguagens utilizadas neste produtos, com o objetivo de solucionar problemas, melhorar integrações e automatizar tarefas.

A algum tempo, tenho investido bastante do meu tempo em JavaScript e Python. Alguns  motivos para isso são:

  • Os principais fornecedores de Cloud (Amazon AWS, Microsoft Azzure, Google Cloud, IBM Bluemix, …) tem serviços baseados nestas linguagens;
  • Produtos como IBM Connections, estão deixando a plataforma Java/IHS/WAS/DB2 e migrando para Javascript/Nginx/Node.JS/MongoDB.
  • Soluções em Analytics e Big Data de mãos dadas com Python.
Três Homens em Conflito ou O Bom, O Mau e o Feio!!!
O Bom O Mau O Feio
JavaScript
  • JavaScript me faz lembrar da aulas de Programação Funcional!!! Idêntico as recursões da linguagem Scheme.
  • JavaScript é uma escolha natural para quem usa APIs baseadas em Json.
  • JavaScript/Node.JS/MongoDB é uma combinação muito poderosa, onde tratamos objetos de apenas uma maneira, isto é, no formato Json.
  • Assincrônia. Saiba o que são funções “blockantes”, para evitar sustos nos resultados do seu código.
  • Fuja dos Callbacks Hells!
Python
  • Python me faz lembrar das aulas de Pascal da faculdade! Uma linguagem simples e sem burocracia. Programar procedural ou orientado à objeto, fica a escolha do programador.
  • Python é um “trator” no que se fala em tratamento de dados.
  • Python 2.7 e Python 3.x gera confusão de qual devo usar.
  • Uso de Json através de bibliotecas.
  • Alguns artigos que li sobre o Python 3, questionam sobre os problemas de performance devido ao novo I/O stack e o suporte a Unicode.

Em ambos as linguagens, tenha noção de:

  • “Para prego use Martelo, para parafuso use Chave de Fenda”, saiba quando utilizar uma linguagem ou outra.
  • Escolha um bom editor, como sugestão Atom, Sublime e Visual Studio Code.
  • Bibliotecas são instaladas com facilidade usando npm/JavaScript ou pip/Python.
  • Aprenda a fazer chamadas via Rest para APIs estamos na era da Economia das APIs.
  • Você precisa utilizar dados JDBC, SAP, Aplicações Legadas, etc. Crie APIs em Java Servlets, e utilize dentro do Javascript e Python usando Rest/HTTP, com isso você reduz a necessidade de instalação de novas bibliotecas.

Nunca deixe de aprender coisas novas e pratique, pratique, pratique.

Leia também:

Um mundo cheio de Bots!

Hoje vou falar como os bots estão invadindo o nosso mundo.

Meu primeiro contato com bots foi em 2007, quando construí um bot  (veja aqui) para o IBM Sametime, que traduzia textos usando o Google Translator!!! Elas andaram meio sumidos, mas estão de volta com força total.

Mas o que são bots?

O termo bots vem de acrônimo para (ro)Bots, e de maneira simplificada são usuários digitais dentro de aplicações de chat como o Facebook Messenger, WhatsApp, Slack, … Estes “usuários” trazem notícias, produtos e/ou serviços dentro destas aplicações como se fossem uma conversa.

Como alguns exemplos de bots temos:

– Alexa: bot de voz da Amazon
– Amy: bot via email da x.ai
– Lyft: bot que informa o tempo de chegada estimado a algum lugar.
– Hipmunk: bot que faz reserva de viagens

Num mundo cheio de páginas Web e Mobile Apps, por que expor serviços via conversa?

1) Acessamos a Internet mais via celular do que via navegadores. O que fez com que o mercado ficasse saturado de aplicações móveis. Você, como usuário, não vai instalar todas as aplicações que encontra, correndo o risco de deixar o seu celular lento. E caso for utilizar um serviço, não vai instalar, usar uma vez e desinstalar.
Se você verificar teu celular, verá que terá pelo menos 3 aplicações de mensagens, no meu caso: SMS, email, Facebook Messenger, WhatsApp,…

2) Usuários passam a maior parte do tempo de uso de um celular, utilizando aplicações de chat.

3) Plataformas de chat já expõe esses serviços, Slack em 2015, Facebook, Apple e Skype em 2016.

4) As tecnologias de reconhecimento de linguagem natural expostos via APIs.

A adoção de Bots está apenas começando, e vale a pena acompanhar a sua
evolução.

Leia também:

Conhecendo o ELK stack

O ELK Stack consiste da união das ferramentas Elasticsearch, Logstash e Kibana.

Juntas, estas ferramentas tem capacidade para tratar grandes quantidades de dados em tempo real, organizar os dados e prover a visualização através de gráfico, tabelas, etc. É uma ótima opção para iniciar em Big Data. O ELK Stack é utilizado por empresas de renome como LinkedIn, GitHub e Twitter.

Componentes do ELK Stack:

  • Elasticsearch
    Ferramenta que faz a indexação dos dados e consulta a estes índices e dados, provendo real-time analytics. Possui outras características como Escalabilidade,
    Alta-disponibilidade, multi-tenant. Full text search.
  • Logstash
    É a ferramenta que faz captura das informações em arquivos (csv, logs, …), processa e gera o output para o Elasticsearch ou outro formato de dados.
  • Kibana
    É um dashboard Web para trabalhar os dados coletados. Suas principais características são pesquisa e visualização através gráfico de torta,
    gráfico de barras, trendlines, mapas, etc.

Estas ferramentas trabalham muito bem juntas, mas cada uma destas ferramentas tem o seu próprio projeto, e são desenvolvidas de forma independente.
As ferramentas tem o código fonte aberto (open-source), mas tem o suporte pago através da empresa Elastic.

Algumas empresas que estão utilizando o ELK:

Para conhecer um pouco do ELK, existe uma demo muito bem montada do dashboard Kibana, a qual
mostra vários aspectos da ferramenta e sua capacidade de utilização no Negócio ou na area de TI.
A demo está disponível no endereço http://demo.elastic.co .

Leia também:

Por que a Apple tornou a linguagem Swift Open Source?

Linguagem de programação Swift Apple é agora open source!!!

Swift mexeu com o mundo de desenvolvimento de software, porque é muito fácil de aprender, poderosa e que ajuda os programadores a escrever aplicativos para iOS, OSX e watchOS.

Mas até o momento ela estava atrelada ao desenvolvimento para dispositivos móveis. Ao se tornar Open Source, ela se torna mais atraente para os desenvolvedores corporativos, porque agora podem usá-lo para escrever o código para aplicativos corporativos, podendo ser executado no servidor ou na nuvem.

Este movimento faz a Apple para se aprofundar no mercado corporativo. Onde as atenções se dividem principalmente entre Microsoft (C++ ou .net) ou pela Oracle (Java e suas muitas ramificações).

Leia também:

Artigos que você deve conhecer sobre o Métricas do IBM Connections

A partir da versão 4 do IBM Connections  foi introduzido um novo aplicativo o “Métricas”,

Com o Métricas, você pode verificar como está o uso das aplicações do IBM Connections, retirar relatórios gerenciais. Enfim fazendo um melhor uso possível da solução.

Mas que você tenha informações relevantes para o Gestor de TI é preciso que popule os dados dos perfis com os campos necessários para que estes relatórios.

Minha sugestão de leitura são estes 2 artigos:

Boa leitura

Leia também:

  • Sem textos relacionados

Dica de formatação ao enviar Emails com HTML e CSS

Se você estiver enviando um email da sua aplicação que utiliza HTML e CSS, pode acontecer erros na formatação, quando você abrir este email no seu cliente de Correio.

A dica deste post é adicionar tags de comentários, em frente a cada linha de CSS, assim o email não perde a formatação.

Seleção_040

Leia também:

Desafios da análise de texto sobre Mídias Sociais

lima

Estava assistindo um apresentação da analise de texto sobre mídias sociais. Achei interessante os desafios as quais as ferramentas de Smart Analytics passam.

O objetivo destas ferramentas eh extrair informações que os usuários  escrevem em website, blogs, redes sociais; então agregar essa informação gerando estatísticas e relatórios para analise.

Dentre alguns tipos de informações podemos incluir:

  • Sentimentos: usuários escrevem positivamente ou negativamente sobre um produto ou serviço;
  • Demográficos: sexo, idade, status familiar, região, pais;
  • Comportamento: se o autor esta recomendando ou advertindo sobre um produto e se este autor é vendedor ou comprador;

Para agregar os dados existem abordagens baseados em Regras ou Aprendizado de Máquinas.  Ambas as abordagens tem seus prós e contras, mas não vou explicar elas aqui, pois quero falar dos desafios.

Abaixo descrevo alguns exemplos de desafios enfrentados:

  • Detectar termos positivos e negativos 
    • Sua decoração natalina ficou um doce, parabéns!
  • Remover termos que são cobertas por bloqueadores sentimento
    • Amor essa roupa me deixa gorda
    • Essa roupa não está a sua altura
  • Aplicar regras de sintaxe para determinar negação, desejos, perguntas …
    • Será que essa roupa está boa?
    •  “problema” ou “problema resolvido
    • “Eles são bons” ou “Eles são bons?”

E para finalizar este artigo.

  • Múltiplos significados
    • A palavra Lima pode ser fruta,  ferramenta,  cidade,  pessoa?

 

Leia também: