JDD2015: Functional programing and Event Sourcing - a pair made in heaven - e...
JDD2015: Functional programing and Event Sourcing - a pair made in heaven - e...
κeenです。最近同期/非同期、ブロッキング/ノンブロッキング、直接形式/継続渡し形式あたりが混乱してきたので個人的に整理します。 あくまで私個人の理解を纏めただけなので誤謬などに注意して下さい。 追記: @tanaka_akrさんから指摘されたのですが、用語の説明が間違っていそうだったので書き直しました。 diffはこちら 非同期とノンブロッキングはよく混同されます。また、非同期処理の記述形式として直接形式や継続渡し形式などがあります。 私自身違う言葉だなとは思いつつも混同したり違いを忘れたりしています。 非同期もノンブロッキングもナイーブなIOに比べると速い方式だな程度の理解でいてそんなに困らないと思ってますし混同や誤用に目くじらを立てるつもりもありません。 しかしながら3者を区別しないと意味を成さない文脈で3者を混同している技術を何度か見掛けたので(自分の中で)整理しようと思ったのが
概要 「Opt Technologies Advent Calendar 2016」の一日目です。 最近とあるシステムを社内向けリリースしたので、どのように進めたかと実装について書いていきます。 (実際のコードは見せられませんが、参考用の過去記事へのリンクを用意しているので同じように設計で組むことはできるかと思います。) 作ったものの要件的な BtoBな管理画面系アプリ デザイナ不在 進め方は自由だがスケジュールしっかり守りたい フロント実装者は、自分以外は外部のフロントエンジニアと、社内のGUI未経験エンジニア 開発部内のKPIにテストカバレッジがあり、フロントでもカバレッジ取りたい 進め方 package.jsonの抜粋 全体像を掴めるかと思い、最初にpackage.jsonを貼っておきます。 後でそれぞれのライブラリやタスクについて触れていくので、なんとなく見て頂ければと思います。
初めまして。菅野と申します。 去年10月に入社し、広告運用ツールを開発するチームに所属しています。 私は普段の開発ではPlayとTypeScriptを使用しています。 PlayやTypeScriptにはそれほど不満は感じていないのですが、その他のツールやライブラリについても気になっているものがいろいろとあります。 特にAkka HTTP 2.0とScala.jsが気になっていて、それらを試すためにToDoアプリのようなものを作ってみました。 今回はその過程を紹介したいと思います。 Akka HTTP Akka HTTPとはAkkaを使用したHTTPサーバライブラリです。 Akka Streamsを使って実装されているため、処理はリアクティブでback-pressureにも対応できるのが特徴です。 libraryDependencies += "com.typesafe.akka" %% "
Play Frameworkにおいて、POSTリクエストから得られたbody中のパラメータをもとに何か処理をするというよくあるコードを、ちょっと整理して見やすくする方法を学んだのでメモがてら御シェアさせていただきます。Playのリクエストハンドラを書くときに頻繁に現れたので、例がPlayのコードになっているけど、内容的にはScala全般的な話だと思う。Scalaプロみたいな人にはまったく新しいことはないと思う。 本題と関係ないけど、YAPCでScalaの話をするかもしれません。言語自体の話よりかは採用理由とか開発フローの話を、これまでのPerlでのWeb開発を踏まえて話す感じになりそう。Scala In Perl Company : Hatena - YAPC::Asia Tokyo 2014 さて、本題ですが、話題の対象になるのは以下の様なPlayFrameworkのコードです。 def
This document discusses functional programming concepts including: - Functional programming uses functions as the main abstraction and restricts side effects. - Pure functions have no side effects and depend only on their arguments. This enables referential transparency. - Referential transparency allows expressions to be replaced with their values without changing program behavior. - The document
はじめに Scalazを導入するメリットを書いていきたいと思います。 今回は、モナドの有用性について書きたいと思います。 Scalazお試し REPLでScalazを動かすにはまず次のようなbuild.sbtファイルを作ります。 scalaVersion := "2.11.6" libraryDependencies += "org.scalaz" %% "scalaz-core" % "7.1.1" initialCommands += "import scalaz._, Scalaz._" sbt consoleコマンドによりREPLでScalazが使えます。 モナドって何 モナドってなんだ??? 次の3つの法則(モナド則)を満たしていれば、それはモナドです。 (Monad[F].point(x)) >>= f == f x m >>= Monad[F].point == m (m >
class: center, middle # Refactoring with Functional Programming Style Scala関西Summit 2015/08/01 --- class: middle ## 自己紹介 * 中村 学(Nakamura Manabu) * [@gakuzzzz](https://twitter.com/gakuzzzz) * 株式会社 Tech to Value * [Scala Matsuri 2016](http://scalamatsuri.org/) よろしくおねがいします! --- class: middle ## 今日は宣伝に来ました ![t2v](http://www.t2v.jp/images/logo.png) --- class: middle ## Scalaコードレビュー サービス * GitHub(or類似サー
https://javajo.doorkeeper.jp/events/27588 での発表資料です。
バッチを高速にした後はリアルタイムの世界へ! 現在、さまざまな業種の企業でビッグデータ分析の取り組みが行われている。ビッグデータへの最初の取っ掛かりは、既存のバッチ処理の高速化や、大量の業務データを用いた分析レポートの作成という企業が多いことだろう。そして、バッチ処理の高速化が一段落した次のステップとして、「リアルタイム処理」をテーマに掲げる企業も多いかと思われる。具体的には、 直近10秒間のトラフィックを集計したい。 直近10分間で自社商品がTwitterで話題になった回数を知りたい。 直近10時間での全店舗での来客数を集計したい。 といったリアルタイムなモニタリングを実現したくなるのではないだろうか?こういったモニタリング用の集計は、技術的には「ウインドウ集計(Time-Window Operation)」と呼ばれる。そこで本コラムでは、近頃、「ポストHadoop」として話題のApac
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く