2019-01-01から1年間の記事一覧
副題にある通り「プログラマのためのアーキテクティング入門」ということで、どうやってシステムのアーキテクチャを設計していくか?という課題に対して向き合うための方法を示してくれる本です。 とはいえ、所謂アーキテクチャカタログ集ではないので、即効…
このエントリはPerl Advent Calendar 2019の8日目の記事です。 7日目は@kfly8さんでした。 2019/12/8 追記: worthmineさんにコメントで、クロージャの定義が間違っているとご指摘頂きました。すっかり思い込みで誤ったことを書いてしまいました。ちゃんと原…
PFU Happy Hacking Keyboard Professional2 Type-S 英語配列/白 PD-KB400WS出版社/メーカー: PFU発売日: 2011/06/15メディア: Personal Computersこの商品を含むブログを見る 長年初代のHHKB Professionalをメインで使っていて、それはそれでまったく壊れる…
airframe.connpass.com Scala用のライブラリ集であるAirframeに関して学ぶミートアップ、Airframe Meetup #3へ参加してきました。第1回、第2回と絶妙に参加できないタイミングでの開催だったので、次こそは!と思っていましたが、タイミングが今回は合って参…
2年前にMacBook Pro 13″モデルを購入して以来、周りにUSB Type-Cで充電する機器が増えていった…ヘッドフォンや、スマホ、モバイルバッテリーと、今では日常的に充電する機器はみんなType-Cになったし、その中にはUSB PDで充電できる機器もけっこう有る。 そ…
Clean Architecture 達人に学ぶソフトウェアの構造と設計作者: Robert C.Martin,角征典,高木正弘出版社/メーカー: KADOKAWA発売日: 2018/07/27メディア: 単行本この商品を含むブログを見る 週末のTwitterのTLで「リスコフの置換原則」が話題に上がっていて、…
ビジネスロジックは、コードと、データと、改修の歴史の3次元で表現されるものなので、本質的に難しいのです— magnoliak🍧 (@magnolia_k_) August 11, 2019 次の設計Nightに向けたネタの整理 ドメイン知識から、コードへ DBの寿命はアプリより長い ハードウェ…
本エントリは、BGMに「僕らが旅に出る理由」を流しながら読んで下さい。 builderscon 2019へ参加してきた。 https://builderscon.io/tokyo/2019builderscon.io 特定の言語やフレームワークに特化したカンファレンスが多い中、buildersconは特定のテーマに縛…
データ指向アプリケーションデザイン ―信頼性、拡張性、保守性の高い分散システム設計の原理作者: Martin Kleppmann,斉藤太郎,玉川竜司出版社/メーカー: オライリージャパン発売日: 2019/07/18メディア: 単行本(ソフトカバー)この商品を含むブログを見る …
時々メソッドのインタフェースを揃えるために、わざと使わない引数を定義することが有る。 Scalatraでもインタフェースを揃えるためにServletのRequestとResponseをペアで定義しているが、必ずしも使っていない、みたいなコードがあり、ビルドの度に未使用パ…
connpass.com 昨年開催され、大好評だった「設計Night2018 powered by Classi」での自分の登壇内容がログミーTechさんにて文字起こしされました! logmi.jp logmi.jp logmi.jp ブクマも改めて80近く行きました。凄い! この辺の話、もう一回整理して1時間く…
Anker PowerCore 13400 Nintendo Switch Edition (Power Delivery対応 Nintendo Switch急速充電 13400mAh モバイルバッテリー 任天堂公式ライセンス)【PSE認証済 / PowerIQ搭載 / Power Delivery対応】出版社/メーカー: Ankerメディア: エレクトロニクスこの…
GoogleのGuavaというライブラリを使うとできる。 github.com 各種case表記を相互に変換してくれる便利なライブラリ。 Json4sのこのissueの解決の参考なるかと思って調べたけど、まぁObjectのキーが負の数って時点で、特殊な話なので、そこはtransformFieldで…
Timbuk2のメッセンジャーバッグを買った。Sサイズだと、13インチノートPCがかっちり入るサイズ。長距離の移動時に、メインのバッグとは別にあると、最低限の持ち物(PC含む)がまとめられて便利。 [ティンバックツー] クラシックメッセンジャー S Jet Black …
2019.scalamatsuri.org 今まで行きたいと思っていながらなかなか行けなかったScalaMatsuriにようやく参加してきました。 ScalaMatsuriは、割とメインの日程が土日になるように設定されていて、それだと参加しづらかったのですが、今年は金曜日にメインの日程…
きっかけはJson4sの、このissue. github.com テストクラスの中で定義したcase classが正しく判定されない、というもの。 いくらJson4sのコードを追いかけてもよく分からなかったところ、いつも色々なことを教えて頂くKenji Yoshidaさん(@xuwei_k)に教えて頂…
Akko 3068 小型のメカニカルキーボードが欲しく、でも自作に手を出すのも時間が足りない…みたいなことで、検索していたら丁度よさそうのを見つけた。Akko 3068というメカニカルキーボードで、Cherry製のキースイッチが採用されていて、茶軸、青軸、赤軸から…
普段、本を読むと言えば技術書ばかりで、あまりコラム集のような、明確な目的の無い本を読むことが無い。 わたくしのビートルズ 小西康陽のコラム1992-2019作者: 小西康陽出版社/メーカー: 朝日新聞出版発売日: 2019/04/19メディア: 単行本この商品を含むブ…
github.com 長い開発期間を経て、ついにScala 2.13.0がリリースされました! 今回、ドキュメントへの1行だけの追記ですが、初めてScala本体へのPRがマージされたので、Contributorsに自分の名前が有るのが最高に嬉しいですね。 github.com というわけで、Sca…
Scala 2.12と、2.13で返す型が変わっていますが、ドキュメント上で探すことができませんでしたのでここに書いておきます。 Welcome to Scala 2.12.8 (OpenJDK 64-Bit Server VM, Java 12.0.1). Type in expressions for evaluation. Or try :help. scala> va…
blog.magnolia.tech 先日のエントリで、ArraySeq.unsafeWrapArrayを取り上げましたが、そもそも何が'unsafe'なの?immutableなデータ構造にラップするので、safeなのでは?と疑問に思ったところ、いつものごとくKenji Yoshida(@xuwei_k)さんに教えて頂きまし…
いよいよ正式リリースが近づいてきたScala 2.13ですが、既存のコードをリリース候補版のScala 2.13でコンパイルすると以下のようなメッセージを見かけるようになりました。 scala> def makeSeq(a: Array[Int]): Seq[Int] = if (a == null) Nil else a ^ warn…
Scala 2.12まで Welcome to Scala 2.12.8 (OpenJDK 64-Bit Server VM, Java 12.0.1). Type in expressions for evaluation. Or try :help. scala> val seq1: scala.Seq[Int] = scala.collection.immutable.Seq(1, 2) seq1: Seq[Int] = List(1, 2) scala> val…
先日AnkerのUSB PD 60W対応の充電器を買ったので、卓上の電源周りを見直そうと、USB Type-Cケーブルも新調した。純正では2mも有って卓上では取り回しづらいので、ELECOMのUSB 3.1対応、USB PD 5A対応の、所謂全部入りのケーブル…以前はけっこう高かった印象…
The Art of UNIX Programming作者: Eric S.Raymond,長尾高弘出版社/メーカー: KADOKAWA発売日: 2019/03/08メディア: 単行本この商品を含むブログを見る しばらく絶版になっていた「The Art of UNIX Programming」がアスキードワンゴから再発された。アスキー…
Rubyにはrefinementsという仕組みが有って、特定のスコープ内だけで既存クラスのメソッドの振る舞いを変えたり、追加したりできます。 例えばStringクラスに、toBlahという、文字列の前に"Blah!"という文字列を追加するというメソッドが欲しくなったとしまし…
久しぶりにDwangoさんのScala研修テキストを読んでいたら、今まで理解していなかったオプションが出てきたので調べてみた。 dwango.github.io そのオプションとはこれ。 import scala.language.higherKinds scala.language.higherKindsについて、Scaladocに…
Anker PowerPort Speed 1 PD 60 (60W USB-C 急速充電器)【PSE認証済 / 折りたたみ式プラグ / Power Delivery対応】iPhone, iPad Pro(11インチ、2018) , MacBook, Galaxy S9 / S9+, Xperia XZ1 その他USB-C機器対応出版社/メーカー: Ankerメディア: エレクト…
Satechi R1 アルミニウム マルチアングル タブレットスタンド (2018 iPad Pro, 2018 MacBook Air, iPhone Xs Max/XS/XR, 8 Plus/8, Samsung S9 Plus/Sなど対応) (ブラック)出版社/メーカー: Satechiメディア: オフィス用品この商品を含むブログを見る タイト…
ASUS モバイルディスプレイ MB16AC 15.6インチモニター(1,920×1,080 / ブルーライト軽減 / USB Type-C / IPSパネル)出版社/メーカー: Asustek発売日: 2017/07/21メディア: Personal Computersこの商品を含むブログを見る 以前から気になっていたASUS MB16AC…