2017-01-01から1年間の記事一覧
PHPでディレクトリ内のファイルを1つのZipファイルに圧縮しようとしたらハマったときの話。 以下のようなファイル構成である。 -test └index.php └data -001.txt -: : ここでdataフォルダ以下をtest直下のdata.zipに圧縮したい。index.phpのソースは以…
Tumblrにはbuilt-inのLightBoxがあり、カスタムHTML編集で簡単に導入することができる。以下のサイトで紹介されているのがこれを用いた方法。 f-u.seesaa.net しかし、これはどうも写真投稿限定のようで、テキスト投稿になると画像のURLやサイズをbuilt-inの…
メモがてらに。OpenCV独特のMat形式の扱いに慣れるのが大変だった。 hotspring.jpgはWikipediaより。これとレナをアルファブレンディングで合成してみる。 var bigImg = new Mat("hotspring.jpg"); using (var smallImg = new Mat("lenna.png")) { //貼り付…
画像をリサイズ+αをするプログラムを作りたくなったので、Lanczos法の実装を行ってみた。 自力で実装 クォリティはさておき、とりあえず一回ぐらい自力で実装してみようということでまずは考え方から。このサイトが参考になった。 http://cafe.mis.ous.ac.j…
前々からやってみたかったReact.jsを触ってみた。詳しいことはまだちゃんと把握していないぺーぺーなのだが、思想が.NETのWPFやRxそのものなので親近感があったので。.NETっぽくしたかったのでlinq.jsも使ってみた。結論から言うと意外と相性が良かった。 プ…
JavaScriptで日付計算やったら発狂しそうになったんで、多少楽にする方法を考えた。 C#みたいにAddHours()で時間計算する関数を追加してみた(C#の日付計算も結構地雷あってハマるからあんまり両手を上げて褒められないのがアレ)。 Dateの拡張 Date.prototy…
JavaScriptの闇が深い真偽値の話。NaNを含む数値列に対して一括計算するときにどうする?という問題。 isNaN()の場合 NaNのみ判定したければisNaN()という関数がある。ECMAScript 1stから対応。とりあえず評価用に次のようなtest関数を作ってみる。 develope…
C#に慣れているとJavaScriptでもLINQを使いたくなることがある。linq.js自体の使い方はいろいろ探すと出て来るが、JavaScriptのIDEとしてVisualStudioを使うことができるのでVS内で完結させてみた。IntelliSenseのおかげでほとんどC#と同じような感覚で扱え…
JSONを扱っているとたまにこのような連想配列の文字列に出くわすことがある。 { "fruits": { "1": { "key": 1, "value": [ "apple", "りんご", 150, "青森県" ] }, "2": { "key": 2, "value": [ "melon", "メロン", 600, "茨城県" ] }, "3": { "key": 3, "va…
特定の文字列の繰り返しを検出したいなら正規表現を使うのが王道だが、繰り返す文字列が任意だと一筋縄にはいかないことがある。例えば、 hogehogeeeeehoggggggge という文字列があったとして、2文字以上連続した箇所とその文字と繰り返し回数を検出したい場…