Candy, Vitamin or Painkiller

He's half man and half machine rides the metal monster

CRaCを用いたJavaアプリケーションの起動高速化

検索エンジンプロダクトを一緒に開発してた同窓会 Advent Calendar 2023 の9日目です。 Javaアプリケーションの起動を高速化する技術として、Application CDSやGraalVM Native ImageによるAOTコンパイルなどがあります。 CRaC(Coordinated Restore at Check…

ScalaMatsuri 2020 に登壇しました +α

昨年に引き続き、ScalaMatsuriに登壇させていただきました。今年は「Scalaチームのオンボーディング」という題で、チームの同僚である Robert Devlin と2人で40分お話ししました。 「Scalaは表現力の高い言語だが、その表現力が新メンバーのキャッチアップを…

PostgreSQLの識別子のtruncateをFlywayのCallbackとParser Combinatorで防ぐ

PostgreSQLにおける識別子、たとえばテーブル名や外部キー制約名などは最長で63バイトに制限されています。*1 各種識別子の名前が63バイトを超えることは現実的にあまりないように思えますが、複合ユニーク制約や外部キー制約は命名ルールによってはしばしば…

2.6.0-RC1でstableになったAkka Typedを試してみる

Scalaの並行・分散処理ライブラリの Akka には、メッセージパッシングをより型安全に行うことのできる Akka Typed という機能があります。 先週リリースされた 2.6.0-RC1 にてAPIがstableになりました(production readyは2.5.22から)。 discuss.lightbend.…

「A Senior Engineer's CheckList」日本語訳

期のOKRを考えるにあたって見つけた記事が面白そうだったので、勉強を兼ねて日本語(超)訳してみました。 「翻訳してよい?」と著者にメールで尋ねたところ、「Go ahead!」と爆速で返信をいただきました。感謝 元記事は各項目のカテゴリやインパクトなどでの…

ScalaをGraalVMでネイティブイメージにコンパイルしてAWS Lambdaでサクサク動かす

このエントリは ただの集団 Advent Calendar 2018 の18日目です。昨日は ugdark さんの 職種としてのスクラムマスターを調べてみた でした。 普段はScalaアプリケーションをECSやEC2で動かすことが多いのですが、ものによってはPythonやnode.jsでAWS Lambda…

sbtのカスタムタスクに入門して、テスト失敗時に爆発音を鳴らしてみる

sbtではアプリケーションの起動やコンパイルといった予め定義済みのタスクの他に、利用者が独自のタスク「カスタムタスク」を定義することができます。 SassやJSなどのトランスパイルやAPIドキュメントの生成など、開発に付随する定型的作業はsbtのカスタム…

Scrum Inc.のスクラムマスター研修を受けてLicensed Scrum Master認定を取得しました

先日、Scrum Inc.による2日間のスクラムマスター研修を受け、Licensed Scrum Masterの認定を取得しました。Scrum Inc.はスクラムの共同創案者であるジェフ・サザーランド博士の会社らしいです。 研修の講師はScrum Inc.のPresident of HardwareであるJoe Jus…

JJUG CCC 2017 Fallに登壇しました

「新しいプログラミング言語の学び方 HTTPサーバーを作って学ぶ Java, Scala, Clojure」という話を弊社ビズリーチのスポンサー枠で40分間させていただきました。 どのくらい需要がある話なのか正直不安でしたが、ありがたいことに定員が200人強…

「クローリングハック」という本を共著しました

クローリングハック あらゆるWebサイトをクロールするための実践テクニック作者: 竹添直樹,島本多可子,田所駿佑,萩野貴拓,川上桃子出版社/メーカー: 翔泳社発売日: 2017/09/14メディア: 単行本(ソフトカバー)この商品を含むブログを見る 前チームの上司で…

8月の絵文字界隈

なかなか面白いトピックが多かったのでちょこっとまとめてみました。 Unicode11.0の絵文字プロポーザル 8/3にワーキングドラフトが公開されました。新たに64種類の絵文字が候補に挙がっています。 http://www.unicode.org/L2/L2017/17284-emoji-recs.pdf 注…

sbtからMaven Centralにライブラリをpublishする

毎回ググり直している気がするのでメモを… 初回のpublishはsbtのドキュメント通りにやれば問題ない(なかったと思う)です。 sbt Reference Manual — Using Sonatype 2回目以降の手順については以下。 1. sbtからpublishSignedタスクを実行する $ sbt publis…

絵文字URL短縮サービスをつくりました😎

※ 2020年5月現在、サービスは停止中です。 Unicode Emojiを利用したURL短縮サービスを作ってみました。 何かしら絵文字を使ったサービスを作ってみたいなーとは以前から考えていたのですが、「絵文字の種類数を基数としたN進数でURLを短縮するのはどうだろう…

Scala Days 2017 Copenhagen 3日目

とうとう最終日です。 Keynote: Open source is just about the source, isn’t it? Stuff open source projects need to care about that aren’t code:- People- Name & trademark enforcement- Copyright- License- Patents- PR— Jan Lehnardt (@janl) 2016…

Scala Days 2017 Copenhagen 2日目

元気よく2日目に行ってまいりました。 Tools for Verified Scala 2日目のキーノートはEPFL内の研究室で開発されたstainlessというコード解析ツールについてです。

Scala Days 2017 Copenhagen 1日目

Scala Days 2017 Copenhagenの1日目に参加してきました。 初日はScalaの作者であるMartin Odersky先生による「What’s different in Dotty?」というキーノートです。

長時間のフライトで役立ったグッズ

Scala Daysに参加するため、昨日からコペンハーゲンに来ています。 日本からのフライトは10時間ほどかかるのですが、昨年のサンフランシスコへのフライト(13時間!)では完全に腰を撃破されてしまったため、今回は快適に過ごせるように便利グッズをいくつか…

「JSONにコメント書きたい!」って思ったあなたにはHjsonがおすすめ。

JSONにコメントを残したいなあと思うことは多々あるかと思います。 特に設定ファイルの場合、「なぜこの値にしているのか」「取りうる値の範囲」などの情報を残しておけるとありがたそうですね。 先日、Hjsonなるものを発見しました。コメントが残せる以外に…

ScalaでウェブページのCharsetを取得する

サイトのエンコードは、 HTML, head内のmeta charset レスポンスヘッダのContent-Type内 の2箇所に記述してあるケースが多いのですが、前者はサイト作成者の記述ミスが多々あるため信用できず、後者もまれにエンコード名として異常な文字列が入っていること…