タグ

ブックマーク / yuroyoro.hatenablog.com (7)

  • 関数の話 - ( ꒪⌓꒪) ゆるよろ日記

    こんにちは、しいたけです。 某所で関数型プログラミングとはリスト処理のことなのか、と燃えているのを見て、関数型プログラミングとは何か、ということを自分なりの考えを述べたいと思いました。春なので。 この資料は2年ほど前にSupershipの社内勉強会で使ったものですが、この中で関数とオブジェクトを対比している箇所があります。 関数もオブジェクトも、変数や関数の引数戻り値として扱える第1級の値であり、状態を持ち(メンバー変数/クロージャ)、組み合わせが可能(delegate, composition/関数合成)、である、と。 ではオブジェクト指向と関数型プログラミングで何が決定的に異なるかというと、設計・実装のアプローチに何を中心に据えるか、ということだと思います。 オブジェクト指向では、クラス・オブジェクトをモデリングし、各種のオブジェクト指向的デザインパターンを用いてオブジェクト同士を組み

    関数の話 - ( ꒪⌓꒪) ゆるよろ日記
    koroharo
    koroharo 2018/04/03
    “関数型プログラミングを知っているとプログラミングの裾野が広がるよ”
  • Scalaプログラマレベル(アプリケーション/ライブラリ)[翻訳] - ( ꒪⌓꒪) ゆるよろ日記

    Scalaの難易度とか学習曲線について、最近また議論されてるようですが、公式にはこのようなレベル分けになってますよ。 Scala levels: beginner to expert, application programmer to library designer | The Scala Programming Language アプリケーションプログラマとライブラリプログラマに別れてます。アプリケーションプログラマLv2とライブラリプログラマLv1が大体同じくらいの習熟度だそうです。 なんか、これ見ると中級アプリケーションプログラマくらいならすぐになれますよね。 Scala簡単だワー。Q.E.D Level A1: 初級アプリケーションプログラマ(Beginning application programmer) Javaのような式や文を利用できる。標準的な演算子やメソッド呼び出し

    Scalaプログラマレベル(アプリケーション/ライブラリ)[翻訳] - ( ꒪⌓꒪) ゆるよろ日記
    koroharo
    koroharo 2011/12/10
    ライブラリのL2からほとんど分からん。。orz
  • ScalaのPartialFunctionが便利ですよ - ( ꒪⌓꒪) ゆるよろ日記

    Scalaには、PartialFunctionというものがあります。 直訳すると部分関数ですが、これはなにかっていうと「特定の引数に対しては結果を返すけど、結果を返せない引数もあるような中途半端な関数」です。 どうやって使うのん? まぁ、ちょっと例を見てましょうや。PartialFunctionであるfooPfは、引数が"foo"だったら"bar"を返して、"foo"以外は知らんというてきとーな関数です。 scala> val fooPf:PartialFunction[String,String] = { case "foo" => "bar" } fooPf: PartialFunction[String,String] = <function1> scala> fooPf("foo") res5: String = bar scala> fooPf("hoge") scala.Mat

    ScalaのPartialFunctionが便利ですよ - ( ꒪⌓꒪) ゆるよろ日記
    koroharo
    koroharo 2011/01/31
    「match式のパターンを部分的にオブジェクトとして取り扱う」
  • Wicket1.5で導入されるNew Event SystemをScalaでエロガントに実装する - ( ꒪⌓꒪) ゆるよろ日記

    もう2週間以上前にもなりますが、Wicket勉強会 2011-01 : ATNDに行ってきたんですよ。 そこでWicket1.5からNew Event Systemってのが導入されてこれはScalaと相性いいんじゃね?みたいな 話になって、そりゃ俺に対して振ってるんだな、と思って書いてみましたが、そんなことより その後のさゆりさんがどうなったのか気になります。届け!この想い!! Wicket勉強会開催直前です。 - 矢野勉のはてな日記 はてなブックマーク - Wicket勉強会開催直前です。 - 矢野勉のはてな日記 New Event Systemって くわしくは以下の資料を見てくださいね。 http://public.iwork.com/document/ja/?a=p38265472&d=Wicket勉強会201101.key 簡単に言うと、コンポーネントとかがイベントを発行したり、イ

    Wicket1.5で導入されるNew Event SystemをScalaでエロガントに実装する - ( ꒪⌓꒪) ゆるよろ日記
    koroharo
    koroharo 2011/01/30
    あー、これに限らずScalaとWicketは相性良さそうだな。
  • OAuthプロトコルの中身をざっくり解説してみるよ - ( ꒪⌓꒪) ゆるよろ日記

    「おーおーっすっ!」 てなこって、TwitterAPIのBASIC認証も6月末に終了してOAuth/xAuthに移行するというこの時期に、あらためてOAuthについて勉強してみたんですのよ? OAuth認証を利用するライブラリは各言語で出そろってきてるのでそれを使えばいんじゃまいか? というと話が終わるので、じゃあそのライブラリの中身はなにやってんのよってことを、OAuthするScalaのライブラリ作りながら調べたことをまとめてみました。 間違っているところもあると思うのでツッコミ歓迎です>< OAuthってそもそもなんなの? ものすごくざっくりというと「API利用側が、ユーザ認証をAPI提供サービス側にやってもらうための仕様」って感じでしょうか? BASIC認証の場合、API利用側が認証に必要なアカウントやパスワードを預かる必要があるわけです。悪意のあるAPI利用側が「なんとかメーカー

    OAuthプロトコルの中身をざっくり解説してみるよ - ( ꒪⌓꒪) ゆるよろ日記
    koroharo
    koroharo 2010/06/21
    「おーおーっすっ!」
  • Slim3をScalaで動かすためのいろいろ - ( ꒪⌓꒪) ゆるよろ日記

    「EXILEはクラウド!」 ではなく、appengine ja night #6 Beer Talk : ATNDで発表した内容です。 Slim3をScalaで動かすためのブランクプロジェクトと、ScalaのController/Serviceを生成するSlim3-gen-scalaを作りました。 yuroyoro/slim3-scala-blank · GitHub yuroyoro/slim3-gen-scala · GitHub slim3をscalaで動かしてみたView more presentations from guest16d8e4. 特徴 ScalaでSlim3が動きます。 ScalaのController/Serviceを生成できます。 EntityはJavaで作成しますが、Scalaから問題なく使えます。 テストはSpecsで書けます。( specs - a BDD

    Slim3をScalaで動かすためのいろいろ - ( ꒪⌓꒪) ゆるよろ日記
  • Scala的な考え方 - Scalaがとっつきにくいと思っている人へ - ( ꒪⌓꒪) ゆるよろ日記

    Javaな人から見ると、「Scalaって難しい」ってイメージがありますね。俺も最初はそう思ってました。今もですけど。 で、考えてみたんですが、何が難しいって考え方・イディオムになじみがないのが原因かと思ったんです。 ここでは、俺が今までScalaをやってきて得た考え方を紹介します。「Scalaをちょっとやってみたんだけど、とっつきにくくて…」と思われている方は、ぜひご一読ください。 参考資料: Scala入門 - Scalaで書きはじめたJava使い向け - Scala勉強会@東北 Dropbox - 404 神は言われた。「リストあれ。」 Lisperは、リストをどう作るかをまず考えるらしいです。適切なリストが出来たら、プログラムはもうできたも同然だと。同じ考え方は、Scalaでも通用すると思います。 大まかに、こんな流れで考えてます。(リストは最初から与えられることもあるでしょう) 「

    Scala的な考え方 - Scalaがとっつきにくいと思っている人へ - ( ꒪⌓꒪) ゆるよろ日記
  • 1