APIs enable 3rd-parties to interact with your platform and utilize your data to build new products. However, with APIs, the integration possibilities are limited. An API alone does not allow 3rd-parties to deeply integrate into your platform.
This talk introduces App Extensions, a new platform concept that enables these types of deep integrations. Unlike APIs, which enable your 3rd-party developers to consume data, App Extensions work in reverse. Extensions enable your 3rd-party developers to surface 3rd-party functionality directly in your product. As a result, users get a seamless, rich and powerful user experience.
Nowadays, we often rely on third party services that we integrate into our product, instead of building every aspect of an application ourselves. In many cases, well written API clients exist, but on occasion we run into the issue that there isn't a ready to use one.
This talk focus on how you write good API clients and more importantly how you test them without hitting the remote API. So far, the standard approach has been replaying requests with VCR or stubbing them with Webmock. There is a third option: simulating foreign APIs with Sinatra from within your test suite!
Building large-scale applications is a demanding process – no matter which framework you use. The true challenge, however, lies in maintaining these applications. To guarantee maintainability, we need to focus on the following three aspects: comprehensibility, modularity, and robustness. And easy to maintain applications make developers happy!
This talk is about building large scale applications on top of Ruby on Rails. The framework is known for getting you started quickly, but is it still a good choice when your application grows past 100,000 lines of code?
During this talk, we will mainly focus on how to model complex business processes efficiently, that is, how to extend Ruby on Rails with a modular service-layer that plays nice with ActiveRecord. You will see how to take advantage of some of Ruby's unique and more advanced language capabilities.
But most importantly, you will learn how to use all these techniques to improve the design of any existing Rails application.
Natural Language Processing (NLP) is the art and science of making sense of user-generated data. It is a combination of state-of-the-art computer science techniques and linguistics. Being able to analyze plain text data allows us to gain a lot of insights. Popular NLP tasks are text summarization, keyword extraction or automatic extraction of the author's opinion from a text. In the age of social media, only NLP provides solutions to analyze what users are really care about. Companies such as Google or Facebook invest millions in NLP solutions to harvest information from all the data they have been gathering over the years.
This talk discusses a real-world NLP problem from both, the linguistic and the computer science perspective. It demonstrates how to develop a processing pipeline to efficiently solve problems of this kind in an automated fashion. Among other things, it showcases the usual NLP pipeline components:
- Sentence segmentation,
- Part-of-speech tagging,
- Named entity recognition.