Just like ES6Slinky has a strong focus onmirroring the ES6API. This means that any documentation or examples for ES6React can be easily applied to yourScala code. There are no new patterns involved with using Slinky.Just writeReact apps like you would in any other language! Complete InteropSlinky provides straightforwardAPIs for using external components.Simply define the component's prope
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 (Pip!Gold) have altered them to be more amenable toprogramming inScala. 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
togetter 正規表現が構文として必要かどうかという話から プログラミング言語における正規表現リテラルの必要性について こういう収集がつかなそうな話題にあまり首突っ込むの好きじゃないんですが、blogに書いておけば、まぁそれはそれでScalaをあまり知らない人にとっては役に立つだろうから、丁寧に説明しておきましょう。togetter(と、その他関連するtweet)はあまり読んでません。 とりあえずkazuhoさんがわかりやすくblogに要点まとめているので、まずそれに対応するかたちで説明しましょう。 また、大前提としてScalaに構文としての正規表現リテラルはありません。なので、以下の説明を読んで 「いや、それは単に苦しい言い訳だし、やはり正規表現リテラルは存在したほうがいいでしょ」 と思う人もいれば 「なるほど、このくらいの機能があれば、たしかにそれほど正規表現リテラル必要ないな」
これはScalaを使った開発の雰囲気を感じてもらうための文章です。 ここでできるようになることScalaプロジェクトの作成 簡単なScalaコードの作成 テストコードの実行 ログの表示 コードの実行時間の計測 システムにインストールできる形のパッケージを作成 準備 UNIX環境(Linux、Mac OS X、あるいは Cygwin をWindowsでセットアップする)javaコマンドが使えること (環境変数PATHの設定など) その他、curl, GNU makeなどのコマンド インターネット接続 (ここから15分です)Scalaプロジェクトの作成Scalaプロジェクトの必要最低限のひな形をGitHub上にscala-minとして作成してあります。以下のようにダウンロードしながら展開します。 $ mkdir myproject $ cd myproject $curl -L h
Unfiltered を使うときに必要になるのですが、キモ便利です ちょっとテストデータを定義しますね。 case class Person(name: String, age: Int, height: Int) val tanaka = Person("tanaka", 16, 170) 田中君は16才で170cmです。 田中君は case class として定義しました。 case class なので、みんな大好きパターンマッチで分解してフィールドを取り出すことができます。 tanaka match { case Person(name, _, _) => println(name) } 普通ですね。 で、実はこんなことができます。 tanaka match { case name Person (_, _) => println(name) } なにがなんだかわからないかもしれませ
コントロールのカスタマイズ 前回に引き続き、「Play Framework」(日本語サイトはこちら)の使い方を解説します。Play Frameworkで作成したアプリケーションはモデル/ビュー/コントロールの各パーツから構成され、それぞれプロジェクトのmodels/views/controllersフォルダ内に格納されています。前回はビューの修正を行ったので、今回はまずコントロールをカスタマイズしてみましょう。 デフォルトのコントロールはcontrollersフォルダにApplication.javaとして作成されています。このindex()メソッドがビューのindex.htmlに関連付けられていることは前回説明しました。index()メソッドでは、次のようにrender()メソッドの呼び出しを行っています。これがPlay Frameworkのテンプレートエンジンを利用してWebページ
Play Framework makesit easy tobuild web applications withJava &Scala. Play is based on a lightweight, stateless, web-friendly architecture. Built on Pekko (Play 3) and Akka (Play 2), Play provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications. Developer friendly. Make your changes andsimply hit refresh! All you need is a browser and atex
11月20日に、ドワンゴ社内で開催される「scala勉強会」の生放送になります。 一部スケジュールが繰り上がりました。ご注意下さい。 13:00 勉強会開始 13:00-13:30 kmizu (水島 宏太さん) 体調不良のため、ご欠席 「Scalaによるパターンマッチングライブラリpegexとその実装」 13:00-13:30yuroyoroさん 「クリエイティブで高品質なScalaプログラマになるための10のTips」 13:35-14:05 xuwei_kさん (吉田憲治さん 所属:GMOメディア) 「静的型付け言語としてのScala」 14:10-14:15 yusukey (山本裕介さん 所属:Twitter Japan) 「Kestrelについて」 14:25-14:35 halcat0x15a (吉田三四郎さん) 「twitter4zについて」 14:35-15:10
PHP5.4にはトレイトという文法が導入されて、多重継承の便利さが享受できるようになるそうです。 いろいろ試してみることにしました。 トレイトといえば代表選手はScalaですね。Scalaでいうトレイトは、インターフェースの定義とメソッドの実装を同時にやってくれる便利な概念でした。単一継承のOOP言語では「〜は〜の一種」という制約が強すぎて、「ペンギンは鳥の飛行メソッドによって飛行できてしまう」という問題があります。でもちゃんと「ペンギンは飛べないが泳げる鳥」を綺麗に解決する必要はあって、その解答として、トレイトのあるScalaではこんな解が導けます。 abstract class Animal abstract class Bird extends Animal { def hasBeak = true // 鳥にはかならずクチバシがある def hasWings = true // 翼
IntelliJ CEを使ってみようって人のほとんどがScala使ってみたい(当社比)ようなので,Scalaを例にするよ。念のため,IntelliJ CEは IC-90.96,Scalaプラグインは 0.3.32 を前提にしとく。 どうでもいいけど,Groovyについては,ここに良い解説があるので,参考にしてね。 →Simple Groovy Project in IntelliJ IDEA Community Edition - Messages from mrhaki そうそう,お題は「ScalaプロジェクトでSpecsを動かすまで」としときま。プロジェクトの作り方 File -> New Project... かダッシュボードにある "Create New Project" でプロジェクト作成ウィザードが立ち上がる。選ぶべきは,"Create project from scrat
The document discusses Active Record, an object-relationalmapping tool forRuby onRails applications.It provides steps for using Active Record, including generating aRails application and model, migrating thedatabase, and performing basic CRUD operations. Both advantages and disadvantages of Active Record are mentioned, such as easymapping but potential performance issues. Alternatives like
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
今AngelBeats!見てます。天使ちゃんマジ天使でいいと思います。 で、だいぶ前に作ったScala版のちょっと草植えときますね型言語 Grassを改造して、プログラミング言語 「天使ちゃんマジ天使」とプログラミング言語 「ブブゼラ」を作ってみたよ。 Grassは、id:uenoB 作の型無しラムダ計算がベースをした関数型言語らしいです。(6/22追記) ちょっと草植えときますね型言語 Grassについてはこちら。 世界で最初のGrassプログラム - Garage uenoB ちょっと草植えときますね型言語 Grass プログラミング言語 「天使ちゃんマジ天使」 ちょっと草植えときますね型言語 Grassの派生言語というかまんまです。 Grassで使用する文字(w,W,v)をそれぞれ(天使, マジ, ! )に置き換えただけです。 wを出力するプログラム: 天使ちゃんマジマジ天使天使ちゃ
「おーおーっすっ!」 てなこって、TwitterのAPIのBASIC認証も6月末に終了してOAuth/xAuthに移行するというこの時期に、あらためてOAuthについて勉強してみたんですのよ? OAuth認証を利用するライブラリは各言語で出そろってきてるのでそれを使えばいんじゃまいか? というと話が終わるので、じゃあそのライブラリの中身はなにやってんのよってことを、OAuthするScalaのライブラリ作りながら調べたことをまとめてみました。 間違っているところもあると思うのでツッコミ歓迎です>< OAuthってそもそもなんなの? ものすごくざっくりというと「API利用側が、ユーザ認証をAPI提供サービス側にやってもらうための仕様」って感じでしょうか? BASIC認証の場合、API利用側が認証に必要なアカウントやパスワードを預かる必要があるわけです。悪意のあるAPI利用側が「なんとかメーカー
Twitterが分散フレームワーク「Gizzard」公開!Scalaで書かれたShardingを実現するミドルウェアTwitterは独自に開発した分散フレームワークの「Gizzard」をオープンソースとして公開しました。GizzardはScalaで書かれたJavaVM上で動作するミドルウェアで、PHPやRubyといったWebアプリケーションからの要求を自動的にデータベースに分散することで、大規模で可用性の高い分散データベースを容易に実現するためのものです。 Gizzard:フォルトトレラントな分散データベースを実現 TheTwitter EngineeringBlog: Introducing Gizzard, a framework forcreating distributed datastoresTwitterのブログにポストされた「Introducing Gizzard
ScalaとはScalaは、2003年にJavac(コンパイラ)やJavaのGenericsの設計/開発貢献者であるMartin Odersky氏(スイス・ローザンヌ工科大学教授)によって、開発が開始された比較的新しいプログラミング言語です。Javaは実用言語として幅広いシステムで使用されてきましたが、下位互換性を保つという要請の中、言語としての機能強化がなかなか進まないといった限界も見えてきています。そのような現状もあることから、ScalaはJavaの後継として実用的な言語を目指して開発されています。Scala最大の特徴は、Javaの良さを最大限継承しつつ、スクリプト言語や関数型言語の良いところも吸収し、先進的な機能/文法を取り入れている点です。また、今後のハードウェアのマルチコア化を見据え、簡易に並列処理プログラミングを行うことができるライブラリが付属しています。Scalaのメリ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く