2012年4月21日土曜日

JSメモ:関数リテラル=無名関数 or 匿名関数

いままで
function(){
   
}
こういう形のは「無名関数」と呼ぶのは把握してたけど、「匿名関数」や「関数リテラル」と呼ぶのは把握してなかった。

ちなみに
var aaa = function(){

}
無名関数は変数に代入して使うことも出来ます。
ただしnewしてやらないと関数としては使えない。

メモ:シンタックスシュガー

シンタックスシュガーとは同じ結果を返すのに、記法が違うプログラムのこと。
var a = new Array(3);
a.push(1, 2, 3);

var a = [1, 2, 3];
は同じらしい。

参考:http://xole.net/20110309.html#slide15

2011年9月14日水曜日

". ERROR! Manager of pid-file quit without updating file."でMYSQLが起動しなくなった

表題の通りのエラーが出て動かなくなったんだけど、下記のページを参考に作業してもいっこうに直らない。
ちなみに起動自体は最近までちゃんと出来てて、インストールした方法はMacports。

MySQL が "Manager of pid-file quit without updating file." と表示して起動しなくなった場合の対応 - tomoyamkungの日記

  1. 権限の設定が不適切
  2. MySQL の pid ファイルが残っている
  3. MySQLプロセスが生き残っている
  4. 設定ファイルの記述に誤りがある
1. はMYSQLに関するフォルダの権限のことだと思うんだけど正常。そもそも最近まで起動が出来てたのでおかしい訳がない。
となると、4.も特に書き換えてないので消える。

思い当たる節は「mysqlを起動したままシャットダウン」(おい!)とかしてたから「2.と3.」なんだけど、
3をチェックしようと、「ps ax | grep mysql」をやっても、grep mysqlしか出てこない。いま走らせてるコイツ自身が引っかかってる。
最初勘違いしててこれがMYSQLのプロセスだと思ったんだけど、これはgrep自身のコマンドが引っかかってるだけ。
そのため、killで殺そうとしても、殺そうとした時にはもうすでにプロセスが存在しないからエラーになる。

なので、残るは2なんだけどこいつも「find / -name *.pid」とやっても関係のないファイルしか引っかからない。

で、さまよい歩いて

MacportsでMySQLをインストール - WapBox

を見てて、アンインストールの部分で

sudo port uninstall mysql5 sudo rm -rf /opt/local/var/db/mysql5
とやっているのを見て「sudo rm -rf /opt/local/var/db/mysql5 」の部分は何をやってるのかと。
ようするに普通にアンインストールしただけじゃ、dbデータが消えないんですね。
なので、手動で消してあげている訳と。

そういうわけでこれを疑い、なんとなく怪しげな「ib_logfile0、ib_logfile1、ibdata1」を別フォルダに移動してみる。
そして、「sudo mysql_install_db」としてあげる。

で、再度「sudo mysql.server start」。

SUCCESS!!

というわけで、原因は「MYSQLを起動したままシャットダウンした時にDBファイルが壊れた」っぽい。
みなさんはちゃんとMYSQLをシャットダウンした後に、システムを終わらせましょう。

4時間くらいこれで止まった。。

2011年9月12日月曜日

Sublime Text 2のカスタマイズ

UIがデフォルトでクールなテキストエディタ、「Sublime Text 2」のカスタマイズ情報が日本語ではどこにもなかったのでまとめます。

自分は以下の海外のサイトを参考にカスタマイズしています。

http://rathersplendid.net/home/customise-sublime-text-2

1.Package Controlのインストール

まずは、パッケージ(Package)を便利にいれたり、パッケージのアップデートをチェックしたりしてくれる管理ソフト、「Package Control」のインストールから。
これを入れておくと他のパッケージを入れる時に便利なので入れておきます。

まず、コンソール(View→Show Console)を開いて以下のコマンドを打ち込みます。
import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp) if not os.path.exists(ipp) else None;open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())
 すると割とすぐインストールが終わるので、Cmd + Shift + PでCommand Paletteを開きます。(もしかしたらSublime Textの再起動が必要かも?)

で、その出てきたCommand Paletteに「package」と打ち込みます。
そうするとPackage Controlのコマンドが出てくると思います。
このコマンド達でPackageを入れたり、消したりアップデートしたりできる訳です。

2.SublimeCodeIntelのインストール

試しにひとつPackageをインストールしてみましょう。
Sublime Textの自動補完はショートカットキー(ctrl+space)を押さなきゃ出てこないんですが、それを入力している途中に出てくるようにするPackage、「SublimeCodeIntel」です。
 さきほど出したCommand Palletを再度出してもらい、「install」と打ち込んでください。

