タグ

Programmingに関するkyouzontのブックマーク (83)

  • IT戦記 - JavaScript の this について

    WEB+DB PRESS 編集の R たんから、僕の連載記事に読者様から質問が来ていると教えていただいたので、その内容を教えていただきました。 以下、内容を転載 「JavaScriptわくわく開発道」の記事に関して質問です。 今回の内容で特に興味を持ったのはthisキーワードの振る舞いでした。 thisキーワードの説明には、オブジェクト型の変数を別の変数にコピーしてから初期化すると、コピーした変数からメソッドを実行できなくなるという例が紹介されていました。 そこには「(1)の時点でobj0には{}が入っているため、hogeは未定義となってしまう」という説明があるのですが、誌面の都合上省略があるためか、thisキーワードを用いることで問題を回避できるという理由がなかなか理解できないでいます。 自分なりに考えてみたところ、内部的には以下のようなことが起きているのではないかと思いました。 (1)

    IT戦記 - JavaScript の this について
  • Collection & Copy - JavaScriptにおける古典的継承

    翻訳 原文:Classical Inheritance in JavaScript著者:Douglas Crockford ※原文のコード内に誤りがあり、このまま記述しても動作しません。著者のコメント及び補足情報は翻訳メモを参照下さい。 君は自分が利口で階級にも属さず 自由だなんて思い込んでる―John LennonJavaScriptは、クラスという概念に囚われていない言語です。JavaScriptでは、古典的な継承の代わりにプロタイプ的な継承を使用します。これはC++Javaのような旧来のオブジェクト指向言語に長けたプログラマを当惑させるかもしれません。JavaScriptのプロトタイプ的継承が、古典的継承に比べていかに表現力が優れているかを、これから見ていきましょう。 JavaJavaScript強い型付け弱い型付け静的動的古典的プロトタイプ的クラス関数コンストラクタ関数メソッド関

  • JKL.Dumper - JSONデータダンプクラス

    JSON形式テキストに変数の内容をダンプするクラスです。 JavaScript の開発時にデータ構造を確認するのに使えます。 JavaScript ソースのダウンロードはこちら: jkl-dumper.js (右クリックして[対象をファイルに保存]を選択) Internet Explorer 6.0、Firefox 1.0、Opera 8.0 で動作確認済です。 サンプルソース var data = { string: "string", array: [ 1, 2, 3 ], hash: { key1: "value1", key2: "value2" }, data1: null, data2: true, data3: false }; var dumper = new JKL.Dumper(); // Dumperオブジェクトを生成 document.write( dumper.d

  • http://chikura.fprog.com/index.php?UID=1200647817

  • jqueryの基礎

    よく使うようになった JavaScript ライブラリの jQuery を簡単に紹介。 jQueryの使い方 まず jQueryをダウンロードして利用する html でロードするようにします。そして、CSSクラスやCSS ID に対して動作させたい内容(アクション)を関数で定義します。どのように jQuery が動作するか簡単な図を以下に示します。 この例では、"ボタン"リンクがクリックされたら、隠れている"panel"をスライド表示されるものです。 実際の動作例: ↓ボタン $()関数 jQuery のもっとも基となる操作は $() 関数を利用することです。この関数で操作したい対象を選び、様々な操作を行うことができます。$()の指定方法は、CSSXPathどちらでも利用できます。 指定場所(セレクタ) 概要 例

  • 知っておくべきjQueryオブジェクトの扱い :: 5509

    jQueryオブジェクトからDOM要素にアクセスする方法やメソッドで渡されるjQueryオブジェクトの扱いなど基といえば基ですが、再認識メモです。なので、タイトルは自分に覚えとけよってことです。。 jQueryオブジェクトからDOMにアクセスする $(‘#id’)にすれば#idを取得できますが、この状態だとDOM要素を選らんでいる状態ではないので、DOM要素のプロパティにはアクセスできません。 $('#link').href // これは無理 1-1. $()[0] 要素を引数にしたjQueryオブジェクトはDOM要素が配列で格納されている状態なので $('#link')[0] // DOM要素の参照になる console.debug($('#link')[0]); // 評価結果 - DOM要素 // とすることで配列の中からDOM要素を指定することができるので、プロパティにアクセス

  • jQueryを使い始めたときに感じる13の疑問 : tech.kayac.com - KAYAC engineers' blog

    来週は私が夏休みなので更新はない予定です。agoです。 最近、人にjQueryを解説する機会があったので、昔を思い出してjQueryを使い始めた頃に感じる疑問を書いてみたいと思います。 1 そもそも何で使うの?いまでも困ってないよ 作成する内容にもよりますが、慣れると使用しない場合に比べて記述するコード量が3分の1程度まで減ります。 また、変数、条件分岐、繰り返しが減るのでバグが発生しにくくなります。 2 何か特殊なことができる? 結局できることは変わりません。 jQuery自体JSで書かれてますし、記述の自由度もJSの制約に制限されます。 3 何が難しいの? 文法がややjQuery的になります。 参考 jQuery言語入門 jQuery自体のコード量は少ないのですが、独特の記述法が多く慣れるまで多少時間がかかるかもしれません。 また、CSS Selectorの知識はほぼ必須です。 特にマ

    jQueryを使い始めたときに感じる13の疑問 : tech.kayac.com - KAYAC engineers' blog
  • 一歩先行くJavaプログラマが読むべきオープンソースソフトウェア10選 - 設計と実装の狭間で。

    10万行コード読んだらJava分かるよってTwitterに書いたらすげぇ勢いでRTされたので、調子に乗って捕捉エントリ書くよ。 Java Core API JDKインストールしたディレクトリに入ってるsrc.zipを展開すると入ってるから読むと良いよ。 すぐ近くにあるのから読むってのはメンタル的に楽でいい。 厳密にはOSSじゃなくて単に公開されてるってだけなんだけども、JavaプログラマなのにコアAPIのコード読んでないとか無いよね? どれから読めば良いか分からんかったら、 java.lang java.util java.io java.text 辺りをまずはキチンと理解すること。当然コードを読み終わったら、それを使ってコードを書く事。 OpenJDK http://hg.openjdk.java.net/jdk7/jdk7 OpenJDKを読むことで、プログラム言語してのJavaではな

    一歩先行くJavaプログラマが読むべきオープンソースソフトウェア10選 - 設計と実装の狭間で。
  • データ構造やアルゴリズムを視覚的に確認できるData Structure Visualizationが面白い | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー 開発において言語の習得はいわば前段階。データ構造やアルゴリズムを理解して初めて作りたいと思ったプログラムを作れるようになります。データ構造やアルゴリズムは抽象的な概念なので,プログラミング言語やパラダイムが変化してもずっと使い続けることができる。いわば潰しの効く知識になりえるのが良いところ。 よく使われるデータ構造やアルゴリズムを勉強するためには,Data Structure Visualizationのようなサイトを使うといいかもしれない。Webブラウザ上で視覚的に確認できるのがよいところ。例えば,バブルソートやクイックソートのような主要なソートアルゴリズムはここで確認できる。どのよ

  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • Google JavaScript Style Guide 和訳 — Google JavaScript Style Guide 和訳 v0.1 documentation

    この和訳について¶ この文章は Google JavaScript Style Guide を非公式に和訳したものです. 内容の正確性は保証しません. ライセンスは原文と同じく CC-By 3.0 とします. フィードバックは Issue への登録 , あるいは Kosei Moriyama (@cou929 または cou929 at gmail.com) へ直接お願いします. この和訳のリポジトリは こちら です.

  • Page not found - ファイヤープロジェクト

    The page you are trying to reach does not exist, or has been moved. Please use the menus or the search box to find what you are looking for.

  • 杉浦とソフトウェア開発

    杉浦とソフトウェア開発 ダウンローダをお使いの皆様へ そういえば、秀和システム様より、筆者の「対戦型五目並べ」が、デザパタ入門書として「あなたのコードを[賢く]するデザインパターン Java プログラミング」というタイトルで出版されることになった。7月中旬に店頭に並ぶ予定である。定価は2800円と決まった。著者のクセにシレっと言ってしまうが、内容比だと相当にお買い得だな。ぜひぜひ買ってくれたまえ。より詳しくは→「あなたのコードを[賢く]するデザインパターン Java プログラミング」 私は古手のプログラマである。学生時代から、プログラマ以外のバイトをしたことがない。今まで書いたことのある言語というと、Basic, C, Fortran, Cobol, Scheme, C++, Java, Intel Assembler, Perl, Tcl/Tk, PostScript あたりか。あ、ほと

  • Sammy.jsでAjaxコンテンツのセッションを操る - Mach3.laBlog

    この記事は賞味期限切れです。(更新から1年が経過しています) この記事の情報は古くなっています。 Sammy.js はAPIも一新されてより強力なフレームワークになっています。 公式ドキュメントをご参照ください。 ページを移動させずにサクサクと展開していくのがAjaxコンテンツの魅力ですが、 移動しないが故にURLとしてセッションを保持出来ないという弱点があります。 オーソドックスな解決法は「location.hash」を用いる物ですが、 その処理を簡単にしてくれるのがSammy.jsです。 おおざっぱな話 Sammy :: Quirkey.com Sammy.jsは、location.hashを用いたルーティングを 効率化してくれるjQueryプラグインです。 location.hashとは 通常ページ内リンク等に使用される、 URL末尾の#に続く文字列の事。 http://www.ex

    Sammy.jsでAjaxコンテンツのセッションを操る - Mach3.laBlog
    kyouzont
    kyouzont 2011/05/24
    memo:Locationオブジェクトについては O'RREILY JavaScript 第5版 283ページ参照
  • [JS]#以降のURLによって処理を振り分けるjQueryベースのフレームワーク「Sammy.js」 | Web活メモ帳

    「Sammy.js」はURLによって処理を振り分ける事ができるJavaScriptの軽量フレームワークです。 #以降のアドレスを利用してURLルーティングを実装されており、 簡潔に記述することを目指したフレームワークとなっています。 RubyのSinatraというフレームワークにインスパイアされたみたいですね。 わずか16KBしかないのですが、外部ファイルの読み込みやリダイレクト処理などがサポートされており、手軽に使う事ができます。 使い方 jQueryを読み込んだ後に、sammy.jsを読み込みます。 <script src="jquery.js" type="text/javascript"></script> <script src="sammy.js" type="text/javascript"></script> URLに対して実行するアクションを設定します。 JavaScri

    [JS]#以降のURLによって処理を振り分けるjQueryベースのフレームワーク「Sammy.js」 | Web活メモ帳
  • JavaScriptでSinatra風?RESTfulをサポートしたフレームワーク·Sammy.js MOONGIFT

    Sammy.jsはJavaScriptによるRESTfulをサポートしたWebフレームワーク。 Sammy.jsはJavaScript製のオープンソース・ソフトウェア。Webアプリケーションを開発する際には、サーバサイドとクライアントサイドの二つを開発する必要がある。クライアントサイドにはJavaScriptやFlash、HTMLなどが使われているだろう。 フォームのハンドリングも可 しかしJavaScriptはどんどん高度化し、機能が増している。JavaScriptだけで解決できることは日々増えているのだ。もはやサーバサイドを必要とせず、Webアプリケーションを構築できてしまう。そのためのフレームワークがSammy.jsだ。 Sammy.jsはごく小さなWebフレームワークで、ルーティングを備えている。クライアントサイド内でRESTfulをルーティングで定義し、アクションを受け取ることが

  • SNBinderと「混ざり物のないコンソメスープ」と

    先日オープンソース化したSNBinder(参照)、たくさんの人たちから色々なフィードバッックをいただけてとても感謝している。ブログの記事として書かれたものは私が知る限り以下の三つ。 penultimate diary: SNBinderを試してみる js do.it: SNBinderを試したよ! a2c.get.diary: SNBinderに目からウロコ 小さなMVCが今現実に 当初は、最新のjQueryと動かないというバグがあったり、READMEにタイポがあったりとご迷惑をおかけしてしまったが、こうやってフィードバックをいただくことによって、励みになったり改良したり、というのがオープンソースの醍醐味である。とてもありがたい。 ちなみに、SNBinderは原型のようなものは1年前以上前からあったのだが、ViewとControllerの切り分けに部分がなかなかすっきりせず、公開を控えてい

  • Underscore.js

    Table of Contents Collections each, map, inject, detect, select, reject, all, any, include, invoke, pluck, max, min, sortBy, sortedIndex, toArray, size Arrays first, last, compact, flatten, without, uniq, intersect, zip, indexOf Functions bind, bindAll, delay, defer, wrap Objects keys, values, extend, clone, isEqual, isElement, isArray, isFunction, isUndefined Utility uniqueId, template Collection

    kyouzont
    kyouzont 2011/05/23
    名前通りアンダースコアから記述し始めるライブラリ。
  • Home - Yep-Nope

    When working with C# loops, there are instances where we need to execute specific actions only every nth time through the loop. The question arises: how can we achieve this? In this article, we’ll...

    kyouzont
    kyouzont 2011/05/23
    条件付きでJavaScriptやCSSファイルをロードできるスクリプトローダー
  • [JavaScript] 猿でもわかるクロージャ超入門 1 問題 - DQNEO起業日記

    問題です。 問題: 呼び出すたびに、1,2,3,...を返すような関数 f( )を定義せよ。 f(); // 1 f(); // 2 f(); // 3 この問題、解けますでしょうか? 普通の関数では、できないと思います。 しかし「クロージャ」というのを使えば、このようなことができます。 クロージャって何だ? 「クロージャ」という言葉を、プログラムのやサイトで目にすることがありますよね。 私が最初に見たのは続・初めてのPerl 改訂版(アルパカ)でした。 まったく理解できませんでした。 その後、404 Blog not foundやnaoyaさんのブログなどで「クロージャ」という単語を目にしました。 やはり、まったく分かりませんでした。 とどめの一撃はWikipediaの解説記事。 クロージャ (クロージャー、Closure) は、プログラミング言語において引数以外の変数を実行時の環境

    [JavaScript] 猿でもわかるクロージャ超入門 1 問題 - DQNEO起業日記
    kyouzont
    kyouzont 2011/05/23
    関数の呼び出しが終了した後も値を保持しておき、次に関数が呼び出されたときにその値を使って処理を行いたい場合は ~略~ クロージャを使っても同じことが実現できます。(O'REILLY JavaScript(第5版)より)