Scalaベースのワークフローエンジンcromwellを試してみる

ひょんなことからcromwellというScalaベースのワークフローエンジンの存在を知ったので軽く試してみました。依存関係を見るとAkka、Akka HTTP、Cats、Slickなどが使われているようです。 github.com まずはGitHubのリリースページからcromwell-<version>.jarをダウン</version>…

GitHub Actionsでテストのエラーをわかりやすく表示する

CircleCIにはJUnit形式のテストレポートを食わせてテスト結果をわかりやすく表示してくれる機能があるのですが、GitHub Actionsでも同じようなことができないかなと思って調べてみたところ、以下のアクションを使えばできそうなので試してみました。 github.…

ジェットストリームプライムを試してみた

仕事や勉強などで物理ノートを使っているのですが、筆記具としてボールペンはジェットストリームの3色ボールペンを長らく愛用しています。ジェットストリームにはプライムというお値段高めの上位機種が存在するのですが、なんか変な宝石みたいのが付いててい…

GitBucket 4.36.0をリリースしました

Scalaで実装されたオープンソースのGitサーバ、GitBucket 4.36.0をリリースしました。 https://github.com/takezoe/gitbucket/releases/tag/4.36.0 リポジトリビューアでのタグ選択 リポジトリビューアのブランチ選択用プルダウンでタグを選択することもでき…

trino-client-ruby 1.0.0をリリースしました

トレジャーデータが公開しているOSSの1つにpresto-client-rubyというRuby用のPrestoクライアントライブラリがあり、最近色々と弄る機会が増えてきたのでメンテナにしていただいたのですが、PrestoSQLがTrinoのリブランディングされ通信の仕様も若干変わった…

Programming in Scala Fifth Edition

以前アーリーアクセスで購入して手をつけていなかったScala3対応のProgramming in Scala Fifth Edition、ようやく完成したようなので最近発売されたForth Editionの日本語版と見比べながらざっと目を通してみました。 Programming in Scala Fifth Edition作…

Trino/Prestoの互換性調査補助ツールを作った

Trino/Prestoをバージョンアップする際には事前に動作の互換性検証などを行なっているのですが、検証作業自体は以前Presto Conference Tokyo 2020でも紹介させていただいたquery-simulatorという内製のツールを使って自動化されているものの、実際に非互換の…

ユニコーン企業のひみつ ―Spotifyで学んだソフトウェアづくりと働き方

話題のユニコーン企業本を早速読んでみました。分量もそれほどでもありませんし、日本語なので1日で読み切ることができました(翻訳ありがたい)。 ユニコーン企業のひみつ ―Spotifyで学んだソフトウェアづくりと働き方作者:Jonathan Rasmusson発売日: 2021/…

仕事ではじめる機械学習 第2版

トレジャーデータでの同僚である@chezouさんが著者に名を連ね、名著と名高い「仕事ではじめる機械学習」。恥ずかしながら第1版は読んでいなかったのですが改訂版が出たとのことでGW休暇中に読んでみました。 仕事ではじめる機械学習 第2版作者:有賀 康顕,中…

NetflixがOSS化したScala/Spark用ノートブックPolynoteを試してみる

もう1年以上前の話になりますが、NetflixがSpark対応のScala用ノートブックPolynoteをOSS化したという話がありました。 netflixtechblog.com 既存のノートブックではScalaを使っていてもコード補完などがあまり効かないものが多く、まとまったコードを書くと…

Apache Spark用のスタンドアロンJDBCドライバ

SparkにJDBCでアクセスするにはThriftserverを入れたりHive Metastoreが必要だったりで色々面倒なのですが、単体で利用可能な方法はないのかなと思って探してみたところ、以下のものを見つけたので試してみました。 github.com このJDBCドライバは以下のよう…

Spark in Action, Second Edition: Covers Apache Spark 3 with Examples in Java, Python, and Scala

こちらもManningの元旦全品半額セールで購入して積んでおいたものです。 Spark in Action, Second Edition: Covers Apache Spark 3 with Examples in Java, Python, and Scala作者:Perrin, Jean-Georges発売日: 2020/06/02メディア: ペーパーバック かなりペ…

presto-client-rubyのメンテナになりました

トレジャーデータでOSSとしてPrestoのRubyクライアントを公開しているのですが、最近諸事情によりこちらをいじる機会が出てきたのでメンテナにしてもらいました。 github.com rubygems.org これまでにHTTPのリダイレクト対応やgzip圧縮のサポートなどを追加…

-WconfオプションでScalaコンパイラの警告を抑制する

Scala 2.13.2で-Wconfというオプションが追加されており、コンパイラが出力する警告を細かくカスタマイズすることができるようになっています。このオプションはScala 2.12系にもバックポートされており、Scala 2.12.13で利用可能です。 www.scala-lang.org …

アーセン・ヴェンゲル自伝 赤と白、わが人生

以前読んだベンゲル監督の自伝の日本語版が出版されました。原著も読んでいたのですが、お布施と思ってこちらも購入してみました。 アーセン・ヴェンゲル自伝 赤と白、わが人生 (ヨシモトブックス)作者:アーセン・ヴェンゲル発売日: 2021/03/16メディア: 単…

