Scalaでオレオレdocker-registryを実装してみた

だいぶ前からちょこちょこと作っていたんですが、ようやくイメージのpush、pullができるようになりました。 github.com モノ自体はScalatraで作ったシンプルなWebアプリケーションで、以下のドキュメントに記載されているDockerのRegistry API V2を実装して…

The Four: The Hidden DNA of Amazon, Apple, Facebook, and Google

The Four: The Hidden DNA of Amazon, Apple, Facebook, and Google (English Edition)作者:Galloway, ScottPortfolioAmazon 2017年の出版で日本語訳も出ているので今更感ありますが、近隣の書店で売っていたので英語の読書ネタにちょうどいいかと思い読んで…

AWSコンテナ設計・構築[本格]入門

AWSコンテナ設計・構築[本格]入門作者:新井 雅也,馬勝 淳史SBクリエイティブAmazon Amazonのレビューでもやけに評判がいいし、AWS & ECS弱者なので読んでみました。感想としては例によってAWS使うの大変だなーという感じ…。ハンズオン形式ですが、一通り目…

scala-cliでScalaによるスクリプティングとパッケージングを試してみる

最近VirtusLab社が突如として公開したScala用の汎用CLIツールscala-cliを試してみました。 scala-cli.virtuslab.org 基本的にはScalaでスクリプティングするためのツールのようで、便利ツールや教育用途での使用が想定されているようですが、スクリプトを実…

Scalaプロジェクトでのバージョンバッジ

ライブラリ等をGitHubで開発する場合、最新バージョンを表示するためのバッジを表示することが一般的なプラクティスになっています。 バッジを表示するためのサービスは色々ありますが、JVM系のプロジェクトの場合、たとえば以下のような感じでMavenセントラ…

TrinoでOpenLineageを試してみる

OpenLineageはデータリネージの業界標準の仕様となることを目指しているプロジェクトで、JSONベースのリネージイベントスキーマ定義、JavaやPython向けのリネージイベント構築用ライブラリ、Apache Airflow、Apache Spark、dbt用のインテグレーションなどを…

Scalatra 2.8をリリースしました

ScalaベースのWebフレームワークScalatraの新バージョン2.8をリリースしました。 github.com Scalatra 2.8.0はだいぶ前にMaven Centralにpublishしてあったのですが、ライブラリの依存関係に一部問題があり、事実上標準のテンプレートエンジンであるTwirlと…

詳説 データベース ―ストレージエンジンと分散データシステムの仕組み

購入してからだいぶ時間がかかってしまいましたがようやく一周読み終わりました。元々は原著であるDatabase Internalsを読んでいたのですが、邦訳が出るという話を聞いて読み進める気力を失ってしまっていたのでした。 詳説 データベース ―ストレージエンジ…

WDL(Workflow Description Language)について

Scalaベースのワークフローエンジンcromwellを試してみるの続きです。 cromwellではワークフローをWDL(Workflow Description Language)という言語で記述するようで*1、cromwellはWDLの参照実装という位置付けでもあるようです。WDLの仕様策定もcromwellを…

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…