作業ノート

様々なまとめ、雑感など

git cherry-pickでマージコミットを適用する

$ git cherry-pick -m 1 ec6a3c5 マージコミットは、そのコミットの親が複数(マージ元、マージ先)あるので、そのままでは適用できない。 適用するときにどちらの親を選ぶか、それを指定するのが-mオプション。親コミットを選択して、親コミットとマージコ…

iPhone5sに機種変更した

今月はじめにガラケーからiPhone5s 16GB(スペースグレイ)に変更した。 キャリアはドコモ。 予約 10/4(金)にネットで予約申込み。10/5(土)の昼頃にメールで入荷連絡があり、10/6(日)の午前中に予約先のドコモショップで更新。予約して3日ほどで入手。 契約更…

treeコマンドであるパターンに一致しないディレクトリを表示する

$ tree -d -I 'foo|bar|hoge' -Iオプションで指定する。ワイルドカードでの指定だが、|で条件を複数指定することができる。 参考 How do we specify multiple ignore patterns for tree command? - Unix & Linux Stack Exchange

grepコマンドに色をつける

$ grep --color=auto foo * colorオプションで該当部分やファイル名などを色づけする。 環境変数GREP_OPTIONSを設定すると、コマンド実行時に設定したオプションが適用される。 # ~/.bashrc export GREP_OPTIONS='--color=auto' # 実行時に--color=autoが適…

pgrepで実行中のバッチコマンドを確認する

pgrep -f foo.php -fオプションをつけると、実行しているコマンドライン全体に対して検索し、結果を表示する。 -fオプションをつけなければ、プロセス名のみを対象に検索し、結果を表示する。 参考 Linux - ps aux | grep よりもpgrepでプロセスを探すと楽 -…

gitで特定のファイルを特定のリビジョンに戻す

git

例えばcheckoutサブコマンドで $ git checkout /path/to/file とすると、そのとき変更しているファイルを最新のリビジョンの状態に戻すが $ git checkout HEAD^ /path/to/file のようにリビジョンを指定すると、そのリビジョンの状態に変更する。 参考 Gitで…

VirtualBoxにCentOS 6.4 minimalをインストール

VirtualBoxにCentOS 6.4 minimal x86_64 をインストールした。 これをクローンのベースにする。クローンの作成と設定については以前、VirtualBoxでCenOSのクローンを作成する - 作業ノートにまとめた。 仮想環境 HDD: 8GB 固定サイズで作成 Memory: 512MB Ne…

半角スペースを含むファイルの対応

findコマンドなどでファイルの一覧を取得後、各ファイルに対して処理を行う時、対象ファイルにスペースがあるとそこでパスが区切られ、結果ファイルが存在しない、などのエラーになる。 それを回避するには、スクリプトを実行する際に一時的に区切り文字を変…

Reeder2

Reeder 2Silvio Rizzi¥450 iPad miniで使用した感想。 操作性はReederと同じ。スムーズな挙動。 トップがAccountsレイヤーで、Reeder2に登録したアカウントの一覧が表示される。ここから下ることで当該アカウントのFeedが参照できる。 現時点(2012/09/14)で…

iptablesで、httpとhttpsの接続を許可する設定

VirtualBoxで CentOSの仮想環境を構築した時に行った設定。iptablesの設定を変更して、httpとhttpsでアクセスできるようにした。 1.現在の設定の確認 $ sudo /sbin/iptables -L --line-numbers Chain INPUT (policy ACCEPT) num target prot opt source dest…

ntpdateコマンドを使った時刻同期のシェルスクリプト

ローカルの仮想環境を起動後、時刻のずれを修正するために作成したbashスクリプト。 ntpdateコマンド、sudoコマンドが実行できることが前提。 参考 ntpdが動いている環境で、ntpdateを実行する - 元RX-7乗りの適当な日々

VirtualBoxでCenOSのクローンを作成する

VirtualBoxで作成した仮想マシンをベースに新しい仮想マシンを用意する方法。 複製元の仮想マシン CentOS 6.4 minimal 64bit NICはNAT用とホストオンリーアダプター用の2つ Ubuntu版は、VirtualBoxでクローンを作成する - 作業ノートを参照。 クローン作成 1…

apache + php + curlで外部Webサーバにアクセスできなくてはまった

新しくサーバを構築したときにはまったのでメモ。 環境はphp5 + curl。Webページとしてアクセスしたときに、プログラムでcurlのモジュールを用いて外部のWebサーバにアクセスし、その結果に基づいて処理を行う。 起きた現象は、Webページとしてアクセスした…

Oracle SQL Developerで日付表示の書式を変更する

