タグ クロージャ
人気順 5 users 10 users 100 users 500 users 1000 usersJavaScriptのクロージャはメモリーリークをちゃんと理解して使おう - Qiita
はじめに 前に ブログ で書いた記事なのですが、せっかくなのでQiitaにも投稿します。 脱初級者の壁として君臨しているクロージャ。クロージャの使い方はわかったけど、いろんな記事を見るとクロージャは問題点もあるみたい。それに、そもそもクロージャの使い所がいまいちわかんないと思ってクロージャに再度立ち向かおうと思った次第です。同じような悩みを抱えているデザイナーさん、コーダーさん、フロントエンドエン... 続きを読む
JavaScriptのクロージャはメモリーリークをちゃんと理解して使おう | ichimaruni-design
脱初級者の壁として君臨しているクロージャ。クロージャの使い方はわかったけど、いろんな記事を見るとクロージャは問題点もあるみたい。それに、そもそもクロージャの使い所がいまいちわかんないと思ってクロージャに再度立ち向かおうと思った次第です。同じような悩みを抱えているデザイナーさん、コーダーさん、フロントエンドエンジニアさんの参考になれば嬉しいです。 クロージャとは 以前に書いた記事「 スコープとクロー... 続きを読む
Rust風にデザインパターン23種 | κeenのHappy Hacκing Blog
κeenです。 GoFのデザインパターンは有名ですが、言語機能によっては単純化できたりあるいは不要だったりするのでRust風に書き換えたらどうなるか試してみます。 発端はこのツイート。 デザインパターン、古いJavaの機能の足りなさのワークアラウンド的なテクニックも含まれてるからあまり宜しくないんだよね。enumやクロージャで十分なのもいくつかある。 Rustで写経、デザインパターン23種 - Q... 続きを読む
クロージャってどんなときに使うの? ~ 利用場面を 3つ 挙げてみる - Qiita
結論を先にまとめると、以下の3つです。 1. グローバル変数の宣言をなるべく減らしたい場合 2. ユーザが引数を与えてカスタマイズ可能な自由度の高い「関数」を生成したい場合 3. 前回、呼び出されて実行されたときの演算結果(値)を内部で保存して、次に呼び出されたときに、前回の結果(値)に対して、さらに同じ処理(演算)を行う関数を生成したい場合 以下、「クロージャ」の定義から、頭の整理まで、分かりや... 続きを読む
著書の「クロージャ」の説明が誤っているとの指摘が、誤っていることついて
著書の「クロージャ」の説明が誤っているとの指摘が、誤っていることついて 2015年4月30日木曜日 著書、関数型プログラミングに目覚めた! IQ145の女子高校生の先輩から受けた特訓5日間 について、 「クロージャ」の説明が誤っています と、また☆1のレビューが投稿されていますが、誤っていることを説明します。 おそらく、これまでそれを眼にしたかなり多くの技術者が「ああ間違った指摘をしているレビュー... 続きを読む
カーリー化、部分適用、クロージャという間違いやすい三種についての簡単なメモ書き - Line 1: Error: Invalid Blog('by Esehara' )
2015-03-16 カーリー化、部分適用、クロージャという間違いやすい三種についての簡単なメモ書き そもそもカーリー化とは何か 複数の引数を取る関数は、一つの引数を取る、関数を返す関数の連続として表現できるということ、と言葉で表現しても抽象的すぎるので、ちょっと式で表してみる。 まず初めにラムダの導入 例として、ある整数に対してプラス1する関数を定義する。このような関数は、として表現できる。 こ... 続きを読む
今までのPHPのやり方を全て打ち捨てよう - pnkts's blog
2014-04-29 今までのPHPのやり方を全て打ち捨てよう PHPは日々進化している 最重要な言語仕様の変更点 PHP 5.3.x 名前空間 レイトスタティックバインディング クロージャ PHP 5.4.x trait ビルドインサーバ クロージャで$this PHP 5.5.x ジェネレーター Composer PHPにとってのBundler PEARの環境依存やめよう PECL?知らん P... 続きを読む
2014年、オブジェクト指向vs関数型プログラミングの壮絶な宗教戦争は終結 OO陣営最後の牙城DOMというWeb標準のUIを破壊した巨砲Facebook-React - Qiita
戦況報告 Java8 2006年ごろ、Javaコミュニティ内部で多くの関数型言語に実装されている「クロージャ」という仕組みを取り入れるかどうかをめぐり、オブジェクト指向vs関数型プログラミングの壮絶な宗教戦争が勃発しました。 Javaはオブジェクト指向言語なので、「そんなの必要ない!」ということで結局、関数型陣営の敗北となり、提案は却下されました。 しかし、またJavaを関数型言語化しようとする「... 続きを読む
Swiftの「エクステンション」と「プロトコル」~ 機能と役割、Objective-Cとの違いを知る (1/4):CodeZine
本連載シリーズでは今までに型、リテラルの扱いから始まり、関数、クロージャ、列挙型、クラス、ストラクチャなどを中心に解説してきました。今回は「エクステンション」と「プロトコル」を中心に解説をしていきます。 エクステンションとは Objective−Cでは「カテゴリ」という仕組みを通じて、既存のクラスにメソッドを定義したり、読み取り専用のプロパティを設定したりできました。Swiftでは、Objecti... 続きを読む
Swiftの事を隅々まで知ることができる技術書「詳細 Swift」発売へ
「詳解 Objective-C 2.0 第3版」で有名な荻原 剛志氏の新しい技術書「詳細 Swift」が発売されます。現在予約受付中で、発売日は2014年12月11日。価格は3,456円です。 内容紹介によると「詳細 Swift」の内容は、Swiftの基礎、関数、構造体、オプショナル、基本的なデータ型、パターン、演算子、クラスと演算子、メモリ管理、プロトコル、拡張、クロージャ、ジェネリクス、C/O... 続きを読む
Angularが嫌い - mizchi's blog
2014-10-06 Angularが嫌い 僕は本当にAngularが嫌いで、もはや許せないレベルに達していて、今ではもう本当に使いたくない。 イカ理由。 APIがほんっっっっっとうに糞 趣味の問題といえばそうでもあるが僕は糞だと思う 実装が黒魔術 良識あるJSエンジニアなら Function.prototype.toString() しない 実際に一部のクロージャが破壊されてて挙動が直感に反する... 続きを読む
若手エンジニア/初心者のためのRuby 2.1入門(8):Rubyの面白さを理解するためのメソッド、ブロック、Proc、lambda、クロージャの基本 (1/3) - @IT
若手エンジニア/初心者のためのRuby 2.1入門(8):Rubyの面白さを理解するためのメソッド、ブロック、Proc、lambda、クロージャの基本 (1/3) オープンソースのオブジェクト指向プログラミング言語「Ruby」の文法を一から学ぶための入門連載。最新版の2.1に対応しています。今回は、Rubyのメタプログラミングを学ぶ上での基礎知識となるメソッド、ブロック、Proc、lambda(ラ... 続きを読む
Swiftでデザインパターン(同時上映:クロージャもつかうよ!) - たーせる日記
2014-06-04 Swiftでデザインパターン(同時上映:クロージャもつかうよ!) Swift こんにちは。長期出張でへとへとになってしまったたーせるです。おひさしぶりーふ。 6月3日の未明、Appleが「Swift」という新しいプログラミング言語を発表しました。スローガンはObjective-C without C。ぼくはわくわくが止まりません。さっそく Xcode 6 beta をダウンロ... 続きを読む
Swiftのパワフルな記述力が秘められた 「関数」と「クロージャ」 (1/5):CodeZine
前回はSwiftの変数と定数、データ型、if文などの制御構文について説明しました。今回は「関数」と「クロージャ」について説明します。クロージャはSwiftの特徴的な仕組みの1つで、プログラムをより柔軟に、より簡便に記述することを可能にしています。Swiftにおける関数とクロージャの関係にも注目してください。 続きを読む
プライベートメソッドのユニットテストは書かないもの? - QA@IT
JavaScript を書いています(ブラウザがターゲットです)。手動テストが面倒になって、 Jasmine を使ってテストを書きはじめています。 オブジェクトに含まれる関数(プロパティ)の数が増えてきたので、外から呼ばれることがないものはプライベートメソッドのように扱おうと、クロージャを使って、以下のように書きました。 var Foo = function(foo) { this.foo = f... 続きを読む
JavaScript のスコープチェーンとクロージャを理解する - tacamy memo
2012-12-31 JavaScript のスコープチェーンとクロージャを理解する 前回で JavaScript のスコープの基本がわかったので、今回はスコープチェーンとクロージャを勉強してみました。 Call オブジェクトとクロージャの理解がかなり大変でした・・。 変数オブジェクト JavaScript で変数の宣言と参照をするということは、変数オブジェクトを読み書きするということです。 変数... 続きを読む
JavaScript(V8)で避けるべき(だった)クロージャの使い方 - kazuhoのメモ置き場
Grokking V8 closures for fun (and profit?) に、ほんの少しだけ触れられている話なんですが。ごく最近まで V8 には、オブジェクトリテラルの中で関数リテラルを使った場合に非常に遅くなる(というかGCが多発する)問題があった。たとえば、 function doit() { for (var i = 0; i < 1000; ++i) { for (var j ... 続きを読む
ちょっと高度にJavaScript/クロージャでイベントハンドラを作る | クラスメソッド開発ブログ
前回の解説では、クロージャの「変数が保持される」「変数が隠蔽される」という特徴を使って、アクセサメソッドを作りました。 今回は、「呼ぶたびにクロージャが生まれる」特徴を使ってみます。 繰り返し処理内でイベントハンドラを作る まずは、何の工夫もなくやってみます。今回はjQueryも使います。 $(function() { var data = [ {label:'リンク1', value:1}, {... 続きを読む
ちょっと高度にJavaScript/クロージャの基礎 | クラスメソッド開発ブログ
JavaScriptのクロージャを一言で言うと、「自身が定義されたスコープで変数を解決する関数」となります。 少し複雑ですが、マスターすれば何かと便利な概念なので、解説したいと思います。 ちなみに、JavaScript未経験なFlex開発者にオススメしたいClosure ToolsのClosure Toolsとは別物です。まぎらわしくてすみません。 例 var f = function() { v... 続きを読む
JavaScript - 小学生のためのクロージャ
http://konno-freesoftware.blogspot.com/2010/02/javascript_10.html より。 計算機科学におけるクロージャとは クロージャ - Wikipedia 引数以外の変数を実行時の環境ではなく自身が定義された環境静的スコープにおいて解決する関数の一種 なのであるがさすがにこの説明だけではピンと来ないかと言って function newCount... 続きを読む
Perl中級者への道 (近藤 嘉雪, at PerlCasual #4)
PerlCasual #4 「本屋で語るPerlプログラミングTips」 (2011/4/28, 池袋ジュンク堂)で行ったトーク「Perl中級者への道」のスライドです。 Perlの初級者から一歩踏み出して,中級者になるための知識――リファレンス,コードレフ(クロージャ)など――を紹介します。また,Perlスクリプトでよく使われる-慣用句的な表現(イディオム)も紹介します。 Perl中級者への道 (... 続きを読む
[JavaScript] 猿でもわかるクロージャ超入門 1 問題 - DQNEO起業日記
問題です。 呼び出すたびに、1,2,3,...を返すような関数f( )を定義せよ。 f(); // 1 f(); // 2 f(); // 3 この問題、解けますでしょうか? 普通の関数では、できないと思います。 しかし「クロージャ」というのを使えば、このようなことができます。 クロージャとの出会い 「クロージャ」という言葉を、プログラム関係の本やサイトなどでよくみかけることがあります。 私が最初... 続きを読む
第11回 クロージャによる超軽量並行プロセスの簡単実装法:ITpro
最近,ネットの一部で「Erlang」(発音はアーランまたはエアラン)というプログラミング言語が流行している(参考リンク)。Erlangはスウェーデンの通信機器メーカーであるエリクソンにて開発された言語で,エリクソン内部や通信業界はもちろん,Twitter(関連記事)などのオンライン・サービスでも採用されているという。 Erlangの特徴は,複数のプロセスが通信をしながら計算をする「並行プログラミン... 続きを読む
ITmedia エンタープライズ:第2回 サルでも分かるプログラミング言語の新潮流【後編】 (1/3)
プログラミング言語の進化を追え:第2回 サルでも分かるプログラミング言語の新潮流【後編】 (1/3) 「ガーベジコレクション」「リフレクション」「アスペクト指向」「クロージャ」「イテレータ」「型推論」など、近年、プログラミング言語の世界に新しい概念が続々となだれ込んでいるように見えます。しかし、この背景には、実はあまり知られていない歴史が隠されているのです。 [まつもとゆきひろ,ITmedia] ... 続きを読む
【レポート】ついにJavaにもクロージャ - James Gosling氏らJDK7へ導入提案 (1) Javaに来たるパラダイム変換クロージャ (MYCOMジャーナル)
Java言語の主要アーキテクトであるGilad Bracha氏、Neal Gafter氏、James Gosling氏、Peter von der Ahé氏らは18日(米国時間)、Java言語において関数型やクロージャの導入を提案するホワイトペーパを公開した。現在、Javaには関数型やクロージャは用意されていない。同氏らの提案ではJDK7を目処にこれら機能を統合していきたいとしている。 関数型やク... 続きを読む