読者です 読者をやめる 読者になる 読者になる

GitBucket 4.12をリリースしました

Scalaで実装されたオープンソースのGitサーバ、GitBucket 4.12をリリースしました。 https://github.com/takezoe/gitbucket/releases/tag/4.12 Gist埋め込み用のJavaScript GistプラグインがGitBucket 4.12にあわせてバージョンアップし、スニペット埋め込み…

Mirage 1.3.0をリリースしました

少し前にMirageのヘビーユーザーだというAdrianがコミッタに加わってくれたのですが、彼の会社でカスタマイズした部分をOSS化するなどいろいろやっていきたいとのことだったので、自分があまりメンテできていないこともあり、organizationに移して開発を行っ…

JJUG CCC 2017 Springにプラチサスポンサーとして参加します

5月20日(土)に西新宿で開催されるJJUG CCC 2017 Spring、これまでもスポンサーとしてサポートさせていただいていましたが、今回はプラチナスポンサーとして参加させていただくことになりました。 セッションでは弊社の若者が以下の2つのセッションでお話さ…

Scala用のタイプセーフなSQLビルダを作ってみた

Scalaには様々なデータベースアクセスライブラリがありますが、Scalaの型安全性を活かしたクエリビルダはコンパイル時にクエリの間違いを検出することができるため非常に有難いものです。しかし、私見ですが、タイプセーフなクエリビルダは歴史あるトピック…

Play2ハンズオンがScalikeJDBCにも対応しました

これまでPlay2 + Slickの組み合わせで提供していたPlay2ハンズオンですが、社内でもScalikeJDBCの利用が増えてきたこともあり、Play2 + ScalikeJDBCの組み合わせにも対応しました。 github.com また、あわせてこれまでGitHubのリポジトリにMarkdownファイル…

IntelliJのScalaプラグインでケースクラスのパラメータのインデントが深すぎるのを回避する設定

IntelliJでScalaを書いている時にいつもイラッとするのがケースクラスのパラメータのインデントです。こういうコードが… case class Person ( name: String, age: Int ) 自動的にこのようになってしまいます。 case class Person ( name: String, age: Int )…

GitBucket 4.11をリリースしました

Scalaで実装されたオープンソースのGitサーバ、GitBucket 4.11をリリースしました。 https://github.com/takezoe/gitbucket/releases/tag/4.11 デプロイキーのサポート CIツールなどで利用するためのデプロイキーを設定できるようになりました。リポジトリの…

ScalatraのWebサイトをGitHub Pagesに移行しました

ScalatraのWebサイトはこれまでIvanが管理している自前サーバ(?)で運用されていたので時折ダウンしていたり、Jenkinsが落ちているとサイトのビルドができなったりとトラブルが絶えませんでした。 ここ数ヶ月もScalatraの最新版である2.5のドキュメントが…

Re-engineering Legacy Software

クリスさんがManningで執筆された書籍です。少し前に購入していたのですが、きちんと読めていなかったので英語の本を読む練習を兼ねて読み直してみました。 Re-engineering Legacy Software作者: Chris Birchall出版社/メーカー: Manning Pubns Co発売日: 20…

ScalaMatsuri 2017に参加しました

今年もお台場で開催されたScalaMatsuri 2017ですが、今回はスポンサーとしてだけではなく、個人でスピーカーとしても参加させていただき、Scala Warriorについてお話しさせていただきました。 Scala Warrior and type-safe front-end development with Scala…

GitBucket 4.10をリリースしました

Scalaで実装されたオープンソースのGitサーバ、GitBucket 4.10をリリースしました。 https://github.com/takezoe/gitbucket/releases/tag/4.10 Scala 2.12、Scalatra 2.5、Slick 3.2へのバージョンアップ Scalaのバージョンを2.12にアップデートしました。こ…

Playでいい感じにZipkinするライブラリを公開しました

PlayでZipkinでトレースするライブラリには以下のようなものがあるのですが、どれも用途が限られていたり、Playとのインテグレーションが不十分だったりします。 akka-tracing zipkin-futures そんな背景もあり、同僚がPlayでいい感じにZipkinを利用できるよ…

JDBCレイヤでDBのシャーディングを行うsharding-jdbcを試してみた

