Saturday, January 26, 2013

PHPシリアライズファイルをdump

ワンライナーでPHPシリアライズファイルをDump

$ php -r 'var_dump(unserialize(file_get_contents("test.txt")));'

macでeclipse日本語化

毎回忘れるのでめも

http://www.eclipse.org/downloads/ から
Eclipse Classic 4.2.1 をダウンロード
解凍して、eclipseフォルダをアプリケーション(/Applications)へコピペ

http://mergedoc.sourceforge.jp/ から
Eclipse 4.2 Juno Platform Standard Edition をダウンロード
解凍して、dropins(pleiades/eclipse/dropins)フォルダを
eclipseのdropins(/Applications/eclipse/dropins/)フォルダへ上書きコピー

設定ファイル(/Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse.ini)に下記を追加。
-javaagent:../../../dropins/MergeDoc/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

クリーンして実行
$ /Applications/eclipse/eclipse -clean


加えて、pluginを入れる場合
[ヘルプ]→[新規ソフトウェアのインストール]→[作業対象]で

・EPIC(Perl)
 http://www.epic-ide.org/updates/testing/
 EPIC メイン・コンポーネント を選択
・PDT(PHP)
 Juno - http://download.eclipse.org/releases/juno
 Web, XML, Java EE および OSGi エンタープライズ開発
 →PHP 開発ツール (PDT) SDK フィーチャー を選択

Monday, January 21, 2013

連番ディレクトリ作成

$ mkdir dir_{1..10}
$ ls
dir_1  dir_10 dir_2  dir_3  dir_4  dir_5  dir_6  dir_7  dir_8  dir_9

0埋めバージョン
$ for i in `seq -w 1 10`; do mkdir dir_${i}; done
$ ls
dir_01 dir_02 dir_03 dir_04 dir_05 dir_06 dir_07 dir_08 dir_09 dir_10

0埋め+2重ループバージョン
$ for j in `seq -w 1 10`; do for i in `seq -w 1 10`; do mkdir -p dir_${j}/dir_${i}; done; done
$ ls *
dir_01:
dir_01 dir_02 dir_03 dir_04 dir_05 dir_06 dir_07 dir_08 dir_09 dir_10

dir_02:
dir_01 dir_02 dir_03 dir_04 dir_05 dir_06 dir_07 dir_08 dir_09 dir_10

              :

dir_10:
dir_01 dir_02 dir_03 dir_04 dir_05 dir_06 dir_07 dir_08 dir_09 dir_10

アルファベットでも
$ mkdir dir_{a..j}
$ ls
dir_a  dir_b dir_c  dir_d  dir_e  dir_f  dir_g  dir_h  dir_i  dir_j

ssh nopass

sshのnopass設定

接続元ホストで以下を実行

鍵を作成
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key(/home/user/.ssh/id_rsa): xxxxx     # ファイル名(defaultはid_rsa
Enter passphrase (empty for nopassphrase): yyyyy     # パスワード(空の場合はnopass
$ ls ~/.ssh
id_rsa            # 秘密鍵
id_rsa.pub        # 公開鍵
公開鍵をコピー
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...AAAAAA user@hostname

接続先ホストで以下を実行

authorized_keysに追加(無い場合は作成する)
$ vi ~/.ssh/authorized_keys
作成した場合はアクセス権限を設定
$ chmod 600 ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh

接続元ホストで確認

$ ssh user@hostname


ssh-copy-idを使用する場合は接続元ホストで以下を実行するだけ

$ ssh-keygen -t rsa
$ ssh-copy-id -i .ssh/id_rsa.pub user@hostname

開発元が未確認の為開けません

macで「開発元が未確認の為開けません」でアプリケーションが実行できない時

右クリックで「開く」
 または
「システム環境設定」→「セキュリティとプライバシー」→「ダウンロードしたアプリケーションの実行許可」を変更する


参考

Sunday, January 20, 2013

git config

Gitの構成の参照/設定


構成ファイルの対象を指定
--system: 全てのユーザ、リポジトリに対する設定ファイル(/etc/gitconfig)
--global: 現在のユーザに対する設定ファイル(~/.gitconfig)
--local: 現在のリポジトリに対する設定ファイル([repository path]/.git/config)


構成の設定/変更
$ git config [key] [value]

構成の削除
$ git config --unset [key]

構成(key)の参照
$ git config [key]

構成(list)の参照
$ git config -l (or --list)


