サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
perutago.seesaa.net
まずは手始めにJavaScriptのネタ。 IE8では、配列の要素を検索する関数、indexOf()が実装されていません。 Chromeなんかでは実装されてるのにね。 以下のようなコードを書いてみました。 JSファイルの先頭にでもぶち込んでおきましょう。 indexOf()の実装 if (!Array.indexOf) { Array.prototype.indexOf = function(o) { for (var i in this) { if (this[i] == o) { return i; } } return -1; } } まず1行目でArrayクラスにindexOfが存在するかを確認します。 存在しなかったら、2行目でArrayクラスのprototypeにindexOfの実装を追加します。 これで以降、全ての配列でindexOf()を使えるようになります。 indexO
今回は二つのDataTableの比較を行ってみます。二つのDataTableの中身が同じかどうか調べるというのは稀によくある事。まずはダメな例と、何の工夫もない例を挙げてみます。なお、以下で挙げる例は全て各セルの値だけを調べるものです。実際に使うときはDataTableがNULLじゃないか、列数や行数が同じかどうかを事前に調べる必要があります。 例1:ダメな例 private bool DataTableEqual(DataTable table1, DataTable table2) { return table1.Equals(table2); }
2013/04/06記事修正LILACさんのコメントをもとにサンプルコードを修正しました。本日のお題は多重ループからの脱出です。C#でループを脱出するときはbreakを使いますが、breakは直近のループしか抜けられません。こんな場合はどうしましょう?private void DoSomething(){ for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) ..
JavaScriptには可変長引数なんて立派な仕組みはありません。というより、引数の受け渡しは(JavaやC#などのきっちり系言語に比べて)かなりいい加減です。 //引数1個の関数があったとして・・・ function doSomething(arg) { alert(arg); } //引数を渡さなくてもエラーになりません。 doSomething(); //引数を余分に渡してもエラーになりません。 doSomething("引数1", "引数2");
今回はデザインパターンを使ってCSVのインポート機能を実装してみます。デザインパターンという名前は有名ですが、どんなときに使ったらいいのかが悩みどころ。 サンプルコードはC#4.0+.NET Framework 4で実装していますが、古いバージョンでもたぶん動きます。VB使いの人は・・・、適当に読み替えてください。 仕様画面のボタンを押したらユーザーのデータが書かれたCSVファイルを読み込み、それをUserデータクラスのコレクション(今回はList<User>)に格納する。CSVの中身は以下のような感じ。 01,ももこ,8 02,ひろし,40 03,すみれ,40 04,さきこ,11 05,ともぞう,76 とりあえず実装とりあえず仕様を満たすように実装してみましょう。特に何の工夫もなく、以下のような感じで。 とりあえず実装 //ボタンのイベントハンドラ private void button
まえがき パスワード管理アプリってことで、永らくロボフォームを使ってたのですが、KeePassに乗り換えました。乗り換えた理由は、ロボフォーム(無料版)ってパスワードを10個までしか登録できないから。同類のアプリでLastPassってのもあるのですが、こちらはサーバー側にパスワードを保存するのがちょっと嫌です。KeePassはローカルに保存するのでそういう意味では安心。ということで、KeePassの導入、および設定について書いてみます。 KeePassって何ができるの? このページに書いてある設定を行うと、以下のような感じになります。 ブラウザ(今回はChromeですがFirefoxでも同様)で適当なサイトのログイン画面を開くとアカウント名とパスワードが入力された状態で表示されます。 後はEnterキーを押すだけでログインできる状態です。 ユーザーは諸々のパスワードを覚える必要がなくなりま
2011/09/21 フィルタについて追記 今更ながら、Chromeの拡張機能「Adblock Plus」を入れてみました。 こいつは何なのかと言いますと、Webサイトに表示される広告をブロックしてくれる拡張です。 単に広告を表示しないというだけでなく、ダウンロードすらしません。 ユーザーの目やPCにだけでなく、回線にも優しいということですね。 ・インストール Adblock Plus for Google Chrome™ (Beta) ・フィルタの設定方法 Google Chrome に Adblock Plus のフィルタを手動で追加する方法 フィルタについて追記 上記のサイトで提示されてるフィルタが古いみたいです。 配布元のサイトでの最新は以下のURLです。 メイン: https://adblock-plus-japanese-filter.googlecode.com/hg/abp
まえがき 今回のネタは、HTML5で強調っぽい意味を表すタグについてです。 HTML5になって意味が変わったタグもありますので、「強調はstrongタグでオールOK!」とか思ってると罠に嵌ります。 W3Cが定義したタグの仕様(原文+私の劣悪日本語訳)と、その使いどころを中心に書いてみます。 strongタグ HTML4の頃は「強い強調」を表していたstrong。 HTML5になって、「強調」の意味はなくなり「重要性」を表すことになりました。 W3Cのサイトから引用 The strong element represents strong importance for its contents. The relative level of importance of a piece of content is given by its number of ancestor strong el
今回はjQueryのData Linkについてです。 Data Linkって何? jQueryのData Linkは、ユーザーがテキストボックスなどに入力した値と、プログラムの変数やオブジェクトの値を連動させる仕組みです。.NETでいうところのバインドと同様の機能になります。 通常、「ユーザーが入力した値」をそのままプログラムで使いまわすのではなく、いったん、変数に入れてから使いまわすことが多いです。そうすると「ユーザーが入力した値」と「変数に入れた値」の同期を取る必要があります。Data Linkはその同期処理をやってくれるので便利、ってことですね。 Data LinkはjQueryの本体に実装されてるわけではなく、jQueryの公式プラグインです。プラグインのダウンロードやAPIについては、jQueryのサイト(英語)を参照してください。 最も単純なサンプル まずは単純なサンプルです。
2013/11/18 いただいたコメントを元に追記しました。 コメントをくれた方、ありがとうございます。 今回はJavaScriptでイベントハンドラを追加する話です。 今回のサンプルコードはIE以外のまともなブラウザで動きます。 IEのサンプルコードは最後のほうにちょろっと載せておきます。 普通にイベントハンドラを追加 var button = document.getElementById("Button"); button.addEventListener("click", onClick, false); function onClick() { alert("クリック"); }
「S&M」と表示されます。 JavaScriptでは\uXXXXという文字列をunicodeと判断して勝手に置き換えてくれます。 これなら特に問題ないのですが、例えばAJAXでJSON形式のデータを取得したときは、 「S\\u0026M」のようなデータが来ることがあります。 「\」が2個です。 これをそのまま表示すると…、 \が2個付いてると… 「S\u0026M」と表示されます。 最初の「\」が2個目の「\」をエスケープして、「u0026」はそのまま表示ってことでしょうか。 もちろん意図したものではありません。 「んだよ!要するに\が1個ならいいんだろ!」ってことで以下のように置換しようとしたら…、 \が1個ならいいんだろ!
今日のネタは、HTML5で規定されているlocalStorage(ローカルストレージ)についてです。 以下、特徴をいくつか挙げてみます。 2011/07/06 イベントについて追記 ローカルにデータを保存します PCやスマートフォンなどの端末にデータを保存します。 別のサイトに行こうが、ブラウザを閉じようが、データが残っています。 localStorageの使い方としては、キャッシュ的な使い方が良さそうです。 「サーバーからデータを取得してlocalStorageに格納しておく。次にアクセスしたときはlocalStorageから取得する。もしなければサーバーに取りに行く。」 って感じで。 サーバーに取りに行かなくて済むなら処理が早くなってハッピーですね。 所詮はローカルのデータなので、データが存在することを前提にしてはいけません。 モダンなブラウザなら大概使えます IE8以上、FireFo
このページを最初にブックマークしてみませんか?
『perutago.seesaa.net』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く