Subscribed unsubscribe Subscribe Subscribe

Scala.js を情報商材風に説明する

天下一altJS武闘会 で Scala.js の紹介をしました。 Scala.js 楽しいよって言っても全く流行る気配ないので、 情報商材風のスライドを作ってみました。洗脳されちゃって下さい。 http://tototoshi.github.io/slides/tenka1altjs-scalajs/ fork元を明示したい…

Play 2.4 と Dependency Injection

Play 2.3 が出たばっかで 2.4 の話をします。 前置き: Scala での DI Scala では DI についてのベストプラクティスと言える方法はなく、まだ意見が分かれている状態です。大きく割ると DI コンテナなどを使った動的な DI と、cake pattern, implicit paramet…

middleman で簡単なドキュメントサイトを作る

play-flyway のドキュメントサイトを作るのに middleman を使った。そのメモ。 インストール $ gem install middleman 最低限のコマンド middleman init でひな形を作成。 $ middleman init website ... create website/.gitignore create website/config.rb…

play-flyway 1.1.0 をリリースしました

tototoshi/play-flyway Play 2.3 用に play-flyway 1.1.0 をリリースしました。 pull-req 下さった皆様ありがとうございました。 変更点 Play 2.3.0 対応 Scala 2.10, 2.11 でのクロスビルド Flyway のアップデート (2.3 -> 3.0) Delay initialization by fe…

Play 2.3 がリリースされたので変更点と試し方を説明します

http://www.playframework.com/documentation/2.3.x/Highlights23 https://groups.google.com/forum/#!msg/play-framework/bTvJbeR_zvU/J3reqk6Xo4AJ 変更点は以下の通り 新規プロジェクトを作るのに今までは play new コマンドを使っていたけれど Typesafe …

Play で Scala.js を使う

Play meetup では Play や Scala のフレームワークの歴史みたいな話をしていましたが、本当はこのネタで LT をするつもりでした。諸事情によりってやつです。 さて Play で Scala.js をサポートしようぜって話は少し前からありますが、今のところまだ進展は…

Play 2 meetup を開催しました & スライドまとめ

ドワンゴさんを会場としてお借りして Play meetup を行いました。ありがとうございました! http://connpass.com/event/6020/ 発表資料をTLから拾ってまとめましたのでどうぞ。 Play と Scala のこれまでとこれから/@tototoshi (開会挨拶的なもので特に面白…

なんでこがいに並外れた Typesafe ができたんか言うたら...

「よくシリコンバレーのスタートアップが作ってるようなうさんくさいビデオ」を Typesafe も作っていました。 Typesafe activator ダウンロードするか、めんどくさい...とサイトに行ったらいきなりビデオ見せられました。なかなかのユーザー体験をしました。…

composer で依存関係から特定のライブラリを除外する

PHP

Maven でのこれ <dependencies> <dependency> <groupId>sample.ProjectA</groupId> <artifactId>Project-A</artifactId> <version>1.0</version> <scope>compile</scope> <exclusions> <exclusion> <groupId>sample.ProjectB</groupId> <artifactId>Project-B</artifactId> </exclusion> <…</exclusions></dependency></dependencies>

Python で Github Flavored Markdown をレンダリングする

前回の補足的な内容 python の Markdown ライブラリ自体は Github Flavored Markdown(GFM) をサポートしていない。 >>> import markdown >>> markdown.markdown("```python\ndef hello():\n print('hello')\n```") u"<p><code>python\ndef hello():\n print('hello')</code></p>"…

MoinMoin で Markdown (Github Flavored Markdown) を使う

Markdown のメモ帳として kobito を使っていたんだけど Qiita に新規投稿ができないし、過去の投稿は編集できるけど取得はできない(つまり書いた記事がいつのまにか巻き戻されている)という状態に頻繁になるので使うのをやめました。なんなんだ、嫌がらせか…

Scala.js について

Sendagaya.js(仮) で Scala.js について LT しました。 資料はこちら http://tototoshi.github.io/slides/sendagaya-js-scala-js/ スライドは Scala.js を使って作ってみました。 ソースコードはこちら。 tototoshi/scala-js-slide Scala.js は以前から知…