DBのデータ量が増えてきた場合の対策の1つとしてユーザIDなどをキーにデータベースを分割するシャーディングと呼ばれる手法があります。これをJDBCのレイヤで実現してしまうsharding-jdbcというライブラリを見つけました。 github.com sharding-jdbcは中国の…

JGitへのコントリビュートとGerritを使ってみた感想

Git

GitBucketではバックエンドの実装にJGitを使っているのですが、gitリポジトリをzipファイルとしてダウンロードした際に、同じコミットでもダウンロードしたzipファイルのハッシュが同じ値にならないというレポートがあり、調べたところJGitのarchiveコマンド…

GitHubをパトロールするためのWebアプリを作ってみた

GitHubのトップページではウォッチしているリポジトリのアクティビティがタイムラインのように表示されるのですが、ウォッチしているリポジトリ数が多いと見落としてしまいがちです。そこで、自分がウォッチしているリポジトリの中から選択したリポジトリの…

シンプルなScala用ビルドツール「cbt (Chris's Build Tool)」を試してみる

Slickのコミッタとして有名なJan Christopher Vogtさんが作っているcbt (Chris’s Build Tool) というScala用のビルドツールがあります。*1 github.com 昨年参加したScala Days NewYork 2017でもセッションがあり、興味本位で参加したのですが、sbtのdisなど…

Scala Days 2017のタイムテーブルが公開されました

ここ数年は毎年アメリカとヨーロッパで開催されているScala Days、一昨年はサンフランシスコとアムステルダム、昨年はニューヨークとベルリンでしたが今年はシカゴとコペンハーゲンで開催されるようです。 www.lightbend.com 以下、シカゴとコペンハーゲンそ…

第十八回 #渋谷java を開催しました

1月28日(土)に弊社オフィスで第十八回 #渋谷javaを開催しました。 おや、なにか様子がおかしいですね…。謎のマークが…。 今回は以下の皆さんに発表していただきました。 セッション枠(20分) ayato_p 「筋肉でテストを救う」 Ikuru K 「サムネイルを作る話…

GitBucket 4.9をリリースしました

Scalaで実装されたオープンソースのGitサーバ、GitBucket 4.9をリリースしました。 https://github.com/takezoe/gitbucket/releases/tag/4.9 GitLFSサポート GitLFSの実験的サポートを追加しました。この機能を使用するためにはGitBucketの設定画面でBase UR…

第十八回 #渋谷java でZipkinとBraveの紹介をしました

最近RestyにBraveを組み込んだり、仕事でもZipkinを触っていたりするのでZipkinとBraveの概要について発表させていただきました。発表資料はこちらです。 Tracing Microservices with Zipkin from takezoe www.slideshare.net ZipkinはTwitter社が開発した分…

pac4jでGitHubのOAuth認証を使ってみる

GitHubアカウントでログインできるWebアプリケーションを作りたいなーと思っていたのですが、Javaだとpac4jというライブラリを使うとGitHubを始め、TwitterやFacebookなど様々なサービスのOAuth認証を扱うことができるようです。 github.com SpringMVCやJAX-…

Apache DrillでExcelを検索するプラグインを作った

ExcelをDBに入っているデータとジョインできたら便利なのでは?ということで作ってみました。 github.com GitHubのリリースページからダウンロードしたjarファイルをDRILL_HOME/jars/3rdpartyにコピーし、ストレージ設定でdfsに以下のフォーマットの設定を追…

スターティングGo言語

先日紹介したみんなのGo言語は電子書籍で購入したのですが、こちらはリファレンス用にペーパー版を購入しました。 スターティングGo言語作者: 松尾愛賀出版社/メーカー: 翔泳社発売日: 2016/05/11メディア: Kindle版この商品を含むブログを見る 言語仕様はき…

JaSST'16 Tokyoでのパネルディスカッションを記事にしていただきました

だいぶ前の話になってしまうのですが、昨年JaSST'16 Tokyoで参加させていただいたOSSの品質管理に関するパネルディスカッションの内容をPublickeyさんで記事にしていただきました。 www.publickey1.jp power-assertの@t_wadaさんのモデレートで、Twitter4Jの…

みんなのGo言語[現場で使える実践テクニック]

簡単なコマンドラインツールはNode.jsやPython*1で書くことが多いのですが、ちょっと大きめのものだったり、他の人にも使ってもらうようなものはGoで作るのがいいのかなということでGoを触り始めました。インターネット上のドキュメントなどを参考に適当にコ…

giter8テンプレートの作り方

giter8の復活 その昔、Scala世界にはgiter8というツールがありました。GitHub上のテンプレートプロジェクトをベースにプロジェクトを作成できるというなかなか便利なものでしたが、初期の頃はWindowsでの利用に問題があったり、Typesafe Activatorという用途…

GitHubでGitLFSを使ってみる

実際にGitLFSを使ってみようということでGitHubで試してみました。 まずはgit-lfsのインストールから。gitはインストール済みとします。MacならHomebrewで簡単に入れられます。 $ brew install git-lfs 適当なGitリポジトリを作成し、GitLFSを有効にします。…

2016年の振り返り

2016年もそろそろ終わりということで、毎年恒例の振り返りです。 仕事関係 自分の担当しているパートはだいぶ安定してきたこともあり、機能改善や効率化がメインでした。時間的な余裕もだいぶ出てきたのでイベント活動やOSS活動などにも時間を割けるようにな…

今年のGitHubの草状況

去年はこんな感じでした。 takezoe.hatenablog.com 仕事で使っているprivateリポジトリも含めた状況はこんな感じ。去年と比べるとだいぶ減ってますね…。 publicリポジトリだけだとこんな感じ。こちらは結構増えてます。年末にかけてコミットが増えているのは…

GitBucketでのGitLFSサポートについて考える

GitBucketに以前から要望として上がっていたGitLFSサポートですが、どうやったら実装できるんだろうと思い軽くリサーチしてみたところ、どうやらGitblitではすでにGitLFSがサポートされているようです。 github.com LFSサーバのソースコードの該当部分はこの…

Scala用のDIライブラリAirframeを試してみた

ScalaではJavaと違ってDIコンテナの必要性を感じることがあまりないのですが、フレームワークを作っているとユーザコードにフレームワークが提供するコンポーネントを供給したり、フレームワーク自体を拡張するための拡張ポイントを提供するためにDIコンテナ…

Scala用のREST APIフレームワークResty 0.0.5をリリースしました

Scala用の超シンプルなREST APIフレームワークとしてRestyというものを作っています。 takezoe.hatenablog.com github.com 前回ブログで書いてからちょこちょこいじりつつバージョンアップを重ねているので、前回のブログで紹介できなかった機能や、これまで…

GitBucket 4.8をリリースしました

Scalaで実装されたオープンソースのGitサーバ、GitBucket 4.8をリリースしました。 https://github.com/takezoe/gitbucket/releases/tag/4.8 リポジトリ名での検索 GitBucketで管理しているリポジトリが増えてくると、目的のリポジトリを探すのが難しいとい…

ポートとソケットがわかればインターネットがわかる――TCP/IP・ネットワーク技術を学びたいあなたのために (Software Design plus)

技術評論社さんから送っていただきました。ありがとうございます。 内容的にそれほど踏み込んでいないということもあるのですが、わかりやすい説明とイラストのおかげで非常に読みやすいです。とはいえ、中盤では軽くですがCによるソケットプログラミングや…

JJUG CCC 2016 FallでGitBucketの話をしてきました

以前ScalaMatsuriでGitBucketについてお話しさせていただいたことはあるのですが、用途を考えると受託開発の現場で使われているケースが多いはずで、JavaコミュニティのほうがGitBucketのユーザ層に近い方が多いのでは…と思ったこともありJJUG CCCのCfPに応…

RestyというScala用のREST APIフレームワークを作ってみました

GitHubリポジトリはこちら。 github.com なぜ作ったのか? Scala業界のフレームワークは関数型的なアプローチのものが主流になっています。これらのフレームワークはノンブロッキングI/Oや並列処理をうまく扱うことができますが、本質的な複雑さをもたらしま…

【改訂新版】Gitポケットリファレンス

技術評論社さんのポケットリファレンスシリーズから出ているGitポケットリファレンンスが改訂されるとのことで見本誌を送っていただきました。ありがとうございます。 【改訂新版】Gitポケットリファレンス作者: 岡本隆史,武田健太郎,相良幸範出版社/メーカ…

GitBucket 4.7をリリースしました

4.7にはログイン時のダッシュボードのサイドバーに表示されるリポジトリ一覧にグループリポジトリが含まれないというバグがあったため修正した4.7.1をリリース済みです。こちらをご利用いただければと思います。 https://github.com/gitbucket/gitbucket/rel…

ソフトウェアデザイン2016年12月号

会社の同僚であり、若者であり、エモジニアである@todokrが文字コード特集の記事を執筆したとのことでゲットしてみました。 ソフトウェアデザイン 2016年 12 月号 [雑誌]出版社/メーカー: 技術評論社発売日: 2016/11/18メディア: 雑誌この商品を含むブログを…

Scala 2.12に対応したScalatra 2.5がリリースされました

ここしばらく作業をしていたScalatra 2.5が先日無事リリースされました。 Scalatra 2.5.0 released, with Swagger 2.0, Scala 2.12 support, and many other changes. Get it while it's hot! https://t.co/1Dcf3rmdme— Scalatra (@scalatra) November 21, 2…

同僚が「それゆけ!ターミナル部」という連載を始めました

会社の同僚である@tanacasinoがマイナビさんのギークロイドというメディアで「それゆけ!ターミナル部」という連載を始めました。 若干老害の入ったマーティン・シェルスキー先生が若干意識高めの若者タミ夫くんにターミナルのテクニックを教えていくという…

続・AtomでMarkdownのアウトラインを表示する

以前こんな記事を書いたのですが… takezoe.hatenablog.com 最近document-outlineというパッケージを発見しました。 atom.io こちらはMarkdownの見出しをツリー状に階層化して表示してくれます。これこそ正に私の求めていたもの!! …と思ったのですが、どう…

市ヶ谷Geek★Nightで「Scalaによるタイプセーフなフロントエンド開発」という発表をしました

普段フロントエンド開発は若者に丸投げしているバックエンドおじさんですが、ここのところScala Warriorを開発するためにScala.jsを触っていたということもあり、お声がけいただいてScala.jsの紹介をさせていただきました。 ichigayageek.connpass.com 発表…

GitBucket 4.6をリリースしました

Scalaで実装されたオープンソースのGitサーバ、GitBucket 4.6をリリースしました。 https://github.com/takezoe/gitbucket/releases/tag/4.6 リポジトリのフォークを禁止するオプション リポジトリの設定でフォークを禁止できるようになりました。 Wikiペー…

ScalaでタイプセーフにCSSを記述できるScalaCSSを使ってみる

Scala Warriorではユーザが入力したコードを実行する目的でScala.jsを使っているのですが、せっかくScala.jsを使っているのでフロントエンドもできるだけScalaで書いてみようと思い、ScalatagsやScalaCSSなどを試しています。今日はScalaCSSについて紹介して…

ULTRA Beer Bashを開催しました

去る10月14日(金)弊社の主催でULTRA Beer Bashというイベントを開催しました。 Web界隈のCTOさんたちがパネルディスカッションを行うトラックと、最新の技術動向のプレゼンテーションを行うテクニカルトラックの2トラック構成のイベントだったのですが、テ…

はてな × BizReach合同Scala勉強会を開催しました!

Scala関西 Summit2016の翌日、京都のはてなさんオフィスに伺わせていただき弊社とはてなさんの合同Scala勉強会を開催しました。 今回はクローズドな勉強会ということで普段あまり外には出せないようなリアルな悩みなどもご相談させていただいたのですが、当…

Scala Warriorをリリースしました

昨年から密かに作り続けていたScala WarriorというWebアプリケーションをScala関西 Summit2016にあわせてリリースしました。 github.com これはRuby WarriorにインスパイアされたScala学習用のゲームで、Scalaコードを書いて侍を操作しステージをクリアして…

Scala関西 Summit2016に参加してきました

10月8日(土)大阪で開催されたScala関西 Summit2016にスポンサーとして参加させていただきました。 summit.scala-kansai.org 私自身は前職時代を含めここ4年ほどはScalaで仕事ができるようになっていますが、日本だけでなく世界的に見てもScalaの普及度とい…

第十七回 #渋谷java を開催しました

10月1日(土)に弊社オフィスで第十七回 #渋谷javaを開催しました。 今回は以下の皆さんに発表していただきました。 セッション枠(20分) ayato_p 「Clojureで状態管理をするためには」 shimamoto 「doobieの紹介」 Shunsuke Tadokoro 「平成生まれの楽しい…