タグ

scalaに関するsakadonohitoのブックマーク (14)

  • 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の基本的な使い方
  • Scalaのクラスとオブジェクト、パターンマッチ

    前回のおさらいと今回の内容 前回の記事「基的なパターンマッチとScalaで重要な“関数”」では、パターンマッチの使用方法とScalaの関数を紹介しました。今回は、それらの知識を踏まえて、Scalaのクラスとオブジェクトの使い方を紹介します。また、以前紹介したパターンマッチで、オブジェクトをマッチ条件にする方法も紹介します。 なお稿では、オブジェクト指向自体やクラスの概念、それらに関連した基的な事柄は詳細に説明しません。オブジェクト指向の基礎について確認したい方は、以下の記事などをご覧ください。

    Scalaのクラスとオブジェクト、パターンマッチ
  • Scalaプログラミング入門

    Martin Oderskyによる 関数型かつオブジェクト指向プログラミング言語 Java 1.1–1.4コンパイラの開発者 Pizzaの開発者 (Philip Wadlerと共同) オープンソース 活発に開発が行われている 応用 Twitterの分散DBフレームワークGizzardはScalaで記述されている Foursquare, Tumblr, LinkedIn, Amazon, VMware, はてな, ドワンゴなどでも利用されている WebアプリケーションフレームワークとしてPlayなどがある プログラミング言語別年収ランキング 2017年は1位, 2018年は2位 言語の特徴 関数型プログラミング言語とオブジェクト指向プログラミング言語の融合 強力な型推論 高階関数 Immutable Collections 並行計算 Java言語もJava 8から,関数型プログラミングの特徴

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

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

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

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

    今からでも遅くない これから始めるScala(中編)
  • 今からでも遅くない これから始める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とパーザコンビネータ(実装編)
  • 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のアプリケーションを作る
  • Twitterのクローン作成で学ぶLiftによる開発の流れ

    はじめに 第4回を迎えた連載ですが、これまではLiftのView層やModel層の個々の要素の解説にとどまっていました。 今回は、View層とModelを組み合わせて、Twitterのクローンのようなアプリケーションを作成しながら、Liftを利用した開発の流れを説明することで、具体的なアプリケーションを構築するイメージをつかんでいただける内容になっています。 対象読者 Javaは知っているが、Scalaも学んでみたいと思っている方 ScalaでのWebアプリケーション開発に興味がある方 必要な環境 最低動作環境 J2SE 5.0 JDK 推奨環境 J2SE 6.0 JDK Apache Maven 2.10 Scala 2.7.5 アプリケーション作成の流れ アプリケーションを作成する流れは、次のとおりです。今回は、これまでのおさらいを兼ねて、1からアプリケーションを作成します。 mav

    Twitterのクローン作成で学ぶLiftによる開発の流れ
  • Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~後編

    はじめに 前回に引き続き、Javaの後継候補として注目されているプログラム開発言語「Scala」について説明していきます。今回は、ScalaJavaの代替として使える点(「ベターJava」として使える点)に注目します。 シリーズ前編として、前回はScalaのメリットや、基礎的な文法について説明しました。シリーズ後編となる今回は、プログラムのコンパイルや、データベース接続について扱っていきます。 これまでの連載 Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~前編 コンパイルとデータベース接続 ここからはプログラムのコンパイルとデータベース接続を扱います。なお、以降すべてのプログラムを実行するためにはエディタの文字コードを、UTF-8に設定する必要があります(UTF-8以外の文字コードでは、日語などの取り扱いに失敗します)。 Scalaでのソースコードの記述

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

    はじめに 前回は、関数型Webアプリケーションフレームワークというコンセプトで構築された、ScalaのWebアプリケーションフレームワーク「Lift」の概要を紹介しました。 第2回となる稿では、LiftにおけるView層であるテンプレート、Snippetについてサンプルを用いて解説したいと思います。 対象読者 Javaは知っているが、Scalaも学んでみたいと思っている方 ScalaでのWebアプリケーション開発に興味がある方 必要な環境 最低動作環境 J2SE 5.0 JDK 推奨環境 J2SE 6.0 JDK Apache Maven 2.10 Scala 2.7.5 LiftのViewはSnippet+Template LiftのView層は、基的にテンプレートとSnippetによって構成されています。開発者は、HTMLページのテンプレートを用意し、動的な出力を行う部分をSnip

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

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

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