タグ

scalaに関するrudo108のブックマーク (159)

  • Play Framework 2.2 Scala 最初の1週間で困った雑多なこと - tkawachi Blog

    Play Framework 2.2.1 + Scala を触り始めて一週間くらいたった。 触りながら困った点(というか「疑問に思った」程度のものが多いが)をメモしていたので晒しておく。 雑なメモで無知を晒すのは恥ずかしいが、同じことではまる人がいるかもしれないもんね。 間違っているところがあったらコメントで教えてもらえると大変嬉しいです。 Play 関連 Q: app/assets/ と public/ の違いは? A: app/assets は CoffeeScript, LESS など preprocess するもの。public はしないもの。 Q: bindFromRequest すると Cannot find any HTTP Request here って出るよ。 A: Action の先頭に implicit request => を付ける。 Action { implic

  • Playコントローラ/Action/HTTP Routerの基本的な使い方

    Playコントローラ/Action/HTTP Routerの基的な使い方:Scala+Play 2.0でWebアプリ開発入門(4)(1/3 ページ) 2.0からScalaに対応したWebアプリ開発の人気軽量フレームワーク「Play」について解説し、Webアプリの作り方を紹介する入門連載。今回は、ユーザーのHTTPリクエストを受け取り、HTTPレスポンスを返すためのコントローラを解説。先日リリースされたPlay2.1の紹介も。

    Playコントローラ/Action/HTTP Routerの基本的な使い方
  • 【#Play】続・Play Framework 2.3 (Scala) を使った Web システム開発入門 #Play_ja #Scala #rpscala - Qiita

    【#Play】続・Play Framework 2.3 (Scala) を使った Web システム開発入門 #Play_ja #Scala #rpscalaScalaPlayPlayFrameworkPlay2slick Play Framework 2.3.x と Scala を使った Web システム開発について勉強した際の内容を自分用のメモとしてまとめました。 この記事は、【#Play】Play Framework 2.3 (Scala) を使った Web システム開発入門 の続きです。 「顧客情報の登録/検索/更新/削除」、「商品情報の登録/検索/更新/削除」、そして、「受注登録」を行うための簡単な 受注管理システムを作成することを目指します。 3: 「商品情報管理」機能の実装 前回までの部分で 「顧客情報管理」 機能の実装が完了しました。 同じ要領で 「商品情報管理」 機能を実装

    【#Play】続・Play Framework 2.3 (Scala) を使った Web システム開発入門 #Play_ja #Scala #rpscala - Qiita
  • Scalaで設定ファイルを使いたい時どうしたらいいの? · I Will Survive

    August 30, 2011 - Scala 2011.08.31 kmizushimaさんから頂いたコメントを元に、下記の記述を修正&追記しました。 Twitterのutil-evalの一時ファイル生成について AkkaのConfigファイルのパース手法について TwitterのOAuthの鍵やDB接続情報など、アプリを書く上で環境によって切り替える設定が大抵の場合あると思います。普段使っているPHPの場合、設定を外部ファイルに書きだす場合、ini,yaml,xml,phpのいずれかを使うことが多いのですが、Scalaの場合、設定ファイルってどうするのか気になりました。 ということで、適当に思いついたライブラリやフレームワークがどのように対応しているのか調査。 ライブラリ propertiesファイル javaの古くから使われている キーと値のみ設定可能 依存関係がないので手軽。 すべ

  • Scalaのnull/Nothing/Nil/Noneはやりすぎなのか? - ぐるぐる~

    Twitterしてたら目に入ったので軽く。 Javaにおけるnull。これまでとこれから この後のスライドで、 Scalaにおける「何もないもの」の分類はやり過ぎ感はある と言われているんですが、ある程度は誤解に基づく意見だよなぁこれは、ということを言っておこうかなと。 Scalaについて 日では説明が不要なくらいScalaって有名になってると思うんですが一応。 ScalaはJVMの上で動作する、(クラス指向の)オブジェクト指向プログラミングと関数型プログラミングを融合させた言語です。 そして、Scalaのコア機能はどちらかというとオブジェクト指向プログラミング寄りです。 オブジェクト指向プログラミングをベースに、関数型の色々なものを実現している感じです*1。 オブジェクト指向プログラミング的な機能として真っ先に思いつくのは何でしょうか? 割と上位の方に、「継承」とか「型階層」とか来るん

    Scalaのnull/Nothing/Nil/Noneはやりすぎなのか? - ぐるぐる~
  • Scalaを用いて分散IDワーカを実装する | チャットワーククリエーターズブログ

    お久しぶりです。かとじゅん(@j5ik2o)です。さて、僕は、ChatWorkに入社しても、相変わらず Scala や DDD を実践しているわけですが、今回は少し毛色が違う話をしたいと思います。先日、ChatWork Advent Calendar 2014 15日目の記事で、安達くんが、ID生成器の話を書いてくれたので、せっかくなので、ChatWork Advent Calendar 2014 23日目の記事として、Scala版も説明してみようかと思います。 PHPでID生成器を実装してみました | チャットワーククリエーターズブログ DBのシーケンスによるID生成ウェブサービスでは、時系列データを扱うことはよくありますが、タイムスタンプベースでユニークなIDを利用したいことがあります。方法論はいくつかありますが、お手軽なID生成といえば、DBのシーケンスを使ったものです。しかしながら

    Scalaを用いて分散IDワーカを実装する | チャットワーククリエーターズブログ
  • オブジェクト指向言語としての Scala 入門 - seratch's weblog in Japanese

    入門記事の一覧 About - case class HatenaDiary(id: Symbol = ’seratch2) Scalaのバージョン この記事が対象とする Scala のバージョンは「2.9.2.final」です。 Anyを頂点とするクラス階層 Scala では scala.Any が全ての型の親です。 scala.Any の下には scala.AnyVal と scala.AnyRef がいます。 java.lang.Object を親に持つ全ての Java オブジェクトは scala.AnyRef 型として扱うことができます。 AnyVal は Byte,Int,Boolean などの親で AnyRef はそれ以外の型の親になります。 全てがオブジェクト Scala では Java でいう primitive 型(基型)は存在せず、すべてがオブジェクトです。 たとえば

    オブジェクト指向言語としての Scala 入門 - seratch's weblog in Japanese
  • C#使いをScalaに引き込む必要ないのにちょっと比べてみる - xuwei-k's blog

    なんかJava使いをScalaに引き込むサンプル集っていうのが話題になってたから書いてみた。反省はしていない( `ー´) べつに喧嘩したいわけじゃないっていうか、そもそもC#使いをScalaに引き込む必要ないし、誰得?ってことになるわけなのですが。 ただ、自分自身の話すると、まだ社会人2年目ですが、C#もscala仕事でそれなりに数ヶ月は経験してます。 scala知ってる人に、"C#できますか?"って聞いても、できる人がほとんどいなく、悲しい思いをすることが多いです。個人的には、scalaちゃんもC#たんもかわいい @GrierVelsXX @xuwei_k フォローと応援、是非宜しくお願いいたしますless than a minute ago via TweenC#たん csharp_tan ↑なぜか話しかけられたw とかではなく、まぁまぁC#も言語として好きなので、まぁちょっと自分な

    C#使いをScalaに引き込む必要ないのにちょっと比べてみる - xuwei-k's blog
  • Scalaのマクロの基礎。評価タイミング、評価回数と、健全性 - xuwei-k's blog

    Scalaのマクロというより、一般的にマクロに共通する基であり重要な部分です。それをScala使って説明するだけです。 Scalaのマクロは、未だexperimentalという位置づけで、他の機能に比べれば仕様やAPIが変わりやすい状態です。そして、機能が搭載されてからあまり時間が経っていないこともあって*1あまり一般的に使われているとはいえない状態でしょう。しかし、Cなどのマクロとは違い、Scalaのものはある程度は格的にコンパイル時に抽象構文木を自由にいじれるものであり、使いこなせるようになってくるとなかなかおもしろいです。 マクロというと、ある程度の人はLispを思い浮かべると思いますが(?)、先ほど書いた「格的に抽象構文木いじれる」という点はまさにLispと共通する部分もあります(もちろん異なる部分も多くあります)。 つまり、これから説明することは、On Lisp*2 On

    Scalaのマクロの基礎。評価タイミング、評価回数と、健全性 - xuwei-k's blog
  • で、結局型クラスって何がうれしいの、ということの説明 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    前回の記事では、Scala では implicit parameter を利用することで型クラスと同等のことが実現できることがわかりました。しかし前回の疑問として、「で、それの何がうれしいのよ」というのは残っていましたね。 今回はそのうれしみをなるべくわかりやすく説明したいと思います。 たとえば、色んなクラスに flipFlap メソッドを生やしたい まず、前回と同じく「値をひっくり返す」という flipFlap について考えてみましょう。 前回は関数を作りましたが、Scalaらしく、こういう動きにしたいですね 1.flipFlap // => -1 true.flipFlap // => false "string".flipFlap // => gnirts Scala ではクラスを拡張するときには implicit conversion を使うのが一般的ですね。 class IntF

    で、結局型クラスって何がうれしいの、ということの説明 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
  • scalaのDSLの片鱗に触れる。(第9章から第14章) - from scratch

    Scalaスケーラブルプログラミング第2版 作者: Martin Odersky,Lex Spoon,Bill Venners,羽生田栄一,水島宏太,長尾高弘出版社/メーカー: インプレスジャパン発売日: 2011/09/27メディア: 単行(ソフトカバー)購入: 4人 クリック: 109回この商品を含むブログ (28件) を見る Javaで手が届かないかゆいところに手が届く感はやっぱり素晴らしい。 例えば、第13章では公開と非公開の話。protectedとメンバーにつけた場合、Javaだとパッケージ内から見れば丸見えになる。でも、Scalaはデフォルトが継承しないと公開されない。「デフォルトでは」なので、protected[ABC]とABCにパッケージ名を記入すればJavaのようにパッケージ内から丸見えにできる。 読み始めて二週間、上の例もそうだけど、色んな書き方ができる素晴らしさをひ

    scalaのDSLの片鱗に触れる。(第9章から第14章) - from scratch
  • InfoQ: ScalaとSpring:両世界のベストを一体化

    このドメインモデルに基づいて、まず第一に、このアーティクルでは、どのようにHibernate/JPAを使って、Scalaにおける Personエンティティ用の ジェネリックData Access Object (DAO) と具体的なDAOの実装方法を示す。その結果、 PersonDaoに、 CRUD操作が実行できるようになりる。例: val p1 = new Person(“Rod Johnson”) val p2 = dao.findByName(“Martin Odersky”) p1.link(p2) personDao.save(p1) Step 2 それからこのアーティクルは、Person エンティティを「リッチな」ドメインオブジェクトに変換するのに、何が必要なのかを要約する。このオブジェクトは、内部で NotificationServiceを使って、linkメソッドが呼ばれたと

    InfoQ: ScalaとSpring:両世界のベストを一体化
  • Effective Scala

    Effective Scala Marius Eriksen, Twitter Inc. marius@twitter.com (@marius) [translated by Yuta Okamoto (@okapies) and Satoshi Kobayashi (@scova0731)] Table of Contents 序章 書式: ホワイトスペース, 命名, インポート, 中カッコ, パターンマッチ, コメント 型とジェネリクス: 戻り型アノテーション, 変位, 型エイリアス, 暗黙 コレクション: 階層, 使う, スタイル, 性能, Java コレクション 並行性: Future, コレクション 制御構造: 再帰, Return, forループと内包, require と assert 関数型プログラミング: 代数的データ型としてのケースクラス, Option, パターンマ

    Effective Scala
  • Javaの常識を変えるPlay framework入門

    サーブレット/JSPを基にする重厚長大なJavaのWeb開発のイメージを変える軽量フレームワーク「Play」について解説し、Webアプリの作り方を紹介する入門連載 Java開発で泣かないためのPlay frameworkの基礎 Javaの常識を変えるPlay framework入門(1) Java軽量フレームワークの概要や背景を紹介し簡単なWebアプリを実行します。Eclipseでも使えるように変換する方法も解説

  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

  • 型タグとマニフェスト

    ⚠️ Beware of Scams: since Feb 2024, scammers are using fake Scala websites to sell courses, please check you are using an official source. 他の JVM言語同様に、Scala の型はコンパイル時に消去 (erase) される。 これは、何らかのインスタンスのランタイム型をインスペクトしてもコンパイル時に Scala コンパイラが持つ型情報を全ては入手できない可能性があることを意味する。 マニフェスト (scala.reflect.Manifest) 同様に、型タグ (TypeTag) はコンパイル時に入手可能な全ての型情報を実行時に持ち込むオブジェクトだと考えることができる。 例えば、TypeTag[T] はコンパイル時の型 T のランタイム型形式をカプ

  • visible true : ScalaでコンパイルしたソースをJadってみる

    2010年05月18日02:36 カテゴリScalaメモ ScalaでコンパイルしたソースをJadってみる なんだか気になったのでScalaで書いた簡単なソースをコンパイルして吐かれたclassファイルをJadでJavaにしてみました。 Scalaのコード 超簡単です。Listを作ってreduceLeftで全て足し合わせるだけ。 object Test { def main(args: Array[String]) { val a = List(1,2,3,4,5) println(a.reduceLeft{ (x,y) => {x+y} }) } } コンパイルする scalacでコンパイルすると以下の3つのファイルが出来ました。 ・Test.class ・Test$.class ・Test$$anonfun$main$1.class jadる すっごい変なソースが・・・。もちろんjav

  • Scala Build Tool じゃないのかよ SBT - 倭マン's BLOG

    いや、知ってましたよ、「SBT」が Simple Build Tool の略だって。 とは言いつつ、sbt のサイトには何かの略だとは書いてないっぽいね。 まぁいいや。 最近ちょいと Scala をイジってみようと思い勃ったんですが、大したプロジェクトを作るわけでもないのにビルドツールを使わずにはいられない症候群を煩って、Scala プロジェクトを管理できるビルドツールを試行錯誤。 一応大雑把には使えるようになってきた Gradle では Scala もサポートしてる様なので最初はそちらを設定してたんですが、どうも普段使っている IDE の IntelliJ IDEA と併用しようとするといまいち上手くいかなかったので Gradle による管理は断念することに*1。 ま、Scala プロジェクト管理するのは Scala 用のビルドツールでいいんじゃね?ってことで、結局 SBT を使うことに

    Scala Build Tool じゃないのかよ SBT - 倭マン's BLOG
  • Scalaプロジェクトの作成 - sbtを使って配布可能なコードを作成する | Scala Cookbook

    Scalaのコンパイル、テストの実行にはsbt (Simple Build Tool) (全然simpleではないが!) を使うのが2012年現在でのbest practice. IDEではあまりコンパイルしない。 SBT Getting Started Guilde sbtでできること Scalaのコンパイル ライブラリの自動ダウンロード コードライブラリの作成 Scala, Javaで動くものはすべて使える 作成したライブラリを公開サーバーにアップロードする テストの実行 sbtを使ったおすすめの最小構成 GitHub https://github.com/xerial/scala-cookbook/tree/min-project にすぐScalaの開発を始めるためのコードサンプルが置いてあります。 # min-projectブランチをmyprojectフォルダ内に取得 $ git

  • Scalaのビルドツールsbtを使ってみる - kaishitaeiichiの日記

    昼間、Twitterのタイムラインを眺めていたら、今日はScala会議という勉強会が開かれていたみたいだ。 partake.in http://www.ustream.tv/channel/scala-kaigi Ustreamでも流れていたので、ちらっと見た。なんだか、おもしろそうな話題がたくさんだった。 scala-kaigi1-sbt 発表者のかたが準備されたこちらの資料とsbtのページを参考にさせてもらって、自分もsbtをつかってみよう。ちょうど、Mavenを勉強しなおしたところで、ビルドツールにちょっと興味がでている。 Home · harrah/xsbt Wiki · GitHub sbtはScalaのビルドツール。こいつもGithubなのか。Githubよくみかけるなあ。 sbtのインストール sbt 0.12 インストール 2012-11-04 追記 sbtもすこしずつ使い

    Scalaのビルドツールsbtを使ってみる - kaishitaeiichiの日記