タグ

Scalaに関するarerreeeのブックマーク (16)

  • Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」

    Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」

    Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
  • 怖いScala

    無職\(^o^)/ もう少し無職楽しむつもりだけど、なんとなく関数型言語書いて金貰えるような仕事ないかな・・・ 今年の前半は働いてたけど、去年の今頃も無職だった 暇だからScalazにひたすらpull req送る 気づいたらコミッターになっていた((((;゚Д゚))))!? 2013年11月現在、コミット数3位(コミットした行数では7位くらい。つまり細かいコミットが多い)

  • Scala with DDD

    Indroduction Xtend, Extending Java, Statically typed, Closure, Extension method

    Scala with DDD
  • 独習 Scalaz — 独習 Scalaz

    独習 Scalaz これまでいくつのプログラミング言語が羊の衣を着た Lisp に喩えられただろうか? Java は馴染み親しんだ C++ のような文法に GC を持ち込んだ。それまで他にも GC を載せた言語はあったけども、現実的に C++ の代替となりうる言語に GC が載ったことは 1996年には画期的に思われた。やがて時は経ち、人々は自分でメモリ管理をしないことに慣れていった。JavaScriptRuby の両言語もその第一級関数 (first-class function) やブロック構文を持つことから羊の衣を着た Lisp と呼ばれたことがある。S式の同図像性がマクロに適することから Lisp系の言語はまだ面白いと思う。 近年の言語はもう少し新しい関数型言語から概念を借りるようになってきた。型推論やパターンマッチングは ML にさかのぼることができると思う。時が経てば、人

  • バカ向け言語 Scala - だらだらしてたいなぁ

    なぜScalaがバカ向けなのか。 ぼくの経験を元に、バカ向け言語と非バカ向け言語を比較しながら見て行きましょう 非バカ向け言語 C プログラマーとして最初に携わったのがC言語です。 それは以下のようなものでした。 何十ものファイルにまたがるグローバル変数 緻密な制御が必要であるにも関わらず、無秩序に取得/開放が行われているメモリー管理 このような複雑な構造を、ぼくのようなポケコン並の処理能力しか持たないバカに把握可能でしょうか。もちろん不可能です そこで、次のようなコーディングを心がけました。 グローバル変数を使わず、関数に引数を定義して渡す メモリーの取得/解放を同一ファイル内に限定する これで、メモリーや変数参照の影響範囲を限定し、ぼくのようなバカでも理解できるようになります。 ですが、わざわざそんな事をやらなくても全てを理解できるエリート様達は、 「なぜ引数で渡すんだ。グローバル変数

    バカ向け言語 Scala - だらだらしてたいなぁ
    arerreee
    arerreee 2013/04/20
    面白い。
  • 圏論とかモナドなんて簡単だからscalaを使って説明してみた - だらだらしてたいなぁ

    はじめに 関数型といえばモナド、モナドといえば難しいという事が巷で言われていますが、いきなりモナドを理解しようとするから難しく思えるだけで、圏論から順序を追って理解していけば全然難しく無いんだよって事を分かって貰えればいいなぁと思い書いて見ることにしました。 ただ、圏論といっても適用範囲がとっても広く、応用編になると分けわかんなくなってくるので、ここではプログラミング分野に特化したFP(functional programing)圏論*1について書きます。 また、説明を簡単にする為に細かい部分をいろいろ省略しています。学術的な定義としては正確ではないので、このエントリの説明は大体合ってる位の気持ちで読んでくださいね。 尚、ぼくは圏論の詳しい事はさっぱり分からないので、学問的な話を振られても回答できませんキリッ 圏ってなんなの? 圏論と言えば、圏です。 圏って何なのかというと、対象(obje

    圏論とかモナドなんて簡単だからscalaを使って説明してみた - だらだらしてたいなぁ
  • これからPlay Frameworkをはじめる人が読むリンク集

    2012年07月02日01:43 カテゴリScala これからPlay Frameworkをはじめる人が読むリンク集 とりあえず動かしたい人が読むリンク集をメモ。 ・想定環境:Play frameworkのver2系をScalaでInteliJを使い開発したい人。 ・Play ver1系とver2系は別のものです。間違えてver1の資料を読まないようにしましょう。 ・(そもそもフレームワークとは何か勉強したい、という人は、)Rub on RailsとかCake PHPとか他のフレームワークを知らないときつい気がします。そっちを軽くやってから入るのも良さそう。 ・Play 2.0 ドキュメント · playframework-ja/Play20 Wiki とりあえずここを読みましょう。 ・初めての Play アプリケーション · playframework-ja/Play20 Wiki He

  • Scalaプログラミングで知っておきたい基本構文まとめ

    Scalaプログラミングで知っておきたい基構文まとめ:スケーラブルで関数型でオブジェクト指向なScala入門(2)(1/2 ページ) REPLを使ってScalaの文法を覚えよう 前回の連載第1回記事「EclipseでScalaプログラミングを始めるための基礎」では、Scalaの特徴についての解説から始まり、Scalaのインストール、そしてScalaプログラムを記述してREPLとScala IDE for Eclipse(以下、Scala IDE)での動作を確認してみました。Scalaプログラミングを始めるための準備ができたので、いよいよ今回からScalaの文法について紹介します。 第1回記事では、Scala標準のREPLとScala IDEで動作を確認してみました。今後記事のサンプルコードは、どちらで確認しても問題はありませんが、対話的に実行でき、1文ごとにコードの結果が分かって便利な

    Scalaプログラミングで知っておきたい基本構文まとめ
  • Scala Cookbook | Scala Cookbook

    Scala Cookbook http://xerial.org/scala-cookbook では、Scalaでのプログラミングについて紹介していきます。 Scalaをこれから使い始める方にはこちらがおすすめ。15分で始めるScala Scala勉強会の予定 - 日程、今後紹介する内容など Scala Cookbookに寄稿、改善に協力する レシピの追加、修正等を歓迎します。 今後追加したい・すべき内容 New Recipes

  • 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入門

    Scalaの特徴を紹介し、基構文や関数、 クラスなど、Scalaの基的な機能について 解説する入門連載 EclipseでScalaプログラミングを始めるための基礎 スケーラブルで関数型でオブジェクト指向なScala入門(1) 概要や5つの特徴を紹介し、開発環境を構築して対話型実行環境「REPL」やEclipse上でHello Worldを実行します

  • Effective Scala

    Effective Scala Marius Eriksen, Twitter Inc. marius@twitter.com (@marius) [translated by Yuta Okamoto (@okapies) and Satoshi Kobayashi (@scova0731)] Table of Contents 序章 書式: ホワイトスペース, 命名, インポート, 中カッコ, パターンマッチ, コメント 型とジェネリクス: 戻り型アノテーション, 変位, 型エイリアス, 暗黙 コレクション: 階層, 使う, スタイル, 性能, Java コレクション 並行性: Future, コレクション 制御構造: 再帰, Return, forループと内包, require と assert 関数型プログラミング: 代数的データ型としてのケースクラス, Option, パターンマ

    Effective Scala
  • PHP5.4とScalaのトレイト比較 - なんたらノート第三期ベータ

    PHP5.4にはトレイトという文法が導入されて、多重継承の便利さが享受できるようになるそうです。 いろいろ試してみることにしました。 トレイトといえば代表選手はScalaですね。Scalaでいうトレイトは、インターフェースの定義とメソッドの実装を同時にやってくれる便利な概念でした。単一継承のOOP言語では「〜は〜の一種」という制約が強すぎて、「ペンギンは鳥の飛行メソッドによって飛行できてしまう」という問題があります。でもちゃんと「ペンギンは飛べないが泳げる鳥」を綺麗に解決する必要はあって、その解答として、トレイトのあるScalaではこんな解が導けます。 abstract class Animal abstract class Bird extends Animal { def hasBeak = true // 鳥にはかならずクチバシがある def hasWings = true // 翼

    PHP5.4とScalaのトレイト比較 - なんたらノート第三期ベータ
  • ドワンゴScala勉強会で学んだ、ハイブリッド言語「Scala」の魅力 | Lab by engineering@dwango.jp

    こんにちは初めましてー。2011年度新卒の田中です。 12月から急に寒くなってきましたね。 11月が暖かかったからといって油断していませんか? 私は完全に油断していました。まだ冬服を買っていません。 さて、まだ暖かかった11月、ドワンゴでScala勉強会という熱いイベントがありました。 私は最近Scalaを勉強し始めたのですが、この勉強会で、Scalaの魅力的な機能をたくさん知ることができました。 今回はScala勉強会から持ち帰った情報や今まで私が勉強してきたことを元に、Scalaのどこが魅力的なのかを記事をしていこうと思います。 それではよろしくお願いいたします。 対象読者 Javaを書いたことがある方 Scalaを知りたい方 Scalaを始めたばかりの方 Scala? ドワンゴはエンジニア同士の技術交流が盛んな会社で、プログラミング言語を中心に日々、情報交換、議論が行われています。

  • consリストとsnocリスト - でこすけの日記

    この記事はScala Advent Calendar jp 2011 - PARTAKEの19日目の記事です。 概要 Scalaのリストと関数型っぽい操作について説明します。 一通りリストについて説明をした後、通常のリストとちょっと違った「Snocリスト」を作ってみます。 Listについて Scalaのリストは連結リストです。どういうことかというと、 通常の配列はこんな感じです。 配列は、 連続したメモリ空間を占有している ランダムアクセス(番地指定でのアクセス)が定数時間で可能 サイズを拡大する場合、最悪全体が作り直しになる という特徴があります。これに対してScalaのリストは、 ひとつ前の要素へのポインタでつながっている 空リストを示すオブジェクト(Nil)がある ランダムアクセスできない 一番前の要素の挿入、削除が定数時間で可能 といった特徴があります。 実際のところリストは単純な

    consリストとsnocリスト - でこすけの日記
  • scala.util.Randomで乱数を生成する。 - kaishitaeiichiの日記

    1から10までのランダムな数をつくるのはどうやるんだろう。 Scala Standard Library 2.12.8 - scala.util.Randomを見てみたが、おおむねjava.util.Randomとおなじか? scala> import scala.util.Random import scala.util.Random scala> val r = new Random r: scala.util.Random = scala.util.Random@5f04eb scala> r.nextInt res173: Int = -49067135 scala> r.nextInt(10) res175: Int = 4 scala> r.nextInt(10) + 1 res176: Int = 1 ランダムな数字のリストがほしい scala> r.shuffle((1 t

    scala.util.Randomで乱数を生成する。 - kaishitaeiichiの日記
  • 1