seratch's weblog in Japanese

About Scala, Java and Ruby programming in Japaense. If you need English information, go to http://blog.seratch.net/

2016 年の振り返り(仮面ライダー限定)

去年の大晦日、以下のようなエントリを書きました。需要があるかというとあんまりなさそうですが、今年の進捗を報告すべく、続編を書くことにしました。 seratch.hatenablog.jp 今年の息子との遊び ガンバライジングは 2 月くらいまではやっていました。やら…

macOS で「はがきデザインキット」を使った年賀状宛名印刷の手順

毎年、年賀状のためだけに Windows マシンを保全して年に一度 12 月だけ起動する *1ということをやっていたのですが、そのマシンもいよいよ退役となり、普段使っている MacBook Pro でスムーズに年賀状の宛名印刷をできないものかということで、今年やったこ…

Skinny Framework Getting Started 日本語版

この記事は Scala福岡2016 - connpass でのハンズオン向けの入門記事です。 JDK (Java SE Development Kit) インストール http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html Oracle 社の Web サイトにアクセスして、Lic…

OSS Gateワークショップ 3/26 にメンターとして参加した #oss_gate

こちらのるびまを読んで、そういえばブログを書きましょうと話があったのをすっかり忘れて書いてなかったことに気づいたので先日の OSS Gate に参加したときのことを書いてみます。 Rubyist Magazine - Rubyist Hotlinks 【第 36 回】 須藤功平さん 私が参加…

2015 年の振り返り(ガンバライジング限定)

このブログに書くか微妙なところですが、まあいいかと。 今年の 2 月くらいから 4 歳の息子とガンバライジングというアーケードゲームで遊んでいるので、それについて今年を総括してみます。 なお、本業については今年結構色々やっててまとめるの大変そうだ…

Skinny Meetup Tokyo 2 を開催しました #skinnyjp

Skinny Framework 2.0 をリリースして一ヶ月弱、@yusuke さんのご厚意により、東池袋のサムライズムのオフィスをお借りして Skinny Meetup Tokyo の第 2 回を開催させていただきました。 skinnyjp.doorkeeper.jp 当日使ったスライドはこちら。 Skinny Meetup…

ScalikeJDBC / Skinny Framework グッズ 2015 春モデル

SUZURI 最高 去年から GMO ペパボさんの suzuri.jp を利用して Skinny Framework のロゴをプリントしたマグカップを販売しています。 !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id…

Future についての私見

Scala - DBから単一SELECTする関数の型をFuture[何]にすれば良いのか悩む - Qiitaqiita.com この記事を読んで、記事の本筋からはそれますが、前から思っていたことをつぶやいたのでまとめておきます。 前後関係がある Future 処理を一つの処理として抽出すれ…

Java を Scala の中で使うこと

ScalikeJDBC は手軽なはず ScalaでORマッパーというとSlickやScalikeJDBC等色々あるが、ほんとにちょっとしたツールを作りたいだけならばもっと手軽にやりたいと思うはず。 ScalaでDBを使った小物ツールをサクッと作れるJDBI - 気まぐれラボラトリィ 手軽で…

Anorm についてのふりかえり

Twitter 上でのやりとりを読んでいて、Anorm は 2.4 から Play Framework 本体からは分離されたとはいえ Play チームがメンテし続けるであろうライブラリであることには変わりないので、機能の比較以前にそういったバックアップ体制を重視するなら Anorm を…

specs2 で unresolved dependency: org.scalaz.stream#scalaz-stream_2.11;0.5a: not found

こんな感じのエラーになってググってここにたどり着いたでしょうか? [info] Resolving org.scalaz.stream#scalaz-stream_2.11;0.5a ... [warn] module not found: org.scalaz.stream#scalaz-stream_2.11;0.5a [warn] ==== local: tried [warn] /Users/k-ser…

福岡に行ってきた

9 月末に予定していた広島への帰省のチケットをそろそろとろうかと思っていたところ 10/10 にヌーラボさん 10 周年の NUCON というイベントがあると知ったので、良い機会だということで少し後ろにずらして、一日だけ福岡に行ってみました。 http://nucon-10t…

Scalate の公式サイトが GH pages に移行

Scala の老舗テンプレートエンジンで私自身 Skinny Framework のコアなコンポーネントとして利用している Scalate のウェブサイト http://scalate.fusesource.org これが閉じることになったらしく GitHub pages に移行しました。今日になってアクセスしてみ…

