Homebrewをupdateしようとしたらエラー

久しぶりに家のMacでHomebrewをupdateしようとしたらエラーが出たので調べた。
エラーは下記のようなもの。

調べてみると、OS XをEl CapitanにしたことによるSIPの影響らしい。
/user/localのパーミッションを変更すると直るとのこと。
調べてみると「root wheel」になってる。

自分自身に修正。

手動でHomebrewを更新。

updateできた!

Pocket

thickboxをiframeで表示。テキストボックスにフォーカスが当たらなくなる件に対応(IEのみ)

フォーカスが当たらなくなるテキストボックスのidはtargetとする。
.focus()で強制的にフォーカスさせたいところだが、それだけだとうまくいかなかった。
setTimeoutをかますと無事動作!

いつものstackoverflow先生。
http://stackoverflow.com/questions/11380392/the-focus-method-in-jquery-doesnt-work

Pocket

RubyからmongoDBに接続する

RubyからmongoDBへの接続方法をネットで調べていると

こう書いてあることが多い。
でもこれ、バージョンが古いもののよう。

今はこんな感じ。

Pocket

mongoDB よく使うコマンド

公式マニュアル

基本的にはここに全てあります。
http://docs.mongodb.org/manual/reference/

参照

コマンド 内容
show dbs データベース一覧を表示
show collections コレクション一覧を表示
db 現在のデータベースを表示
use 使用するデータベースを切り替える

追加

単体

複数

Pocket

mongoDBの中身をブラウザでサクッと確認(Mac)

0. はじめに

mongoDBを使って開発をしている時に、手軽にコレクションの中身を確認する方法がないかと模索した結果「mongo-express」を試してみることに。
インストールからローカル環境で確認までをメモ。

1. nodebrewをインストール

まずはインストール。

~/.bash_profile に追加。

2. Node.jsをインストール

nodebrew から Node.js をインストール。

※install-binaryしただけでは、nodeコマンドが使えないことに注意。

3. npmを最新化

4. npm installをsudoなしで実行できるように

5. mongo-expressをインストール

config.jsを作成して、中身を編集。

adminUsernameとadminPasswordは空にしときましょう。  

ブラウザでmongo-expressを開いた時にBasic認証が出てくると思います。
その時はbasicAuthの中身を入力!

6. mongo-expressを起動

この表示になったらブラウザで「localhost:8081」にアクセス。

7. 動作確認

mongo-express

Pocket

Railsでform_tag使うと、パラメータにutf8とcommitがついてしまう(slim使用)

Rails(slim)で普通に検索フォームをこんな感じで作ります。

これで検索するとURLがこんな感じになっちゃいます。
/list?k=キーワード&utf8=✓&commit=検索

ここから、utf8とcommitを取りたい。

commitを取る


これは簡単。
submit_tagにnameをnilで追加。

utf8を取る


ヘルパでオーバーライドする必要があるみたい。

html_safe は authenticity_token エラー防止のため

Railsを再起動して完了!


Pocket

Google Analyticsに大量のsimple-share-buttons.com

Google Analyticsを見ていたら、ある日から突然simple-share-buttons.comというリファラが目立つように…
site39.simple-share-buttons.comとかsite25.simple-share-buttons.comとかごまかしてくる感じで。

調べてみるとやっぱりスパムだったようでした。
こうやってGoogle Analyticsにログを残して、運営者がアクセスしてくるのを待っているらしい…怖い怖い。

こういうのはフィルタを使って弾いてやりましょう。

やり方は以下の通り。

  1. 新しいフィルタを作成にチェック。
  2. 適当なフィルタ名を入力。
  3. フィルタの種類は「カスタム」を選択。
  4. 除外にチェックがついており、フィルタ フィールドに「キャンペーンのソース」を選択。
  5. フィルタパターンに正規表現を入力(.に\を前置するのと、正規表現でor(または)を意味する|区切りで偽装しているドメインを続けて入力していく)。このとき文字数が255文字以内の制限があるため、新しいフィルタをいくつか作りわけることになります。
  6. 最下部にある「保存」ボタンを押下で以降フィルタを有効にできる。

スパム除外フィルター設定

活発に活動しているスパムボットを弾くフィルター設定は以下。

参考
https://w3g.jp/blog/block_referer-spam-bots

Pocket

Atomの設定を複数端末で共有する(Dropbox使用)

マスタとしたいAtomの設定ファイルをDropboxへ

1.Atomの設定ファイル群をDropboxに移動

2.シンボリックリンクを作成


同期したいAtomの設定ファイルにDropboxを指定する

1.既存のAtomの設定ファイルを削除する

2.シンボリックリンクを貼り、Dropboxに置いたAtom設定ファイルを指定する

Pocket

phpで外部サーバからzipファイルをダウンロードし、任意のディレクトリに保存する

zipファイルのサイズが小さい時


zipファイルのサイズが大きい時

Pocket

Gitのassume-unchangedコマンドで「fatal: Unable to mark file」が発生し実行できない

Gitですでに管理下にある特定のファイルを無視したい場合はこんなコマンドで実現可能です。

実行したところ、「fatal: Unable to mark file」が表示され失敗したもよう。。。
[ファイル名]をフルパスに変更したら無事実行されました。

StackOverFlowさんいつもありがとう。
http://stackoverflow.com/questions/12920652/git-update-index-assume-unchanged-returns-fatal-unable-to-mark-file

Pocket