ScalaMatsuri 2019 http://2019.scalamatsuri.org/index_en.html
いきなりタイトルと関係なさそうな話題からスタートしますが、今週1番のトピックは、なんと言ってもEdge TPUがオフィシャルに発売されたことでしょう。 しかもUSB接続のアクセラレータがたった80ドル弱ですよ。日本だとMouserで8800円ほど。 こいつをいち早く入手できたIdein社内でのお試し結果がこちら。 Edge TPU(USB版) Mobilenet v2 1.0 224x224 ImageNet Raspberry Pi 3 Model B v1.2 で10msちょっとでした pic.twitter.com/BOfSAgUewJ— Koichi Nakamura (@9_ties) 2019年3月5日 10msってことはあと6ms程度別の処理に充てても高精度カメラのフレームレート60fpsに間に合っちゃうってことで、これはくそっ速い。 僕は去年夏にEdge TPUがアナウンス
「Scala言語らしさ」を理解しよう! オブジェクト指向と関数型プログラミングの融合とは? プログラミング言語Scalaの設計思想にあるという、オブジェクト指向と関数型プログラミングの融合(fusion)という理想と、それを掲げつつも現実主義的な点について、水島宏太(kmizu)さんが解説します。 kmizuと申します。株式会社ドワンゴでエンジニアを務めています。 最近では、毎年の新卒エンジニア向けScala研修の講師や、N予備校 プログラミングコースの一部教材のレビューといった教育、および研究等の面でも活動しています。 ドワンゴでは、私が入社した時点でScalaがかなり採用されており、社内にScalaをより深く広めることも職務の一環でした。私は2007年くらいの、Scalaがまだほとんど注目されていなかった頃からScalaを触り始めており、その縁で新卒エンジニア向けのScala研修資料作
Home / Blog / Exploring Tagless Final pattern for extensive and readable Scala code In this post, I will try to share with you all a functional pattern I stumbled upon recently – Tagless Final. This pattern tries to address a vital problem for every software engineer: how to make sure the programs we write are correct? I will try to explain how Tagless Final works and how it can be applied in prac
I recently watched a talk by Martin Odersky (2014) in which he boils Scala down to what he considers to be the essential parts of the language. In it he remarks that Scala is designed to be a modular programming language and its modular abstractions are greatly inspired by modular programming in ML (SML). I found this intriguing, because I regard SML-style modular programming as a great way to org
何はともあれ以下のコードを見てください(ちなみに複素数クラスの実装は、 d.hatena.ne.jp を参考にさせていただきました): trait Complex { type T def re(a: T): Double def im(a: T): Double def make(re: Double): T def plus(a: T, b: T): T def minus(a: T, b: T): T def multiply(a: T, b: T): T def divide(a: T, b: T): T } object Complex extends Complex { case class C(re: Double, im: Double) type T = C def re(a: T): Double = a.re def im(a: T): Double = a.im d
Haskell Advent Calendar 4日目の記事です。 Haskellに入門したのは6, 7年前 ゲームが作れる言語(某モナディウス)だよ、と言われホイホイ研究室に入って学んだのが運命の出会いでした。最初は奇妙な言語でやたら頭を使わせるし聞いたことも無いしで、文句を言っていましたが学んでいくうちに次第にプログラムの美しさ合理性に惹かれていきました。残念ながら普段は僕の頭にあまる言語なので使用していませんが、後のプログラミング人生に多くの影響を残して言った感動したこと、そしてなぜ難しいと思っているかをまとめていきたいなと思います。基本的には、書籍「すごいHaskellたのしく学ぼう」の内容の抜粋になります。Haskell未経験者の方に是非、学ぶきっかけになればと思っています。(本当はHaskellのビジュアルプログラミング環境を作りたかったです・・・。時間が無くて断念) Hask
2018年4月25日をもちまして、 『CodeIQ』のプログラミング腕試しサービス、年収確約スカウトサービスは、 ITエンジニアのための年収確約スカウトサービス『moffers by CodeIQ』https://moffers.jp/ へ一本化いたしました。 これまで多くのITエンジニアの方に『CodeIQ』をご利用いただきまして、 改めて心より深く御礼申し上げます。 また、エンジニアのためのWebマガジン「CodeIQ MAGAZINE」は、 リクナビNEXTジャーナル( https://next.rikunabi.com/journal/ )に一部の記事の移行を予定しております。 今後は『moffers by CodeIQ』にて、 ITエンジニアの皆様のより良い転職をサポートするために、より一層努めてまいりますので、 引き続きご愛顧のほど何卒よろしくお願い申し上げます。 また、Cod
Scalaによる純粋関数型プログラミングを用いた高速で並行なシステム スケーラブルで並行なシステムをメモリリークやスレッドリークを起こさず、しかも素早く開発することは命令形プログラミングやオブジェクト指向プログラミングではほとんど不可能であることがわかってきました。 AkkaのようなScalaフレームワークはこの問題を部分的に単純化しましたが、しかしそれは同値性の意味付け、型安全性、モジュールの結合性を犠牲にする形であり、結局は開発や保守のコストを大きく上昇させてしまいました。 このプレゼンテーションでは、強力な純粋関数型のEffectシステムであるScalaz 8 IOを用いて、型安全、並行、スケーラブルでリークのないアプリケーションを開発する方法を学びます。 そしてこれは今までにあった方法より素早く簡単でもあるのです。 このセッションの最後には私は、実務に携わるプログラマにとって純粋関
混迷極まるScalaのJsonライブラリ事情ですが、最近はcirceというライブラリもメジャーになってきました。ただ個人的にはあまり仕事では採用する気にはならないライブラリです。 catsに依存している circeの売りとして、cats以外のライブラリに依存していないというものがあるんですが、catsに依存してるという時点ですでに判断が別れるところだと思います。私はscalazやcatsは仕事ではほぼ使ったことがないので依存ライブラリがcatsに依存しているのは結構嫌です。またscalaz派から見ても同じようなライブラリが加わるのは嫌でしょう。 shapelessに依存している なぜcirceの人気が出てきたかといえば、おそらくgenericの存在ではないでしょうか。 play-jsonでは毎回 implicit val hogeFormat = Json.Format[Hoge] を書か
AI Messenger というチャットボット事業でサーバサイドの開発をしている大野です。 AI Messenger では、非同期 RPC フレームワークの Finagle を使用して開発をしています。 Finagle については 今年4月に弊社内で行った AdTech Scala Meetup の記事をご覧ください ([AdTech Scala Meetup] Finagle | Scala Tech Blog)。Meetup の記事中では「アドテクスタジオではほとんど導入実績が無い」とありますが、最近アドテクスタジオの中でも導入しているプロダクトが増えてきました。 AI Messenger では内部のサービス間や Facebook Messenger 等メッセージングサービス間で Http 通信を行っていますが、様々な要因でリクエストが失敗することがあります。その際に Finagle
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く