Rustが再評価される:エコシステムの現状と落とし穴 In this article, we share findings and insights about the Rust community and ecosystem and elaborate on the peculiarities and pitfalls of starting new projects with Rust or migrating to Rust from othe...
Other Languages: 한국어 Русский 简体中文 About Scala school started as a series of lectures at Twitter to prepare experienced engineers to be productive Scala programmers. Scala is a relatively new language, but draws on many familiar concepts. Thus, these lectures assumed the audience knew the concepts and showed how to use them in Scala. We found this an effective way of getting new engineers up to spe
Twitterは、GitHubにてプログラミング言語Scalaを学習するチュートリアルサイトを公開しました。このサイトは実践的なScalaプログラマを養成すべくTwitter内で作られたようです。TwitterはフロントエンドにRuby on Railsを使っていることで有名ですが、バックエンドはJVMベースのシステムが多く、特にScalaで書かれたシステムが増えてきています。 チュートリアルの内容は、大半はREPL(Read-Eval-Print Loop、対話形式の実行環境)上で即座に試せるようにできています。範囲も変数や関数といった基本的なものからコレクション、パターンマッチング、並行処理など幅広く扱っています。また、ビルドツールである「Simple Build Tool」やBDD(Behavior Driven Development、振舞駆動開発)ライブラリの「Specs」、
同社は今月、Pythonのサポートも発表したばかりで、これでRuby、Clojure、Java、Python、JavaScript(Node.jsによる)に続く6言語目の対応となります。 ScalaはJava VM上で動作する言語で、「オブジェクト指向プログラミングと関数型プログラミングを巧みにブレンドした言語」だとHerokuは説明しています。同社はすでにJava VMでJavaとClojureの対応を行っており、Java VMの存在が多言語対応のポイントになっています。 Facebookアプリケーションのホスティングで急成長 Herokuは9月にFacebookとの協業を発表し、Facebookアプリケーションのデフォルトのホスティングサービスとして指定されています。 その結果、Herokuによると協業発表後の24時間で3万3800種類の新しいアプリケーションがHeroku上にホストさ
SwaggerはRESTfulなWeb APIのテスト環境。Web上で実行して結果を確認できる。 SwaggerはScala製のオープンソース・ソフトウェア。Web APIが十分に普及してきたことで、何気なくWeb APIを利用できるようになってきた。TwitterやFacebookはその最たるものだが、小さなものとしてはフィードを取り込むようなものも数多く使われている。 Web API一覧 Web APIでは提供形式としてRESTfulなものが最も多くなっている。RESTfulなWeb APIを使ってシステム開発を行う際に、どう言う風にコールしてどう返って来るのか、それを実験できるのがSwaggerだ。 SwaggerはWebベースで利用するソフトウェアで、Web APIのエンドポイントになるURLの一覧に加えて、そのメソッド、そしてコールするための変数名を一覧で表示する。後は変数名の横
オライリーが主催するイベント「Open Source Convention 2011」が7月25日から米国ポートランドで開催されました。 その中で、TwitterがなぜRuby on RailsベースのシステムをJavaVMベースへ移行しようとしているのかを解説したセッション「Twitter: From Ruby on Rails to the JVM」が行われ、ビデオが公開されています。 13分程度の短いセッションのポイントをまとめて紹介します。 世界最大のRuby on RailsによるWebサイトをJavaVMへ移行 Twitterのアプリケーションサービスグループ、Raffi Krikorian氏 Twitterは世界中からのツイートをリアルタイムで扱っている。リアルタイム処理が、ツイッターにおけるもっとも難しい処理だ。 Twitterは、おそらく世界最大のRuby on Rail
2011-05-28 Scala界の関数型プログラミング一派を代表する論客の一人、@djspiewak が 2010年に書いた “Monads Are Not Metaphors” を翻訳しました。翻訳の公開は本人より許諾済みです。翻訳の間違い等があれば遠慮なくご指摘ください。 2010年12月27日 Daniel Spiewak 著 2011年5月29日 e.e d3si9n 訳 僕は今、約束を破るところだ。およそ三年前、僕は絶対にモナドの記事だけは書かないと自分に約束した。既にモナドに関する記事は有り余っている。記事の数が多すぎてその多さだけで多くの人は混乱している。しかも全員がモナドに対して異なる扱い方をしているため、モナドの概念を初めて学ぼうとする者は、ブリトー、宇宙服、象、砂漠のベドウィン (訳注: アラブ系遊牧民) の共通項を探す努力をするハメになっている。 僕は、この混乱した
先日、Scala 2.9.0 RC4がリリースされ、正式リリース(final)までもうあと少しといった感じになって来ましたが、皆様、いかがお過ごしでしょうか。訓練されたScala使いはRCには手を出さないとも言われますが、私は新し物好きなので、RCにも手を出してしまいます。 それはともかくとして、Scala 2.9.0の最大の目玉は何でしょうか?世間的(どこの世間だというツッコミはおいといて)には並列コレクションではないでしょうか。Scalaの公式サイトでも新機能の紹介で真っ先に挙げられていますし、少なくとも一番注目されているのは並列コレクションでしょう。 並列コレクションは、公式サイトも含め、英語圏のブログなどあちこちで既に紹介されているので、このエントリではあえて、その陰に隠れてあまり注目されないが、なかなか便利なscala.sys.processパッケージについて紹介します。 sca
前書き Scalaという言語をご存知ですか? Javaと同じくコンパイルされるとclassファイルになり、実行時はJVM上で動作する、オブジェクト指向+関数型のプログラミング言語です。 Scalaを開発したのはJavaのgenericsの設計を手がけたり、javacの開発をしていた経歴も持つMartin Odersky氏。 Scalaは後発の言語ということもあって、Javaを書いている時に感じる冗長さに対する様々な解が用意されています。 本記事では、ScalaとJavaのコードを比較しながら、JavaユーザがScalaに移った際に得られるメリットを提示していきます。 尚、序盤のサンプルコードはJavaユーザに伝わりやすいように、returnを明記したり、メソッドは必ず{ }で囲むなど、極力Javaっぽい記述をしています。 だいたいJavaと同じような書き方ができます ScalaはJavaの
とりあえず、ひとり Scalaに感染させますた。 scalaを始めたんですね。前々からやろうと思っていましたが、id:j5ik2o氏に触発されて本格的に。 ということで、JavaプログラマがScalaを始める時に参考になる本とか、列挙します。 Javaとの対比で書かれているので理解しやすい本。REPL(Read Eval Print Loop)を使っての写経にはもってこいです。一番おすすめしたい本。 Scalaプログラミング入門 作者: デイビッド・ポラック,羽生田栄一,大塚庸史出版社/メーカー: 日経BP社発売日: 2010/03/18メディア: 大型本購入: 10人 クリック: 227回この商品を含むブログ (29件) を見る Scalaの文法は巨大です。なのでそういう時は、網羅的な本よりポイントが絞られている本から、まず読んでみることをおすすめします。Javaの話も出てくるので読みや
● [Scala] Actorはじめました (level cap: 50) 並列処理したいお年頃なので噂のActorを試してみる。生半端な知識とコップ本の流し読みで突撃したところ、時間をかけた割に得られたものはそれらしいコードと理解できないエラーの山。その後も粘着気味に努力するも、最後は自分が何がわかってないのかもわからなくなるという最悪の結果に陥る。 そろそろヤンチャも潮時ではないでしょうか?お前もそう思うか、キルヒアイス。ということで、土台を固めるべく、1から真面目に勉強し直すことを決意。後人には我が屍を超えて行ってもらうべく、得られた知見をここに淡々と記録し続ける。Actorでつまづいたときには、是非とも自分のActorレベルを数値で確認し、そこから立ち直って貰いたい。 レベル1. Actorて何? ほぼスレッド。 レベル2. もう少し専門的に言うと? scala.actorsパッケ
XPath もしくは類似の方法を使ったXMLのパース方法を Groovy, Scala, Ruby, PHP でまとめてみた。 個人的には、XMLのパース用途では Groovy を主に使用し、状況や気分に応じて Ruby, PHP を使用するような感じだ。(Scala はXMLパース用途にはあまり使わない) なお、パース処理は以下のような XBRL ファイルから今年度連結決算(CurrentYearConsolidatedDuration)の営業利益(OperatingIncome)を出力する事にする。 パース対象のXBRLファイル <?xml version="1.0" encoding="UTF-8"?> <xbrli:xbrl ・・・> ・・・ <jpfr-t-cte:OperatingIncome decimals="-6" contextRef="CurrentYearConso
はじめに 前回の「Google App Engine/JavaでのScala/Liftアプリケーション開発(前編)」では、Google App Engine(GAE)JavaでLiftアプリケーションを利用する基本的な方法を解説しました。 後編である本稿では、前回作成したイベント管理アプリケーションに機能追加を行いながら、Googleが提供するemailサービスやスケジュールサービス(cron)、TaskQueue(非同期バックグラウンド処理)などを利用してアプリケーションを構築する方法について説明します。 また、これまで説明していなかったLiftViewによるテンプレートを利用しないレスポンスの生成や、カスタムディスパッチで任意のURLの処理を行う方法も紹介します。 対象読者 Javaは知っているが、Scalaも学んでみたいと思っている方 ScalaでのWebアプリケーション開発に興味が
id:nazokingさんが、java使いのためのScala の勉強のための資料作り scalaって素晴らしい いろいろ1 - nazonoDiaryという記事を書いていた。 ここでは、Scalaで書くとJavaよりも簡潔に書けるよとのことで紹介されているのですが、比較対象にGroovyが入っておらずJavaScriptやRubyだったのがちょっと残念だったので*1、「Groovyでもだいたい同じようなことができるよ!」ということで、今回の記事を書いてみました。 id:nazokingさんと同じ見出しで行ってみたいと思います。 (動作環境: Groovy Version: 1.7.2 JVM: 1.6.0_20) すべてがオブジェクト 1.toString() デフォルト値付き引数 def hoge(a = 'aの初期値', b = 'bの初期値') { // do something }
http://d.hatena.ne.jp/nazoking/20100514/1273774142 の続き 細かいというか解説がいらないのいろいろ すべてがオブジェクト オブジェクト指向型言語javaにおいてObjectではないものがある。int,long,floatなど。 たとえば 1.toString() はコンパイルできない。 しかし! scalaでは「すべてがオブジェクト」なので、上のコードはなんの問題もなくコンパイルできる。javaではいろんなところでintとIntegerの変換をしてやる必要があるが、scalaではそれは全部コンパイラが面倒を見てくれる。 クラス階層はこんな感じ Any +--AnyVal | +-Int | +-Byte | +-: | +--AnyRef <=Object +- String +- 普通のクラス +- : デフォルト値付き引数 scala2
Foursquareという位置情報系サービスが海外だけでなく日本でも人気です。iPhoneアプリなどを通じて GPSを利用して現在いる場所やお店などをマーキング(check in)し、常連を表す称号を得たりユーザ同士で情報交換を行ったりします。そして、このFoursquareがScalaベースのWebフレームワーク「lift」で書き直されたことが、Scalaのブログ記事にて発表されました。 記事のコメントに、開発リーダーのHarry Heymann氏が自ら自身のプレゼン資料へのリンクを提示してくれています。その資料を参照すると、当初FoursquareはLAMP構成でできており、エンジニアではない人がPHPで書いていたためコードがキレイではありませんでした。そのため、Javaのバックグラウンドを持つHarry氏は、RailsやDjango、Wicketなどいろいろなフレームワークを検討した
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く