ScalaMatsuri ふりかえり(今更)

何となく ScalaMatsuri のふりかえりでもしてみようかという気分になりました。自分の中での整理という感じなので、あまり面白みはないかもしれません。 Scala と私 というところで見直してみたけど、私の Scala への関わり方は以下のスライドに全てあらわれ…

Scala DB ライブラリ事情(2014/06 版)

最初に調べてから一年経ったので、また GitHub スター数の推移を見てみました*1。というか、こういうの自動化するサービスがあるといい気がしてきたけど。。 DB ライブラリ 順位 名前 2013/06 2013/07 2013/08 2013/09 2013/10 2014/06 総増減 1 Slick 613 6…

JJUG CCC 2014 Spring で登壇しました #jjug_ccc

JJUG CCC 2014 Spring – R2-4 Skinny Framework で始める Scala http://www.java-users.jp/?page_id=1048#R2-4 プレゼン資料 [Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24 from Kazuhiro Sera 感想など 運営の皆様ありがとうございました…

スキニー東京 1 資料 #skinnyjp

Skinny Framework Meetup Tokyo 1 ようこそ Skinny Framework Meetup Tokyo へ!! http://skinnyjp.doorkeeper.jp/events/10607 (この記事は Skinny Framework Meetup Tokyo でのプレゼン内容です) Skinny Framework Scala on Rails です。 http://skinny…

Skinny Framework 1.0.0-RC1 をリリース

English? This is an article for Japanese developers. English article is here: http://blog.seratch.net/post/77537302500/try-skinny-framework-1-0-0-rc1 Release Candidate 1 Skinny Framework 1.0.0-RC1 をリリースしました。基本的にはこれからは大…

デブサミ 2014「OSSコミッタ大集合」に登壇

させていただきました。@ayumin さん、@koichiroo さんが和やかな雰囲気をつくってくださったので、特に緊張することもなく楽しいセッションになったのはないでしょうか。 http://event.shoeisha.jp/devsumi/20140213/session/394/ http://togetter.com/li/6…

NHK 番組表 API の Scala クライアント

http://api-portal.nhk.or.jp/ja 正式な開始は 1/27 みたいだけど、API キーも発行できるみたいだし、ひまつぶしに Scala クライアントを書いてみました。 実装は・・カッとなってやった感満載なので、気になる人は pull request とかいただければうれしいで…

npm login で default value must be string or number

npm

ブログに書くことで記憶に定着させよう程度の内容ですが、新しいマシンで npm publish しようとして、まず npm login しようとすると謎めいたエラーメッセージが。username/password は合ってるのに。 $ npm -v 1.3.21 $ npm login Username: xxxx Password:…

私の 2013 年

こういうのをブログに書いたことはないのですが、今年は結構活動した年だったので、自分の中で整理するためにまとめてみました。誰得ですが公開しますね ^ ^; なお、本業に関連するものについては書ける内容からピックアップして取り上げています*1。 1 月 S…

Play Framework 2 徹底入門を読んで #play_ja

Play Framework に関する初めての本格的な日本語書籍となる「Play Framework 2 徹底入門」を献本いただいたので、読ませていただきました。索引まで含めると 529 ページの力作です。著者の方々、大変お疲れ様でした。 Play Framework 2徹底入門 Javaではじめ…

Play ドキュメントを Skinny で書くと - The template engine

これは Play framework 2.x Scala Advent Calendar 2013 の 18 日目です。 http://www.adventar.org/calendars/114 なお、この記事で触れる Play は 2.2.1、Skinny は 0.9.20 です。両者とも最新バージョンでは API や仕様が変更になっている場合があります…

Play ドキュメントを Skinny で書くと - Manipulating Results, Session and Flash scopes, Content negotiation

これは Play framework 2.x Scala Advent Calendar 2013 の 13 日目です。 http://www.adventar.org/calendars/114 なお、この記事で触れる Play は 2.2.1、Skinny は 0.9.20 です。両者とも最新バージョンでは API や仕様が変更になっている場合があります…

Play ドキュメントを Skinny で書くと - HTTP routing