とりあえず、個人情報設定だけは最初にしておいた方がよい(Logに使用される)
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

merge, comment 等で使用するエディタを変更する場合(デフォルトはvi)
$ git config --global core.editor emacs


参考

du -sh

ディレクトリのサイズを調査
$ du -sh [path]
ex.
$ du -sh tmp
104K tmp

BitbucketでGit(2)

リポジトリを作ったら、まず設定を行う
$ git config --global user.name "username"
$ git config --global user.email "dummy@gmail.com"
$ git config --global color.ui auto

設定は↓のコマンドで確認できる
$ git config --list
or
$ cat ~/.gitconfig

リポジトリに登録したいディレクトリに移動して初期化
$ cd tmp
$ git init

リモートリポジトリの登録(リポジトリのURLを省略できる?
$ git remote add origin https://username@bitbucket.org/username/sample.git

登録されているリモートリポジトリを確認(-v で詳細
$ git remote -v

ローカルリポジトリの状態確認
$ git status

ファイルを追加/修正した場合
$ git add test.txt

変更をコミット
$ git commit -m update

ローカルリポジトリをリモートリポジトリへpush(初回の場合は master を指定
$ git push -u origin master

以上で、Bitbucketの方にリポジトリが登録される

man もあるのでそれ見るのがいいかも
$ man git-add
$ git help add
$ git add --help

SVNとちょっと似てるからいいけど、いきなりこれやったら覚えられなさそう

BitbucketでGit(1)

早速Bitbucketにユーザ登録をして、リポジトリを作ってみる


Name だけとりあえず決めて、後は適当に
Repository type 以外は後で変更できるみたいなので

SyntaxHighlighter

Bloggerのソースコード表示にSyntaxHighlighterを使用しようと思ったら、動的ビューだと正常に動作しないらしい
対処法があったので以下の方法で試してみる

  1. まず、
    http://www.way2blogging.org/widget-generators/syntax-highlighter-scripts-generator
    でガジェット用のHTMLを生成する(ソースコードのテーマカラーと、対応させる言語を選択する)
  2. 生成したHTMLからCSSの記述を削除して、
    [レイアウト]→[ガジェットを追加]→[HTML/JavaScript]
    にコピペして追加
  3. 2で削除したCSS(おそらく2つ)をブラウザで直接開き、中身をコピー
  4. コピーしたCSSをちょっと修正(任意)
    /* 縦スクロールバーを消す */
    .syntaxhighlighter {
      width: 100% !important;
      margin: 1em 0 1em 0 !important;
      position: relative !important;
      overflow: auto !important;
      font-size: 1em !important;
      overflow-y: hidden !important; /* 追加 */
    }
    
  5. コピーしたCSSをさらに修正(任意)
    /* ツールバー(右上の?)を消す */
    .syntaxhighlighter .toolbar {
      position: absolute !important;
      right: 1px !important;
      top: 1px !important;
      width: 11px !important;
      height: 11px !important;
      font-size: 10px !important;
      z-index: 10 !important;
      display: none !important; /* 追加 */
    }
    
    (↓の方法でツールバーが消えなかったため)
    <script language="javascript" type="text/javascript">
     SyntaxHighlighter.config.bloggerMode = true;
     SyntaxHighlighter.defaults['toolbar'] = false; // ここ
     SyntaxHighlighter.all();
    </script>
    
  6. コピーしたCSSを
    [テンプレート]→[カスタマイズ]→[アドバンス]→[CSSの追加]
    にペーストして適用
  7. 記事投稿時にソースを<pre>で括り、最後に下記のJavaScriptを記述する(記事毎に必要でちょっとめんどくさい)
    <pre class="brush: js;">
    // HTMLエンコードする
    console.log('疲れた');
    </pre>
    <script src="http://syntaxhighlight-blogger-dynamic.googlecode.com/files/syntaxhighlighter-20111212.js" type="text/javascript"></script>
    
    class="brush: [alias];"の[alias]部分はソースの言語を指定する
    エイリアスは↓
    http://alexgorbatchev.com/SyntaxHighlighter/manual/brushes/


結果↓みたいになります
// HTMLエンコードする
console.log('疲れた');

参考

Saturday, January 19, 2013

Git

今までSVNにいっぱいいっぱいだったので、ようやくGITに手を出してみる

有名なところでGitHubだと非公開なレポジトリを無料で作れないみたいなので、無料で作れるBitbucketを使ってみる(とりあえず使ってみたいだけなので

test

test