銀の弾丸

プログラミングに関して、いろいろ書き残していければと思っております。

線形回帰で「アヤメ(iris)」の分類

octaveを使って線形回帰で「アヤメの分類」をやってみました。結果的には「これ間違ってなくない?」って感じの中途半端な状態です。なんだかイケそうな気がしたのですが、残念です。しかしまあ、せっかくですから誰かの何かの足しになれば?と書いておきま…

C++でJsonを扱うクラスライブラリ jsonexpr

8月から支援に入った画像処理(リアルタイム・オブジェクト・トラッキング)プロジェクトの検証システムで、C++の本体からJSONを吐く必要がありまして、急いでやっつけたのですが、「そういや昔、C++でJSON扱うクラスライブラリ作ったね・・・」と思い出しま…

Node.js+Sqlite(npm sqlite3)のeachメソッドは中断できない

npm sqlite3で一件ずつレコードを読む Database#each または、Statement#each は途中で中断できません。代替手段は・・・

意外に悩ましい整数部分の四捨五入

photo credit: danmachold calculator via photopin (license) JavaScriptで整数部分を四捨五入する場合の注意点。桁落ちに気を付けましょうってお話です。 JavaScriptで、小数を整数に四捨五入するにはMath.roundを使いますね。 でもこれ、残念なことに桁数…

「プロミス地獄」に落ちないための基本事項

「コールバック地獄」からボクらを救ってくれた「Promise」ですが、ふと気が付けば、ちょっと種類の違う別の地獄に落ちてる場合がありますよと。 「なんだPromiseお前もかっ!」的な(笑) 「コールバック地獄」は見た目にネストが深くて「ダメだコリャ感」…

WHATWG Fullscreen API を仕様通りに使えるモジュール「fullscrn」

WEBページ内の特定HTML要素を画面全体に広げられるフルスクリーンAPIのラッパーモジュールをnpmで公開しました。 WHATWGが策定しているフルスクリーンAPIは、現状(2017年5月現在)、多くのブラウザで、プリフィックス付きの実装(mozとかwebkitというアレで…

SVGの重なり順序を操作する「svg-z-order」

npm の svg-z-orderは、 JavaScriptからSVG要素の重なり順(Z-Order)を操作するモジュールです。 SVGには、HTMLに使えるz-indexスタイルは効きません。 なので、重なり順を変更するには、要素を並べ替えるしかないのです。 コードからDOM要素を並べ替えるに…

D3.js v4 でドラッグするには d3.drag() で behavior を取得する

D3.jsでドラッグイベントを処理する必要があったのですよ。 ほぼ初めてのD3ですからグーグル先生にいろいろ聞いて、「ほうほうなるほど」と学習していたのですけど、 ドラッグに関して各所で示されていたサンプル通りにやってみたら、まさかのエラー。 結局…

JavaScriptのラムダ式(アロー関数)は丸括弧で括らなければ即時実行できませんのね

Link: Flickr PAGE - CC BY 2.0 Node.jsで以下のようにラムダ式を即時実行していたのですが、ブラウザでは構文エラーとなって動かないんです。 (()=>{ console.log("これ動きません"); }()); まさかコレが動かないとか思いもよらず。 どう見直しても問題があ…

JavaScriptでマイクロ秒単位の定期処理を実行する(npm fractional-timer)

JavaScriptで1ミリ秒より短いインターバルタイマー処理を提供するモジュール fractional-timer のご紹介。 Link: Flickr PAGE - CC BY-SA 2.0 実際のところ、精度はよくありませんので、クリティカルな用途には向きません。 単純な処理をなるべく高速にタイ…

.NETのアプリケーション設定を編集可能なXMLに保存する

アプリケーションの設定を編集可能なXMLファイルとして利用するための基本クラスとサンプル実装をご紹介

OpenCVの画像処理をお手軽に ― OpenCVフィルター処理ライブラリ cvImagePipeline のご紹介

画像処理・機械学習プログラミング OpenCV 3対応posted with amazlet at 17.06.24浦西 友樹 青砥隆仁 井村誠孝 大倉史生 金谷一朗 小枝正直 中島悠太 藤本雄一郎 山口明彦 山本豪志朗 マイナビ出版 (2017-06-21)売り上げランキング: 2,966Amazon.co.jpで詳細…

まだ間に合うXAMLの基本

「XAMLはなんだか複雑だ」と思ってました。 しかし、あることに気が付いてから「なかなかシンプルなんじゃない?」と思えるようになりました。 ちゃんと知っている方にとっては、当たり前のことかと思いますが、その「ちょっとしたこと」を出発点に、1段掘り…

MVVM的に真っ当にMessageBoxを表示する

MVVMの考え方に沿ってメッセージボックスを表示するC#のサンプルコード。メッセンジャーパターンを使用します。従来コードからの移行も簡単。ユニットテストも対応可能。

WPFのMVVMでコマンドをバインディングする利点

photo credit: Storm Trooper at Oxford via photopin (license) MVVMパターンでは、ボタンを押した時の処理などは、コマンドにバインディングいたしましょうということらしく、 従来の「Clickイベントをコードビハインドで受けて、、、」というのは嫌われる…

C#のラムダ式はAction・Funcと一緒に理解を深めるとヨロシイようで

年に一度のパートタイム・シーシャーパー(C#erと書くらしいですね)ですが、今年は少し期間が長く、去年よりは深い仲になれそな予感がしてます♪ とはいえパートタイム・シーシャーパー(もういい)なので、最新の動向を追いかけるのには四苦八苦。 てことで…

セルの範囲に入力された最も右の値を得るにはワークシート関数「MATCH」を使えば良いらしい

MATCHと一緒にINDEXとMAXも使います。 何の話かってエクセルです。セルの中の計算式。 エクセルのワークシート関数はたくさんあって、かなり強力。統計用の関数とか、行列演算さえできてしまう。 さらに、今や Google Drive のスプレッドシートなど、他の表…

最近気づいたVisualStudio 2015 C# で便利に使える5つの機能

全国的に梅雨も明け、本格的な夏ですね。 自分的には(仕事で)年に一度の恒例のVisualStudioシーズン・イン。 昨年までは冬場が多く、期間は長くても2か月程度。 しかし今年は 6月初めから徐々に動き出して、7月以降に本格化。 期間はトータル4、5か月にな…

Visual Studio 2015 Update 3 適用でテストウィンドウに例外発生 ⇒ 言語設定を英語にすれば治りますけど・・・

VS2015の日本語環境に Update 3 を適用するとTestWindowの初期化中に例外投入されまして、、、

【機械学習基礎固め】線形回帰(Linear Regression)の初歩的ポイントを再確認して書いておく

昨年の今頃、CourseraのMachine Learningの講座を受講しましたが、 急いで詰め込んだ情報ってのは、やっぱり消えていくのも早いようです。 当時、仕事で炎上案件の火消し作業に関わっておりまして、 深夜に帰宅し、晩御飯をいただきながらネットで受講。 字…

Octave-Forge for Windows をインストールしてMinGW / MSYSから利用する

MinGW用(?)Octave-Forge for Windows を、Windows 10 にインストールして、MSYS(GitHub for WindowsについてるGitBash)で利用できるようにセットアップしたので、その手順を書いておきます。 photo credit: I23 - SPANning an octave via photopin (lic…

WPFのDataGrid:カラムの表示・非表示をバインディングで切り替える

WPFのDataGridで、特定の列の表示・非表示をバインディングで切り替える方法を書いておきます。 photo credit: National Building Museum via photopin (license) 当初、「Visibilityをバインドするんでしょ?」と、簡単にやってみたけど無理でした。 調査の…

ShellでZIPの特定ディレクトリ以下全ファイルをUnzip

CLIのunzipで、ZIPファイルから特定ディレクトリ以下の全ファイルを取り出す方法の覚書き。

DynamoDB:条件式のプレースホルダを自動生成してみましょう

Amazon DynamoDBのテーブルをコマンドラインから操作する3つのコマンドをご紹介。 条件式で厄介なプレースホルダーを気にせずに使えるようにしています。

npm「list-it」― コンソールへ列を揃えてデータを表示

コンソールへ表形式での表示を支援するNode.jsのモジュールです。

npm 「hash-arg」 ― コマンドラインパラメータに名前でアクセス

コマンドラインで指定されたパラメータに名前でアクセスする為の、シンプルなNode.jsのモジュールをnpmで公開したので御紹介。

Node.jsで正常終了:process.exit(0) は呼ばないほうが良いですね

「ダメ!絶対!」ということでも無いですが、Node.jsで、正常終了するとき、`process.exit(0)`と明示的に呼び出さないほうが良いですねっていう小ネタです。いや、引数0は省略できるとか、そういうことではなくて。

AWS Lambdaの関数アップロードをお手軽に

AWS Lambdaの関数を、ローカルPCからアップロードするコマンドのご紹介。ダウンロードも出来ますよ。

AWS LambdaからDynamoDBをQueryする

Node.jsのLambda関数からDynamoDBを操作するサンプルコードを示してみます。

ブラウザでマルチスレッド ― JavaScriptのWeb Worker を使用してサブスレッドと通信する(応答をコールバックで受けとる機構を実装する)

ブラウザで動作する8ビットマイコンのエミュレーターを作っており、動作速度と安定性を確保するため、Web Workerを使用したので、そこで得られた知見などを書いてます。