これは Play framework 2.x Scala Advent Calendar 2013 の 11 日目です。 http://www.adventar.org/calendars/114 毎日こんな感じになりますけど、本当にそれでいいんでしょうか? なお、この記事で触れる Play は 2.2.1、Skinny は 0.9.20 です。両者とも…

Play ドキュメントを Skinny で書くと - Actions, Controllers and Results

これは Play framework 2.x Scala Advent Calendar 2013 の 10 日目です。 http://www.adventar.org/calendars/114 ご存知の方もいらっしゃるかと思いますが、私は Skinny Framework というのをつくっています。これは Servlet ベースのフルスタックな Web …

3 分でできる Play2 で Skinny ORM を使う手順 #play_ja

これは Play framework 2.x Scala Advent Calendar 2013 の 8 日目です。 http://www.adventar.org/calendars/114 ご存知の方もいるかと思いますが、私は Skinny Framework というフレームワークをつくっています。これのコンポーネントは基本的に Skinny Fr…

Jetty の ServletTester の挙動がおかしいと思ったら自分がおかしかったでござる

Jetty に ServletTester というのがあってですね、生 Servlet のテストをしたいときなんかに結構重宝してたりしたんですよ。 <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-servlet-tester</artifactId> <version>6.1.26</version> <scope>test</scope> </dependency> こんな感じにテストが書けます。 package example; import org.junit.Test…

Typesafe Activator について #scalajp #play_ja

Advent Calendar! この記事は Play framework 2.x Scala Advent Calendar 2013 の 4 日目です。 http://www.adventar.org/calendars/114 Activator については前に書いたことがある 7 月に Typesafe Activator のテンプレートをつくってみたというブログ記事…

pvm の紹介とその背景について #play_ja

この記事は Play framework 2.x Java and 1.x Advent Calendar 2013 の 2 日目です。元々 12/3 の予定でしたが 12/2 が空いたままで存亡の危機だったので、一日スライドしました。 http://www.adventar.org/calendars/104 pvm とは 今回は pvm(Play Version…

怖い Scala で LT しました #fud_scala

10 月の怖くない Scala 勉強会に対応する形で 11/28 に「怖い Scala」というイベントが開催されました。主催の @yamashiro さん、会場提供いただいたグリー株式会社さん、どうもありがとうございました。 http://connpass.com/event/4112/ これはまさかりを…

Rails4 で response.headers['content-type']

最近 ruby-openid に付属している example の Rails3 アプリをベースに実装を始め、Rails4 にバージョンアップ、微妙な実装箇所を直したり、SReg ではなく AX に対応させるよう修正・・とやっているうちに気がつくとほぼ全部書き換えていた・・!というオチ…

Skinny Framework 導入

を gist に書きました。よかったらご覧ください。はてなブログには gist を埋め込める機能がありますが、コード例のところがきれいに表示できなかったのでリンクを貼るだけにしておきます。 https://gist.github.com/seratch/7382298#file-getting_started_j…

GitHub star 数で見る Scala DB アクセスライブラリ事情(2013/10 版)

