Programming

ソフトウェアエンジニアなら3秒で理解できる NFT 入門

最近「デジタル資産に唯一無二性を付与する」と話題になっている NFT について、標準仕様 EIP-721 の仕様書とスマートコントラクトのソースコードを読み解き、その非常にシンプルな仕組みを解説すると共に、これからのあるべき活用方法について考察します。

BlueTrace: シンガポール発のコロナ接触者追跡アプリ

今日、コロナウィルスの濃厚接触者を把握するためのスマホアプリの導入を政府が検討しているという報道が出た。 www3.nhk.or.jp 何日か前に、コロナ対策専門家会議でクラスタ対策を主導している西浦教授から以下の発言が出たように、感染症の専門家からも、…

QMK Firmware で Raise/Lower と変換/無変換を同じキーに割り当てる

自作キーボード向けのオープンソースファームウェアの QMK Firmware は、LT(layer, kc) という特殊なキーコードを用意している。これを使うと、通常のキーコード(A とか)とレイヤー切り替えキーを同じキーに同時に割り当てることができるので、例えば、レ…

Chainer に型ヒントをつける

この記事は Chainer/CuPy Advent Calendar 2018 の六日目です。前回は @marshi さんの「Chainerで確率分布が扱えるようになりました。chainer.distributionsの紹介」でした。 最近、Chainer に型ヒント (type hint) をつけるために色々と試行錯誤をしている…

tzdata の 1887 年以前の日本標準時子午線が間違っている話

今朝、こういう話を見かけた。 tzdataの間違い見つけたかも。1887年以前の日本時間を +09:18:59、東経にして139度44分40.9秒としていて日本の歴史上こんな位置を基準にしていたことはないんだけど、この地点は東京天文台だったんだ。麻布台。1887年まで基準…

「関数型プログラミングって何?」日本語訳

この記事は、技術翻訳 Advent Calendar 2016 の15日目です(枠が空いてたので勝手にお邪魔してます)。前回(6日目)は、id:msyksphinz さんの「個人が趣味で技術書を翻訳するという意義について」でした。 今回ご紹介するのは、昨年末に公開された Kris Jen…

ScalaMatsuri 2016 でスタッフ&発表やりました

だいぶ出遅れましたが、ScalaMatsuri 2016 の参加報告です。 scalamatsuri.org 発表者として 今回、CFP に応募して当選した「なぜリアクティブは重要か (Why Reactive Matters)」というタイトルで発表をさせていただきました。投票してくださった皆様、聞き…

ReactiveSocket について

この記事は、Java Advent Calendar 2015 の 22 日目です。前日は、n_slender さんの「PlayFramework 2.4 Java Ebeanでのアプリ開発」でした。 今日の記事では、この半年くらいで仕様と実装が出てきている ReactiveSocket というプロトコル仕様についてお話し…

「なぜ関数プログラミングは重要か」を要約してみた(その1)

関数型プログラミング (functional programming) の利点を説く際によく持ち出されるのが、QuickCheck の開発者の一人である John Hughes が 1984 年に著した論文 "Why Functional Programming Matters" だ。「なぜ関数プログラミングは重要か」という題名で…

JJUG ナイトセミナーで Reactive Streams について発表しました

6月24日の JJUG ナイトセミナーで「Reactive Streams 入門」のタイトルで発表させて頂きました。最近話題の Reactive Programming、気がついたら一万人以上が署名している Reactive Manifesto、そして Java 9 で標準化という話が進んでいる Reactive Streams…

Reactive Streams が 1.0.0 になった

以前に紹介した Reactive Streams 仕様が 1.0.0 になりました。リリース文はこのへん。 非同期ストリーム処理の標準化を目指す "Reactive Streams" とは - Okapies' Archiveokapies.hateblo.jp 以下、Twitter に書いた感想をぺたぺた。途中で言及してる「つ…

ReactiveX と「普通のやつらの上を行け」の意外な関係

