Magnolia Tech

いつもコードのことばかり考えている人のために。

Scala 2.13より未使用変数への警告を抑止するunused annotationが追加された

時々メソッドのインタフェースを揃えるために、わざと使わない引数を定義することが有る。 Scalatraでもインタフェースを揃えるためにServletのRequestとResponseをペアで定義しているが、必ずしも使っていない、みたいなコードがあり、ビルドの度に未使用パ…

ログミーTechで昨年に設計Night2018で話した内容が文字起こしされました!

connpass.com 昨年開催され、大好評だった「設計Night2018 powered by Classi」での自分の登壇内容がログミーTechさんにて文字起こしされました! logmi.jp logmi.jp logmi.jp ブクマも改めて80近く行きました。凄い! この辺の話、もう一回整理して1時間く…

Anker PowerCore 13400 Nintendo Switch Editionを買った

Anker PowerCore 13400 Nintendo Switch Edition (Power Delivery対応 Nintendo Switch急速充電 13400mAh モバイルバッテリー 任天堂公式ライセンス)【PSE認証済 / PowerIQ搭載 / Power Delivery対応】出版社/メーカー: Ankerメディア: エレクトロニクスこの…

Javaや、Scalaで、camel-caseをsnake-caseへ変換する方法

GoogleのGuavaというライブラリを使うとできる。 github.com 各種case表記を相互に変換してくれる便利なライブラリ。 Json4sのこのissueの解決の参考なるかと思って調べたけど、まぁObjectのキーが負の数って時点で、特殊な話なので、そこはtransformFieldで…

Timbuk2のメッセンジャーバッグを買った

Timbuk2のメッセンジャーバッグを買った。Sサイズだと、13インチノートPCがかっちり入るサイズ。長距離の移動時に、メインのバッグとは別にあると、最低限の持ち物(PC含む)がまとめられて便利。 [ティンバックツー] クラシックメッセンジャー S Jet Black …

ScalaMatsuri 2019に行ってきた

2019.scalamatsuri.org 今まで行きたいと思っていながらなかなか行けなかったScalaMatsuriにようやく参加してきました。 ScalaMatsuriは、割とメインの日程が土日になるように設定されていて、それだと参加しづらかったのですが、今年は金曜日にメインの日程…

Scalaでネストしたcase classのインスタンスを作るときに気をつけること

きっかけはJson4sの、このissue. github.com テストクラスの中で定義したcase classが正しく判定されない、というもの。 いくらJson4sのコードを追いかけてもよく分からなかったところ、いつも色々なことを教えて頂くKenji Yoshidaさん(@xuwei_k)に教えて頂…

Akko 3068というメカニカルキーボードを買った

Akko 3068 小型のメカニカルキーボードが欲しく、でも自作に手を出すのも時間が足りない…みたいなことで、検索していたら丁度よさそうのを見つけた。Akko 3068というメカニカルキーボードで、Cherry製のキースイッチが採用されていて、茶軸、青軸、赤軸から…

小西康陽 / わたくしのビートルズ

普段、本を読むと言えば技術書ばかりで、あまりコラム集のような、明確な目的の無い本を読むことが無い。 わたくしのビートルズ 小西康陽のコラム1992-2019作者: 小西康陽出版社/メーカー: 朝日新聞出版発売日: 2019/04/19メディア: 単行本この商品を含むブ…

Scala 2.13.0がリリースされた

github.com 長い開発期間を経て、ついにScala 2.13.0がリリースされました! 今回、ドキュメントへの1行だけの追記ですが、初めてScala本体へのPRがマージされたので、Contributorsに自分の名前が有るのが最高に嬉しいですね。 github.com というわけで、Sca…

Scala 2.13におけるStringに対するtoIndexedSeqの挙動

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…

scala 2.13から導入されるArraySeq.unsafeWrapArrayは何が'unsafe'なのか?

blog.magnolia.tech 先日のエントリで、ArraySeq.unsafeWrapArrayを取り上げましたが、そもそも何が'unsafe'なの?immutableなデータ構造にラップするので、safeなのでは?と疑問に思ったところ、いつものごとくKenji Yoshida(@xuwei_k)さんに教えて頂きまし…

Scala 2.13からArrayからIndexedSeqへの暗黙の変換が非推奨となる

いよいよ正式リリースが近づいてきたScala 2.13ですが、既存のコードをリリース候補版のScala 2.13でコンパイルすると以下のようなメッセージを見かけるようになりました。 scala> def makeSeq(a: Array[Int]): Seq[Int] = if (a == null) Nil else a ^ warn…

Scala 2.13からscala.SeqはImmutableになった

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…

ELECOMのUSB 3.1, PD対応のType-Cケーブルを買った

先日AnkerのUSB PD 60W対応の充電器を買ったので、卓上の電源周りを見直そうと、USB Type-Cケーブルも新調した。純正では2mも有って卓上では取り回しづらいので、ELECOMのUSB 3.1対応、USB PD 5A対応の、所謂全部入りのケーブル…以前はけっこう高かった印象…

The Art of UNIX Programming

