Scala関西Summit 2018に参加しました

11月10日(土)、11日(日)の2日間に渡り大阪で開催されたScala関西Summit 2018に参加してきました。 GitBucket sponsors Scala Kansai Summit 2018! #scala_ks #gitbucket pic.twitter.com/0Kk3gIeeHT— Naoki Takezoe (@takezoen) 2018年11月10日 上記のツイー…

Scalafixで未使用のインポート文を削除する

Scalaで未使用のインポート文を自動で消せないかという話があり、Scalafixだとできそうだったのでやってみました。 github.com ドキュメントに書かれている通りでいけるのですが、手順をまとめておきます。 まずはproject/plugins.sbtにsbtプラグインを追加…

実践Scala入門

「実践Scala入門」を技術評論社さんからお送りいただきました。Scalaの入門書というとコップ本を思い浮かべる方が多いと思いますが、下のツイートでも書いている通りこの本はかなりコンパクトです。 技評さんから実践Scala入門をお送りいただきました。あり…

sbtサーバとRustで書かれたsbtクライアント

Scalaのビルドツールsbtには1.xからLanguage Server Protocol 3.0に対応したサーバモードが実装されており、常駐させたサーバに別プロセスから接続してコマンドを実行することができます。サーバモードはIDEやエディタプラグインのために実装されたものだと…

プロジェクト管理に便利なGitBucketプラグイン

GitBucketはプラグイン機構を持っており、様々な機能をプラグインで拡張することができます。最近プロジェクト管理に便利なプラグインを作成されている方がいらしたので簡単に紹介させていただきたいと思います。 カンバンプラグイン イシューやプルリクエス…

SalesforceのScala製AutoMLライブラリ「TransmogrifAI」を触ってみた

AutoMLはこれまで専門のエンジニアを必要としていたような機械学習の処理を自動化し、誰でも機械学習を利用できるようにするという分野です。PythonだとTPOTなどのライブラリが存在しますが、先日Salefsforce社からScala + SparkベースのAutoMLライブラリが…

入門 PySpark ―PythonとJupyterで活用するSpark 2エコシステム

Sparkはちょくちょく触る機会があるのですが、PySparkは使ったことがなかったので読んでみました。最近のSparkの流れを見ていてもPythonのサポートが強化されてきているので軽く押さえておきたいなと…。 入門 PySpark ―PythonとJupyterで活用するSpark 2エコ…

GitBucket 4.29.0をリリースしました

Scalaで実装されたオープンソースのGitサーバ、GitBucket 4.29.0をリリースしました。 https://github.com/takezoe/gitbucket/releases/tag/4.29.0 オフィシャルDockerイメージが利用可能に DockerHub上でオフィシャルのDockerイメージが利用可能になりまし…

AirframeのFinagleサポートを試してみる

AirframeはScala向けのDIコンテナを中心とした様々な便利機能を提供するプロジェクトなのですが、最近airframe-httpとairframe-http-finagleというモジュールが追加され、Finagleを使ったWebアプリケーションを簡単に作れるようになったので感じを掴むために…

JIRAのチケット番号をリンクに変えるChrome拡張が便利

仕事でもOSS活動でもJIRAを使うことがよくあるのですが、JIRAのチケット番号を自動的にリンクにしてくれるChrome拡張を見つけたので試してみました。 chrome.google.com リンク先のJIRAは以下のような画面で設定できます。 簡単なものですが、GitHubやGmail…

Docker/Kubernetes 実践コンテナ開発入門

職場では様々な用途にDockerが活用されていたり、今後はKubernetesを使いそうな気配もあるので予習しておこうと思い、最近出たばかりのこの書籍を購入してみました。 Docker/Kubernetes 実践コンテナ開発入門作者: 山田明憲出版社/メーカー: 技術評論社発売…

クローリングハックの韓国版が出ました

前職の同僚諸氏と執筆したクローリングハックという書籍が韓国語に翻訳されたとのことで翔泳社さんから一冊お送りいただきました。 表紙などのデザインモチーフは日本語版ではクモだったのですが、これは…カニ??? まあ、クモがちょっとというのはわかるの…

GitBucket 4.28.0をリリースしました

Scalaで実装されたオープンソースのGitサーバ、GitBucket 4.28.0をリリースしました。 https://github.com/takezoe/gitbucket/releases/tag/4.28.0 プラグインインストール時にプロキシを利用可能に プラグインリポジトリからのインストール設定を"System se…

Scaladocを実行時に読み取れるようにするコンパイラプラグイン

ScalaベースのフレームワークでクラスのメタデータからSwaggerなどを生成できるものがあるのですが、専用のアノテーションやオブジェクトを使って情報を記述しておく必要があり、特にパラメータの説明などはScaladocに書いたものをそのまま使えればいいのに…

相対時間で表記した期間をパースするJavaライブラリを作ってみた

正確に言うと自分で作ったのではなく、AirframeというScalaライブラリに相対時間で表記した期間をパースしてくれる機能があるのですが、わけあってこれをJavaにポーティングしてみました。 github.com Maven Centralにdeployしてあるのでpom.xmlに以下の依存…

SlickでStackOverflowErrorが発生する場合の対処法

