Qconn

Tutorials

Tutoriais: Aprendizado sofisticado com a qualidade QCon

Os Tutoriais são sessões aprofundadas com duração entre 3 e 4 horas. Têm enfoque prático e participação de profissionais experientes e respeitados, inclusive internacionais. Os tutoriais acontecem no dia 9 de abril, no WTC Events Center, em quatro salas simultâneas, e são elemento tradicional e muito popular nos principais QCons mundiais. Geralmente lotam bem antes do final das inscrições. Não perca essa oportunidade sofisticada de aprendizado com grandes especialistas do mercado. Confira abaixo os tutoriais confirmados até agora.

Day: Quarta
By: Rob Witoff [Full Day]

In this hands-on tutorial, you’ll learn and apply the tools and techniques that Data Scientists use to explore big data for new information. Starting small, we’ll use Nutch to collect data from the internet. We’ll then use Cloud Computing and Hadoop to start analyzing 100+ Terabytes of this data from the Common Crawl Corpus, iterating through progressively smarter analysis.
 
In the second half of the day we’ll discuss what it means to be a Data Scientist. You’ll learn to apply the iPython stack to develop new analytical techniques including unstructured text sentiment analysis. We’ll discuss the importance of visualization and apply techniques to let our data speak for itself with tools like D3. We’ll conclude with methods for applying our days work onto any sized dataset.
 
Throughout the day, we’ll use Amazon’s Cloud infrastructure including Elastic Map Reduce, EC2 and S3. Attendees should come with a computer, Amazon Web Services account and a working ability with Python.
 
Morning Agenda

  • Big Data Discussion
  • Internet Data and Nutch
  • Common Crawl Corpus
  • The Hadoop Stack
  • Processing with Hadoop

 
Afternoon Agenda

  • Data Science Discussion
  • iPython
  • Sentiment Analysis
  • Data Visualization
  • Integrating what we’ve learned
Day: Quarta
By: Luis Felipe Cipriani [Half Day]

A plataforma do Twitter permite que qualquer desenvolvedor tenha acesso aos 500 milhões de tweets criados todos os dias pelos seus usuários. As aplicações que consomem esse fluxo de dados podem extrair opiniões, analisar sentimentos, identificar eventos tudo em tempo real.


Neste tutorial, aprenderemos como construir uma aplicação que consome a API de Streaming para construir um sistema de votação para avaliar as impressões dos participantes de um evento, qual é a arquitetura ideal para consumir esse fluxo de dados contínuo, como consolidar a informação e como propagar informação em tempo real para uma página web. O que construirmos aqui será utilizado durante o QConSP.

Day: Quarta

Há anos é notório para nós desenvolvedores que não realizar certas práticas como TDD e integração contínua tem impacto direto sobre a qualidade do software que desenvolvemos. Ainda assim por muito tempo as empresas mantiveram essas práticas à margem de seu processo. Contudo, esse panorama mudou.

 

Mais e mais empresas passam a incentivar e estimular a criação de ambientes ágeis, onde seja possível entregar software com rapidez, qualidade, controle e baixo risco. A técnica de Continuous Delivery e toda a variedade de disciplinas e práticas por trás disso estão no centro da execução desses princípios e da mudança cultural necessária para otimizar os processos de desenvolvimento de software.

 

Neste tutorial vamos aliar teoria e prática para mostrar como é possível e rápido montar sua linha de produção contínua de software, levando em conta testes, feedback rápido, versionamento, geração de pacotes, promoção de código entre ambientes e deploy em produção, inclusive com técnicas de entrega gradual, como canary releasing. Utilizando ferramentas como Jenkins, Git, Maven e Chef você vai nos ajudar a definir os rumos deste tutorial e aplicar as mudanças ao vivo em a uma aplicação Java, acompanhar todo o ciclo e ver a mudança ir para produção.

Day: Quarta
By: Edward Ribeiro [Half Day]

Este tutorial faz um panorama sobre os principais bancos de dados NoSQL, com enfoque prático. São apresentados conceitos e exemplos em código, sem deixar de focar nos aspectos teóricos fundamentais, e nas escolhas arquiteturais de cada um dos paradigmas seguidos pelos bancos apresentados. São abordadas melhores práticas, escolhas e padrões para modelagem de dados em NoSQL. Alguns dos tópicos cobertos no tutorial serão:
 

  • Arquiteturas e exemplos acerca do Cassandra, Redis, ElasticSearch, Riak, MongoDB, e Neo4J;
  • Hashing consistente, modelos de consistência e eventual consistency;
  • Virtual nodes e arquiteturas em cluster;
  • APIs e drivers disponíveis;
  • Anti-patterns e melhores práticas para modelagem de dados nos paradigmas de bancos NoSQL abordados.
Day: Quarta
By: Eder Ignatowicz [Half Day]

Conheça nesse tutorial como criar APIs web, com ênfase no estilo arquitetural REST. Veja também tópicos relacionados, como HATEOAS, formatos de mensagens, caching, versionamento e workflows de hypermedia.


Alguns dos tópicos abordados:

  • Características de uma boa API;
  • Como classificar APIs RESTful com base no modelo Richardson de maturidade;
  • Como construir uma verdadeira API RESTful;
  • Como (e quando) utilizar a Hypermedia (HATEOAS) para aumentar a flexibilidade, escalabilidade e interoperabilidade da minhas APIs;
  • Como se beneficiar da infraestrutura provida pelo HTTP.


O tutorial será composto de um equilíbrio entre ferramental teórico e aplicação prática, e os participantes sairão com conhecimentos concretos para construir e classificar suas próprias APIs Web RESTful.

Day: Quarta
By: Mario Fusco [Half Day]

Lambda expressions are for sure the most important new feature in Java 8 and very likely the biggest change to the language since Java appeared on the IT scene almost 20 years ago. In fact they are not just a new feature. They imply a paradigm shift toward a more functional style of programming. For this reason Java developers not only have to learn the mechanics of the new lambda expressions, but most importantly, the need to understand how to use them effectively.

 

The tutorial will start explaining the syntax of lambda expressions together with the rationale that drove their introduction in Java. After this we will discover the most important functional patterns enabled by lambdas, using many practical examples developed in a live-coding session. Finally we also explore principles of functional programming and their advantages over object-oriented programming, especially when developing highly parallel applications.

Day: Quarta
By: Plinio Balduíno [Half Day]

Nos últimos anos as linguagens funcionais vêm recebendo atenção crescente, devido em parte à necessidade de se criar aplicações concorrentes rápidas e de forma produtiva. A linguagem Clojure foi criada para ajudar a resolver esse problema, unindo o poder e a flexibilidade do LISP com a robustez e a maturidade da Máquina Virtual Java.

 

Neste tutorial veremos fundamentos da programação funcional e dar os primeiros passos (e além) em Clojure, desde configurar o ambiente de desenvolvimento e montar um workflow de modo produtivo com o REPL, até criar uma primeira aplicação – e ao final desenvolver um servidor multithreaded com conexão remota a banco de dados.