サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
CES 2025
eiua-memo.tumblr.com
過去にphash-imageを使って類似画像判定をした記事を書きました。 Node.jsで類似画像判定がしたい - 人生dat落ち ただ、このphash-imageはlinuxのライブラリ(pHash)に依存している上、debian jessieでそのライブラリが削除されたせいで動作検証したのに利用できずにいました。 代わりに何かないかなーと探して見つけたのがjimp oliver-moran/jimp: An image processing library written entirely in JavaScript for Node, with zero external or native dependencies. 最大の特徴は依存ライブラリが一切ないことです。 画像のハッシュ値を求めたいなら、画像を読み込んでhash()を呼ぶだけ。すごく簡単。 Jimp.read('lenna
Chrome Extension を開発していたらoptionページで次のエラーが出ました。 Uncaught EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self' blob: filesystem: chrome-extension-resource:" 原因CDN 経由で JavaScript ファイルを読み込んでいるからとか、 <script>タグ内に直接 JavaScript のソースコードを埋め込んでいるからとか色々出てくる。 そういう時はmanifest.jsonにポリシー
前々からSublimeText3が重くて困っていたが最近はその症状が顕著でアクティブウィンドウに切り替えるたびにフリーズしてしまい作業にならないので解決方法を調べることにした。 Before アクティブ時のCPUの様子。やばたん。 Preference.sublime-settingsに"index_files": falseを追加してあげると直る。 Preference.sublime-settingsは基本設定 -> Settings - Userをクリックすれば開ける。 Preference.sublime-settings { : : "index_files": false, : : } After sublimetext3 - PHP 100% CPU usage with Sublime Text 3 - Stack Overflow
この前、自分が開発したChromeExtensionを多言語対応させました。事の発端はロシア人(?)からの要望によるもので、英語とロシア語なら任せろって言われたんですけど英訳なら俺にもできらぁと啖呵を切り、その人には露訳だけをお願いしました。 言うてライティング力はチンプンカンなもんで、一文を訳するのもしんどい。贔屓目に見てそれっぽい文章にはなるのですが、まぁ合ってるかどうか自信は微塵もありません。そんな時にLang-8が役立ちます。 適当にぶん投げると親切な人が添削してれる。最高。Google翻訳だと冠詞や前置詞回りの英訳が弱いので一人だといつまで経ってもその辺の理解が進まないのですが人力だとやっぱ強い。独学する上で正解データがないって修羅の道なんで本当にありがたい。 コーチ付きの英訳サービスとして利用してもよいし、英語の勉強に日記を書くもよし、自分が添削側に回ることもできるので自分の国
とりあえず計測。console.time()を使った。 model.js // 総合得点を降順に、データを取得 PostProvider.prototype.findDescTotalPoint = function(params, callback) { console.time("findDescTotalPoint"); Post.find({category: params['name'], correspondDate: params['correspondDate']}) .sort({totalNum: -1}) .limit(params['numShow']) .exec(function(err, posts) { console.timeEnd("findDescTotalPoint"); callback(null, posts) }); }; 見るのはfindDe
仕事でC++、画像処理技術、医療分野の知識を扱うことになりました。 いずれも門外漢ですので勉強の仕方も分かりません。分からないなりに調べて参考になった資料や勉強の過程をまとめておきます。 ※ 書き始めたのがGWの始めなので端々がちぐはぐになっていますが、スルーしてください。 # C++ ## 江添さんのC++の本を読む - C++11: Syntax and Feature Ebook。全然分からん。とりあえず目次だけ目を通してキーワードを頭に入れた。 **以下メモ** - 簡単にまとめると、アンダースコアから始まる名前は、使うべきではない。ダブルアンダースコアを含む名前は、あらゆる使用を禁止されている。 - 外部リンゲージ > ソースコードが複数ある場合のモヤモヤを解消 (C++をもう一度) - Qoosky > ロベールのC++教室 - 第69章 リンケージ - ## C++入門を読む
心がまえ / チェックリストソースコードを汚くするには - Qiita コード品質特性を悪化させるには - Qiita 複雑なプログラムに現れる傾向 - Qiita 複雑さと戦う : データに注目したリファクタリング | システム設計日記 ひとつのクラスにたくさんの基本データ型が宣言されていたら、ある部分を別のクラスとして定義する。5つもデータフィールドが並んでいたら、十分リファクタリングの対象です 複数の引数が一組で使われることを発見したら、クラスにする。 引数に ( Date start, Date end ) が繰り返しでてきたら、DateRange クラスを作る データのかたまりを見つけたら、とりあえずクラスにまとめることを考える 基本型がならんだら、クラスとしてカプセル化することを考える Before / After段階的にリファクタリングしていく記事 RubyRuby初心者必見
Bootstrap3を利用しているとき、要素をcol-**でグリッド分けするも、高さの違いから要素同士が勝手に隙間を埋め合い、レイアウトが崩れる場面に出くわす。出くわしていた。 今まではheightを余分にとって無理矢理高さを揃える脳筋スタイリングで乗り切っていたのですが、今回はそれで対処しようがなかったので調べました。 ググったところBootstrapにはrow-eq-heightってクラスが存在するみたいですけど、 自分の環境では期待する結果は得られませんでした。 Equal Height Columns Example for Bootstrap 解決策flexで何とかならないか試したら一発で解決しました。 .row-eq-height { display: flex; flex-wrap: wrap; } ViewはAngularJSのDirectiveのtemplateから抜粋。
画像サイズの比率に関係なく、同じサイズの要素に縦横比を維持したまま画像を表示させるときはbackgroudプロパティを利用する手法をとっていました。 .ex { background: url(~.jpg) center center / cover no-repeat; } [CSS]背景画像をブラウザいっぱいに表示するシンプルな最新テクニック | コリス 実際に書いていたスタイルは以下の通り。 .timeline__post__image--tile { display: inline-block; background: white center center / cover no-repeat; width: 200px; height: 200px; } 表示させる画像URLはview側からstyle経由で渡す。 .timeline__post__image--tile(styl
問題Node.jsで重い処理をしていると、まだ処理が完了していないのにリクエストの再送が起きて二重、三重とタスクが積み重なる負の連鎖が発動する。発動した。 依存ライブラリの処理時間が大半を占めているため高速化も難しく、タイムアウト時間の延長をすることにしました。 環境Vagrant – v1.8.0OS – -Debian GNU/Linux 7.9 (wheezy)Node.js – v4.2.4 expressjs/timeoutNode.jsのexpressjs/timeoutモジュールを使ってタイムアウト期間を延ばしたのだけど、使い方を間違えているのか効かない。 TCPタイムアウトLinuxのOSとして持っているTCPのタイムアウトの設定値が先に効くみたい。つまり、TCPタイムアウトの設定を変えてあげれば直る、はず。 Linux:OSのtcpタイムアウトのデフォルト値について -
タイトルの通り。 TLDRnode-resemble.js – △node-phash – ×phash-image – ○ 環境Vagrant – v1.6.5ホストOS – Windows 8.1ゲストOS – Debian wheezy- [vagrant@debian-7] ~ % node -v v4.0.0 [vagrant@debian-7] ~ % npm -v 3.3.5 [vagrant@debian-7] ~ % lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 7.9 (wheezy) Release: 7.9 Codename: wheezy node-resemble.jsを使う前々からStarしていたResemble
概要はここを参照 pixivのAPIにアクセスする - Qiita 上記の記事のコードはPHPなのでNode.jsでどうするか書き残しておきます。 必要なものsairoutine/node-pixivclient_idガーclient_secretデーNode.jsダトーなんて思考を巡らせていたのですが、ラッパーライブラリがGithubの方に公開されていたため使わせてもらいましょう。 実装node-pixivをインストール npm i node-pixiv -S client_idとclient_secretは同梱されているのでpixivのusernameとpasswordさえあればすぐにAPIを呼び出せる。 で、ログインしてacesses_tokenを取得し、オリジナルサイズのイラストをダウンロードする段階まで来たが、肝心の方法は載っていない。 cookieを渡すといいよーって聞いたので
運用しているサービスの利用画面がこんなんだった。 そんなわけで、前から試そうと思っていた極小の画像にCSSのfilterを適用し、大きな画像が読み終えたら差し替える手法を適用した。 遅延読み込み用のぼやけた画像 - Weblog - Hail2u.net The “Blur Up” Technique for Loading Background Images | CSS-Tricks filterの使い方の説明はコードと結果画面が一緒にまとめられているこの記事が分かり易い。 filter | CSS-Tricks 実装画像の読み込みが終わったタイミングで画像の差し替えおよびfilter効果の切り替えを行います。 app.jade .item__image(from-img-src='data/thumbnails/{{item.thumbnailFileName}}', to-img-s
日本語にも対応 function tweetTrimer(t) { var tweet = t.replace(/((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!-\/]))?)/g,'<a href="$1" target="_blank">$1</a>'); tweet = tweet.replace(/(^|\s)(@|@)(\w+)/g,'$1<a href="http://www.twitter.com/$3" target="_blank">@$3</a>'); return tweet.replace(/(?:^|[^ーー゛゜々ヾヽぁ-ヶ一-龠a-zA-Z0-9a-zA-Z0-9&_/>]+)[##]([ー゛゜々ヾヽぁ-ヶ一-龠a-zA-Z0-9a-zA-Z0-
アプギガで紹介されていて気になったのでインストールしてみた。 完全自動で、自分のプログラミング「作業ログ」を収集して可視化する「WakaTime」が素晴らしい件! WakaTimeとはWakaTime · Quantify your coding Movesのプログラミング版だと思ってくれればいい。 自分が利用しているエディタ、IDEにプラグインをインストールするだけでプロジェクトごとに費やした時間を自動で集計してくれる。 元々RescueTimeを愛用しており、 TwitterやTumblrの閲覧といった無駄な時間を可視化することで、非生産的な時間を意識的に減らそうと心がけていたのだけど RescueTimeはウィンドウをアクティブにするだけで時間が加算されていくため、肝心の生産的な活動(プログラミング)の実時間を知ることができない。 このサービスは範囲を狭めることで手の届かなかった問題
Vagrantの共有フォルダ上でnpm iするとコケることがある。その解決策としてnpmのオプションに--no-bin-linksを付与するってのが定跡らしい。 日本語の文献だと、その解決策を記した記事ばかりで、原因の説明がされず、「よくわかんないけどこれで動きました」で済ましている。 そんな訳で、vagrantの共有フォルダ上でnpm iするときコケる理由と、--no-bin-linksオプションをつけると通る理由について調査及び検証してみます。 知りたいことvagrantの共有フォルダ上でnpm iするときコケる理由と、--no-bin-linksオプションをつけると通る理由。 原因の候補ググってそれっぽいのを列挙する。 Virtual Box上ではセキュリティの関係上、共有フォルダにシンボリックリンクを張ることを禁止している。bin package moduleをインストールする際、
ジャッバプログラマーにならざるを得なくなり、折角だからEclipseではなくIDEAを使うことにした。 とりあえず日本語化っしょ!!ってことでググって見つけた記事を参考に作業を進めてみた。 PleiadesでIntelliJ IDEA を日本語化してみよう [IDEA_HOME]ってどこだ!??いきなりハマる。 ここらしい。 plugin配下にjp.sourceforge.mergedoc.pleiadesをフォルダごとコピー bin配下のidea64.exe.vmoptionsを編集 準備は済んだ!!!!!起動!!!!!!!!動かん。 qiitaに同じ症状に出くわした人がいた。しかも解決してないっぽい。 IntelliJのIDEをある程度日本語化しよう(Android Studio, PhpStorm等) - Qiita 諦めずにググる。resource_ja.jarが必要らしい。 【ち
JavaScriptを書いていたらブラウザがくっそ重くなる症状に出くわした。あぁ、噂のメモリリークですわ。 先人の知恵に頼るマン。それっぽい記事が見つかる。 javascriptのメモリリーク対策(随時更新) - Qiita Shibu’s Diary: JavaScriptのメモリリークを10倍速で発見する Taming The Unicorn: Easing JavaScript Memory Profiling In Chrome DevTools Writing Fast, Memory-Efficient JavaScript - Smashing Magazine angularjs - How to catch memory leaks in an Angular application? - Stack Overflow 上の記事はProfiles + Take Heap
$resource(angular-resource)長所 外部APIとの連携がしやすくなる。フロント側の処理をAngularJSのみに任せることができ、サーバ側にPHPやNode.jsのAPIのみを実装するという構成を作れる。WebとスマートフォンでAPIを共有できる。ngResourceはそのままでは使えないので、「angular-resource.js」を読み込む必要がある。 その上で、resourceを使用するmodulenに組み込む angular.module('app', ['ngResource']); function GalleryCtrl($scope,$resource) { var albums = $resource('https://graph.facebook.com/22092443056/albums'); $scope.albums = albums.
このページを最初にブックマークしてみませんか?
『eiua-memo.tumblr.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く