The Art of UNIX Programming作者: Eric S.Raymond,長尾高弘出版社/メーカー: KADOKAWA発売日: 2019/03/08メディア: 単行本この商品を含むブログを見る しばらく絶版になっていた「The Art of UNIX Programming」がアスキードワンゴから再発された。アスキー…

Scalaで、既存のクラスに新しい振る舞いを追加する

Rubyにはrefinementsという仕組みが有って、特定のスコープ内だけで既存クラスのメソッドの振る舞いを変えたり、追加したりできます。 例えばStringクラスに、toBlahという、文字列の前に"Blah!"という文字列を追加するというメソッドが欲しくなったとしまし…

scala.language.higherKindsについて

久しぶりにDwangoさんのScala研修テキストを読んでいたら、今まで理解していなかったオプションが出てきたので調べてみた。 dwango.github.io そのオプションとはこれ。 import scala.language.higherKinds scala.language.higherKindsについて、Scaladocに…

Anker PowerPort Speed 1PD 60を買った

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メディア: エレクト…

MB16ACのディスプレイスタンドにはSatechi R1というタブレットスタンドがとても丁度良い、という話

Satechi R1 アルミニウム マルチアングル タブレットスタンド (2018 iPad Pro, 2018 MacBook Air, iPhone Xs Max/XS/XR, 8 Plus/8, Samsung S9 Plus/Sなど対応) (ブラック)出版社/メーカー: Satechiメディア: オフィス用品この商品を含むブログを見る タイト…

ポータブルディスプレイ ASUS MB16ACを購入した

ASUS モバイルディスプレイ MB16AC 15.6インチモニター(1,920×1,080 / ブルーライト軽減 / USB Type-C / IPSパネル)出版社/メーカー: Asustek発売日: 2017/07/21メディア: Personal Computersこの商品を含むブログを見る 以前から気になっていたASUS MB16AC…

株式会社はてなに入社しました

株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記

USB Type-Cに移行して2年経ったので、ケーブルと充電器の選び方をもう一度まとめてみた

2年くらい前にこんな記事を書いた。 blog.magnolia.tech 最近役に立ったらしい。 新しいMBP買ったので、USB-Cについて詳しく書いてあった @magnolia_k_ さんの記事を探している— veryblue (@veryblue0416) 2019年3月6日 数日前に、こち亀コラでUSB Type-Cの…

「失敗から学ぶRDBの正しい歩き方」を読んだ

失敗から学ぶRDBの正しい歩き方 (Software Design plus)作者: 曽根壮大出版社/メーカー: 技術評論社発売日: 2019/03/06メディア: 単行本(ソフトカバー)この商品を含むブログを見る 「失敗から学ぶRDBの正しい歩き方」がようやく発売されて、届いたので読ん…

参加者からみた吉祥寺.pmの魅力について

さっき、ひょっとして吉祥寺.pmの魅力を一番理解してないのは自分なんじゃないかって話をしたというわけで皆様から「ここがいいよね!吉祥寺.pm」を募集しますはい、引用ツイートでみんな語ってください!#kichijojipm— magnoliak (@magnolia_k_) 2019年2月5…

そーだいさんの「失敗から学ぶRDBの正しい歩き方」という本が出版されるそうです

いつも吉祥寺.pmに来て頂いている、そーだいさんが「失敗から学ぶRDBの正しい歩き方」という本を書かれたそうです。 いつもDBの発表を楽しみにしている勢としてはさっそく注文しました。 失敗から学ぶRDBの正しい歩き方作者: 曽根壮大出版社/メーカー: 技術…

技術書のタイトルを人生で置き換える

「リファクタリング 人生」「レガシー人生改善ガイド」「モダン人生」— magnoliak (@magnolia_k_) 2019年1月30日 技術書のタイトルを「人生」で置き換えると、なんとも言えない感じになることが分かった— magnoliak (@magnolia_k_) 2019年1月30日 というツイ…

技術書の原著と和訳を両方揃えて読むという英語の勉強法

この方法、Learning Perlでずっとやってた凄い有効なのでおススメですねLearning...ってタイトルについてると、英語自体も平易な表現だし、単語数も制限されてて凄く読みやすいのでおススメですでもそのまま調子に乗ってミステリーを読もうとしたら語彙力な…

YAPC::Tokyo 2019でコアスタッフとして、前夜祭LTソンと、本編オープニングをやってきた

YAPC::Tokyo 2019のロゴ YAPC::Asia 2015のLTで、当時丁度「吉祥寺.pm」を始めたタイミングだったのと、YAPC::Asia最後の年ということもあり、「好きなイベントが終わるなら自分でイベントをやればいいんだ」という、まったくプレゼンとして何も成立していな…

ajitofmに出演した

ajito.fm 憧れのpodcastデビュー! 最初、もの凄い緊張してて全然喋れなかった。 色々話そうと思ったけど、あっという間の1時間でおそらく半分も喋れていない印象 もっと設計ナイトで喋ったようなことを喋ろうと思ったのに… とはいえ、最後にYAPC::Tokyo 201…