JavaScript

はてなブログのMT形式バックアップデータを解析して,見出し数や特定のタグ数を記事ごとにカウントするJavaScriptコード

はてなブログのバックアップデータは,MovableType形式だ。 このMTデータを解析して,記事ごとに特定のタグがいくつあるか?を 一覧表に集計するJavaScriptフォーム。 下記のフォームをベースに改良した。 一般テキストからテンプレートマッチングで項目を一…

jQueryプラグインjqplotで,アニメーション付きグラフ表示のデモを詳しく解説。JavaScriptで動きのあるグラフ描画

jQueryプラグインjqplotで,折れ線グラフや棒グラフを描画する。 描画の際には, 棒が延びていくエフェクトや 折れ線が延びていくエフェクト 数値がしだいに浮かび上がるフェードイン効果 などのアニメーションを付ける。 以下のURLで,動作デモを見ることが…

jQueryプラグインjqplotで,素数の個数を折れ線グラフ表示。アニメーション効果をつけた動作デモ

jQueryのプラグインjqplotで,素数計数関数の値をグラフ表示してみよう。 動作デモ: JSでアニメーショングラフ描画(jqplotで素数計数関数を表示) http://sourcecode-student.info/demo/2015_03_jqplot_prime_number_counting/ 参照 jqplotのオプションの…

jQuery.flotで,素数の個数および素数計数関数をグラフ描画

jQuery.flotで素数計数関数の値をグラフ表示するデモ: JSでグラフ描画(flotで素数計数関数を表示) http://sourcecode-student.info/demo/2015_03_jquery_flot/ 工夫した点: x軸およびy軸にラベルをつける機能がflotには標準で存在しないので,軸のメモリ…

外国語などの入力フォーム・キーボードHTMLを簡単に生成するJavaScript

「文字入力フォーム」を簡単に作るためのJavaScriptコード。 キーボードUIを楽に作れる。 キーとして表示したい文字は,HTML内に列挙しておくだけですむ。 ここでは,例として「タイ語の発音記号ローマ字」をキーボード表示してみる。 動作デモ タイ語の発音…

JavaScriptで,重いループ処理を軽く非同期で実行できるライブラリ ver0.1

以前,ブラウザ上ですごく重いテキスト処理を実行した時に, ササッと作ったライブラリがあった。 今回,それを改良して独立させた。 複数行のテンプレートマッチング繰り返しで,項目を一覧表形式で抽出するJSコード (改良版) - ソフトウェア勉強ログとサ…

「JavaScriptで整数問題を記述するライブラリ」を独立させてちょっと改良

ちょっと改良。 JavaScriptで整数問題を記述するAPIを改良:素数未満の素数の個数が素数であるような場合を求めよ - ソフトウェア勉強ログとサンプルコード http://source-code-student.hatenablog.jp/entry/20150126/p1 JSに名前をつけて切り出して,「計算…

JavaScriptで整数問題を記述するAPIを改良:素数未満の素数の個数が素数であるような場合を求めよ

