Scala関西 Summit 2015 でflyway-playについて話しました

先週大阪行ってきました。 内容としては、flyway-play、というかFlywayの紹介っぽくなってScala成分薄めになりました。

ビアバッシュメモ

ピザの量 人数÷3枚 LまたはXL(3000-3500円くらい) クアトロ3種類 飲み物 カクヤス ビール、人数×1.5本 (350ml缶) お茶、お茶、炭酸、非炭酸 当日注文だと冷えてないので前日までに注文できると良い。 お金 最初に集める。 1人1000円だと足りない。1500円…

Typesafe が社名変えたがってる話

mixi 社はいつモンスターストライク社に変わるんだろうという冗談を言っていたら、なんと Typesaefe 社が社名を変えたいと言い始めました。最初エイプリルフール的なものかと思いましたが、冗談じゃないようです。冗談じゃないよ。 May 18, 2015 | What’s in…

WEB+DB Press 86 に PHP での画像処理についての記事を書きました

PHP

4/23 発売の WEB+DB Press Vol.86 に PHP での画像処理についての記事を書きました。 画像をこねくり回すという内容ではなく、Web アプリで画像を扱うときに気にするべきことを広く浅くカバーしようという内容です。基本的な Imagick (imagemagick) の使い方…

Slick のコードを生成する sbt プラグインを作りました

Slick コードを生成のイブラリがあり、公式のほうにいくつか使い方のサンプルがありますが、毎回コピペするのもなあと思って sbt プラグインにしました。今のところ Slick 2.1.0 に依存しています。Slick 3.0.0 が出たらそれ用のバージョンも出そうと思いま…

退職しました

ピクシブを退職しました。 主に健康上の理由です。 (在宅勤務もさせてもらって、おかげさまで最近やっとよくなってはきましたが。) 退職はしましたが、4月からはフリーランスっぽい感じで仕事を続けます。 ピクシブに転職したのは、なんか楽しそうと思った…

個人/社内 Maven Repository を作る

オープンソースの Scala ライブラリは sonatype を経由して Maven Central にデプロイするのが定番となっています。Maven Central のアカウントを持っていない、とかクローズドにしておきたい、などの理由から自前で Maven リポジトリを持ちたくなることがあ…

Flyway プラグインを Play 2.4 対応しました

flyway/flyway-play Play 2.1-2.3 向けにサードパーティプラグインとして play-flyway を開発してきましたが、少し前に Flyway の GitHub Organization に加えてもらい、めでたく公式モジュールとなりました。groupId も com.github.tototoshi から org.flyw…

Ansible を使ってみた感想

ここ数日 Ansible を触ってみてた。 MoinMoin Wiki のセットアップとか試しにやってみた。 tototoshi/ansible-playbook-moinmoin · GitHub Chef の代替というよりも Chef + Capistrano/Fabric という感じ。 インストールが楽。設定ファイルもほとんどなし。 …

IntelliJ IDEA を無料で使う方法

IntelliJ IDEA は Community Edition であれば無料で使えますが、 Ultimate Edition になると大体初期2万+維持費1万/年くらいの課金をする必要があります。 機能比較 これをどう見るかは人によると思いますが、自分は Scala はほとんど Emacs で書いてし…

build.sbt の変更を検知する sbt プラグインを作りました

git でブランチを切り替えたらうまくビルドできなくなって困ったけど、build.sbt が変わっているのに sbt の reload をするのを忘れていただけだった、ということがたまに起こります。これを防ぐために、.sbt や project/.scala が変更されていたら警告を表…

Flyway は複数人での開発に向かないという誤解について

“データベースマイグレーションについて考えないといけないことや諦めないといけないことが結構あるでよ” http://t.co/BYna6w5luj 期待して記事見たが、複数人開発時におけるバージョン番号の衝突について説明がなかったのが残念。紙面が限られてるししゃあ…

play-json で snake_case な json を camelCase な case class にマッピングする

play-json を使えば json を case class にマッピングすることは簡単にできますが、json のキーがそのまま case class のフィールドに対応するため、snake_case な json API を case class にマッピングするためには、case class のフィールドも snake_case …

PHP のトレイトに気をつける

PHP

普段 Scala でトレイトを使いまくってるけれども PHP にも 5.4 からトレイトが入った。 trait の良いところは多重継承のできない言語で多重継承っぽいことができることだ。 use, use とつけていけば、いくらでも追加できる。DRY に書けてよいことだ。 対して…

漏水工事した

9月、入院エンジョイしてたら漏水が発覚して引っ張りだされました。 自宅が漏水してるらしく一時外出…— Toshiyuki Takahashi (@tototoshi) September 9, 2014 うち(3階)からの漏水で2階の部屋の天井が落ち、1階の駐車場まで雨漏りしていました。 自分だけで…

Play 2.4 の Module の作り方と Plugin からの移行について

