作品
サロゲートペアを含むような文字列を,JavaScriptで正しく処理するためのライブラリと動作サンプル。 サンプルページ サロゲート安全なJavaScript文字ライブラリの開発 http://tagengo-gakushuu.study-tips.info/2019/06_12_js_surrogate/test.html サンプル…
textareaの高さを自動調節するjQueryプラグイン。textareaの入力内容の量・行数などに応じて, textareaの要素の高さを自動的に増減・調節し, タイピング中に自動的にタテに伸びたり縮んだりして,スクロールバーが表示されないようにする。そのようなjQuer…
概要 「JavaScriptでTSVデータをパースするライブラリ」を更新した。もとからある機能: TSVデータの取得元として,DOM要素内のinnerHTML,または関数オブジェクト内のコメントを指定できる。 今回の修正点: TSVデータのセル内の値に,\tという記法によって…
概要 JavaScriptでTSVデータをパースするライブラリを作成した。TSVデータの取得元として,DOM要素内のinnerHTML,または関数オブジェクト内のコメントを指定できる。詳しくは下記コードのコメント内の使用法を読むこと。 コード TsvParser.js
はてなブログのバックアップデータは,MovableType形式だ。 このMTデータを解析して,記事ごとに特定のタグがいくつあるか?を 一覧表に集計するJavaScriptフォーム。 下記のフォームをベースに改良した。 一般テキストからテンプレートマッチングで項目を一…
自分が高く評価した動画の一覧を取得するバッチ。
「文字入力フォーム」を簡単に作るためのJavaScriptコード。 キーボードUIを楽に作れる。 キーとして表示したい文字は,HTML内に列挙しておくだけですむ。 ここでは,例として「タイ語の発音記号ローマ字」をキーボード表示してみる。 動作デモ タイ語の発音…
以前,ブラウザ上ですごく重いテキスト処理を実行した時に, ササッと作ったライブラリがあった。 今回,それを改良して独立させた。 複数行のテンプレートマッチング繰り返しで,項目を一覧表形式で抽出するJSコード (改良版) - ソフトウェア勉強ログとサ…
ちょっと改良。 JavaScriptで整数問題を記述するAPIを改良:素数未満の素数の個数が素数であるような場合を求めよ - ソフトウェア勉強ログとサンプルコード http://source-code-student.hatenablog.jp/entry/20150126/p1 JSに名前をつけて切り出して,「計算…
ある素数について,それより小さい素数の個数が素数個であるような場合を求めるコード。 ==== <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未満の素数の個数(素数計…
配列の要素にユニーク性を持たせるために, include,uniq, compactなどのメソッドを追加した。 どんどん便利になってゆく。 ==== /* WSHやピュアJSの便利配列メソッド ver 0.3 compact, include, uniqを追加 ver 0.2 mapとfilterをreduceで記述 */ // 配列…
シートをスキャンした結果を,配列データとしてさくさく扱えるようにしてみた。 スキャン結果がじかに行ごとのmapになっているのが便利すぎる。 さらに,シートとセルの紐付けなどを改良。 ==== /* MS ExcelとOOo CalcとKingsoft Spreadsheetsを 共通して取…
下記エントリでは「カレントの全バッチを1テキストにまとめる」ことができた。 フォルダ内の全バッチ系ファイルを,はてなのブログ投稿用にまとめるバッチ - ソフトウェア勉強ログとサンプルコード http://source-code-student.hatenablog.jp/entry/2015010…
並んでいるデータを処理する時は,必ずイテレータがほしくなる。 総合的なライブラリを拾ってくる手間よりも,自作関数を継ぎ足したほうが楽だったりする。(イテレータ内でのthisの値の仕様とか調べるのが面倒だったりするので) ==== // 配列のイテレータ …
よく使うコードの雛形。 ==== /* JS/WSH・JScriptでロギングをするライブラリ ver 0.1 */ // 標準出力にログ書き出し function log(s){ WScript.Echo(s); } // "文字列".log() String.prototype.log = function(){ log( this ); }; // 標準エラー出力にログ…
スクレイピングできるように。 jQueryのセレクタを作り直すのは無駄なので,簡易的なメソッドチェインでDOM要素を選択・絞込みしてみる。 ==== // IE起動 var ie = WScript.CreateObject("InternetExplorer.Application") ie.Visible = true; ie_goto_url( i…
ちょっとバージョンアップ。 なんで表計算ソフトを使うのかといったら,列挙がしやすいから。 なので,列挙されているデータをどんどんスキャンして,空白に来たら終わり,という処理が多くなる。 その部分を関数で汎用化してみた。 ==== /* MS ExcelとOOo C…
一つ前のエントリで作った,シート内を縦方向にスキャンする関数を応用。 一行ずつスキャンして,読みがなをkakasiコマンドで生成している。 ==== kakasiで読みがなを付与.bat cscript do.wsf pause do.wsf <job> <script src="lib_log.js" /> <script src="lib_arr.js" /> <script src="lib_cmd.js" /> <script src="lib_excel.js" /> <script src="main.js" /> </job> lib_arr.js // 配列のイテレータ Arr…
WSHからコマンドプロンプトを自由自在に呼び出そう,というライブラリの案。 コマンドの実行結果の出力に対してeach()などのイテレータを直で実行できるコーディングスタイルが売り。 ==== // ファイルパス文字列からファイル名を抽出 String.prototype.file…
前回は,FP3級にでたらめに回答したら,何点取れるのか?を計算した。 結果は,鉛筆を転がしても,学科は平均して4割は取れるという驚愕の結果だった。 さて,実際に試験を受験するときには,さすがに全問をでたらめに回答はしないだろう。 ある程度は,自…
下記のコードを改良。 一般テキストからテンプレートマッチングで項目を一覧表形式で抽出するJSコード (パターンの繰り返しから正規表現で連続キャプチャ) - ソフトウェア勉強ログとサンプルコード http://source-code-student.hatenablog.jp/entry/201501…
でたらめに回答して,選択式の試験に合格できる確率は 果たしてどれぐらいなのか。 FP3級の場合の確率を計算して求めた。
FP3級にでたらめな回答をしたら合格できるのか,という記事の続き。 前回の記事で,合格の確率は「万が一」ということだった。 今回は,得点は何点取れるのか?を計算してみた。 確率の計算による結論: ・FP3級の学科試験に,でたらめに回答した場合の得点…
前回のコードを改良し,年間の集計ではなく,月ごとの変化を見られるようにした。 同一のキーワードの月ごとの変化を行内で追うことができる。 シート内でオートフィルタ・グラフ生成しやすい。
セルのラッパオブジェクトの生成の手間を毎回かけないように,キャッシュ機構を実装した。 これにより,セルの読み書きの速度が4倍になった。 ベンチマーク結果(ミリ秒): キャッシュありの場合 計測結果:223125 キャッシュなしの場合 計測結果:829219 …
はてなカウンターから単一の検索語のランキングを取得し,エクセルに書きだす。 lib_excel.jsに,ブックを上書き保存を追加した。
エクセルファイル上のURLのリストに,ブラックリストとホワイトリストでフィルタリングをかけるバッチ。 ExcelとOOo Calcへの処理を統合できるライブラリを,少し拡張した。 URLは一番目のシートのA列に並んでいるとする。 B列には,URLごとのスコア(アクセ…
ExcelとOOo Calcの統合ライブラリ計画の続き。 いままで単一のjsファイル内でWSHを実行していたが,WSFで処理ごとにライブラリに分けた。 こうすれば,やりたいことがあるたびに部分的な更新で済む。 以下は,エクセルファイル上のURLリストにタイトルを付与…
カレントフォルダ内の全バッチを,ブログに投稿するためにまとめるバッチ。 $このフォルダのバッチをまとめるバッチ.bat @echo off rem フォルダ内のバッチ系ファイルをまとめて rem ブログ投稿用に整形するバッチ rem rem ※対象の全ファイルがSJISで記述さ…
はてなカウンターから,1年分のリンク元情報を取得してCalcのシート上に記録するバッチ。 ==== @if(0)==(0) ECHO OFF echo 処理開始時刻: %date% %time% > log.txt rem WSHコードに,第一引数としてカレントフォルダを渡す cscript.exe //nologo //E:JScri…