上のように「Package Control: Install Package」というコマンドが出てくると思います。それを選択したままEnterを押してください。
するとステータスバーでPackageの一覧の検索を始めます。


少し待つと上の画面になると思います。
そうしたら、Command Paletteに「SublimeCodeIntel」とPackageが出てくると思いますのでそれを選択してEnterを押してください。
しばらく待ちますとインストール完了です。
なお、新しくPackageを入れた時はSublime Textの再起動が必須のようです。

再起動したら、好きな言語のコードを開いてタイピングしてみてください。
自動補完がされると思います。

説明は以上なので、便利なPackageを紹介して終わりにします。
ほぼ最初に紹介したページと紹介するPackageは同じ(むしろ少ない)なので、より情報が欲しい人はそちらを見たほうがいいかと思います。
なお、2、3についてはコマンドの「Package Control: Add Repository」でgithubのURL追加が必要です。

1.Zen Coding
みなさんおなじみZen Coding。
#id>.class+span*2とかでHTMLのコードが展開する。
Sublime Textの自動補完と競合したりする、どうすればいいんだろう。

2.HTML5
HTML5の自動補完のBundle。HTML5のコーディングをする方ぜひ。
リンク先の人が作ったものらしいです。

3.jQuery
jQueryの自動補完Bundle。
jQuerist必携。

4.SublimeTagmatcher
HTMLタグの開始タグやら閉じタグを選択すると、開始タグと閉じタグを強調表示してくれる。

5.Increase/Decrease number by delta_value
ショートカットキーで数字をインクリメント、デクリメントしてくれたり、true⇔falseの切り替えをしてくれる。これはPackage Control使えないみたいなので、直接gitからDLしてPackagesフォルダにぶち込んじゃってください。
で、ここに乗っている下のショートカットキーの設定をKey Bindings - Userに入れてあげると使えます。

2011年6月14日火曜日

Wordpressプラグインのメモ

いろいろなプラグインが入りすぎていて「これなんだっけ?」ってなるのでメモっときます。
  • QF-GetThumb
    記事から画像を取得してきてサムネイルにしてくれるプラグイン。
    Wordpressループの中で
    <?php echo the_qf_get_thumb_one(パラメータ); ?>
    で取得。パラメータの詳細は検索すべし。
  • Resize at Upload Plus
    大きな画像をアップロードしたときにリサイズしてくれるプラグイン。
    縦幅と横幅を指定できる。
  • Revision Control
    投稿に関するリビジョンの設定ができるプラグイン。
    リビジョン(勝手に投稿の下書きを保存してくれる機能)を停止できます。
  • User Photo
    投稿者にワードプレス上で画像を設定できるようにするプラグイン。
  • Viper's Video Quicktags
    投稿で簡単にYoutubeのビデオなどを埋め込むことが出来るようになるプラグイン。
  • WordPress Importer
    その名の通りワードプレスに外部DBからデータを取り込む為のプラグイン。
    今回はTumblrの記事取り込みに使用。
  • WP-CMS Post Control
    Wordpressの投稿や固定ページ追加にある要らないカラムを強制的に非表示にするプラグイン。今見てみたらリビジョンの停止も出来るみたい。「
    Revision Control」と昨日かぶってら。
  • WordPress Users
    指定したIDのページに投稿者リストを表示させ、リストのユーザーをクリックするとユーザーページを表示させるプラグイン。
以上です。あとで追記します。

2011年6月13日月曜日

githubで公開鍵が使えなくなった時の対処法

メモとして残しておく。

「Permission denied (publickey).」と言われてGitHubが使えなくなった場合の対処法 - ただのにっき(2009-10-24): "こういうことが堂々と書いてあるのだとしたら、今後もGitHubでは同じようなことが起きるかも知れない。その場合に、GitHub専用の鍵にしておかないと、面倒でしょうがない。というわけでそうする。id_dsa_guthubというファイルで鍵を作って、github.comにアクセスするときにはそれを使わせる:

% ssh-keygen -t dsa -f ~/.ssh/id_dsa_guthub
% cat >> ~/.ssh/config
Host github.com
User git
IdentityFile ~/.ssh/id_dsa_github
^D

あとは~/.ssh/id_dsa_github.pubの中身をGitHubに設定しなおして、無事に使えるようになった。これで今後同じことが起きても、GitHub専用の鍵だけ変えればいいので、他のホストに影響が及ばない(はず)。"