タグ

scalaに関するrightgo09のブックマーク (16)

  • sbtの基礎力をつけるために調べたことメモ - Qiita

    name := "myProject" version := "1.0" scalaVersion := "2.11.7" libraryDependencies += "org.apache.derby" % "derby" % "10.4.1.3" この基形以上はよく分からないまま使っているんだけど、 もっとSBT使えるようになりたいので、そのために調べてみたことを書いてみる。 この書き方は何? lazy val root = (project in file(".")) .settings( name := "MyProject", version := "1.0", scalaVersion := "2.11.7", libraryDependencies += "org.apache.derby" % "derby" % "10.4.1.3" ) 最初の基形と同じことを違う書

    sbtの基礎力をつけるために調べたことメモ - Qiita
  • https://dwango.github.io/scala_text/

  • Play Frameworkのソースコードリーディング Action周り - Qiita

    val hello = Action { Ok("hello") } def echo = Action { request => Ok("Got [" + request.body + "]") } なお、対象のPlay Frameworkのバージョンは2.3.2。 はじめに Actionがやることは一言でいうとHTTPリクエストを受け取ってHTTPレスポンスを返す、要はこれ。 Play Frameworkでこれを実施するにあたってHTTPリクエストとHTTPレスポンスに該当するものを先に整理しておく。 HTTPリクエスト play.api.mvc.RequestHeader play.api.mvc.Request RequestはRequestHeaderを継承しており、両者の違いは前者がbodyなし、後者はbodyありということ。 以下のように記述した際のrequestの型はリクエ

    Play Frameworkのソースコードリーディング Action周り - Qiita
  • Skinny Framework で始めた Scala

    Skinny Framework Meetup Tokyo 2 https://skinnyjp.doorkeeper.jp/events/35750

    Skinny Framework で始めた Scala
  • なぜあなたの sbt はすぐに起動しないのか - Qiita

    特に Scala 初心者だったとき、Scala を始めようとして「なかなか jar ファイルが落ちてこなくてコードが書き始められない」という問題に遭遇したことがある方も多いのではないかと思います。Advent Calendar の穴埋めのネタとして、それについて少し説明してみようと思います。 参考:下り 60Mbps での結果 http://qiita.com/seratch@github/items/0df29e637a9f9b3d7dec sbt (Scala Build Tool) まず前提として Scala のビルドツールは Gradle や Maven も利用可能ですが、Typesafe 社が開発している sbt というビルドツールが主流です。 この記事時点での最新バージョンは 0.13.9 です。 https://github.com/sbt/sbt/releases このとこ

    なぜあなたの sbt はすぐに起動しないのか - Qiita
  • Cake Pattern を理解する - daimatz.net -

    Posted on 2014-01-28 tags: scala, oop オブジェクト指向とテストについて 私はオブジェクト指向や特に自動テスト周りの実務経験に乏しいわけですが、最近になってようやくテストをきちんと書いたりテストファーストによって良い設計になるみたいな実感を得たりしています。長らくテストを書かない文化にいたので、注意しないとすぐにモノリシックな設計になってしまい、後から「テスト書くのどうすんだこれ」みたいになってしまうことも多い。 で、最近 Dependency Injection という依存性をうまいこと抽象化しておく仕組みについて学んだので、その Scala における代表的なデザインパターンである Cake Pattern で実装した話です。 Dependency Injection 依存性の注入とか訳される、依存しているオブジェクトを直接クラスの中に持っておくのでは

  • さだまさし弱者すぎて困ったので Scala でコンパイルすることにした話 - Qiita

    斬新なアドベントカレンダーで毎回楽しみに拝読していましたが、ポッカリと 20 日目だけが空いていることに気づき、何か書こうと思い立って登録しました。しかし、一つ重要なことを見落としていたことに気づきます。 にわかどころか、一般人レベルの知識すら怪しい・・ これまで 30 年以上もろくにさだまさしさんのことを知らないまま生きてきてしまったので、一般人レベルの知識かそれ以下しか持ち合わせていないことに気づきました。 お恥ずかしながら「さだまさしの曲名を 10 挙げてみろ」と言われただけで「もうお手上げです・・」となりかねないという体たらくです。「神田川」がさだまさしではなく南こうせつの曲であることはさすがに存じ上げておりましたが、基的にはズブの素人といっていいレベルです。 この有り様では、このアドベントカレンダーに参加されている他のさだまさしマニアの方々はもちろんのこと、このアドベントカレン

    さだまさし弱者すぎて困ったので Scala でコンパイルすることにした話 - Qiita
  • Scala使用歴5年のプログラマが、この言語とその環境に関する神話を解き明かす | POSTD

    (注:2016/1/21、頂いたフィードバックをもとに記事を修正いたしました。) 『 Programming in Scala (Scalaでプログラミング) 』の初版を読み始めた(でも読み終えていない)5年前からJavaの代わりにScalaを使うようになりました。最初はテストの時に使用していましたが、すぐにちょっとしたユーティリティクラスでも使用するようになり、気付いたらプロジェクト全てで使用するようになっていました。 Scalaに対する不満は多く存在しますが、この記事は違います。これは非難するものではなく、むしろ称賛するものです。 Scalaに興味ある開発者や聞いたことがあっても詳しく見たことがない人、「スムーズなプログラミングの妨げになる」と思い使用を先送りしていた人のために書きました。もちろんScalaファンに読んでもらうのも、他の人にも紹介してもらうのも大歓迎です。 この記事は3

    Scala使用歴5年のプログラマが、この言語とその環境に関する神話を解き明かす | POSTD
  • PHP のトレイトに気をつける - tototoshi の日記

    普段 Scala でトレイトを使いまくってるけれども PHP にも 5.4 からトレイトが入った。 trait の良いところは多重継承のできない言語で多重継承っぽいことができることだ。 use, use とつけていけば、いくらでも追加できる。DRY に書けてよいことだ。 対して悪いところはいとも簡単に複雑で暗黙的な依存関係が生まれることだ。 例えばこんなの <?php trait Greeting { public function say() { if ($this->location == 'ja') { echo 'こんにちは' . PHP_EOL; } else { echo 'Hello' . PHP_EOL; } } } class Location { } class US extends Location { use Greeting; private $location

    PHP のトレイトに気をつける - tototoshi の日記
  • Scala的な考え方 - Scalaがとっつきにくいと思っている人へ - ( ꒪⌓꒪) ゆるよろ日記

    Javaな人から見ると、「Scalaって難しい」ってイメージがありますね。俺も最初はそう思ってました。今もですけど。 で、考えてみたんですが、何が難しいって考え方・イディオムになじみがないのが原因かと思ったんです。 ここでは、俺が今までScalaをやってきて得た考え方を紹介します。「Scalaをちょっとやってみたんだけど、とっつきにくくて…」と思われている方は、ぜひご一読ください。 参考資料: Scala入門 - Scalaで書きはじめたJava使い向け - Scala勉強会@東北 Dropbox - 404 神は言われた。「リストあれ。」 Lisperは、リストをどう作るかをまず考えるらしいです。適切なリストが出来たら、プログラムはもうできたも同然だと。同じ考え方は、Scalaでも通用すると思います。 大まかに、こんな流れで考えてます。(リストは最初から与えられることもあるでしょう) 「

    Scala的な考え方 - Scalaがとっつきにくいと思っている人へ - ( ꒪⌓꒪) ゆるよろ日記
  • Scala の implicit parameter は型クラスの一種とはどういうことなのか - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

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

    Scala の implicit parameter は型クラスの一種とはどういうことなのか - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
  • (もりそば)Scalaによる高階型変数 - Higher-kind Generics - ( ꒪⌓꒪) ゆるよろ日記

    「ハイヤーーーーーッッ!!!」 と気合いを入れたところで、今日はScalaのコレクションライブラリで多用されている、Higher kind genericsについて軽く解説したいと思いハイヤーーーーーッッ!!! Higher-kind Generics(type constructor parameter)って? まぁぶっちゃけ@kmizu が解説してくれてるのでコレ読んでもらえばおけです。 ScalaのHigher-kind Genericsについて - Togetter そういえば最近Javaでもid:Nagiseによるこんな話がありましたね。 Javaによる高階型変数の実装 - プログラマーの脳みそ Java による高階型変数と Scala とジェネリクス - Togetter 要は、型パラメータを取る型パラメータ(?)が使えるよって話。 trait AttrHelper[+Hold

    (もりそば)Scalaによる高階型変数 - Higher-kind Generics - ( ꒪⌓꒪) ゆるよろ日記
  • 【ScalaMatsuriセッション当選御礼】ドワンゴ秘伝のトランザクションモナドを解説! - Qiita

    このたびはScalaMatsuriのセッションに投票していただき、ありがとうございました。 今回はそのScalaMatsuriのセッションで発表予定の内容の一つであるドワンゴ秘蔵のトランザクションモナドについて解説したいと思います。 このトランザクションモナドは基的な機能だけなら30行ほどの短いコードで記述できてしまうのですが、なかなか説明が難しい代物でして、 ScalaMatsuriの自分の発表時間内に聴衆のみなさんに理解していただくのは難しいだろうということで、先に解説記事を書くことにしました。 このトランザクションモナドは作者の名前から通称Fujitaskと呼ばれているのですが、作者の方は周りから「天才」と言われてまして、彼は常人が思いつかないようなコードを書かれるんですね。 Fujitaskは短いながらも、モナドと、サブタイピング(変位指定)と、アドホックポリモーフィズムの三つの

    【ScalaMatsuriセッション当選御礼】ドワンゴ秘伝のトランザクションモナドを解説! - Qiita
  • Scala入門記 - $shibayu36->blog;

    僕はこれまでまともに学習したプログラミング言語がPerlJavaScriptしかなくて、静的言語的パラダイムや関数型パラダイムは概念は知っているものの、それがどう役に立つのか、逆にどういう面で課題がありどのように対処されているのか、などといったことを知らなかった。知らなくてもまあ仕事PerlとJSでやっているので問題ない。しかしすでにこれらの言語から得られる概念的な知識の吸収の速度が鈍化してきていて、このままではエンジニアとしてまずいのではないかという危惧感があった。 そこで静的言語であり、関数型言語であり、また社内でも使われ始めているためサンプルコードがあるScalaの学習をすることにした。 学習するにあたって困ったことは、どういうドキュメントを読み、どのように実践するとScalaの概観をつかめるか分からないということだった。そこで今回は自分の経験を踏まえて、このように入門していくと

    Scala入門記 - $shibayu36->blog;
  • Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」

    Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」

    Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
  • RubyからScalaに乗り換えた15くらいの理由 - ヽ( ・∀・)ノくまくまー(2010-04-26)

    ● [Scala] RubyからScalaに乗り換えた15くらいの理由 [注意] この文章を読むと、既存のRubyコードをScalaでrewriteしたくなる、 Rubyコードで型チェックをやるのがになる、Ruby案件でやる気が出なくなる、 などの幻覚や異常行動が報告されています。 現在関わっているプロジェクトや家族のことを常に意識し、 気を強く持って冷静に読むとよいでしょう。 「Scalaプログラミング入門」を読みはじめて、いきなり大きく頷いてしまった。 "コーディング時間の半分をテスト作成に費やさなければならなかった"(p.3) "Railsによって得られた生産性の向上は、テスト作成の作業に失われてしまいました"(p.3) まさにここ数年私が抱いてた漠然としたストレスの正体が、的確に文章となっていたからだ。そしてほどなく、「あ、この機能がRubyに欲しかった!」という驚きと共に Sc

  • 1