Macで起動したときの変更方法。Windows版も同様だと思う。(環境がないので試してない) SQL Developerを起動する。 メニューから ツール > プリファレンス を選び、ダイアログを開く。 左の一覧から データベース > NLS を選ぶ。 右の一覧から日付書式(RR-MM-…

smartyテンプレートの変数で文字列を連結する

少しはまったのでメモ。 phpのプログラムでは連結演算子(.)で連結できる。しかしsmartyテンプレートでは、ドット(.)は配列の要素を表すので、文字列の連結ができない。 smartyテンプレートで文字列を連結する方法は2通り。 1.cat修飾子 {assign var='path' v…

社内用ツールとBootstrap

仕事で時々、社内用のツールを作る。目的は様々。 ここ最近も作ったのだが、作り始めた頃にBootstrap3のRCが出た。 せっかくなので、Bootstrap2を試したが、思った以上に使いやすく、そして効果的だった。(3はRCだったので見送った) 社内用なのでページの見…

ブログなどの見直し

はてなブログを使い始めて一年ほど過ぎたので、全体的な見直しと変更をした。 やったことは、主に以下の3つ。 1. 旧ブログのインポート はてなダイアリーにあった旧ブログの記事・コメント・スター・ブックマークをインポートし、リダイレクトを設定した。 …

gitでvimを使ってmergeする

git mergeなどで衝突したとき、vimを使って解消する方法。 1. mergetoolを設定する git mergetoolの設定をする。 $ git config --global mergetool.vimdiff3.cmd 'vimdiff -c "wincmd J" "$MERGED" "$LOCAL" "$BASE" "$REMOTE"' 2. shellスクリプトを作成す…

特定のgitリポジトリでuserとemailを変える

git

会社用のgitリポジトリとgithubのリポジトリではユーザ名、メールアドレスが異なる。 会社の環境だと、$HOME/.gitconfigには会社用の設定をしているが、環境設定関係などはgithubで管理しているのでその変更を行うと会社用の設定が反映されてしまう。 そこで…

ローカルで管理しているgitのブランチをリモートリポジトリに登録し、管理する

git

よく忘れるのでメモ。 リモートリポジトリを登録してない場合は、先にリモートリポジトリを登録する。 $ git remote add origin {リモートリポジトリのURL} git push でリモートリポジトリとブランチ名を指定してpush。 $ git push -u origin master uオプシ…

VirtualBoxでクローンを作成する

VirtualBoxで作成した仮想マシンをベースに新しい仮想マシンを用意する方法。 複製元の仮想マシン Ubuntu 12.04 64 bit NICはNAT用とホストオンリーアダプター用の2つ CentOS版は、VirtualBoxでCenOSのクローンを作成する - 作業ノートを参照。 クローン作成…

rubyで未読メールを取得して処理する(IMAP)

連休中に届いた大量のエラーメールを処理するため、rubyを使って未読メールの取得と 必要な処理をおこない、既読にした。IMAP経由。

はてなブログProに移行した

はてなでは、ポイント制度「はてなポイント」で購入できるポイントの単位を見直し、クレジットカード払いの場合には、980円、8,200円、14,000円の単位でも購入できるようにしました。 はてなポイントの購入単位を見直し、はてなブログProに必要なポイントを…

MongoDBのjournalのファイルサイズが大きすぎる

VirtualboxでMongoDBを試していると、あるときディスク容量がほぼ100%になってしまった。ディスク全体は8.0GBで、そのうちルートは5.7GB。 調べたところ、/var/lib/mongodb/journal/ 以下のファイルのサイズが、2.0GBほどになっていた。 サイズを小さくする…

MongoDBの環境構築

MongoDBイン・アクションを読み始めたので、試すための環境を構築。 MongDBのインストール VirtualBoxのUbuntu 12.10(64bit)にMongoDBをインストールする。 $ sudo aptitude install mongodb mongodb-clients mongodb-dev mongodb-server インストール後、ホ…

sqlplusでsqlファイルを読み込み、sqlを実行する

SQL> @/path/to/foo.sql SQL> @@bar.sql @が1つで、絶対パスで指定する。 @が2つで、相対パスで指定する。 参考 SQL*Plus上でSQLファイルを実行する | Kwappa研究開発室

mysqlでCSVデータをテーブルにロードする

load data infile '/tmp/foo_table.csv' into table foo_table fields terminated by ',' enclosed by '"'; terminated by句で区切り文字にカンマを指定する。 enclosed byにはカラムの囲み文字を指定する。 csvファイルは、mysqlのlinuxアカウントから参照…

httpプロセスで、利用しているファイルを調べる

$ sudo lsof -c httpd ファイルやプロセスの接続先IPなども確認できる。 参考 @IT:特定のポートをオープンしているプロセスを調べるには lsof:オープンしているファイルを調べる | Siguniang's Blog

oracleのアカウントロックを解除する

設定次第だけど、ログインを何度か失敗してしまうと、そのアカウントでのログインが、一定期間できなくなる。 そうなった場合、SYSユーザでログインし、該当するアカウントのロックを解除する。 $ sqlplus '/ as sysdba' SQL> alter user foo account unlock…

gitコマンドでリビジョングラフを表示する

git

VirtualBox上のUbuntuでgit-flowを試しつつ、ふとリビジョングラフを確認したくなった。 通常、iTerm2からsshコマンドを使ってログインして利用するので、GUI系は使えず。 確認したいリポジトリはローカルのみ。 調べたところ、gitコマンドを使って、 $ git …