タグ

scalaに関するokinakaのブックマーク (58)

  • 第21回 Liftウェブフレームワークを使う(その1)

    有限会社ITプランニングに勤務するプログラマー。型理論などの応用である関数型言語MLや証明支援器Coqを使った、高信頼なシステム開発の技術に興味がある。 LiftはScalaでウェブアプリケーションを作るためのフルスタックなフレームワークです。Liftを使えば、テンプレートシステムやORマッピング、セッション管理などウェブアプリケーションに便利なものはすべてそろっている環境で開発をすることができます。 さらに、それだけでなく、LiftはScalaの機能を生かしたすばらしい特徴があります。 スニペットと呼ばれる関数を主体としたビューの構築 高階関数を使ったシンプルなインタフェースの設計 Scalaコンソールによる対話的なデバッグとメンテナンス 型推論による簡潔なコードの記述 型検査によるプログラムの誤りの検出 nullがないことによって、実行時エラーを大幅に削減 まだLiftは新しい技術です

    第21回 Liftウェブフレームワークを使う(その1)
  • Yuvi Masory - Blog: Creating a standalone executable jar with Scala and SBT

    okinaka
    okinaka 2010/12/03
    Verry good!!
  • kestrelを試してみたよ - hito_asaの日記

    メッセージキューイングシステムが必要でActiveMQとか調べてたけど、やっぱなんかめんどくさそうだし、必要以上にエンタープライズ臭がするのでkestrelを試してみました。 twitter/kestrel · GitHub kestrelはTwitterのバッググラウンドで使われている(らしい)、メッセージキューイングシステムです。 特徴は、ゆろよろさんのブログにも和訳(githubにおいてあるREADMEの和訳)がありますが、以下の通りです。 速くて、 小さくて、 障害に強くて、 信頼できる。 今のコード量はコメント入れて2000行ほどで、たしかに小さいです。 あと、大きな特徴として、memcacheプロトコルでキューへのput/getを行います。 また、ActiveMQと比べたらライトウェイトで速そうな雰囲気です。 必要なもの JDK6 Scala2.7.7 final sbt gi

    kestrelを試してみたよ - hito_asaの日記
  • ヽ( ・∀・)ノくまくまー(2010-09-13)

    ● [KVS][Scala] Scala で Tokyo Tyrant ( xmemcached 編) Scala から Tokyo Tyrant (以下、TT)を使いたい どちらもマイナーで、マイナー^2なドライバなどまずない 幸い Scala から Java ライブラリは楽に使える 幸い TT は memcache プロトコルを話せる Java で使える memcache ライブラリを探せばOK 結構たくさんある 片っ端から試そう 無作為に xmemcached (imkk) 必要な知識 Scala(sbt), Tokyo Tyrant, Ruby 準備 実験用の適当な scala プロジェクトを作成(sbt) 下記サイトから xmemcached ライブラリを取得 (xmemcached-1.2.5-bin-with-dependencies.tar.gz) 中のlib/*.jarを

  • blog.8-p.info: sbt で Scala の開発サイクルを速くする (後編)

    okinaka
    okinaka 2010/11/05
    イイねこれ。
  • Scalatra: Sinatraに似たScalaのウェブフレームワーク

    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...

    Scalatra: Sinatraに似たScalaのウェブフレームワーク
  • 第19回 アクターで楽々並行プログラミング(1)

    有限会社ITプランニング勤務のプログラマーScala、OCaml、F#などの静的型付け関数型言語を利用したシステム開発業務に従事。定理証明支援器Coqやモデル発見器Alloyといった形式手法ツールの業務への応用にも興味を持っている。 Scalaの標準ライブラリは、Java程大きくありませんが、パーサーコンビネーターを筆頭に小粒でもぴりりと辛い逸品が揃っています。この記事でご紹介する「アクター」もその一つ、マルチスレッドのスパゲッティをおいしいペペロンチーノに変えてくれる、魔法のスパイスです。new Threadとしたくなったら、一歩立ち止まってscala.actorsパッケージの扉を叩いてみてください。 なお、稿では2回にわたって、アクターとは何なのか、アクターを使うとどのような事が可能なのかをご紹介する予定です。並行処理に興味があったり、なんらかの形で並行処理に触れたりしたことがあれ

    第19回 アクターで楽々並行プログラミング(1)
  • 今からでも遅くない これから始めるScala(後編)

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    今からでも遅くない これから始めるScala(後編)
  • 今からでも遅くない これから始めるScala(中編)

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    今からでも遅くない これから始めるScala(中編)
  • Scala on Hadoop: Hadoop Conference - stanaka's blog

    先日、Hadoop ConferenceでScala on Hadoopというタイトルで発表してきました。スライドを以下に置いておきます。 Scala on HadoopView more presentations from Shinji Tanaka. ダイジェストとして、ScalaをHadoopで動かすための方法を書いておきます。 まず、Hadoop上でScalaを実行させるためには、JavaScalaを接続するライブラリが必要となります。ここでは、SHadoop( http://code.google.com/p/jweslley/source/browse/#svn/trunk/scala/shadoop )を使用します。SHadoopは、型変換を行うシンプルなライブラリです。 よくあるWordCountのサンプル、WordCount.scala (http://blog.jo

    Scala on Hadoop: Hadoop Conference - stanaka's blog
  • 今からでも遅くない これから始めるScala(前編)

    なぜ、いまScalaなのか? TwitterScalaを利用しているのは有名ですが、他にも位置情報を利用したfoursquareはScalaで構築されたLiftというWebフレームワークを利用していますし、GTDツールとして有名なRemember The MilkもScalaの利用を検討しているようです。 Scalaは、Java Virtual Machine(以下JVM)上で動くオブジェクト指向+関数型言語です。簡潔で柔軟な記述が可能であり、マルチコアを意識したライブラリがあり、JVMでのスケールメリットを享受できることが、これらの企業で採用に踏み切った理由であると考えられます。 Scalaは、非常にバランスの取れたプログラミング言語です。連載では、Scalaの基的な文法を解説しながら、オブジェクト指向と関数型言語を組み合わせたプログラミングスタイルについて、解説したいと思います。

    今からでも遅くない これから始めるScala(前編)
  • 第18回 Scalaとパーザコンビネータ(実装編)

    筑波大学第三学群情報学類を卒業したのち、現在は、筑波大学大学院システム情報工学研究科コンピュータサイエンス専攻博士後期課程3年。プログラミング言語や処理系に強い興味を持っている。現在の研究テーマは、プログラミング言語の構文解析アルゴリズム。Scala勉強会を不定期で行うなど、研究の合間にScalaの普及活動を行っている。 Scalaにはパーザコンビネータライブラリという、構文解析を行うための専用ライブラリが存在します。今回は、前回に説明したHello, World!パーザをより簡潔に書けるように修正していくほか、JSONのサブセットのパーザの実装までを解説します。 Hello, World!パーザを改良してみる strメソッド - 文字列を直接扱えるように 前回説明したリスト5のパーザは、プリミティブとして1文字にマッチするパーザしか扱えなかったため、いちいちそれを~でつないでいくのが面倒

    第18回 Scalaとパーザコンビネータ(実装編)
  • 第17回 Scalaとパーザコンビネータ(基本編)

    筑波大学第三学群情報学類を卒業したのち、現在は、筑波大学大学院システム情報工学研究科コンピュータサイエンス専攻博士後期課程3年。プログラミング言語や処理系に強い興味を持っている。現在の研究テーマは、プログラミング言語の構文解析アルゴリズム。Scala勉強会を不定期で行うなど、研究の合間にScalaの普及活動を行っている。 Scalaにはパーザコンビネータライブラリという、構文解析を行うための専用ライブラリが存在します。パーザコンビネータライブラリを使うことで、特定の用途に特化した設定ファイルやDSLのパーザを手書きで書くよりも簡単に書けるようになります。 記事では、Scalaのパーザコンビネータライブラリの基的な使い方から、パーザコンビネータを使ったJSONのサブセットのパーザの実装までを解説します。構文解析の実装手法に関する知識は前提としませんが、構文解析とはどのようなものか、という

    第17回 Scalaとパーザコンビネータ(基本編)
  • Google App Engine/JavaでのScala/Liftアプリケーション開発(後編)

    はじめに 前回の「Google App Engine/JavaでのScala/Liftアプリケーション開発(前編)」では、Google App Engine(GAE)JavaでLiftアプリケーションを利用する基的な方法を解説しました。 後編である稿では、前回作成したイベント管理アプリケーションに機能追加を行いながら、Googleが提供するemailサービスやスケジュールサービス(cron)、TaskQueue(非同期バックグラウンド処理)などを利用してアプリケーションを構築する方法について説明します。 また、これまで説明していなかったLiftViewによるテンプレートを利用しないレスポンスの生成や、カスタムディスパッチで任意のURLの処理を行う方法も紹介します。 対象読者 Javaは知っているが、Scalaも学んでみたいと思っている方 ScalaでのWebアプリケーション開発に興味が

    Google App Engine/JavaでのScala/Liftアプリケーション開発(後編)
  • Google App Engine/JavaによるScala/Liftアプリケーション開発(前編)

    はじめに Google App Engine(GAE)/Javaでは、Java仮想マシン上で動作する言語を利用することができます。例えば、JRubyやGroovyなどです。 Scalaも、コンパイルすることによりJava仮想マシン上で動作するクラスファイルを生成する言語ですので、当然、GAE/Java上で動作させることができます。 Scalaが動作するということは、ScalaでできているWebアプリケーションフレームワークであるLiftを元に作成されたアプリケーションを、GAE/Javaに載せることができるということです。 前後編で構成される連載では、ScalaおよびLiftをGAE/Java上で動作させる方法を解説した後、サンプルアプリケーションでGoogleが提供するさまざまなAPIを利用した、GAEならではのアプリケーションを作成して、GAEでのアプリケーション作成のイメージをつか

    Google App Engine/JavaによるScala/Liftアプリケーション開発(前編)
  • AjaxとCometを利用したLiftのアプリケーションを作る

    前回までで、LiftのViewとModelを利用した簡単なアプリケーションの作成までを解説してきました。連載は今回で最終回となります。これまでのまとめの意味もこめて、いままで作成してきたTwitterのクローンのようなアプリケーションを改良して、Liftの目玉であるAjaxとCometを利用したアプリケーションの作成方法を解説します。 はじめに 前回までで、LiftのViewとModelを利用した簡単なアプリケーションの作成までを解説してきました。 連載は今回で最終回となります。これまでのまとめの意味もこめて、いままで作成してきたTwitterのクローンのようなアプリケーションを改良して、Liftの目玉であるAjaxとCometを利用したアプリケーションの作成方法を解説します。 対象読者 Javaは知っているが、Scalaも学んでみたいと思っている方 ScalaでのWebアプリケーショ

    AjaxとCometを利用したLiftのアプリケーションを作る
  • 第15回 Scala 2.8の新機能 (1)

    SIer勤務。関数型プログラミング言語や形式手法に興味があり色々勉強中。"A Scala Tutorial for Java programmers"の和訳やScala勉強会(scala-beなど)での発表などScalaの普及活動を行っている。 現在使用されているScala 2.7系に対して、2009年後半にβ版が公開されテスト中のScala 2.8系では大きな変更や数多くの興味深い機能追加が行われています。今回と次回はScala 2.8についての紹介を行います。 なおScala 2.8は現在も開発中です。この記事は2009/12/24版のScala 2.8.0を元に執筆していますので、Scala 2.8の正式リリースまでに変更が加わる可能性があることを予めお断り致します。 Scala 2.8 について この記事を執筆している時点(2009年12月)におけるScalaの安定版は2.7.7

    第15回 Scala 2.8の新機能 (1)
  • Scala+LiftフレームワークのModel

    はじめに Liftによるアプリケーション開発、第3回となる稿は、Modelを利用したデータアクセスについて解説します。 前回、LiftのView層を解説する際に利用したサンプルを、LiftのModelを利用してデータベースへのアクセスを行うように改良しながら、Modelの使い方について説明します。 対象読者 Javaは知っているが、Scalaも学んでみたいと思っている方 ScalaでのWebアプリケーション開発に興味がある方 必要な環境 最低動作環境 Java SE 5 推奨環境 Java SE 6 Apache Maven 2.10 Scala 2.7.5 LiftのModel Liftにおけるデータアクセスコンポーネントは、Mapper and Record Frameworkと呼ばれています。その名のとおり、MapperはJDBCを利用したデータアクセスを提供するコンポーネントで、

    Scala+LiftフレームワークのModel
  • Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~補足編

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~補足編
  • Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~前編

    Scalaとは Scalaは、2003年にJavac(コンパイラ)やJavaのGenericsの設計/開発貢献者であるMartin Odersky氏(スイス・ローザンヌ工科大学教授)によって、開発が開始された比較的新しいプログラミング言語です。Javaは実用言語として幅広いシステムで使用されてきましたが、下位互換性を保つという要請の中、言語としての機能強化がなかなか進まないといった限界も見えてきています。そのような現状もあることから、ScalaJavaの後継として実用的な言語を目指して開発されています。 Scala最大の特徴は、Javaの良さを最大限継承しつつ、スクリプト言語や関数型言語の良いところも吸収し、先進的な機能/文法を取り入れている点です。また、今後のハードウェアのマルチコア化を見据え、簡易に並列処理プログラミングを行うことができるライブラリが付属しています。 Scalaのメリ

    Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~前編