You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Let's say a I have a class: case class Foo(id: Int, name: String, note: Option[String] = None) Both the constructor and the apply method in the automatically generated companion object take three parameters. When viewed via reflection, the third parameter (note) is flagged: p.isParamWithDefault = true Also, by inspection I can find the method that produces the value in the companion object: method
この記事は、Play or Scala Advent Calendar 2012 11日目の記事です。 「急にScalaのprojectツリーを作らなきゃいけない!」ってこと、よくありますよね? 僕は、そんな時このやりかたで、ささっとprojectを作っています。 この間、ジャック・バウアーに拳銃で脅されて、「国家の安全がかかってる!3分以内にScalaのプロジェクトを立ち上げろ!!」と言われた時も、何とか命拾いしました。 前提条件 必要なものは、事前に入れておく(このへんは3分クッキング的)。 java 必要 Eclipse ちなみに現時点での最新はこれ Scala IDE Eclipse上でScalaプロジェクトを開発出来るようになる sbt ライブラリ管理とかビルドとか実行とか conscript g8が使う。git上のスクリプトを実効してくれる giter8 テンプレート展開してく
要求開発アライアンスの定例会で『Object-Functional Analysis and Design: 次世代モデリングパラダイムへの道標』というタイトルでセッションを行うことになりました。 セッション時間が50分なので、かなり俯瞰した形での全体像の説明になりそうですが、関連する要素技術の数が多いのと、内容が込み入っているので、ブログで補足説明をすることにしました。 今回はその第一弾です。 「関数型言語の関連技術」として用意した以下の図を説明します。関数型プログラミング言語レベルの説明はScalaを対象にします。 Disclaimer2008年にScalaをはじめて足掛け4年、関数型プログラミングとは、どうも数学を使ってプログラミングしていくことらしい、ということが分かってきました。 ScalaをBetter Javaとして使うのであれば、そこまで頑張らなくてもよいのですが、関数型言
Effective Scala Marius Eriksen, Twitter Inc. marius@twitter.com (@marius) Table of Contents Introduction Formatting: Whitespace, Naming, Imports, Braces, Pattern matching, Comments Types and Generics: Return type annotations, Variance, Type aliases, Implicits Collections: Hierarchy, Use, Style, Performance, Java Collections Concurrency: Futures, Collections Control structures: Recursion, Returns,
自分自身があまり一歩先行ってない気がするので参考にならないかもしれませんが、適当に。 Unfiltered https://github.com/n8han/Unfiltered これは、Webアプリケーションフレームワークというか、HTTPサービスをScalaで簡単に 提供するためのフレームワークです。ソースコードは明快で読みやすいですし、そのアーキテクチャ も非常に斬新(PartialFunctionを多用)で新鮮でした。 Swarm https://github.com/sanity/Swarm まだそれほど詳しく読んでいないのですが、限定継続を利用した面白いフレームワーク です。具体的には、限定継続を使って、計算を少しずつ行いながら、あちこちのコンピュータをわたり 歩いたり(モバイルオブジェクト)、計算を色々なコンピュータにばらまいて、その結果を集計したり、 といった事ができます。
One year ago I posted on moving from Java to Scala [1]. At that time my experience with Scala was limited to reading some technical materials and to implementing a few simple mathematical algorithms such as weighed average. Even though I hadn't developed any project in Scala yet, I had a good feeling that moving from Java to Scala could be similarly right decision as moving from C/C++ to Java 10
「あばばばばばばばば」 はい、この記事は、「じゃば あばばばば かれんだー - 邪 2010」の9日目、12/21日のものですのよ? 昨日は、id:nekopのBytemanによるJava黒魔術 - nekopの日記でした。このBytemanが利用している「Java(TM) java.lang.instrument」を利用したもうひとつの例として、JRebelというプロダクトを利用した動的なクラス再ローディングについて、ちょいと紹介しようと思いますのよ奥さん? そもそもjava.lang.instrument APIってなんぞ? Instrument APIは、監視/観察の対象となるアプリケーションのバイトコードをほかのバイトコードに置き換える(BCIを行う)ための枠組みを提供する。置き換えの方法としては、以下の2とおりが提供されている。 ●クラスがロードされる過程に割り込み、そのバイトコ
久しぶりのScalaだったので少し忘れているところもあって苦労しましたが、なんとか動かすことができました。 方法を書いておきます。 http://code.google.com/intl/ja/appengine/docs/java/gettingstarted/creating.html http://code.google.com/intl/ja/appengine/docs/java/tools/ant.html http://www.scala-lang.org/node/98 この三つのページなどを参考にしてやってみました。 ちなみに、JREやJDK、GAEのSDKやScala以外にも、antが必要です。 まずはディレクトリを作る GaeTest/ src/ META-INF/ war/ WEB-INF/ lib/ classes/ こんな感じになるように、適当にディレクトリを作
なぜ、いまScalaなのか? TwitterがScalaを利用しているのは有名ですが、他にも位置情報を利用したfoursquareはScalaで構築されたLiftというWebフレームワークを利用していますし、GTDツールとして有名なRemember The MilkもScalaの利用を検討しているようです。 Scalaは、Java Virtual Machine(以下JVM)上で動くオブジェクト指向+関数型言語です。簡潔で柔軟な記述が可能であり、マルチコアを意識したライブラリがあり、JVMでのスケールメリットを享受できることが、これらの企業で採用に踏み切った理由であると考えられます。 Scalaは、非常にバランスの取れたプログラミング言語です。本連載では、Scalaの基本的な文法を解説しながら、オブジェクト指向と関数型言語を組み合わせたプログラミングスタイルについて、解説したいと思います。
関数型プログラミングの楽しみ方(Scala編) 第1回:Scalaって楽しい? 印刷 株式会社豆蔵 BS事業部 コンサルタント 小林 健一 2010/06/03 [プログラミング] はじめに 本特集記事では、新しいプログラミングの可能性を信じて努力する方のために、 ちょっと変わった、しかし強力で実用性のあるプログラミング言語、 Scalaを紹介します。 ここ最近、業務で使っている言語以外でプログラミングしていない方、 「言語はC、Java、VB、COBOLだけおさえておけばOK」という方はぜひ、 この機会にScalaに触れてください。新しい発見が山ほどありますよ。 今回は、まずScalaの概要を紹介します。 言語なんてJava,C,VB,COBOLだけおさえておけばOKでしょ? 現在、プログラミング言語の中で大きな比率を占めているものとしてJava、C、VB、COBOL、あとはPHP、R
1階受付:インストール等 / 1階案内版:コマンド / 2階:書き方 / 3階:文と式 / 4階:関数 / 5階:オブジェクト指向 / 6階:型 / 7階:注釈等 / 屋上:言語仕様要約 / 雲:scalaパッケージ概観 / 青空:その他の付属パッケージ概観 なお、以上の解説はJavaの文法とコマンドや標準ライブラリ等を一応知っていることを前提(現行のScalaはなおJavaライブラリへの依存度が高くScalaだけで完結できる状態では無い。なお、Scalaのコンパイラ自体はJava1.4用のコードも吐けるが、標準ライブラリが多く1.5を前提としている)とし、その違いだけをとりあえずは書き留めるものである。もっぱら文法やライブラリ参照用であることを目指しているので、例や特長等は次のリンクを参照されたい(なおただし、原著者たちの配慮にもかかわらず、それらの例は関数型言語に関する事前の概要的把握
Twitterが分散フレームワーク「Gizzard」公開! Scalaで書かれたShardingを実現するミドルウェア Twitterは独自に開発した分散フレームワークの「Gizzard」をオープンソースとして公開しました。GizzardはScalaで書かれたJavaVM上で動作するミドルウェアで、PHPやRubyといったWebアプリケーションからの要求を自動的にデータベースに分散することで、大規模で可用性の高い分散データベースを容易に実現するためのものです。 Gizzard:フォルトトレラントな分散データベースを実現 The Twitter Engineering Blog: Introducing Gizzard, a framework for creating distributed datastores Twitterのブログにポストされた「Introducing Gizzard
HTML5っ!WebSocketっ!サーバーからプッシュでっ! やりますよscalaで。とはいえ、Javaでも同じなので、Javaでやってみようって人にも参考になるかも? サーバーの実装 サーバ側の実装は、要点をまとめるとこんな感じです。 org.eclipse.jetty.websocket.WebSocketServletを継承したServletを作ります。 protected abstract WebSocket doWebSocketConnect(HttpServletRequest request, String protocol) を実装しますよ クライアントからws:/hostname/でWebSocketの接続要求が来たら、このdoWebSocketConnectが呼ばれます。 doWebSocketConnectでは、org.eclipse.jetty.websocke
俺「新しいアプリだよ。さぁ、デプロイするからAppSlotを解放するんだ…!」 appengineたん「で、でぷろい…ですか…?こんなおっきなあぷり…は、入るかな…?」 俺「今日はScalaを使ったアプリケーションなんだよ」 appengineたん「Scalaなんて…そんな変態的なこと…で、できません ///」 俺「もう遅いよ。どうだ? どんどんアプリがアップロードされていくぞ!」 appengineたん「は、入りました…。こんなおっきなアプリケーション…あついです…」 俺「よしテストだ。どんどんリクエストをおくってやるからな」 appengineたん「そ、そんなにリクエストされたら…らめぇっ!!SpinUpしちゃうぅっ!!」 俺「まだまだいくぞ。おらっ!データストアにputしてやるっ!」 appengineたん「らめぇぇ!あっ、あふれちゃうっ!!データが…quotaからあふれちゃうよぉぉ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く