タグ

要印刷に関するl-_-llのブックマーク (5)

  • JavaScriptのクロージャは内部でどう機能するのか | POSTD

    もうだいぶ前からすでに私はクロージャを使っています。使い方を学びましたが、実際にクロージャがどう機能するのか、また、使うと隠れたところで実際に何が起きるのかを明確に理解しているとは言えませんでした。そもそも、クロージャとは一体何なのでしょうか。 ウィキペディア はあまり役に立ちません。クロージャはいつ生成され、いつ削除されるのでしょうか。どのように実装されるべきなのでしょうか。 "use strict"; var myClosure = (function outerFunction() { var hidden = 1; return { inc: function innerFunction() { return hidden++; } }; }()); myClosure.inc(); // returns 1 myClosure.inc(); // returns 2 myClos

    JavaScriptのクロージャは内部でどう機能するのか | POSTD
  • 詳細PDF入門 ー 実装して学ぼう!PDFファイルの構造とその書き方読み方 - プログラムモグモグ

    PDFのファイル構造を理解すると、テキストエディタでも直接PDFファイルを作ることができるようになります。このエントリーではPDFファイルの基礎要素を説明し、簡単なPDFファイルを例にしてファイル構造を説明します。更に、テキストを渡すとPDFファイルを吐いてくれる簡単なプログラムや、PDFを読み込んで簡単な解析をするプログラムを書いてみます。 目次 目次 まえがき オブジェクト 間接参照 ファイル構造 Hello, world! ヘッダ トレーラ 相互参照テーブル PDFを生成するプログラム 日語の扱い方 日語を含むPDFを生成するプログラム グラフィックス PDFを読むプログラム あとがき まえがき 1990年代前半、アドビシステムズは、どのプラットフォームやデバイスでも文書を確実に表示・共有できることを目的としてPDFファイルフォーマットを開発しました。 PDFの表示ソフト

    詳細PDF入門 ー 実装して学ぼう!PDFファイルの構造とその書き方読み方 - プログラムモグモグ
  • アルゴリズムの「計算量理論」の講義ノートPDF。複雑性クラスP/NPの分類や「計算可能性」の理論を,独学で学ぶ教科書 - 主に言語とシステム開発に関して

    講義ノートの目次へ アルゴリズムの計算量理論の講義ノートPDF。 チューリングマシンやオートマトン,ラムダ計算などを使って,アルゴリズムの複雑さを判定する。 例えば,処理の複雑さを「P」と「NP」のクラスに分類したり(=計算複雑性), ある処理が決して終わらないので実行不可能だと判定したり(=計算可能性)。 独学に使える資料を集めた。 ※計算量理論とあわせて学習するとよいのは,ラムダ計算(ノート)や,グラフ理論・組み合わせ最適化(ノート)など。 ラムダ計算がわかれば「計算」を抽象化して扱える。組み合わせ最適化は,計算困難な問題の具体例を学べる。 計算量理論(計算複雑性・計算可能性)の講義ノート 計算量理論の,クラスPとNPからの入門を学べるノート: 計算量の理論 http://www.jaist.ac.jp/~uehara/course... 北陸先端大の講義スライド。 (1)計算の基

    アルゴリズムの「計算量理論」の講義ノートPDF。複雑性クラスP/NPの分類や「計算可能性」の理論を,独学で学ぶ教科書 - 主に言語とシステム開発に関して
  • Vim幼稚園からVim小学校へ - Qiita

    emacsキーバインドに慣れ親しんだせいで長らくVim幼稚園のままだった私が来ましたよ。キーバインドを一度に覚えようとすると挫折しやすいので、以下のように少しずつボキャブラリーを増やすのがたぶん吉。 特記しない限りノーマルモードが前提。後、.vimrcでの設定については最小限にしか触れない (emacsでつい設定ファイルをいじってしまいがちだった反省から) ので各自好きにしてください。 Level 1 最小限の使い方だけ覚えて、ぶっつけでサーバーの設定ファイルを更新したりしていた。10年以上この状態。 iでその場でインサートモード aで直後の文字にインサートモード :wqで保存終了 :q!で保存せずに終了 移動はひたすらカーソルキー xでカーソル下の文字を削除 困ったらEscキーを連打 上はもともと、vimの先祖でずっと機能の少ないviの操作なのだけど、viならほぼどんなたいていのUnix

    Vim幼稚園からVim小学校へ - Qiita
  • 関数型プログラミング入門 | POSTD

    多くの関数型プログラミングに関する記事が教えてくれるのは、抽象的な関数型のテクニックです。つまり関数合成やパイプライン、高階関数などです。この記事では違います。ここでは、プログラマが毎日書く、命令型で非関数型のコードの例を示し、それを関数型の形式へ書き換えます。 最初のセクションでは、短いデータ変換のループを取り上げ、map関数やreduce関数に書き換えていきます。2つ目のセクションではより長いループを取り上げ、ユニットに分解し、それぞれのユニットを関数型に書き換えます。3つ目のセクションでは、連続した長いデータ変換のループを関数型のパイプラインに分解します。 ここではPythonでの例を取り扱います。というのも多くのプログラマはPythonを読むのは簡単だと思っているからです。多くの例では、mapやreduce、パイプラインなどの多くの言語に共通する機能を例示するため、Python的な

    関数型プログラミング入門 | POSTD
  • 1