タグ

scalaに関するmarshiのブックマーク (11)

  • 今年はScalaもSwiftも! はてなサマーインターン2015を元に「はてな教科書」を最新化しました - Hatena Developer Blog

    こんにちは、アプリケーションエンジニアの id:pokutuna です。 「はてな教科書」は、はてなで Web 開発に携わるエンジニアのために作られた1週間で Web アプリケーション開発の基を身につけるための教科書です。はてなサマーインターンシップや、入社時研修に利用されています。2012年から GitHub 上で公開しており、どなたでも読むことができます。 はてなでは継続的に教科書を更新していますが、特に毎年のインターンの講義内容をフィードバックしています。今回の更新では、新しくはじまったScalaSwiftのコースで利用した教科書を追加しました。アプリケーションの学習や研修題材としてどうぞご利用ください。 Scala の教科書を追加しました 今年のインターンでは Mackerel の開発に取り組む 「クラウドサーバ管理システムコース」コースが開催されました。去年までのインターンで

    今年はScalaもSwiftも! はてなサマーインターン2015を元に「はてな教科書」を最新化しました - Hatena Developer Blog
  • Slick ガイド - tototoshi の日記

    この記事は Play or Scala Advent Calendar 2012 の 4日目です 去年 ScalaQuery の記事を書いたのですが、今年はその後継、Slick です。 Slick とは? Slick とは Typesafe stack に名を連ねる Typesafe 社お墨付きの ORM です。以前は ScalaQuery と呼ばれていたものが、Slick と名称を変更し、開発が続けられています。現在の最新は 0.11.2 です。 Slick は Scala 2.10 をベースに開発されていて、マクロなどの新機能も利用されています。現時点ではORMとしてデファクトスタンダードではなく、Squeryl と人気を二分している状態です。 Slick を使うメリット・デメリット Slick のメリットはなんといってもかっこいいシンタックスだと思います。Scala のコレクションの

    Slick ガイド - tototoshi の日記
  • Typesafe Configを使って環境設定を切り替えしてみる | Scala Tech Blog

    こんにちは。DynalystのHanです。Dynalystではアプリケーションの設定にTypesafe Configを使っています。 そこでProductionやテスト環境毎にアプリケーション設定をどう切り替えてるのかについて簡単に紹介したいと思います。 Typesafe Configを選んだ理由 Scalaをやる前まではJavaエンジニアだったのでアプリケーションの設定ファイルなら何も考えず.propertiesに定義するのは定番だけど、せっかくScalaをやり始めてるのでScalaの開発ではどのライブラリがよく使われているのかを調べていました。 そこで発見したのがTypesafe Configです。 .propertiesも勿論対応してますし、ResourceBundleより便利な機能がたくさんある。 そしてAkka, Play, Slick, SprayなどScalaでは有名なOpe

  • Slick でテーブル定義のコードを自動生成する - tototoshi の日記

    Slick 2系では experimental 扱いではありますが、コード生成の機能が含まれていて、 めんどうなテーブル定義のコードを自動生成することができます。ちょっとやってみましょう。 テスト用のテーブル、こんな感じです。 slickcodegenexample=# CREATE TABLE users ( id serial PRIMARY KEY, first_name varchar(100) NOT NULL, last_name varchar(100) NOT NULL, birth_date timestamp NOT NULL ); コード生成機能は slick 体の jar ではなく、slick-codegen と言う jar に含まれています。使用しているデータベースに合わせた jdbc driver も必要です。それぞれ build.sbt の libraryD

    Slick でテーブル定義のコードを自動生成する - tototoshi の日記
  • Scalaコレクションメソッドメモ(Hishidama's Scala collection method Memo)

    Scalaのコレクションの主なメソッド一覧。主なっちゅうか、共通メソッドとしてはほぼ全部。多すぎるわ!(苦笑) 全要素の順次処理(foreach・map等) [/2011-09-18] 存在の判定・位置の探索(isEmpty・indexOf等) サイズ取得(size・count等) [/2011-03-05] 位置(添字)による要素の取得(apply・get・head・last等) [/2013-06-08] 位置によるサブコレクションの取得(init・tail・take・drop等) [/2011-09-18] 条件判定による要素やサブコレクションの取得(find・filter等) [/2016-10-10] 要素の条件判定(exists等) 要素同士の演算(fold・reduce・sum・max等) [/2016-10-10] 要素の追加・更新(++・:+等) [/2011-09-18

    marshi
    marshi 2015/05/18
  • Finagleハッカソンへ行ってきたっ! #finagle_hack - コードジガー

    Scalaを始めて数ヶ月、より深くScalaを学ぶためにTwitter製RPCフレームワークであるFinagleで遊び倒そうの会へ参加してきました。 まったくのFinagle初心者の私でしたが、水島さん(@kmizu)のわかりやすい資料や中村さん(@gakuzzzz)の解説のお陰でFinagleは触って遊ぶことができました! ありがとうございました(´∀`) また、会場を提供してくださったTwitter Japanの山裕介さん(@yusukey)にも良くしていただいて、至れり尽くせりでした! 沢山のノベルティグッズも頂きました! 以下、ハッカソンを通じて学んだことのメモみたいなものφ(`д´)メモメモ... Finagle(ふぃねーぐる)とは、Twitter製の非同期RPCフレームワークで、RPCのシステムを作るためのフレームワーク。 ※ Apache Thriftのように、それ自体がR

    Finagleハッカソンへ行ってきたっ! #finagle_hack - コードジガー
  • Scala の implicit parameter は型クラスの一種とはどういうことなのか - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    なんか型クラスとか言うと型の怖いひとたちが怖い話をワイワイしてるイメージがありますよね。わたしはあります。「で、それって何がうれしいのよ」とか、そういう話はあまりされていないような印象がありますね(あくまで印象です)。その上 "Scala の implicit parameter は型クラスの一種" とか言われると「暗黙的な引数がなんで型クラスの一種なんや!!!意味がわからん!!!!」となります。わたしはなりました。 というわけでそのへんについて勉強したので書きます。 そもそも型クラスってなんや Haskellとかにあるやつですね。アドホック多相を実現するもの、らしいです。すごい、いきなり意味がわからない。 というわけで、まずは「アドホック多相ってなんなの」という話からして行きます。 さて、まずは「多相」から行きましょう。この文脈で言う多相とは、簡単に言えば「引数にいろんな型を取れる」とい

    Scala の implicit parameter は型クラスの一種とはどういうことなのか - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
  • Play framework 2.3.x と Scaldi で Dependency Injection

    Play2でDIをどうしようか悩んでいたところscaldiというライブラリが目に止まった。Playに組み込むためのライブラリをあるし、公式サイトも作り込まれているし、これは試すしかない。 ただし日語の情報は無いに等しい。Guiceほどメジャーでもないし人柱感覚で使う必要がありそうだ。 インストール# build.sbtのlibraryDependenciesにscaldiを追加する。

    Play framework 2.3.x と Scaldi で Dependency Injection
  • 図で分かるfoldLeft - tototoshi の日記

    foldLeft って map, filter, foreach といった他の高階関数に比べて難しい気がします。多分いきなり「畳込み」とか「アキュムレータ」とか言うからだめで、手続き脳フレンドリーな言い方は「ループの変形」なんじゃないかと思いました。実は書くだけだったら手続き的ループから機械的に変換できます。 こういう目で見ると、map, filter が foldLeft で実装しろみたいなありがちな練習問題もとても簡単ですね。 ちょっと複雑なものも一回ループで書いてしまってそれから foldLeft に変形するというズルができます。

    図で分かるfoldLeft - tototoshi の日記
    marshi
    marshi 2015/03/07
  • ScalaのPartialFunctionが便利ですよ - ( ꒪⌓꒪) ゆるよろ日記

    Scalaには、PartialFunctionというものがあります。 直訳すると部分関数ですが、これはなにかっていうと「特定の引数に対しては結果を返すけど、結果を返せない引数もあるような中途半端な関数」です。 どうやって使うのん? まぁ、ちょっと例を見てましょうや。PartialFunctionであるfooPfは、引数が"foo"だったら"bar"を返して、"foo"以外は知らんというてきとーな関数です。 scala> val fooPf:PartialFunction[String,String] = { case "foo" => "bar" } fooPf: PartialFunction[String,String] = <function1> scala> fooPf("foo") res5: String = bar scala> fooPf("hoge") scala.Mat

    ScalaのPartialFunctionが便利ですよ - ( ꒪⌓꒪) ゆるよろ日記
    marshi
    marshi 2015/02/26
  • sbt 0.12.x から導入された binary version について - tototoshi の日記

    Play 2.1-RC1 を使おうとしたらいろいろハマったのでまとめました。 scala 2.9系, sbt 0.11系 までの依存管理 scala の異なるバージョンのScala用にビルドされたライブラリは使えないことがあります。 例えば、Scala2.8と2.9ではバイナリ互換性がないので、2.8向けにコンパイルされたライブラリは、2.9のプロダクトで使用することはできません。 使用すると、クラスが見つかりません、メソッドが見つかりません、など、まあなんらかのエラーで死にます。 この問題があるため、ScalaではライブラリのバージョンをScalaのバージョン込みで管理する必要があります。 artifactID の後ろに Scala のバージョンをくっつけるのがスタンダードです。 libraryDependencies += "com.example" % "utility_2.9.1"

    sbt 0.12.x から導入された binary version について - tototoshi の日記
    marshi
    marshi 2015/02/25
  • 1