これは「関数型プログラマのための Rx 入門」の補足記事です(タイトル変えた)。 前編、後編とお送りしてきたこの記事だが、特に後編について「何を言ってるのか分からん」というコメントを何人かの方から頂いた。…なんというか、ごめんなさい。 繰り返しに…

関数型プログラマのための Rx 入門(後編)

前編では、Reactive Extensions (Rx) の機能を関数型プログラミングの視点で読み解いた。続いて後編では、前編で紹介した Rx が関数型的な機能を提供している背景、つまり Observable と他の一般的なコンテナの関係に対してスポットライトを当ててみたい。 …

関数型プログラマのための Rx 入門(前編)

概要 『Observable は単なる非同期データストリームにおけるモナドのインスタンスだよ。何か問題でも?』 まともな概要 つまり、Reactive Extensions (Rx) って何だ? ということでウェブをガサゴソと漁っていたところ、オンライン講義サービス Coursera の …

マイクロサービスのための Tumblr 製フレームワーク "Colossus"

この記事は Scala Advent Calendar 2014 の 15 日目です。昨日は id:qtamaki さんの”「関数プログラミング 珠玉のアルゴリズムデザイン」をScalaで実装してみる”でした。 今日は、先日に Tumblr が OSS 化を発表した Scala 製のノンブロッキング I/O (NIO) …

"The Reactive Manifesto v2.0" 日本語訳

はじめに いつの間にか "The Reactive Manifesto" のバージョンが上がって v2.0 になっていたので、さっくりと翻訳。従前よりかなりコンパクトになっている。マニフェストに署名したい方は、公式サイトの一番下の "Sign the manifesto" をクリックしてくださ…

マイクロサービスが Scala を選ぶ3つの理由

今年も開催される Scala Advent Calendar 2014 の 15 日目にエントリーしていて、ネタとしては先日 Tumblr が発表した "I/O and Microservice library for Scala" を謳う Colossus をやる予定なんだけど、前振りとして「なぜマイクロサービス化を進めるサー…

Future/Promise はいつモナドになったのか

「非同期計算をモナドで合成し、依存関係に従ってパイプライン化する」というアイデアはいつ誰が提案したのか、というのを調べてみたけどよく分からなかった記録。網羅的な調べ方はしてないので、何か知ってる人がいたら教えてください。 明示的 vs. 暗黙的 …

Java/Scala で風景から歩行者を消してみる

一昨日くらいにホッテントリ入りしてた記事↓を見て、 風景から歩行者を消す手軽な方法(配電盤) Export["result.jpg", Image[Mean[Map[ImageData, Import["movie.mov", "ImageList"]]]]] このくらいのコードで済むなら Java/Scala でもすぐに書けるかも? …

非同期ストリーム処理の標準化を目指す "Reactive Streams" とは

TL でこんなのが流れてたので少し調べてみた。 Learn about the Reactive Streams initiative & how we're supporting a standard for asynch stream processing on the JVM http://t.co/5wUF0PjTBe— Twitter Engineering (@TwitterEng) 2014, 4月 17 Reacti…

Hadoop/Storm の統合を実現する Twitter の SummingBird

Twitter が SummingBird を正式リリースして早二ヶ月。「日本語の紹介記事がほとんど出てないな」と気付いたので、調査がてらまとめてみました。 SummingBird とは? MapReduce なプログラムを書くための Scala/Java ライブラリ。最大の特徴は、ひとたび Sum…

翻訳: "Cake Pattern: The Bakery from the Black Lagoon"

はじめに NEScala 2013 での Daniel Spiewak (@djspiewak) さんの基調講演 "Cake Pattern: The Bakery from the Black Lagoon"(スライド、動画)*1の抄訳です。本記事の公開については、講演者の Spiewak さん、および配信元である Marakana Inc. さんに許…

Java 8を関数型っぽく使うためのおまじないをScalaで(ry

はじめに 言うまでもなく下記の記事のパクリです。Java と C# と F# があるのに Scala が無いなんて、と謎の使命感に駆られた結果がこれだよ! Java 8を関数型っぽく使うためのおまじない(きしだのはてな) Java 8を関数型っぽく使うためのおまじないをC#で…