タグ

Scalaに関するoinumeのブックマーク (60)

  • 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 の日記
    oinume
    oinume 2013/06/14
    Scalaの闇
  • The Play Framework at LinkedIn

    Video of the presentation: http://www.youtube.com/watch?v=8z3h4Uv9YbE At LinkedIn, we have started to use the Play Framework to build front-end and back-end services at massive scale. Play does things a little differently: it's a Java and Scala web framework, but it doesn't follow the servlet spec; it's fairly new, but it runs on top of robust technologies like Akka and Netty; it uses a thread poo

    The Play Framework at LinkedIn
    oinume
    oinume 2013/06/06
  • Spray AI Search

    oinume
    oinume 2013/06/03
    なにこれきもい
  • scalaをお仕事で使う時の3つの心得 - だらだらしてたいなぁ

    ・型を書け! ・名前を付けろ! ・合成しろ! 型を書け! 「は?型推論あるのにわざわざ型なんて書かなくていいし!」と思いましたか? では保守を任されて緊急でソースを理解したい時にこのようなコードだった場合はどうでしょう。 //XXとYYはどこか別の場所で定義されている class AAA[A <: XX, B <: YY] { def f(a:A,b:B) = a.xx + b.yy } 「戻りの型くらい書いとけ、ばかやろぅ」と言いたくなりましたね。それが普通の反応です。 class AAA[A <: XX, B <: YY] { def f(a:A,b:B):String = a.xx + b.yy } 戻り値の型がある場合と比べて見てください。コードの読みやすさが全く違います。このようにコーディングする際にほんのひと手間掛けるだけで、保守時のコストが大幅に削減出来ます。 保守のコストを

    scalaをお仕事で使う時の3つの心得 - だらだらしてたいなぁ
    oinume
    oinume 2013/04/21
  • バカ向け言語 Scala - だらだらしてたいなぁ

    なぜScalaがバカ向けなのか。 ぼくの経験を元に、バカ向け言語と非バカ向け言語を比較しながら見て行きましょう 非バカ向け言語 C プログラマーとして最初に携わったのがC言語です。 それは以下のようなものでした。 何十ものファイルにまたがるグローバル変数 緻密な制御が必要であるにも関わらず、無秩序に取得/開放が行われているメモリー管理 このような複雑な構造を、ぼくのようなポケコン並の処理能力しか持たないバカに把握可能でしょうか。もちろん不可能です そこで、次のようなコーディングを心がけました。 グローバル変数を使わず、関数に引数を定義して渡す メモリーの取得/解放を同一ファイル内に限定する これで、メモリーや変数参照の影響範囲を限定し、ぼくのようなバカでも理解できるようになります。 ですが、わざわざそんな事をやらなくても全てを理解できるエリート様達は、 「なぜ引数で渡すんだ。グローバル変数

    バカ向け言語 Scala - だらだらしてたいなぁ
    oinume
    oinume 2013/04/21
  • Scalaを新鮮に保つ

    原文(投稿日:2011/12/09)へのリンク 先週、Scala界隈には、目まぐるしい出来事があったが、Yammerのメールリークが問題の発端である。その後に Typesafeが丁寧なフィードバックと、将来のScalaの改善について述べた 回答を公開した。 一番の改善部分は、Eclipse向けのScala IDEが予定されており、これは長い期間、開発が続いている。最初は、 Miles Sabin氏により始められ、今ではこのプロジェクトは、TypeSafeの従業員も開発に加わっており、現在のバージョン 2.0.0-RC2が存在している(訳注:既に2.0.0-RC4になっています)。他のコンパイル済みScalaライブラリのように、特定のScalaバージョンに固有のいくつものダウンロードモジュールがある。2.9.1, 2.8.3-SNAPSHOT、2.8.1のいずれかを使うことができる。 他の有

    Scalaを新鮮に保つ
  • Scala2.9から導入されたバイナリ互換性確保のためのbridgeアノテーションについて調べた - ( ꒪⌓꒪) ゆるよろ日記

    InfoQのScala2.9リリースの記事を読んでいて、Scala2.8から2.9へのバイナリ互換性確保のための方法について、こんな記述があった One such technological solution are compiler generated forwarders, so-called bridge methods, which delegate calls from an old to a new method. http://www.infoq.com/news/2011/05/scala-29 " compiler generated forwarders"ってなんぞ?と思って調べてみた。多分このあたりのOderskyのメールにある@bridgeアノテーションのことだと思う。 Parallel collections binary compatibility | The

    Scala2.9から導入されたバイナリ互換性確保のためのbridgeアノテーションについて調べた - ( ꒪⌓꒪) ゆるよろ日記
    oinume
    oinume 2013/04/12
    へー
  • The Play Framework at LinkedIn

    I’m excited to announce the next step in LinkedIn’s service infrastructure: the Play Framework. Play is a modern web framework that combines the performance and reliability of Java and Scala, the power of reactive programming, and the productivity of full hot reload support. We’ve been running Play 2.0 in production for several months and are now gradually rolling it out to more teams at LinkedIn.

    The Play Framework at LinkedIn
  • Java プログラマさんのための - Scala 紹介 - - rinu's blog

    はじめに Scala を始めたいけど、いろいろ不安。。 そんな私のような Java プログラマさんが Scala のはじめの一歩を踏み出せるように。。 そんな意図で書いてます。 Scala 入門記事はすてきな記事が沢山公開されているので、ここでは JavaScala はどこが同じで、どこが違うの? Scala という言語はわかったけど、取り巻くツールやライブラリはどうなの? なんて感じで、 Scala の全体像をざっくりまとめたいなーと思っています。 (書いてる私は Scala 初学者です。 間違いがありましたら教えていただけるとうれしいです。) (2012年 12月 時点での内容です) Java と比べた Scala の魅力 まずは、そもそも Scala ってなにが魅力なんでしょうー そんな Scala の魅力は、例えばこちらのページにとっても詳しく書いてあります(*´ω`*) J

    Java プログラマさんのための - Scala 紹介 - - rinu's blog
    oinume
    oinume 2013/03/23
  • Scala for Java Programmers (Short Edition) - Speaker Deck

    JavaプログラマのためのScala入門 (Short Edition) v1.1 目次: - Scala とは? - case クラス - パターンマッチ - コレクション -- コレクション演算 -- 不変コレクション -- 並列コレクション - Option 型

    Scala for Java Programmers (Short Edition) - Speaker Deck
  • ScalaのFunction22問題(またはTuple22問題)について思うこと - たけぞう瀕死ブログ

    Scalaで実際にシステム開発を行う上でかなりの高確率で遭遇するのがFunction22問題(またはTuple22問題)です。Scala Conference in Japan 2013のセッションではScalaの問題点として挙げたのですが、実際はいろいろと思うところもあるので書いておきます。 Function22問題(またはTuple22問題)とは? Scalaのフレームワークではケースクラスへの値のマッピングにタプルを使ったり、値のバインドやアンバインドにapplyメソッドやunapplyメソッドを使うものが多いのですが、Scalaには以下のような制約があるため、22個以上のプロパティを定義することができない、というものです。 22個以上の引数を持つ関数を作ることができない(メソッドとしては定義できますが、変数に代入したり関数渡しをしようとするとコンパイルエラーになります) 要素が22

    ScalaのFunction22問題(またはTuple22問題)について思うこと - たけぞう瀕死ブログ
  • Scala Frustrations

    The document discusses frustrations experienced using Scala in a large project that ported a Java web application to Scala, including long compilation times, issues with ScalaIDE and sbt, and limitations of frameworks like Anorm; it then provides solutions the author developed to address these challenges, such as libraries to improve validation, ORM usage, and integration with Play frameworks.Read

    Scala Frustrations
  • Scalaのtraitはmixinか? - 西尾泰和のはてなダイアリー

    Rubyのmixin(モジュール)、Squeakのtrait、Scalaのtraitそれぞれについて: Q1: メソッドの実装を持てる? はい、はい、はい Javaのクラスは「はい」、インターフェイスは「いいえ」、C++Pythonのクラスは「はい」 Q2: クラスがそれを複数個継承できる? はい、はい、はい Javaのクラスは「いいえ」、インターフェイスは「はい」、C++Pythonのクラスは「はい」 Q3: インスタンスを作れる? いいえ、はい、いいえ C++Pythonのクラスは「はい」 Q4: 複数個継承した際に名前が衝突しました、どうなる? しれっと上書き、エラー(*)、エラー (*) Squeakはクラス定義時には例外を投げず、衝突したメソッドを「衝突した旨の例外を投げるメソッド」に置き換える。ユーザが衝突に気づくのは、クラスブラウザでメソッドを確認した時か、そのメソッド

    Scalaのtraitはmixinか? - 西尾泰和のはてなダイアリー
  • Scalaメモ(Hishidama's Scala Memo)

    インストール [/2011-09-14] 最初のサンプル [/2011-06-07] コマンド scalac・fsc scala [/2013-06-08] 色々作ってみる [/2017-01-24]

  • JRebelを使った動的クラスリローディング

    「あばばばばばばばば」 はい、この記事は、「じゃば あばばばば かれんだー - 邪 2010」の9日目、12/21日のものですのよ? 昨日は、id:nekopのBytemanによるJava黒魔術 - nekopの日記でした。このBytemanが利用している「Java(TM) java.lang.instrument」を利用したもうひとつの例として、JRebelというプロダクトを利用した動的なクラス再ローディングについて、ちょいと紹介しようと思いますのよ奥さん? そもそもjava.lang.instrument APIってなんぞ? Instrument APIは、監視/観察の対象となるアプリケーションのバイトコードをほかのバイトコードに置き換える(BCIを行う)ための枠組みを提供する。置き換えの方法としては、以下の2とおりが提供されている。 ●クラスがロードされる過程に割り込み、そのバイトコ

    JRebelを使った動的クラスリローディング
  • niw.at — Scala 事始め、あるいは新しい言語の勉強方法

    ご存知かとは思いますが、これまで仕事場では皆様のツイートと呼ばれる140文字程度の投稿を読んで適切なタイムラインに仕分けしたり、ハッシュタグを見て検索結果に追加したりとなかなか骨が折れる作業をしていて、随分慣れてきたのですが、どうしても最近はじまった「60秒でツイートを届けるキャンペーン」で間に合わないことが多く、中にはUnicodeの合字を組み合わせた塩抜きポテトみたいなツイートも多く、一部、Ruby を使って自動化したりしてみたのですが、そろそろ体力の限界を感じていたところでした1。 そんな折、同僚が、「オレ、Scala を使ってるんだけど肩こりも治ったし、60秒キャンペーンも余裕だよー」って言ってるのを聞いて、そんなにいいなら、とちょっと使ってみることにしました。 新しい言語を覚える 実際のところ、仕事場ではかなり前から Scala で書かれたプロジェクトがありましたが、この公開され

    oinume
    oinume 2013/02/27
  • Scala Conference in Japan 2013に参加します - たけぞう瀕死ブログ

    すでにチケットは売り切れのようですが、3月2日(土)に開催されるScala Conference in Japan 2013でスポンサー枠でお話をさせていただきます。 http://scalaconf.jp/ja/program/index.html 自分のような者が貴重な発表枠を頂くのは恐縮極まりないのですが、少しでもScalaの普及に貢献できればと思い、会社を騙して説得してスポンサー代を出させたのはいいものの、交換条件として「カンファレンスでちゃんと発表してくるべし」と釘を刺されてしまったので何卒ご容赦いただければと思います。 さて、肝心の発表内容ですが、Scalaの素晴らしさについてはきっと他のセッションでこれでもかと語られるであろうと思いますので、私のセッションでは「Scalaがいかにダメか」についてお話させていただきたいと思います。 実際Scalaは素晴らしい言語だと思いますし、

    Scala Conference in Japan 2013に参加します - たけぞう瀕死ブログ
    oinume
    oinume 2013/02/19
    「私のセッションでは「Scalaがいかにダメか」についてお話させていただきたいと思います。」こういうのいいですよね。いいところばっかりだとただのステマにしかならないので。
  • Halobet 🎀 Situs Slot Online Terpercaya Gacor 2024

    Decrease quantity for Halobet 🎀 Situs Slot Online Terpercaya Gacor 2024 Increase quantity for Halobet 🎀 Situs Slot Online Terpercaya Gacor 2024 Fasilitas Lengkap untuk Pemain Baru Bagi para pemain baru, Halobet menyediakan fasilitas lengkap untuk memastikan Anda merasa nyaman dan terhibur selama bermain di situs kami. Dari berbagai pilihan permainan slot hingga layanan pelanggan yang responsif,

    Halobet 🎀 Situs Slot Online Terpercaya Gacor 2024
    oinume
    oinume 2012/07/08
  • S-99: Ninety-Nine Scala Problems

    These are an adaptation of the Ninety-Nine Prolog Problems written by Werner Hett at the Berne University of Applied Sciences in Berne, Switzerland.  I (Phil! Gold) have altered them to be more amenable to programming in Scala.  Feedback is appreciated, particularly on anything marked TODO. The problems have different levels of difficulty.  Those marked with a single asterisk (*) are easy.  If you

    oinume
    oinume 2012/06/13
  • イマドキのIDE事情(121) Scala開発はEclipseに決まり? 「Scala IDE for Eclipse 2.0」登場

    ついにリリースされたScala IDE for Eclipse 2.0 JavaVM上で動作する次世代言語として注目を集めるScalaだが、Eclipse(JDT)という非常に強力なIDEが存在するEclipseと比較すると、決定版と呼べるIDEが存在しないことで言語が持つ特性を最大限に発揮できないことが問題視されていた。 これまでもScalaプログラミングのためのツールとして、Eclipse、NetBeans、IntelliJ IDEAといったJavaベースのIDEで動作するプラグインは存在したものの、いずれもEclipse上でJavaプログラミングを行う場合と比べると満足できるものではなかったのが実情だ。 このように強力な開発環境が存在しないことはScalaのディスアドバンテージの1つとされてきたが、EclipseプラグインであるScala IDE for Eclipse(初期のバージ

    イマドキのIDE事情(121) Scala開発はEclipseに決まり? 「Scala IDE for Eclipse 2.0」登場