チーム開発とクソコード

今までパッケージソフトとかWebサービスの開発をしてきた中で、ビジネス上の納期や要求を満たすためにひどいコードを書くっていうのは自分の経験ではあまりなかった気がします。なにかひどいバグがあって、とりあえずのパッチを当てて間に合わす、ということ…

Scala 版 factory_girl みたいなのを作りました。

https://github.com/tototoshi/seedbedScala で factory_girl っぽいものを作りました。*1かなりお手軽な感じになっています。 依存ライブラリは特にありませんのでどのデータベースライブラリを使っていても大丈夫です。 動作は postgresql と h2 でのみ確…

+n month の罠

PHP

PHP Advent Calendar 2013 - Qiita の 23 日目です。 strtotime の話をします。 +n month の罠 日時を扱うのは大抵どの言語でも難しいです。PHPでももちろんそう。PHP で日付の足し算をするのには strtotime を使います。 echo date('Y-m-d', strtotime('201…

sbt-native-packager でお手軽に Scala アプリケーションの deb, rpm, zip を作成する

Scala Advent Calendar 13 日目の記事です。 sbt-native-packager の紹介をします。 https://github.com/sbt/sbt-native-packager http://www.scala-sbt.org/sbt-native-packager/ sbt-native-packager とは rpm, deb, universal(zip) パッケージが簡単に作…

アルパカの話をしました @ 怖いScala

怖いScala(http://connpass.com/event/4112/) で自作のブラウザ操作用簡易言語 alpaca の紹介をしてみました。 ブラウザを使った自動テストをしたいけどいろいろしんどいので挫折して、もう手動テストを高速に行うで妥協しよう、となったときの産物です。 ht…

sbt-musical の話をしました @ kwkni_scala

怖くないScala勉強会 http://connpass.com/event/3420/ で sbt-musical の話をしました。ので、スライド上げておきます。http://tototoshi.github.io/slides/kwkni-scala-best-compiling-ever/

play-flyway の話をしました @ 歌舞伎.tech #1

#kbkz_tech で play-flyway の宣伝をしました。 大したものではないですが資料上げときました。http://tototoshi.github.io/slides/kabukiza-tech-goodbye-play-evolutions/

PHPer はじめました 【2年ぶり 2度目】

xuwei_k にこんなこと言われてしまったので世の中が厳しい話をします。 Scala使いで某社に転職した人が、最近いくつかgithub上でPHPのプロダクトにstarつけてるのを観測して、あぁホントにPHPやってるのか・・・という感想。世の中厳しい2013-09-20 18:33:21…

Mac でファイルの変更を検知する

Linux の inotify 的なものが Mac にはないけれど、OS X の API を使えばできるらしい。で、それをお手軽に叩けるようにしたのが fswatch。https://github.com/alandipert/fswatch インストール $ brew install fswatch 使い方 $ fswatch-run [監視対象のパ…

ScalaでWebAppの開発に必要なN個のこと

PerlでWebAppの開発に必要なN個のこと - Islands in the byte stream の Scala 版です。 あるプログラミング言語で実際にWebAppを開発できるようになるまで、何が必要だろうか。言語仕様の習得は終えているとしよう。おそらく、最低限以下のような知識が必要…

play-flyway 0.2.0 をリリースしました

Flyway の Play プラグイン、play-flyway の 0.2.0 をリリースしました。https://github.com/tototoshi/play-flyway インストール Build.scala or build.sbt libraryDependencies += "com.github.tototoshi" %% "play-flyway" % "0.2.0"play.plugins 1000:co…

Scala のモデルクラスでプライマリキーとかをどう扱うかという話

お悩み相談です。Java とか Ruby、少なくとも ActiveRecord とか Hibernate とかではあまり気にならない話です。Scala で例えば Slick や Anorm, scalikejdbc などのクエリのサポートのみでモデルクラスの設計はユーザーに任されているものだと、プライマリ…

play-ascii-art-plugin 0.2.0 をリリースしました

https://github.com/tototoshi/play-ascii-art-pluginPlay の起動・終了時にアスキーアートを表示させるジョークプラグイン play-ascii-art-plugin の 0.2.0 ををリリースしました。play dist でのデプロイに対応しました。詳しくは前回のエントリを参照して…

Play で conf/ 以下のファイルを扱う場合の注意点

Play では conf/ 以下に設定ファイルや、マイグレーション用の sql を置きます。 場合によってはちょっとした画像をファイルを置くこともあるかもしれません。例えば、アプリ起動時にアスキーアートを表示するためにその素材を置くとか。あると思います。 こ…

Play 2.2, 2.3 Roadmap

https://docs.google.com/document/d/11sVi1-REAIDFVHvwBrfRt1uXkBzROHQYgmcZNGJtDnA/pubScala の重要と思うとこだけピックアップ。 2.2 Typesafe Activator Typesafe Activator っていうブラウザからプロジェクトのテンプレートを作ったり、開発できたりし…

sbt のプロンプトに git のブランチ名を表示させる

sbt は簡単にプロンプトが変えられることはご存知でしょうか。 build.sbt で shellPrompt を定義するだけです。 shellPrompt の型は SettingKey[State => String] なので := の右側には State => String という型の関数を定義します。 state ってなにって感…

コンパイル中に音楽を流せる sbt プラグインを作りました。

Scala のコンパイルが遅い件は「Scala コンパイル 遅い」とかで適当にググればいいと思います。 https://twitter.com/search?q=Scala%20%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB%20%E9%81%85%E3%81%84 コンパイルが遅いと開発速度が当然鈍りますから…

Play 2.0 と 2.1 での Akka Actor の使い方の違い

Play を使おうとしたら、全然パフォーマンスがでない、なんで? → Akka のチューニングが必要だった。 という話は Play 2.0 の頃から結構有名な話でした。http://qiita.com/items/0c4bb34a420665536db4 http://tech.furyu.jp/blog/?p=2069 http://gendosu.jp…

sbt-install 作った

https://github.com/tototoshi/sbt-installsbt は manual install するのが好みなんですが、あっ、このマシン sbt 入ってないとかあっ、sbt が古いってときに例の java -jar sbt-launch.jar するスクリプト書くのがいい加減めんどくさくなったので、インスト…

ヘッダーを見て cut するコマンド作った

データ処理でヘッダーがついてるtsv形式のデータファルを扱うことがあるんですが、フィールドが何番目か数えてから cut コマンドをするのがめんどいし、cut -f 1,3,12 みたいなのが暗号めいてていやなので、ヘッダーを指定して cut できるコマンドを作りまし…

Playのバージョンを比較するやつ書いた、が

Play はプロジェクトのバージョンと使用している Play コマンドのバージョンが食い違っていると警告が出るんですが、バージョンの比較が同じかどうかしか見ていないのにエラーメッセージが Update しろとかいうやつなので https://github.com/playframework/…

scalikejdbc-play-fixture-plugin を作りました

(また Play プラグイン作ったのかよと言われそうですが、、、) おしごと的な Play アプリでは Fixture 機能を自前実装して、それでテストをしていました。 ただ、scalikejdbc に依存していたため、そこだけ切り出して Play プラグインにするとかはしてません…

Play flyway プラグインを作りました

https://github.com/tototoshi/play-flywayPlay にはもともと Evolutions というデータベースマイグレーション機能がついていますが、それと同じような機能を Flyway で作りました。 Flyway は Java 製のデータベースマイグレーションライブラリなんですが、…

slick-joda-mapper を作りました

誰も java.sql.Date とかさわりたくないですよね。 Slick では標準では日付型として java.sql.Date を使うことになりますが、java.sql.Date は JDBC のための型で、UI やコントローラーとかの層に出てくることは不自然です。java.util.Date や joda-time の…

Scala Conference in Japan の感想

Scala Conference in Japan はほんとうに素晴らしいイベントでございました。運営チームの皆様ありがとうございます。これだけ満足できたイベントは初めてです。 今まで Scala Days とかに参加したくてもできなかったのですが、Scala Conference のおかげで…

Scala Conference in Japan でしゃべりました(オマケ付き)

Scala Conference in Japan でしゃべりました、ので、スライドあげときました。 Scala のバイナリ互換性などの問題とその解決法などです。 Talked in Scala Conference in Japan. Thanks. I Uploaded my slides to gh-pages. See below. I talked mainly abo…

【再】Play 2.x の QueryStringBindable, PathBindable について

先日 Play 2.x の QueryStringBindable, PathBindable について - tototoshiの日記 で joda-time 用に QueryStringBindable[T] を定義して遊びましたが、それをライブラリ化しました。ご自由にお使い下さい。tototoshi/play-joda-routes-binder · GitHub 設…

scalikejdbc-config モジュールを作りました

scalikejdbc 使うときに、設定ファイル読んだりするのがめんどくさくなったので、typesafe-config を使って application.conf を読む処理をまとめました。 https://github.com/tototoshi/scalikejdbc-config (中略) scalikejdbc 本体に入れてもらいました。 …

【宣伝】Scala Conference in Japan 2013 で15分くらいしゃべります

スピーカー応募しようか迷ってたんですが、スポンサー枠で出ることになりました。「泣かないための Scala ライブラリの使い方・作り方」という釣りっぽいタイトルで、スポンサー枠なのに仕事と全然関係ないことをしゃべります。 http://www.scalaconf.jp/ja/…

Play 2.x の QueryStringBindable, PathBindable について

よしださんのこんなツイートを見たので、 https://twitter.com/xuwei_k/status/302445064976732160 Play 2.x ではリクエストの処理をどのコントローラーのどのアクションに任せるか、 conf/routes というファイルで定義します。そのとき、パスやクエリストリ…

play-json4s をリリースしました

https://github.com/tototoshi/play-json4sPlay 標準の Json はちょっと使いにくいなあということで、以前 Play でも lift-json を使えるようにするライブラリ(https://github.com/tototoshi/lift-json-play-module)を作りました。 Play 2.1 のリリースとと…

Scala用のCSVライブラリを作りました

https://github.com/tototoshi/scala-csv 結構前に作った scala-csv というやつを、2.10.0 対応しました。 ついでに Maven central に置いてもらうことにしました。 実装は、Java のライブラリをラップしただけです。 使い方 build.sbt に以下の行を加えてく…

図で分かるfoldLeft

foldLeft って map, filter, foreach といった他の高階関数に比べて難しい気がします。多分いきなり「畳込み」とか「アキュムレータ」とか言うからだめで、手続き脳フレンドリーな言い方は「ループの変形」なんじゃないかと思いました。実は書くだけだったら…

ScalaLogging の使い方

https://github.com/typesafehub/scalalogging Scala 2.10.0 に合わせて ScalaLogging が 1.0.0 としてリリースされました。 ScalaLogging とはその名の通りロギングのためのライブラリです。と言ってもログを出力するためのライブラリではなく、log4j や sl…

Play2 でファイルアップロードをテストする

Play2.0 の FakeRequest って withFormUrlEncodedBody はあるけど withMultipartFormDataBody はありません。 ですが、FakeRequest[MultipartFormData[TemporaryFile] ] を地道に作ってあげれば大丈夫。*1 こんな感じになります。 package controllers impor…

Slick ガイド

この記事は Play or Scala Advent Calendar 2012 の 4日目です去年 ScalaQuery の記事を書いたのですが、今年はその後継、Slick です。 Slick とは? Slick とは Typesafe stack に名を連ねる Typesafe 社お墨付きの ORM です。以前は ScalaQuery と呼ばれて…

僕達プログラマはちょっとした Excel に Scalaz を使います!

出オチ乙 この記事は Scalaz Advent Calendar 2012 の 3日目です。 poi.scala という Apache POI のラッパーを教えてもらったのですが、これに Scalaz が使用されていたので紹介します。Scalaz を使って Excel 使うなんて倒錯したなにかを感じます。 "folone…

sbt 0.12.x から導入された binary version について

Play 2.1-RC1 を使おうとしたらいろいろハマったのでまとめました。 scala 2.9系, sbt 0.11系 までの依存管理 scala の異なるバージョンのScala用にビルドされたライブラリは使えないことがあります。 例えば、Scala2.8と2.9ではバイナリ互換性がないので、2…