脳みそスワップアウト

揮発性なもので。おもにPHPのこととか。

forefox52ESRの「以前のセッション」をfirefox57へ移す

噂のfirefox57をお試し中。 確かに体感できるくらい高速になっていると思う。 でも使い慣れたアドオンの代替がみつかるまでは当分52ESRのままだよね。 ブックマークは普通にexportできるからいいのだけど、 「以前のセッション」(前回終了時に開いてたタブ群)…

MSYS2のパッケージャ、pacman

pacman -Sl で利用可能なパッケージのリストが得られる。 例えば lz4 を入れたい場合はこんな感じになる。 $ pacman -Sl | grep -i lz4 mingw64 mingw-w64-x86_64-lz4 1.8.0-1 $ pacman -S mingw-w64-x86_64-lz4 resolving dependencies... looking for conf…

カラム移動の失敗

カラムの移動をしようと ALTER したら失敗した。 バージョンを上げたら発生しなくなった。謎。 sql_mode は ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION …

phpunit-3.7 + PHPStorm

IntelliJ IDEA(PHPStorm) の最近のバージョンでは、phpunit-3.7 をサポートしていない。 PHPStorm8 以前を使うしかない。 php-5.6 + CakePHP2 + phpunit-3.7 なアプリがあって困った。 古いフレームワークを使っていると依存ライブラリがIDEで対応されなくな…

yEd Graph Editor

yEd Graph Editor ちょっとした図を書きたい時、ここ数年は yEd Graph Editor というツールを使っている。 そこそこ使いやすい。少なくともExcelで書くよりはだいぶまし。 graphml という標準規格で保存する (ポピュラかどうかは微妙) PNG, JPG, SVGなどにex…

typoraが使いやすくなってる

WindowsのMarkdownエディタ で書いた、typora が更新されて使いやすくなっている。 以前不満だった自動リロードがされるようになり、 typoraでプレビューしつつ、使い慣れたテキストエディタで編集ができるようになった。 かなりいい感じ。 Ctrl + / でプレ…

Windows + IntelliJ IDEA + Git(MSYS2)

Windows + IntelliJ IDEA + Git(MSYS2) Windows の IntelliJ IDEA から、MSYS2 の git と ssh を使って、IDEからgitの操作をするメモ。 PhpStorm でも同様のはず。 Windows7 Pro MinGW64 2.6.0 (git, ssh) Intellij IDEA 2017.2.5 (PhpStormでも同様のはず) …

Windows で MSYS2 の ssh-agent を使う

Windows で MSYS2 の ssh-agent を使う WindowsのGUIアプリ(IDEなど)と連携したくなったので調査。 Windows7 Pro MinGW64 2.6.0 (ssh, ssh-agent, keychain)

Windows版php-7.1 で UTF8 の CSV をパースする

Windows版PHP(xampp) の fgetcsv() が、php-5.6 と php-7.1 で挙動が変わったことがわかった。 たぶん php-7.0 から。

Berkeley DB

Key Value型の組み込みDBの元祖。 トランザクションやレプリケーション、SQLなどが使えるバージョンもあるが、 最もシンプルな使い方をするには以下の2つを覚えておけばよい。 たとえば vsftpd では vuser をこれで管理したりしている。(pam_userdb) DBファ…

テーブル、DBの容量