定期ポストです。 DB ライブラリ 順位 名前 2013/06 2013/07 2013/08 2013/09 2013/10 総増減 1 Slick 613 638 (+25) 658 (+20) 692 (+34) 707 (+15) +94 2 Squeryl 322 329 (+7) 334 (+5) 338 (+4) 337 (-1) +15 3 postgresql-async 159 187 (+28) 213 (+26…

Rails4 で ERB テンプレートを Haml に移行

したので、手順をメモ。Rails4 固有のアレはなさそうですが Rails4 でやったよというくらいです。 既存の erb ファイルを html2haml で変換して、古い erb ファイルを全部削除。 gem install html2haml cd app/views find . -name '*erb' | xargs ruby -e 'A…

怖くない Scala 勉強会でめんどくさくない Scala について

怖くないScala勉強会 #kwkni_scala http://connpass.com/event/3420/ 怖くないというのは何となく初心者でも大丈夫、みたいな意味だったのかなぁと思いますが、それも多少は考慮はしつつ、前から話したかったことと自分がやっていることを紹介しました。 htt…

Doma + Play 1.2 の場合の DomaConfig

@gakuzzzz に教えていただいたのですが Play 1.2.x で Doma を使う時は Config クラスに Play1 のクラスローダを伝えるために #getClassHelper() を拡張する必要があるようです。これをやっていないと apt で生成した *Impl.java やら domain クラスが Class…

GitHub star 数で見る Scala DB アクセスライブラリ事情(2013/09 版)

定期ポストです。 DB ライブラリ 順位 名前 2013/06 2013/07 2013/08 2013/09 総増減 1 Slick 613 638 (+25) 658 (+20) 692 (+34) +79 2 Squeryl 322 329 (+7) 334 (+5) 338 (+4) +16 3 postgresql-async 159 187 (+28) 213 (+26) 227 (+14) +68 4 Querulous…

歌舞伎座.tech #1 で ScalikeJDBC-Async と Skinny について LT しました #kbkz_tech

ドワンゴさん主催の「歌舞伎座.tech#1」という勉強会で LT をしました。主催・運営いただいた皆様ありがとうございました。懇親会行きたかったですが、明日早いので自重しました。 http://connpass.com/event/3278/ 3 分間の LT なのに盛り過ぎだったのでか…

SQLite3 で適当に運用していた Rails アプリのデータを PostgreSQL に引っ越し

したのでメモ。 まず SQLite3 からデータを dump します。rails db とかで SQLite3 のインタラクティブシェルを起動してファイルに dump します。 sqlite> .output dump.sql sqlite> .dump sqlite> .q この dump.sql をそのまま psql で突っ込むことができれ…

第1回 ElasticSearch 勉強会に参加 #elasticsearchjp

@yusuke さんがブログを書いていたので、思い出したように書いてみます。 http://atnd.org/event/E0018616 主催していただいた @johtani さん、会場提供してくださったリクルート社に感謝します。@johtani さんとは懇親会で初めてお話しできてよかったです。…

aws と aws-sdk の conflict 問題

SimpleDB を ActiveRecord の model で簡単に扱うことを検討するために、以下の simple_record を試そうとしたのですが https://github.com/appoxy/simple_record establish_connection でいきなり以下のような NameError が出て「なんじゃこりゃ」状態。 Na…

GitHub star 数で見る Scala DB アクセスライブラリ事情(2013/08 版)

先月末と今月末で記録したものを公開します。Slick、postgresql-async あたりは増加傾向が顕著ですね。 順位 名前 2013/06 2013/07 2013/08 1 Slick 613 638 (+25) 658 (+20) 2 Squeryl 322 329 (+7) 334 (+5) 3 postgresql-async & mysql-async 159 187 (+2…

別ホストにそのまま redirect する Rack app

こんな config.ru を書いて rackup -D とかしておけばよいですね。 new_hostname = "yetanotherapp" run lambda { |env| request = Rack::Request.new(env) Rack::Response.new {|response| response.redirect("http://#{new_hostname}#{request.path}") } }

java.lang.Integer をもらって Option[Int] をつくるのは要注意

Java との架け橋的なものをつくると一度はハマるところですね。そういえばあまり Web 上で見かけない気がするので書いておきます。 scala> val i: java.lang.Integer = null i: java.lang.Integer = null scala> val opt: Option[Int] = Option(i) java.lang…

ScalikeJDBC で Redshift に SQL を投げる

Amazon Reshift は PostgreSQL JDBC Driver で接続が可能です。 http://docs.aws.amazon.com/redshift/latest/dg/c_redshift-postgres-jdbc.html ということは ScalikeJDBC を使ってクエリを投げられるということを意味します。 ということで実際にやってみ…

Rails 3.2.14 でなぜか rake assets:precompile で DB 接続するようになっていた

Rails 3.2.13 まではそんなことなかったのに 3.2.14 から rake assets:precompile で database.yml の設定に従って DB つなごうとするようになってるんだけど・・— Kazuhiro Sera (@seratch) August 22, 2013 経緯など調べてないですが、挙動としては config…

CORS に対応させるための Servlet Filter

JSON を返す API サーバのレスポンスを CORS に対応させるための Servlet フィルターを書きました。まあ「書いた」というほどのものでもないのですが。 import javax.servlet.*; import javax.servlet.http.HttpServletResponse; import java.io.IOException…

初心者の方にこそすすめたい ScalikeJDBC #play_kb

#play_kb 「PlayFramework関西ビギナーズ 第2回 #play_kb」という Play Framework 初心者の方向けの勉強会が行われているようです。素晴らしいですね。 http://www.zusaar.com/event/891003 東京で Scala 界隈の方にお会いすると、名前くらいは知っていただ…