コーヒーアンドキーボード

コーヒーとキーボードにまみれて生活してます。一応専門はデジタルマーケ。

GoogleChrome69のタブ切り替えがぶっ壊れたのでバージョンを戻す

デザインの変わったChrome69だけどCmd+Shift+[|]でタブ切り替えできないのがツラすぎてバージョンを戻すことにした。だってMac標準アプリのFinderもTerminalもこのショートカットをサポートしているように、アプリ毎に統一されたショートカットが良かったの…

No usable default provider could be found for your system.

なんかvagrant upするとエラーが出て困っていたのだけど、単にvagrantは入っていたけどvartualboxが入っていなかっただけっていうオチだったのでエラーメッセージをメモしておく。 $ vagrant up No usable default provider could be found for your system.…

1x1透過Gifによる広告のインプレッション計測

1x1透過Gifによるインプレッション計測を行うためのメモ。まず、DNS設定でb.danshihack.comをロギング用のサーバーのIPアドレスに飛ぶばすように設定。次にサーバー側で1x1透過Gifを設置して、rooting設定する。 server { listen 80; server_name b.danshiha…

PHPでCSSキャッシュバスターを実装する(その2)

前回設定したキャッシュバスターですが、メインのCSSにだけ利用していたのですが、JSにも使ってみることにしました。 というのも、男子ハックで は海外のCDNサービスであるCloudFlareを使っているので、HTMLやら画像やらJSがキャッシュされていて、毎度それ…

mitmproxyを導入したい

今回導入したいのはこれ。CUIでProxy監視ができるらしい。 mitmproxy - home ここで知りました。 CUIならmitmproxy、MacでGUIならCharlesがオススメ - supermomonga のコメント / はてなブックマーク インストール Macからpipで突っ込もうとするとエラー bre…

PHPでCSSキャッシュバスターを実装する

WordPressで負荷軽減のためにキャッシュを利用することは珍しいことではないんですが、だいたいCSSのキャッシュが効きっぱなしで変更が上手くできたのか、イマイチ判断できないので、CSSキャッシュバスターを導入する。 ここをパクって実装したんだけど、毎…

CloudFlare経由のアクセスログを正しいIPアドレスに書き換えたい

問題 CloudFlareがCDNしてくれるので、サーバーの負荷が少なくて嬉しいんですが、問題もあって、アクセスログのIPアドレスがCloudFlareサーバーになってしまうんです。 本来はどこから人が来ているかが知りたくて、もっと言えば、変なアタックをしてくる輩の…

AWSの複数インスタンス間でWordPressのファイルを同期して冗長化(Lsyncd & Rsync)

何度もハマって、丸一日溶かしたのですが、最終的できたのはこの方法。 Nginx + lsyncd で WordPress を負荷分散させる | dogmap.jp やりたい事 AWSでWordPressの開発環境と本番環境を運用したい。 問題となるのは本番環境では、wp-content/uploadsやwp-cont…

テーマフォルダのパスをURLを除外して取得する

すごい悩んだけど、こう書くことにした。 なんかうまい関数が実はある気がするな。

Wordpressの開発でマルチデバイスでLivereloadしたくて苦労した話

普段の開発はChromeエクステンション「LivePage」を使っていたのですが、iPhoneやAndroidでもライブリロードしながら開発したかったので、色々調べたものの、うまく動くものが、なかなか見つからず苦労しました。 タスクランナー系では「Grunt」と「glup」を…

Google Analyticsをユニバーサルアナリティクスへ移行するまでの期限

公式情報が全然見つからないのですが、どうやら正式リリースから2年のようです。 Google アナリティクス利用者は例外なくユニバーサル アナリティクスへのアップデートが必要になります。しかも移行には期限があり、正式リリースから2年経過すると、古い技術…

Google Analyticsで自宅のIPアドレスを除外フィルタする

ある程度トラフィックの多いサイトであれば、自分のアクセスを除外する必要性を感じないかもしれません。 しかしですよ、Google Analyticsで多角的にデータを見たいときはクリックイベントとかを計測し始めるので、それがブレてしまうのはいかがなものかと。…

WPのDBが重すぎるとき引っ越しでトラブるのでコマンドでやろう

いつもWordpressのDBを引っ越しするときにDBが重すぎると エクスポート:DBがデカすぎてphpMyAdminが落ちる インポート:DBがデカすぎてphpMyAdminが「そんなサイズ読めません」 って言われてなんだかんだ、設定が必要だったりトラブルが多い。なので、dogma…

Wordpressで利用するEC2のインスタンス選び

インスタンス選びで悩んでいました。価格を取るか快適を取るか。 まず、インスタンス選びで価格を見るのですが、あんまり小刻みな料金体系ではないです。東京リージョンの場合でざっくり 約2,000円/月 (t1.micro) 約6,000円/月 (m1.smallなど) 約13,000円/月…

JSの中にPHPって書けるのね

すごい当たり前のことだけど、気づくのに時間がかかったという話。 PHPってそもそもHTMLに埋め込めるんだから、もちろんscriptタグの中、つまりJavascriptの中にPHP関数書いてても、そりゃ展開されまし、その展開後のファイルをブラウザが読むので、Javascri…

WordpressのパンくずリストはSEOを考えて構造化しよう

Wordpressでパンくずリストを表示するときに、真っ先に候補に上がるのがプラグイン「Breadcrumb NavXT 」なのですが、これってGoogle先生が提唱する「構造化データ」としてはイケてないので、自分で書くことにします。 microdataを使うこと itemscope , item…

WPのカスタムフィールドでCustom Fields Template以外にAdvanced Custom Fieldsを使う理由

なんかCustom Field Templateが一番オススメみたいですね。 そのおかげで Custom Field Template や Advanced Custom Fields, Types, Magic Fields その他のプラグインがあるのですが、データの持ち方をWordPressのカスタムフィールドから拡張しているものも…

WordPressのサブループで$posts = get_posts($args)とするとハマる

<p></p> と書いてサブループを作ってしまうと、のちに続くメインループが上書きされてしまいます。ハマります。なので、$postsは$my_postsとかにしておく必要があるそうです。 $posts = と書かないのは、$posts を復元する関数が用意されていないからです。 Word…

Sassの配列とループを使って複数パターンのデザイン試す

nth(配列名, インデックスキー); で呼ぶのがポイントですね。作業中のものをコピペすると次ようなイメージ。 /* pl-test */ $pl-width: 670px, 300px, null ,null; $pl-float: null, left, null, null; $pl-margin: 10px 20px , 10px 20px, 5px 5px, 5px 5px…

バンディットアルゴリズムの概念が楽に理解できるスライド

スロットのシミュレーションとかあって、後半まで面白かったよ。 バンディットアルゴリズム入門と実践 from Tomoyuki Murakami

ひとりChatworkで仕事が捗る。

ご存知の通り、chatworkっていうブラウザベースのチャットサービスがあって、「メールの時代は終わりました」とキャッチーなコピーが売りらしいです。社内のコミュニケーションが円滑になるということで、いくつか有名なスタートアップも導入していて、イケ…

新千歳空港からニセコひらふまでの高速バス

こうやって二つを比較してしまうと、少し高いけど、ひらふまでが速いホワイトライナーがいいんだよなー。 比較 ホワイトライナー 北海道中央バス 価格 往復4,600円 往復3,850円 ひらふまでの所要時間 約2時間半 約3時間半

サーバーサイドでSassをコンパイルして、CSSが更新されたタイミングでブラウザをリロードして欲しい話

Webサイト構築(HTML+CSS+PHP+JS)ってだいたいローカル開発環境作って、サーバーにアップすると思うんだけど、結局サーバーサイドでも色々いじるハメになることが多い。 なので、サーバーサイドのファイル更新を監視して、ブラウザをオートリロードさせたいの…

MAMP PROの複数のバーチャルホスト設定をDropboxで共有する

MAMP PROの複数のバーチャルホストはいくつも設定しておけて便利なんだけど、普段から複数のMacを使っている関係で、設定を同期しておきたかった。 最初はこいつ(httpd.conf)をシンボリックリンク同期しておけばよいと踏んでいたのだけど、やってみてもさっ…

RDSにphpMyAdminを入れる方法が分からないのでSequel Proを使ってみた

経緯 最初はレンタルサーバーで使い慣れたphpMyAdminを使おうと思っていましたが、インストール方法がよくわからないので(いやがんばったんだけど...)、RDSにEC2経由でSequel Proにアクセスすることにしました。 RDSには直接アクセスはできないので、EC2経由…

へたれすぎてjQueryのDOM操作でハマる

jQueryを勉強中なんですが、よくあるタブUIを実現しようと思ったら、Clickイベントの$(this)をちゃんと使わないせいでハマりました。 $(this)を使わずに、タブを1個設置して「わーいできた」と思っていたら、2個目のタブを設置したときに、タブをクリックす…

Sublime TextでNode.jsをビルド(build)する

1番を試してできなかったので、2番で試したら成功。パスが通ってなかったのね。 Sublime TextでJavaScriptを実行する MONSTER DIVE【モンスターダイブ】 { "cmd": ["node","$file","file_base_name"], "working_dir":"${project_path:${folder}}", "selector…

Sublime TextでNode.jsをビルド(build)する

Sublime TextでJavaScriptを実行する | MONSTER DIVE【モンスターダイブ】

Coda2はGrepできないと思っていたという勘違い

Coda2でGrepできないと思っていたので、Sublime Textわざわざたちあげたりしていました。けど、調べてみたらできるじゃないですか。こういったアプリの操作方法ってのは、毎度ちゃんと調べないとダメですね。 サイドバーをひらく 「ホーム(家アイコン)」を選…

jQueryとGoogle Analyticsを使って外部リンクへのクリックをトラッキングする

広告やアフィリエイトの目的で、AmazonやiTunesへなどへの外部リンクを貼ることが多いのですが、どの記事の外部リンクがクリックされているのか、いまいちわかってませんでした。 そこで外部リンクのクリック数をGoogle AnalyticsとjQueryを使ってトラッキン…