I am not a visual designerA colleague recently asked me how I might go about implementing incremental search against a third party API. While this is a well documented problem, there are a variety of ways to handle it, and I thought it made a good candidate to try something a little different. I’ll walk through a few ways in which this might typically be solved, before going into why I chose to go
Image resizing is often a pretty important (but not often thought about) feature for many websites. We all want to make pages load fast and look good, and that means sending images at the size they’re going to be displayed, and hopefully optimised to minimise file size. At carwow, one of the big sources of images is stock photos of cars, which look something like this: We receive batches of these
http://www.lambdadays.org/lambdadays2017/jose-valim José will explore the rationale and design decisions behind GenStage and Flow, two abstractions that have been researched and now implemented in the Elixir programming with a focus on back-pressure, concurrency and data processing.
Background Flow allows developers to express computations on collections, similar to the Enum and Stream modules, although computations will be executed in parallel using multiple GenStages. The canonical example of Flow, taken from the GitHub repository, demonstrates how to count words in a document in parallel: File.stream!("path/to/some/file") |> Flow.from_enumerable() |> Flow.flat_map(&String.
There are many use cases for GenStage/Flow. One of such cases that I recently faced was to get some records from PostgreSQL database, download files associated with these records from Amazon S3, extract text from these files and index this text into ElasticSearch. This task can be represented as a pipeline with four steps: SELECT record from database DOWNLOAD pdf file EXTRACT text from that file I
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く