ある素数について,それより小さい素数の個数が素数個であるような場合を求めるコード。 ==== <input type="button" value="計算開始" onclick="calc()"><br> <textarea id="d" cols="80" rows="20"></textarea> <script> function calc(){ clear_log(); // 素数を見つけよ find_all_primes_that( function( N ){ return ( // この条件を満たすものを // N未満の素数の個数(素数計…

WSH/JScriptで配列の便利メソッドライブラリの案・compact/include/uniqなどを追加

配列の要素にユニーク性を持たせるために, include,uniq, compactなどのメソッドを追加した。 どんどん便利になってゆく。 ==== /* WSHやピュアJSの便利配列メソッド ver 0.3 compact, include, uniqを追加 ver 0.2 mapとfilterをreduceで記述 */ // 配列…

JS・WSHで配列の便利関数のライブラリ案

並んでいるデータを処理する時は,必ずイテレータがほしくなる。 総合的なライブラリを拾ってくる手間よりも,自作関数を継ぎ足したほうが楽だったりする。(イテレータ内でのthisの値の仕様とか調べるのが面倒だったりするので) ==== // 配列のイテレータ …

JS・WSHでロギング・ログ出力に使う便利関数の案

よく使うコードの雛形。 ==== /* JS/WSH・JScriptでロギングをするライブラリ ver 0.1 */ // 標準出力にログ書き出し function log(s){ WScript.Echo(s); } // "文字列".log() String.prototype.log = function(){ log( this ); }; // 標準エラー出力にログ…

複数行のテンプレートマッチング繰り返しで,項目を一覧表形式で抽出するJSコード (改良版)

下記のコードを改良。 一般テキストからテンプレートマッチングで項目を一覧表形式で抽出するJSコード (パターンの繰り返しから正規表現で連続キャプチャ) - ソフトウェア勉強ログとサンプルコード http://source-code-student.hatenablog.jp/entry/201501…

一般テキストからテンプレートマッチングで項目を一覧表形式で抽出するJSコード (パターンの繰り返しから正規表現で連続キャプチャ)

もし,文字列がデータ構造を持っていれば,パースは容易だ。たとえば: DOM XML CSV JSON これらはいずれもテキストが持つデータ構造であり,項目を抽出するのがきわめて容易。 しかし,データ構造を持たないようなテキストもある。 そういうテキストから,…

JavaScriptで,文字列の差分(diff)をブラウザ上でグラフィカルに可視化するコード

JavaScriptで,文字列のdiff差分を計算するコード。 テキストベースおよびグラフィカルの両方で,差分を明示する。 上の画像のような出力を得られる。 前回のコードを改良したもの。 JavaScriptで,文字列のdiff差分を計算するコード。アルゴリズムは動的計…

JavaScriptで,文字列のdiff差分を計算するコード。アルゴリズムは動的計画法

2つの文字列を比較して,動的計画法によりdiffを生成するJavaScriptコード。 コード

整数問題を解くJSコード: 2^n−1が31で割り切れるようなケースを列挙する

JavaScriptで整数問題を解き,自然数を探索してみよう。 問題: 2^n - 1 が31で割り切れるのは,どのような場合か? 出典: 【シンプル整数難問】ある数で割りきれる条件 - 短くて面白い数学の問題コレクション 〜シンプルな難問〜 http://d.hatena.ne.jp/Su…

JavaScriptで2のべき乗を計算し,大きい数の場合に数値表現と文字列表現の食い違いをリストアップする実験コード

JavaScriptで大きな整数を計算すると,ある時点で不正確になる。 具体的にどのように不正確になるのだろうか? 2のべき乗を100乗まで求めて,実験してみよう。 動作デモ: JavaScriptで2のべき乗のリストアップ http://sourcecode-student.info/demo/201…

2ちゃんねるのスレッドから全レスをtable形式で抽出するJavaScriptコード

Firebugで動作する。 スレッドをブラウザ(firefox)で開いて,コンソールで実行すればよい。 var rescnt = 1; var table_src = $x("//dl[@class='thread']/dd").reduce(function( ret, i ){ ret += "<tr><td>" + rescnt + "</td><td>" + i.innerHTML.replace(/<a [^>]*>([^<]*)<\/a</a></td></tr>…

【Facebook APIのサンプル集】「facebookアプリケーション開発ガイド」(ASCII,株式会社鳥人間・郷田まり子著)

「facebookアプリケーション開発ガイド」(ASCII,株式会社鳥人間・郷田まり子著) まえがきより抜粋: Facebookの標準的な機能に加えてさらに魅力的なのは,そのFacebookの機能を自在に拡張する機能が世界中の技術者に提供されていることです。Facebookはも…

与えられた任意の「覆面算」を自動的に解くJavaScriptプログラム

覆面算を総当り法で解くコード。 サンプルの計算式は,abc - cb1 = 100 というもの。書き換え可能。 計算式を入力:<br> <textarea id="formula" cols="60" rows="10"> // 1-9の間をとる数の個数 head_num = 2; // 0-9の間をとる数の個数 body_num = 1; // 数が満たすべき関係式 target_func = function ( a,</textarea>…