タグ

クロージャーに関するNobiNobiKotaのブックマーク (6)

  • 【JavaScript】メモリの浪費を避けるコーディング | ヘッドウォータースのブログ TechNote

    こんにちは。良昌です。 Facebook、GithubなどのJSON形式でユーザ情報を返却するAPIや、PhoneGap、Monacaなどのスマートフォンのマルチプラットフォームを提供するライブラリ、IDEが開発ツールとして定着してきたことにより、JavaScriptを利用する機会が増えたのではないでしょうか。 今回は、JavaScriptコンテナがWebブラウザの場合に、動的に確保されるメモリ領域の浪費を避ける方法について書きたいと思います。 JavaScriptにおけるメモリの浪費を避けるコーディング JavaScriptにおけるメモリの浪費を避けるコーディングをするためには、GC(ガベージコレクション)、クロージャについての知識が必要です。まずは、この2つの機能について説明していきます。 ■GC(ガベージコレクション) GCとはプログラムが動的に確保したメモリ領域の内、不要になった領

    【JavaScript】メモリの浪費を避けるコーディング | ヘッドウォータースのブログ TechNote
  • メソッド、ブロック、クロージャ | METAMATE

    Rubyの一番のウリと言えばブロック引数メソッドでしょう。 メソッド(関数)とクロージャとブロックの関係についてちょっと掘り下げてみました。 普通のメソッド定義はdef...endで定義します。 def hello name puts "hello, " + name end hello "taro" => hello, taro Rubyでは関数は全てクラスに属するので関数=メソッドです。 トップレベルで定義をした場合はObjectクラスのメソッドになります。 self.class => Object Object.method_defined? :hello => true メソッドはファーストクラスではありません。 ファーストクラスとは以下の4つを満たす言語要素のことです。 1. 名前を付けられる 2. 関数の引数に渡せる 3. 関数の戻り値にできる 4. データ構造の

  • Joe Walnes, The power of closures in C# 2.0

    Mock Roles, not Objects October 26 2004, Vancouver, Canada. OOPSLA'04 Personal Development Practices Map June 24 2004, Salt Lake City, Utah. Agile Development Conference SiteMesh.NET and ASP.NET MasterPages May 20 2004, Bangalore, India. Bangalore .NET User Group Mock Objects: Driving Top Down Development March 29 2004, St Neots, UK. OT2004 Mock Objects December 2 2003, London, UK. XP Day 3 T

  • Martin Fowler's Bliki in Japanese - クロージャ

    http://martinfowler.com/bliki/Closure.html 動的言語に興味がでてくると、 クロージャやブロックと呼ばれる概念に出会うと思います。 C/C++/Java/C# などクロージャを持たない言語をご使用の方は、 どういったものなのかご存知ないかもしれません。 ここでは簡単にクロージャについて説明します。 クロージャを持った素晴らしい言語を使ったことある方にとっては、 あまり面白くない話かもしれません。 クロージャは長年使用されてきました。 私が最初に出会ったのは、おそらく Smalltalk だったと思います。 Smalltalk ではブロックと呼んでいました。 Lisp ではクロージャを多用しています。 Ruby でもクロージャが提供されています――多くの rubyist がスクリプト言語に Ruby を選ぶのはこのためです。 基的にクロージャとは、ブ

  • Martin Fowler's Bliki in Japanese - CollectionClosureMethod

    http://martinfowler.com/bliki/CollectionClosureMethod.html (detectとinject部分を明確にするよう更新) Smalltalkでプログラミングを始めたときから、コレクションクラスが好きでした。 よく使う強力なオペレーションを簡単に使うことができました。 Javaが登場したとき、このようなメソッドがなくなって物足りないと感じました――Java(およびC#)のコレクションは、Smalltalkのそれと比べて非常に限定されたものでした。 というのも、JavaにはClosureが実装されていなかったからです。 Smalltalkの強力なコレクションのメソッドは、すべてクロージャに依存しています。 近年、私はRubyで頻繁にプログラミングをするようになりました。 Rubyに引き付けられたのは、Rubyには強力なコレクションメソッドがあ

  • k_maruの思うところ2

    この内容で使っている環境は以下のとおり。 - Visual Studio 2017 15.7.1 - VS Code 1.24.0-insider (windows) - Visual Studio 2017 for Mac 7.5 - JetBrains Rider 2018.1 (mac) TL;DR .NET コーディング規則/名前付け規則が指定できるようになっている 規則には重要度を指定できて、違反したときに警告やエラーを出すことができる ただ、重要度にエラーを指定している規則に違反しても、ビルドは失敗しない Visual Studio Code / JetBrains Rider は .NET コーディング規則/名前付け規則に対応していない Visual Studio 2017 for Mac は対応しているけどエラーパッドに表示されない つまるところ使えるのは Visual S

    k_maruの思うところ2
  • 1