GitBucketに以前からGitBucketのバッシュレポートでStackOverflowErrorが発生するというバグレポートが上がっていたのですが、最近直接の知り合いからも言われたので重い腰を上げて修正にトライしてみることにしました。 github.com 原因は以下のようなコー…

トレジャーデータ株式会社に入社しました

Good morning, my new workplace! pic.twitter.com/b4jEO3jun8— Naoki Takezoe (@takezoen) August 1, 2018 Good morning, my new workplace! pic.twitter.com/NZfDYWvHUS— Naoki Takezoe (@takezoen) August 9, 2018 トレジャーデータに入社したと思ったら…

株式会社ビズリーチを退職しました

Today is my last day at BizReach. I learned a lot of things here. Thanks for exciting days over 4 years! pic.twitter.com/wrPANaxbKW— Naoki Takezoe (@takezoen) 2018年7月31日 本日、2018年7月31日をもって4年と4ヶ月勤務した株式会社ビズリーチを…

GitBucket 4.27.0をリリースしました

Scalaで実装されたオープンソースのGitサーバ、GitBucket 4.27.0をリリースしました。 https://github.com/takezoe/gitbucket/releases/tag/4.27.0 ブラウザ上でタグを作成可能に リポジトリビューア上でタグを作成できるようになりました。 EditorConfigの…

Scalaをはじめよう! ─マルチパラダイム言語への招待─

技術書典で販売されていた同人誌がインプレスR&Dさんから電子書籍&オンデマンドで発売されたものとのことで、Scala初心者向けの入門用書籍にどうだろうと思い、Kindle版を購入して読んでみました。 Scalaをはじめよう! ─マルチパラダイム言語への招待─ (技…

Akka StreamsのElasticsearchコネクタでupdateやdeleteもできるようにした

AlpakkaにはElasticsearch用のコネクタも含まれていて、これは元々自分がコントリビュートしたものなのですが、これまではFlow/Sinkによるバルク書き込みはindexとupsertにしか対応していませんでした。また、1つのストリームでindexとupsertを混ぜることも…

Akka Streamsで巨大なXMLをストリーム処理する

Akka Streams用のコネクタを提供するAlpakkaにはXMLサポートも含まれており、XMLの読み込み・書き込みを行うためのFlowやSinkを利用することができます。 しかし読み込みはXMLのパースイベントをストリームするだけなので、実際には下流の処理で状態を管理し…

AWS Kinesisからの読み込みをAkka Streamsで行う

Akka Streams用の様々なコネクタを提供するAlpakkaですが、もちろんAWS Kinesis用のコネクタも含まれています。 しかし、書き込むためのFlow/Sinkは普通に使える感じのものなのですが、読み込むためのSourceはライセンスの問題からKCLを使ったコネクタを取り…

GitBucket 4.26.0をリリースしました

Scalaで実装されたオープンソースのGitサーバ、GitBucket 4.26.0をリリースしました。 https://github.com/takezoe/gitbucket/releases/tag/4.26.0 セントラルレジストリからのプラグインインストール 先日運用を開始したプラグインレジストリからインターネ…

GitBucketのプラグインレジストリの運用を始めました

GitBucketはプラグイン機構を持っているのですが、Jenkinsのようにインターネット経由でインストールできるようにしたいという考えはGitBucketを作り始めた頃からありました。また、実際にプラグイン機構を導入してみると、本体の修正にあわせてプラグインの…

ASUSのリアル店舗にスマートフォンを修理に出してみた

ASUSのZenfone2というSIMフリー端末を3年ほど使っていたのですが、うっかり落としてディスプレイをバキバキに割ってしまい、バッテリーがだいぶヘタってきていたこともあり新しい端末に変えようと思い、価格重視で同じくASUSのZenfone4 Maxという端末を購入…

MacでThinkPad Bluetoothキーボードを使う場合のKarabiner Elementsの設定

Mac

職場で使っているMacBook Proの外付けキーボードをThinkPad Bluetoothキーボードにしてみました。 レノボ・ジャパン ThinkPad Bluetooth ワイヤレス・トラックポイント・キーボード - 英語 0B47189出版社/メーカー: レノボ・ジャパン発売日: 2013/06/25メデ…

GitBucket 4.25.0をリリースしました

Scalaで実装されたオープンソースのGitサーバ、GitBucket 4.25.0をリリースしました。 https://github.com/takezoe/gitbucket/releases/tag/4.25.0 セキュリティの改善 以前のバージョンのGitBucketにはKacper SzurekさんによるGitBucket 4.23.1 Unauthentic…

Software Design総集編【2013~2017】に関数型プログラミングについて書かせていただきました

Software Designさんは大昔にWikiの記事などを書かせていただいた記憶があるのですが、昨年久しぶりにGitHub、BitBucket等の比較記事を書かせていただいたので総集編をお送りいただきました。そうえいば弊社の同僚も文字コードの記事やtmuxの記事を書かせて…

GraphQLスキーマからCRUDを自動生成できるPrismaについて

Prismaは、様々なデータベースをバックエンドにGraphQLのスキーマからCRUDを行うためのエンドポイントを提供するプロキシとして動作するミドルウェアです。最近$4.5Mの資金調達をしてちょっとだけ話題になりました。 www.prisma.io Prismaが提供するソフトウ…