39th Monthly Technical Session (MTS) Report

39th Monthly Technical Session (MTS) was held on October 20th, 2017. MTS is a knowledge sharing event, in which HDE members present some topics and have QA sessions, both in English.

The moderator of the 39th MTS was Jonas-san.


The first topic was "How to use CMC Webhook" by Arakawa-san. Customers Mail Cloud (CMC) is a cloud-based email infrastructure that is scalable, reliable and easy to implement. To distribute mails massively and securely, CMC provides various features such as SMTP / API integration, mail distribution for mobile, DKIM / TLS encryption, delivery report, error analysis, webhook integration and so on.

This time Arakawa-san introduced CMC webhook integration for Bounce Email Handling. He emphasized the advantage of webhook API and showed us a demonstration with Zapier and Slack. With this integration, we can instantly know email statuses.


The second topic was "A Real-time Environmental Monitoring and Analysis For a Simplified Smart Agriculture System" by Denis-san who is one of guest speakers. Currently, he studies at Tokyo University of Agriculture and his study is monitoring Tomato growth with wireless sensor efficiently.

Growing Degree Days (GDD) is very important to control quality of farm products. GDD are typically used to monitor crop development, the assumption being that development is limited once the temperatures exceed a certain threshold. Since it is not enough to have only a wireless sensor dashboard, he implemented sensor data analytics system using pandas and numpy to combine cumulative GDD into one plot with Bokeh. Now the farmer can see daily activity of Tomato and think how to control its quality with his implementation.


The third topic was "Go Concurrency in 10 minutes" by Shihan-san. Go has built-in concurrency system based on CSP to emphasis on “Do not communicate by sharing memory; instead, share memory by communicating.”, which is a slogan in Go.

This time, he introduced the basic for non gophers. He explained several go keywords such as Goroutines, Channels, Select with live demo. Lastly, he gave us a link to learn more details of concurrency in Go.


The fourth topic was "Integrating backends, frontends and designers into one workflow" by Daniel-san who is UI/UX Developer and another guest speaker. To explain importance of UI/UX, he picked up a Japanese web site that has images for titles in the beginning of his talk. He, then, explained why this can happen through the relationship between designers, UI developers and backend developers.

To integrate backends, frontends and designers into one workflow, he suggested to define Style Guide / Patterns Guide in the team. As a further solution, he additionally suggested to create and maintain components that define patterns in the code to clearly define UI behaviours.


The fifth topic was "The Truth of XaaS" by Kenny-san. XaaS is anything or everything as a service (SaaS, PaaS, IaaS). A truth of XaaS is that the customers are more powerful than ever before. It caused two trends, new cloud economy and new consumption economy, which are creating huge impact to the Tech industry.

He also gave us an idea of the different levels of user adoption. He explained how to improve user adoption from a product perspective. Monitoring real-time customer insights is the way to improve user adoption and it can provide us a chance of giving proactive feedback to the customers.


The sixth topic was "Small talk on Smalltalk" by Stefan-san. He is one of our Global Internship Program (GIP) participants. He started to introduce Smalltalk from the history of object oriented programming (OOP) citing a quote by Dr. Alan Curtic Kay.

Smalltalk is an object-oriented, dynamically typed, reflective programming language. In Smalltalk, everything is an object and each object can send messages to another object. He explained how an object works in smalltalk and introduced other features that Smalltalk provides. At the end, he demonstrated how Smalltalk actually works with interactive IDE Pharo that allows us to see the detail of individual object.


The seventh topic was "Go Serverless" by Stephen-san. He is also one of our GIP participants. He explained what serverless is, good points of AWS lambda and some difficulties dealing with AWS Lambda. For the help of the difficulties, he introduced frameworks such as serverless, Zappa and Apex.

Through his experiments of these frameworks, he concluded serverless framework is the most comprehensive. It allows us to manage other aws resources. According to his experience, the problem is that the framework does not explain minimum IAM Role permissions. So it’s still hard to implement and manage the entire system.


The eighth topic was “GraphQL: A query language for your API” by Elvan-san. He is also one of our GIP participants. GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. While typical REST APIs require loading from multiple URLs, GraphQL allows us get many resources in a single request.

In the talk, he overviewed GraphQL’s concepts and its architecture. He also explained how to write GraphQL with example codes to build schemas, setup code resolvers and run queries.


As usual, we had a party afterwards :)