Play 2.4 では今までの Plugin の仕組みが deprecated となり、 新たに Module という仕組みが導入されています。 Module はこれまた新たに導入された Runtime Dependency Injection の上に乗っかっています。 Play では Guice をデフォルトの DI 実装として…

sbt でファイル変更をフックしてコンソールをクリアしつつコンパイルする

Scala Advent Calendar 2014 の 12 日目です。 sbt で ~compile でファイル変更をフックしてコンパイルは皆さんよくやってると思いますが、 ~ ;eval "\u001B[2J\u001B[0\u003B0H" ;compile とにするとコンソールをクリアしつつコンパイル続行するのでちょっ…

Heroku で JDK のバージョンを指定する

Heroku でサポートされている JDK は 1.6, 1.7, 1.8 です。 今ではデフォルトは 1.8 ですが、古いアプリではどうやらそのまま 1.6 が使われているようです。 JDK のバージョンを指定したいときには system.properties というファイルを使います。 java.runti…

scala-csv 1.1.0 をリリースしました

https://github.com/tototoshi/scala-csv scala-csv 1.0.0 ではパーサーをパーサーコンビネータで実装していましたが、巨大なファイルをパースしたときにパフォーマンスで問題があったので、パーサーコンビネータをやめて var をふんだんに使った実装に書き…

Play で Scalate を使う

play-scalate っていう名前のプラグインはいろんな人が書き散らかしてて github 検索するとボロボロ出てくるんですが、ついうっかり仲間に加わってしまいました。 https://github.com/tototoshi/play-scalate build.sbt に設定すれば libraryDependencies ++…

RFC 的には text/* のデフォルトエンコーディングは ISO-8859-1

以下のような、日本語のデータを text/csv という Content-Type で返す Play アプリケーションで、 GET /test controllers.Application.test package controllers import play.api._ import play.api.mvc._ import play.api.libs.iteratee.Enumerator import…

テンプレートエンジン Night で Scala のテンプレートエンジンの紹介をしました

テンプレートエンジンNight on Zusaar テンプレートエンジン Night という不穏なイベントで Twirl を中心に Scala のテンプレートエンジンの紹介をしました。 Scala を知らない or そんなにやってない人向けの発表です。 スライドにはあまり内容詰め込んでな…

Scala 2.11.3 が生まれる前に死んでしまった話

↓に関して、https://gitter.im/scalajp/public で盛り上がってた内容をまとめました。 Scala2.11.3がでたけど絶対使っちゃダメです - scalaとか・・・ なぜこんなことになってしまうのだろう(未調査) https://github.com/skinny-framework/skinny-framewor…

Slick でテーブル定義のコードを自動生成する

Slick 2系では experimental 扱いではありますが、コード生成の機能が含まれていて、 めんどうなテーブル定義のコードを自動生成することができます。ちょっとやってみましょう。 テスト用のテーブル、こんな感じです。 slickcodegenexample=# CREATE TABLE …

ScalaJP の Gitter がオープンしました

ScalaJP のメーリングリストでも流れていますが、 Gitter という Github と連携して使えるチャットサービスを利用して、Scala の日本語チャットルームができました。(kawachi さんが作ったのかな?)すでに 60 人くらい参加しているようです。 https://gitter.…

ScalaMatsuri の運営に参加した感想

ScalaMatsuri の運営やってみての感想を書いておきます。そろそろ振り返りのミーティングもあるし。 ScalaMatsuri は体調のせいでほぼ参加できなかったので感想ありません(悲)。 ScalaMatsuri の意義について 今年 400 人も集まってしまったのは、オダスキー…

退院しました

退院ヤッター! 普段あまり医療のお世話にならずニュースとかだけで医療に接していると、すごいなあ最近の医療は進歩しているなあと思うけれど、実際入院して見るとそうでもないですね。腸の状態とか内視鏡入れなくてもわかるようになってて欲しいとか思うけ…

入院しています

9/1から入院しています。 各方面ご迷惑をおかけしております。申し訳ありません。 ゴールデンウィークのころからお腹の調子が悪く、腹痛と下痢、血便で困っていました。近所の病院(代々木病院)に通っていたのですが、なかなか改善せず、代々木病院も全然話を…

YAPC 2日目に行ってきました

YAPC初めて行きました。 1日目も行きたかったんだけど、諸事情(2つ前のエントリ参照)により来週から入院することになってしまい、ドタバタしたため行けませんでした。2日目も午後から参加です。PHP のやつ聞きたかったけど残念。 一番良かったのは Github の…

「メンテナンス大変なのでサービス閉じたいです」

Web サービスの会社にはイケイケなサービスの陰に隠れて、かつてイケイケだったけど今はイケテナイサービス、とか、ぶっちゃけ最初っからあんまりやる気なかった☆サービス、これどこで拾ってきちゃったのサービス、などなど、惰性で続いちゃってるようなサー…