テーブル SELECT table_name "Table", engine, table_rows "Table Rows", ( data_length + index_length ) / 1024 / 1024 / 1024 "Total (GB)", ( data_length ) / 1024 / 1024 / 1024 "Data (GB)", ( index_length ) / 1024 / 1024 / 1024 "Index (GB)", ( …

リモートでkillall

C:\apps\tsence>taskkill /S 192.168.1.103 /IM firefox.exe gray\pen のパスワードを入力してください:******** 成功: プロセス "firefox.exe" (PID 2620) は強制終了されました。

LibreOffice Calc でCSVを編集する際のメモ

起動 CSVファイルをD&D フィールドの左上をクリック→テキスト。読み込むときの型の指定になる。 Ctrl+A 右クリック→セルの書式設定→テキスト 書き込むときの型の指定になる。 改行コードはプラットフォーム依存で、変更はできない模様・・。 WindowsならCRLF…

TLSバージョンを指定して接続確認

会社のiOSアプリ開発チームより、 ガラケー対応の外部の古いウェブサイトにアプリからHTTPS接続できないとのこと。 詳しく聞いてみると、iOSのバージョン10未満で発生していて、 TLS1.2 → 1.1 → 1.0 のfallbackする箇所がうまく動いてなさそうに見える。 対…

WindowsのMarkdownエディタ

しばらくろくなものが存在しなかったWindows用のMarkdownエディタだけど、 最近は選択肢も増えてきたのでメモ。 自分で書くときは テキストエディタ + MarkCat、 他人のを読むときは Firefox か Typora を使っている。

.vbox が消えた

.vbox が消えて、VMを起動できなくなった。 .vbox-prev と vbox-tmp という2つのファイルがあった。 内容は の lastStateChange が、prevの方が古いだけで他は一緒だった。 これを .vbox にリネームしたら起動した。

m4a を mp3 に変換

iPhone のボイスメモで録音したものを共有するときなど。 ffmpeg -i input.m4a -ab 192k output.mp3

composerでローカルディスクのgitリポジトリを使う

repositories でディレクトリを指定すればよい。 Bareリポジトリじゃなくて大丈夫。 バージョンは、ブランチ名-dev を指定する。 指定したディレクトリ直下の composer.json の name が、require した名前と合致していればいい。 composer.json { "repositor…

DmImage の 回転/反転 フィルタ

画像処理の DmImage というライブラリがある。 gd のラッパで、なかなか使いやすいので現在のプロジェクトに導入している。 携帯からの画像アップロードの要件が加わり、Exif の Orientation に基づく 回転/反転 処理が必要になった。 この機能は DmImage に…

null を 空文字にしたい

js

そんな時、みんなどうやっているのだろうか。 たとえば WebAPI から JSON で何らかのデータを取得して、 HTMLを描画しようと innerText を使うと値が null だった場合に "null" と表示されてしまう。 JSは経験が少なくてプラクティスがわからない。 /** * nu…

オブジェクトのフィールドをループする

js

var obj = {foo:"HOGE", bar:"FUGA"}; Object.keys(obj).forEach(function(v, i){ console.log(i + " " + v + " = " + obj[v]); }); prototype は辿らない。 大抵の場合はこれ。

slow_log 関連

オンライン変更の時にいつも忘れるのでメモ 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%';

openssl でサーバ証明書もろもろ

先日 GlobalSign で証明書を取得したところ、x509 と PKCS7 の両方の形式で証明書が送られてきて、 x509 の場合はさらに中間証明書をこのウェブページから探してねと書かれていて、 どれがどれやらよくわからず探すのが面倒だった。 openssl を使って、PKCS7…

paco が porg に

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のセーフモードは厄介

Windows10のお試し中なのだけど、 Win7で使っていた常駐ソフトがWin10では動かないようで、起動後1分くらいでフリーズしてしまう。 こんな時、従来ならセーフモードで起動して、 問題となるソフトのアンインストールもしくはサービスの自動起動停止をしてい…

php5 + JSON-C では JSON_BIGINT_AS_STRING が効かない

phpには、JSONを扱うためのjson拡張が同梱されている。(ext-json(JSON_parser)) しかしこのソース中の以下の一文が問題で、各種Linuxディストリで配布できないことになっている。 ext/json/JSON_parser.c The Software shall be used for Good, not Evil. Bu…

浮動小数点は安全じゃない

php

浮動小数点数は誤差が出て安全じゃないから、重要な計算の時は使っちゃいけないよという話。 PHP に限った話ではなく、コンピュータ全般。 若手エンジニアからこんな質問がきた。 「5761800 を 小数切り捨てしたら 5761799 になっちゃった!」

リダイレクトは絶対URI?

RFCによると、絶対URIらしい RFC2616 (HTTP/1.1) で、 「HTTPのリダイレクトレスポンスでは、Location は絶対URI(absoluteURI)で書かなければならない」 というのが定められているけど、これはあんまり守っていない。

BASEトランザクションとCAP定理

BASEトランザクションとCAP定理 クラウドや分散システムで使われる用語 BASEトランザクションとは Basically Available 可用性が高く常に利用できることを重視。 楽観ロックやキュー。 Soft State あるノードの状態はその内部に埋め込まれた情報によって決ま…

ブライスの法則 (Bryce)

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