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:

Migre o seu Domino do AIX/Windows para o Linux

Trabalhei com o IBM Domino em diversas plataformas (AIX/Windows/Linux/zLinux). Em todas o Domino tinham ótima performance e um uptime muito alto.

Mas quais seriam os motivos pra recomendar isso?

Vendo a apresentação “Notes Domino 2016 Roadmap.pptx”, a mesma apresentava como plataformas estratégicas para o Domino o Microsoft Windows Server e RedHat Enterprise Linux (RHEL).

Além dessa questão de estratégia, vejo outros motivos para migrar de AIX/Windows para Linux:

  • Ferramentas DevOps, como shell e puppet, padronizam o ambiente Domino, melhorando a performance, uptime e reduzindo o TCO.
  • SmartCloud usa esta plataforma.
  • Verse On-Premises para Linux, já está disponível para essa plataforma desde Janeiro/2017
  • Traveler na mesma plataforma
  • IBM mail support for Microsoft Outlook (IMSMO) na mesma plataforma
  • Flexibilidade entre a quantidade de Domino Partitions (DPAR) por VM, isto é, melhor uso de recursos ou maior isolamento. Uma DPAR é semelhante a uma instância Oracle,Melhorar o isolamento.

Apesar de atualmente não ser suportado, vejo como futuro o uso de containers Docker para execução do Domino ao invés de Virtual Machines (VM). Sobre Domino em Docker, sugiro dar uma olhada nessa apresentação feita  Matteo Bisi and Daniele Vistalii, e ver o artigo How to Run IBM Domino Server in Docker Container.

Leia também:

Usando as APIs dos produtos IBM Social

Abaixo veja os links de APIs dos produtos da IBM Social

IBM Watson Work Services

IBM Connections

IBM Domino

IBM Traveler

IBM Sametime

IBM Docs

  • IBM Docs JavaScript API
    In order to integrate IBM Docs with third-party systems, a solution has been implemented to enable browser-side integration by releasing one IBM Docs JavaScript SDK and making some public JavaScript APIs available.
  • REST APIs
    IBM Docs provides REST APIs, allowing developers to create third-party applications that integrate editing and viewing capabilities.

Leia também:

Como começar a utilizar o IBM Watson

Imagine que você desenvolveu uma aplicação que de sugestões de livros, onde os usuários interagem através de uma bate-papo(chat) com o seu aplicativo. Tenho certeza que você imaginou o potencial de uma solução como essa!

Essa interação usando linguagem natural é um exemplo de função cognitiva. Para usá-la em qualquer aplicação basta apenas utilizar as APIs (Application Program Interface) que o IBM Watson disponibiliza publicamente nas nuvem do IBM Bluemix.

Para auxiliar aqueles que desejam experimentar o IBM Watson e o IBM Bluemix, vou listar abaixo alguns recursos:

Visão Geral Iniciando com o Watson Developer Cloud e o Bluemix Criando uma conta no Bluemix.

Navegue pelos Serviços do Watson e comece a utilizar.

http://www.ibm.com/watson/developercloud/doc/getting_started/

Colocando a mão na massa Application starter kits Explore aplicativos de exemplos que utilizam os serviços do Watson

https://www.ibm.com/watson/developercloud/starter-kits.html

 

Watson Developer Conference Labs Laboratórios que auxiliam a descobrir como utilizar os serviços do Watson e integrar com serviços de terceiros.

http://watson-labs.mybluemix.net/

Onde aprender mais … IBM Watson Academy Treinamentos para começar com o Watson, Bluemix, Watson Developer Cloud, Watson Cognitive Services e Watson Natural Language Classifier.

https://www.watson-academy.info/course/index.php?categoryid=25

 

Cursos e Laboratórios Mais cursos online

https://www.ibm.com/us-en/marketplace/learning-lab/courses

 

Laboratórios de Casos de Uso Navegue por casos de uso e exemplos https://www.ibm.com/us-en/marketplace/learning-lab/use-cases

Leia também:

O que é Watson Workspace? O que é Watson Work Services?

Vou dar duas respostas simples para as duas perguntas acima:

  • Watson Workspace é um aplicativo para desktop (Browser), Android e iOS; que permite uma experiência de colaboração entre equipes para que as coisas aconteçam “Get Work Done”. Algumas características:
    • Conversação persistente entre membros de equipe
    • Receba recomendações do Watson
    • Quer testar? Acesse workspace.ibm.com

 

  • Watson Work Services é  uma plataforma. Um coleção de serviços cognitivos e colaborativos acessíveis através de APIs, que pode ser utilizado para construir novos aplicativos, ou melhorar aplicativos existentes. Mais detalhes em https://developer.watsonwork.ibm.com

Leia também: