読者です 読者をやめる 読者になる 読者になる

銀の弾丸

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

JavaScriptのラムダ式は丸括弧で括らなければ即時実行できませんのね

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

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

JavaScriptで1ミリ秒より短いインターバルタイマー処理を提供するモジュールのご紹介。 実際のところ、精度はよくありませんので、クリティカルな用途には向きません。 単純な処理をなるべく高速にタイマーで実行したいけど、標準タイマーの1ミリ秒では遅す…

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

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

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

OpenCVの画像処理をお手軽にできるC++のフィルター処理ライブラリ cvImagePipeline のご紹介。 cvImagePipeline は、OpenCVの画像処理関数をモジュール化したC++向けのライブラリです。 画像処理の流れや各モジュールのパラメータの指定をXMLで記述できるよ…

まだ間に合うXAMLの基本

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

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

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

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

MVVMパターンでは、ボタンを押した時の処理などは、コマンドにバインディングいたしましょうということらしく、 従来の「Clickイベントをコードビハインドで受けて、、、」というのは嫌われるらしい。一部の人からはモーレツに。 ただ、理由なく「MVVMでなき…

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)で利用できるようにセットアップしたので、その手順を書いておきます。 しかし、ほとんど Windowsで利用するための手順であって、Mi…

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

WPFのDataGridで、特定の列の表示・非表示をバインディングで切り替える方法を書いておきます。 当初、「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を使用したので、そこで得られた知見などを書いてます。

C++の参照型の落とし穴:クラスメンバに参照型は使わないほうが良さそうだ

先日来、C++のデストラクタで、おかしな動きにぶち当たり「おかしい!バグか?」と大騒ぎした後、最終的に自分のミスに気がつきました。 タイトル通り、クラスにおける参照型に関する落とし穴です。 経緯とともにホントにお恥ずかしい限りですが、忘れた頃に…

んなわけないし→デストラクタで参照型のメンバ変数が使えない?

この記事無効です。全て自分が悪かった。気を取り直して自分のミスの暴露記事は下記参照。何卒よろしくお願いいたします。 http://takamints.hatenablog.jp/entry/2015/12/29/the-pit-fall-of-a-reference-type-in-cplusplus

大間違い→デストラクタが自動的に呼ばれない

この記事無効です。全て自分が悪かった。気を取り直して自分のミスの暴露記事は下記参照。何卒よろしくお願いいたします。 http://takamints.hatenablog.jp/entry/2015/12/29/the-pit-fall-of-a-reference-type-in-cplusplus

テキストを日本語的に傍点(圏点)で強調するJavascript

ふと思いついてテキストに傍点をつけるためのスクリプトを作りましたので、ご紹介。(ソースはGitHubに置いてます) 「傍点」は「圏点」ともいうらしいのですが初耳でした。この文書では以降「傍点」で通します。 「傍点によるテキストの強調」は、CSS3のtex…

SQLiteのSQLのパラメータ化できる箇所

SQLiteのSQLiteDatabase.rawQueryで、SQLのパラメタライズが、できる場所とできない場所がありまして、調査結果を記しておきます。 「単なる文字列置換」では無いようです(よくよく考えれば当たり前ですね)。 SQLite入門 第2版posted with amazlet at 15.1…

キャリブレーションしてステレオマッチングやってみた

例によって、百均で購入した2台のWEBカメラをステレオキャリブレーションして、ステレオマッチングをやってみました。 低価格&低品質のウェブカメラで、マジメにキャリブレーションする意味なんてあるのかどうかわかりませんが、今後とも頑張ってやっていき…

OpenCVステレオキャリブレーション用チェスボードコーナー検出ツール

ステレオカメラのキャリブレーションのために必要になる簡単なツール stereoShot を作りましたので、ご紹介。 stereoShotは、2台のカメラで同時にチェスボードをキャプチャーして、コーナー検出の情報を表示し、複数の画像ファイルを保存します。 複数の画像…

ほぼ初めてのPLCで感じたラダーの勘所

この夏、ラダーが熱かった。7月半ばに、初めて本格的なPLC案件を担当してから、もう2ヶ月か・・・。 本来パソコン側のソフトウェア担当です。PLCと通信して機器設定情報を編集したり、生産実績を収集するよなソフトウェアの経験こそありますが、PLCのソフト(ラ…

jQueryプラグインを正しく簡単に作る方法

キチンとしたjQueryプラグインを簡単に作れるようになる関数のご紹介。 javascriptのクラスを作れる人なら、「jQueryプラグインはjQuery.fnに~」とか、「メソッドチェインをするために~」なんてことを詳しく知らなくても大丈夫。

WEBでお手軽行列演算 OCTAVE ONLINE β

「あればいいな」と検索したら、ホントにあって驚いた。 この度「ブラウザーで動くOctave」を見つけまして、軽く使ってみたのでご紹介。「そんなの常識、前からみんな使ってるよーん」ってな場合は是非ともスルーでお願いします。 そう、これはOctaveのWebア…

ラズパイにシャットダウンボタンを付けました

買っててよかったブレッドボード。 Raspberry Pi 用 GPIOポートキット ブレッドボード、LED、抵抗、プッシュボタン、ジャンパーワイヤー付きposted with amazlet at 15.06.13ZX3 Tech 売り上げランキング: 102,134Amazon.co.jpで詳細を見る ↑これで一通りそ…

ラズパイで自動起動するデーモンを自作する

Raspberry Piで動作するデーモンをC言語で作る方法と、自動起動する設定手順などをまとめました。 Raspberry Pi2 Model B ボード&ケースセット (Standard, Clear)posted with amazlet at 15.06.07TechShare 売り上げランキング: 146Amazon.co.jpで詳細を見…

CMakeでジェネレータを判定して分岐する

GCC で MinGW と Raspberry Pi 両方で動くプログラムを書いていて、リンクするライブラリは切り替えたいという状況。 色々調べて何とかなったので書いておきます。もっと良い判定方法があるかもしれないですけど、とりあえず。 CMakeLists.txt : ジェネレー…

Visual C/C++用getoptでPOSIX的コマンドラインオプション解析

POSIXのgetoptは文化遺産。コマンドラインオプション解析の標準ですから。Windowsでは argc と argv を直接解析しがちですが、途端にmainがカオスになってしまうんですよね。 カオスになりつつ「まあいいか」で、増改築を繰り返していると、そのうち「モウダ…

SQLで文字列の出現回数を調べる

SQL

photo credit: Illustrious company via photopin (license) SQLで、テーブル内の文字列フィールドから、特定のキーワードの出現回数を得る方法です。 チョット考えただけでは無理だと思っておりましたが、ミソは置換と文字数でした。 全体文字数から、キー…

【翻訳】Choregrapheの仮想PepperへPythonスクリプトをアップロードする方法

(2015年7月追記): 本ページのリンク・画像は全て切れています。もともと一般公開されていたページではなかったのかもしれませんので仕方がないです。 すでにPepperの一般販売が開始されており、さらに、Pepperがなくても DEVELOPPER PROGRAMに登録(無料…

OpenCV + Python + NumPy で画像の画素を操作する

Python+OpenCVで、イメージの画素単位での操作方法をまとめました。 実質的にはNumPyでの行列操作方法の説明です。 「Python+OpenCV」で、画素単位での画像操作をするケースはそう多くありません。 でも、「まったくやり方がわからない」ってのも困ります…

USBシリアル変換ケーブル無しで、ループバックテストができる、「仮想シリアルポートドライバ Null-modem emulator(com0com)」

最近の、ほとんどのPCには「シリアルポート(COMポート)」がありませんので、シリアル通信するソフトは、「USBシリアル変換ケーブル」を使うと思います。 実際に通信をするには、この変換ケーブルとクロスのシリアルケーブルが必要になります。 PC単体で動…

32ビットの実行モジュールが64ビットWindowsで動いているか判定する

ここでは、 IsWow64Process を使う方法を説明します。他にも方法があるかもですけど。 「VC++ x64 判定」とか検索すると、別目的の方法や、ちょっと妖しい情報も混在します。 確かにちょっとヤヤコシイから混乱しやすい。そこ考慮して書いときます。 やりた…

jQuery UIで普通のテキスト入力を少し立派に見せるjQueryプラグイン

フォームのテキスト入力項目の見た目を、jQuery UI の spinner(スピンボタン付き数値入力ウィジェット)と同じようにする、jQueryの簡単なプラグインです。spinnerのスタイル(CSS)を利用するので、jQuery UI も必要です。 spinnerは結構高さがあって、ボタン…

PHPの正規表現でメールアドレスをチェックする

フォーム入力のメルアドチェックをphpでやることにななりまして、「正規表現で軽く一発」とのことでした。 そういえば今まで厳格にやったことがなかったな、と「メールアドレス 正規表現」でぐぐってみたら、わんさか出てくるじゃないですか。 しかしなんだ…

WEBカメラ2台のステレオマッチング結果をリアルタイムに表示する

リアルタイムにステレオマッチングの結果を表示してみました。相変わらず百均カメラ2台で頑張って(謎)います。 最初は前回(100均Webカメラ2台でステレオマッチングやってみた - 銀の弾丸)と同じく、Pythonで書いてみたのですが、出力の可視化処理が遅過…

100均Webカメラ2台でステレオマッチングやってみた

数ヶ月前に100均で入手して箱に入ったまま眠っていた2台のカメラで、ステレオマッチングしてみました。 2つのカメラの視差によって奥行き情報を算出するってことですね。 あまりややこしいことはしていません。 キャリブレーションせずにステレオマッチング…

LS_COLORS : MinGW,MSYSで、lsのディレクトリ名を見やすくする

MinGW,MSYSの端末でlsすると、ディレクトリ名が青色で表示されますが、バックが黒で非常に見づらい。 こんな感じ。 user@windows ~ $ ls 黒地に暗い青/ こんな色では/ 読めないよ(怒)/ ディスプレイ全体を明るくすればマシになるけど、他が明るすぎて目が…

apt-getで「何か問題」「ホスト名にアドレスが割り当てられていません」

ネットワーク環境が変わって、ラズパイがネットに繋がらなくなったので、調べながら設定書き換え。

日付入力スピンボタンとdatepickerとの併用

日付入力用のspinnerです。例によってjQueryとjQuery UIが必要です。 datespinner: 以下のように、datepickerと同時に使えます。 datepickerだけではテキストボックスにテーマのスタイルが適用されないようですが、spinnerを使えばOKです。 datespinner(with…

時刻入力スピンボタン

時刻入力用のspinnerです。時分のみ入力します。秒も入力したい場合は追加コードが必要です。 jQuery UI の spinnerをカスタマイズしたものですので、jQueryとjQuery UIが必要です。 timespinner: ウィジェットの値としてはシーケンシャルな分の値になってる…

jQueryでフォーム部品のcheckedやselectedはpropで操作する

よく勘違いして慌てているので書いておきます。 フォーム部品のcheckedやselectedといったbool型のプロパティの操作は、propを使用する。以前はattrを使っていた記憶がありますが、それではちゃんと動いてくれないです。 いちご みかん りんご いちご みかん…