Classic Computer Science Problems in Java

Classic Computer Science Problems in Java作者:Kopec, DavidManning PublicationsAmazon 正月にManningが全品半額セールをやっていたのでなんとなく購入しておいたものですが、読んでみたら思いの外面白かったです。 シンプルな検索アルゴリズムから後半は…

Apache SparkをLivy経由でZeppelinから使ってみる

SparkにREST API経由でアクセスできるようにするApache Livyは以前から知っていたのですが、アドホックなジョブを投げるにはやっぱり画面がないと辛いなぁと思っていたところ、ZeppelinにもLivy用のインタプリタがあるっぽいのでこれを使えばZeppelinのノー…

Scala Love in the CityでGitBucketの発表をさせていただきました

主催者のOliさんからのDMで急遽 Scala Love in the City で話させていただくことになり、あまり時間もなかったので準備なしでも話せるGitBucketの紹介をさせていただきました。スライドは以下になります。 GitBucket: Open source self-hosting Git server b…

jgitverでMavenのバージョン番号をGitの情報から自動設定する

sbtではsbt-dynverプラグインを使ってGitのタグ、コミット情報から自動でバージョン番号を付与できるのですが、同じようなことをMavenでやるにはどうするのがいいのかなぁと以前から疑問に思っていたので、どのような方法があるのか少し調べてみました。結論…

sbt 1.4.xで作ったjar/war内のファイルのタイムスタンプがおかしくなる問題を修正した

最近GitBucketでTomcatにデプロイするとエラーになるというレポートがあり、調べていたのですが、 github.com どうやらwar内のファイルのタイムスタンプが負の値になっており、warの展開時にその値をファイルの更新日時として設定しようとしてエラーになって…

CSVをMarkdownのテーブルに変換するVSCode拡張を作ってみた

昔Atom用に作ったものを移植しただけですが、こんな感じでCSVテキストを範囲選択してコマンドパレットから「Convert CSV to Markdown table」を選択すると適当にフォーマットしてMarkdownのテーブル記法に変換します。 GitHubリポジトリはこちら。 github.co…

My Life in Red and White

昨年ベンゲルの自伝が出版されたのでこれは読まなくてはとKindle版を購入していたのですが、年末年始の休暇中にようやく読むことができました。 My Life in Red and White: The Sunday Times No 1 Bestseller (English Edition)作者:Wenger, ArseneWeidenfel…

実践Terraform AWSにおけるシステム設計とベストプラクティス

仕事でTerraformを使っているのですが、Terraform弱者すぎて毎回「なんもわからん…」となっているので学習のために日本語で読める本として購入してみました。 実践Terraform AWSにおけるシステム設計とベストプラクティス (技術の泉シリーズ(NextPublishing…

2020年の振り返り

今年も今日で仕事納め(の予定)ということで、いつも通り1年を振り返ってみたいと思います。 リモートワークへの移行 今新型コロナウィルスの影響で3月頃から完全にリモートで作業をしています。同業他社の皆さんも似たような状況かとは思いますが、元々ト…

SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム

だいぶ今更感がありますが、現職では業務における運用作業の比率が割と高めなこともあり、SREのなんたるかを理解できればと思い読んでみました。分量と読み辛さが相まって、和訳版にも関わらず読み終わるのにかなり時間がかかってしまいました。 SRE サイト…

GitBucket 4.35.0をリリースしました

このバージョンにはWebフックが設定済みの場合のみ発生するDBマイグレーションに関するバグおよび標準でバンドルされているnotificationsプラグインに関する互換性問題が存在します。すでに修正版である4.35.3 がリリースされていますのでこちらをご利用くだ…

GitHub Actionsで重複ビルドを排除する

最近のTravisCIの残念なムーブもあり、GitHub Actionsへの移行を積極的に行なっているのですが、個人的に1つ気になっているのがブランチへのプッシュとプルリクエストに対するアクションでビルドが重複してしまうケースがあることです。 まず、GitHub上で標…

Presto Conference Tokyo 2020でトレジャーデータにおけるPrestoサービスのテスト戦略について発表させていただきました

今年はリモート開催となったPresto Conference Tokyo 2020で、トレジャーデータのPrestoサービスのテスト戦略について発表させていただきました。 スライドはこちらです。 Testing Distributed Query Engine as a Service from takezoe www2.slideshare.net …

mockito-scalaについて調べてみた

ScalaTestでは以前からMockitoSugarというトレイトが提供されており、ScalaからMockitoをちょっとだけ便利に使用することができるようになっていたのですが、元々それほど大した機能もなかった上に現在は別ライブラリに切り出されてしまったこともあり、使う…

sbt-native-imageプラグインによるScalaアプリケーションのネイティブイメージの生成

これまでScalaでGraalVMのネイティブイメージ生成機能を使う場合はsbt-native-packagerプラグインを使用していたのですが、最近新たにsbt-native-imageというプラグインがリリースされたとのことで実際に試してみました。 Released the first version of sbt…