2016-01-01から1年間の記事一覧
しばらくろくなものが存在しなかったWindows用のMarkdownエディタだけど、 最近は選択肢も増えてきたのでメモ。 自分で書くときは テキストエディタ + MarkCat、 他人のを読むときは Firefox か Typora を使っている。
.vbox が消えて、VMを起動できなくなった。 .vbox-prev と vbox-tmp という2つのファイルがあった。 内容は の lastStateChange が、prevの方が古いだけで他は一緒だった。 これを .vbox にリネームしたら起動した。
iPhone のボイスメモで録音したものを共有するときなど。 ffmpeg -i input.m4a -ab 192k output.mp3
repositories でディレクトリを指定すればよい。 Bareリポジトリじゃなくて大丈夫。 バージョンは、ブランチ名-dev を指定する。 指定したディレクトリ直下の composer.json の name が、require した名前と合致していればいい。 composer.json { "repositor…
画像処理の DmImage というライブラリがある。 gd のラッパで、なかなか使いやすいので現在のプロジェクトに導入している。 携帯からの画像アップロードの要件が加わり、Exif の Orientation に基づく 回転/反転 処理が必要になった。 この機能は DmImage に…
そんな時、みんなどうやっているのだろうか。 たとえば WebAPI から JSON で何らかのデータを取得して、 HTMLを描画しようと innerText を使うと値が null だった場合に "null" と表示されてしまう。 JSは経験が少なくてプラクティスがわからない。 /** * nu…
var obj = {foo:"HOGE", bar:"FUGA"}; Object.keys(obj).forEach(function(v, i){ console.log(i + " " + v + " = " + obj[v]); }); prototype は辿らない。 大抵の場合はこれ。
オンライン変更の時にいつも忘れるのでメモ set global slow_query_log_file='/var/log/mysqld/slow_query.log'; set global long_query_time=0.1; set global slow_query_log=1; show global variables LIKE '%long%'; show global variables LIKE '%slow%';
先日 GlobalSign で証明書を取得したところ、x509 と PKCS7 の両方の形式で証明書が送られてきて、 x509 の場合はさらに中間証明書をこのウェブページから探してねと書かれていて、 どれがどれやらよくわからず探すのが面倒だった。 openssl を使って、PKCS7…
paco が porg に変わってた。 正確には後継プロジェクトらしい。 http://paco.sourceforge.net/ → http://porg.sourceforge.net/ configure の --disable-gpaco は --disable-grop に。 make logme は無くなっている。 -a, -lD make install, -lp xxx make i…
Windows10のお試し中なのだけど、 Win7で使っていた常駐ソフトがWin10では動かないようで、起動後1分くらいでフリーズしてしまう。 こんな時、従来ならセーフモードで起動して、 問題となるソフトのアンインストールもしくはサービスの自動起動停止をしてい…
phpには、JSONを扱うためのjson拡張が同梱されている。(ext-json(JSON_parser)) しかしこのソース中の以下の一文が問題で、各種Linuxディストリで配布できないことになっている。 ext/json/JSON_parser.c The Software shall be used for Good, not Evil. Bu…
浮動小数点数は誤差が出て安全じゃないから、重要な計算の時は使っちゃいけないよという話。 PHP に限った話ではなく、コンピュータ全般。 若手エンジニアからこんな質問がきた。 「5761800 を 小数切り捨てしたら 5761799 になっちゃった!」
RFCによると、絶対URIらしい RFC2616 (HTTP/1.1) で、 「HTTPのリダイレクトレスポンスでは、Location は絶対URI(absoluteURI)で書かなければならない」 というのが定められているけど、これはあんまり守っていない。
BASEトランザクションとCAP定理 クラウドや分散システムで使われる用語 BASEトランザクションとは Basically Available 可用性が高く常に利用できることを重視。 楽観ロックやキュー。 Soft State あるノードの状態はその内部に埋め込まれた情報によって決ま…
Good Systems Design + Good Programming = Great Systems Good Systems Design + Bad Programming = Good Systems Bad Systems Design + Good Programming = Bad Systems Bad Systems Design + Bad Programming = Chaos
継承 ANDC 直接の子孫の平均数 AHH 継承ツリーの平均の深さ サイズと複雑度 NOP パッケージ数 NOC クラス数 NOM メソッド数 LOC コード行数 結合度 CYCLO 循環的複雑度 CALL メソッド当たりの呼び出し数 FONOUT ある特定のメソッドが呼び出す他のメソッド数
良くないコードの兆候 Singleton (シングルトン) ※古典的なパターン Tight Coupling (密結合) Untestability (テスト不能) Premature Optimization (時期尚早な最適化) Indescriptive Naming (説明的ではない名前) Duplication (重複)
私の携わったプロジェクトではORMが採用されないケースが多い。 メリットデメリットともにあるし、向き不向きもあるし、アレルギーを持ってる人がいたりするし、論争に興味もないのでそれ自体はいいのだけど、 たとえORMを使わない場合でも、クエリビルダだ…
xdebug + phpstorm で、リモートデバッグを開始するためのブックマークレット。 開始 javascript:(/**%20@version%200.5.2%20*/function()%20{document.cookie='XDEBUG_SESSION='+'PHPSTORM'+';path=/;';})() 終了(XDEBUG_SESSIONというクッキーを消してもい…
Minkにはどういうわけかラジオボタンのタスク(?)がない。 (behat-3.0.15, mink-1.7.0) 自分で作る必要がある。 作ってみた。英語は怪しい。