作業ノート

様々なまとめ、雑感など

bashスクリプトでコマンドオプションを解析する

このエントリーの最後でリンクしている各ページの内容を元に、コマンドオプションを解析するサンプルスクリプトを書いた。主に自分用のツールを自作するときに参考にするために書いた。 以下が実行した結果。今のところ、これだけ対応できれば十分。 $ ./get…

Macのシステム環境設定からhostsファイルが編集できるplugin

Mac

VagrantでローカルIPを割り当てた仮想マシンに対して名前をつけるためにhostsを編集するが、都度ターミナルから編集するのはちょっと面倒。 ということで探してみたら、システム環境設定でhostsが編集できるpluginを見つけた。 specialunderwear/Hosts.prefp…

include_recipeで指定したcookbookがエラーになる

現象 今、Vagrant上でjenkinsを試している。今回jenkinsのインストールのためにopenjdkとjenkinsのcookbookを自作した。 openjdkでは、attributesで # site-cookbooks/openjdk/attributes/default.rb default['openjdk']['version'] = "1.7.0" バージョンを…

AuthorのメールアドレスをGitHub用のアドレスに変更する

GitHubにpushするとき、Authorのメールアドレスにどのメールドレスを設定しようかと悩んで少し調べたところ、 GitHubのアカウント用のメールアドレスが利用できることを知ったので、その方法をまとめた。 1. GitHubの設定 まずは、GitHubの設定。 1.1. GitHu…

Silexを試してみた(7) - その他と雑感

最後に今回試したSilexに関するその他のまとめと雑感について。 今回試さなかったこと Controller Providers index.phpに、簡単にRouteが定義できるとはいえ、その数が多くなるとそれらをまとめて管理したくなると思う。そういうときに使えそうなのがControl…

Silexを試してみた(6) - Doctrine DBAL

Doctrine DBALを使ったDBへのアクセスについて。 Doctrine DBALのインストール slim版にMonologは含まれていないので、composerを使ってインストールする。 composer.jsonを { "require": { "silex/silex": "~1.1", "twig/twig": ">=1.8,<2.0-dev", "symfony…

Silexを試してみた(5) - Logging

SilexのMonologServiceProviderを使ってログを出力する。 Monologのインストール slim版にMonologは含まれていないので、composerを使ってインストールする。 composer.jsonを { "require": { "silex/silex": "~1.1", "twig/twig": ">=1.8,<2.0-dev", "symfo…

Silexを試してみた(4) - Twig

SilexのTwigServiceProviderを使ってTwigを利用する。 Twigのインストール slim版にはTwig自体が含まれていないので、composerを使ってTwigをインストールする。 composer.jsonを { "require": { "silex/silex": "~1.1", "twig/twig": ">=1.8,<2.0-dev" } } …

Silexを試してみた(3) - URLを生成する

UrlGeneratorServiceProvider Silexが提供するUrlGeneratorServiceProviderを使うとURLが生成できる。 Service ProviderとはSilex Applicationで再利用することを目的とした機能のこと。 Service Providerの登録 Silex\Applicationのregisterメソッドで登録…

Silexを試してみた(2) - 基本的なこと

基本 require_once __DIR__.'/../vendor/autoload.php'; $app = new Silex\Application(); ... $app->run(); Silex\Applicationクラスのインスタンスを作成し、そのインスタンスで 挙動を設定し、runメソッドでリクエストの処理を行う。 インスタンスはPimpl…

Silexを試してみた(1) - きっかけとインストール

きっかけ 仕事で、既存のシステムの拡張でOAuth2を使った認証とAPIの提供をするかもしれない、という話が出たので、個人的にOAuth2の調査を始めた。 そのシステムはphpで作られていたので、ひとまずphpで利用できるOAuth2のライブラリを調べる。 そこで、bsh…

Subversionのリポジトリからgitリポジトリに移行する

会社で管理していたリポジトリをsvnからgitに移行したときの方法。 1.コミッターのリストを作成する 移行対象のsvnリポジトリをローカルにチェックアウト(svn checkout)している状態で、そのルートディレクトリ下で $ svn log ^/ --xml | perl -ne 'print if…

Chef実践入門を読んだ

Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus)作者: 吉羽龍太郎,安藤祐介,伊藤直也,菅井祐太朗,並河祐貴出版社/メーカー: 技術評論社発売日: 2014/05/22メディア: 単行本(ソフトカバー)この商品を含むブログ (18件) を見る 本書を…

pecl-uuidを使ってUUIDを生成しようとしたがSegmentation faultで失敗した

PHP

CentOS 6.5で、phpを使ってUUIDを生成するためにLes RPM de Remiのpecl-uuidをインストール。 $ sudo yum install php-pecl-uuid そして、確認のために $ cat uuid.php

PHPのバージョン情報をレスポンスヘッダに含めないようにする

PHPを使ったページのレスポンスヘッダで X-Powered-By:PHP/5.4.32 のように、X-Powered-ByにPHPのバージョンが含まれてしまう。それを止める方法。 php.iniに expose_php = Off を設定し、apacheを再起動する。 参考 PHPのX-Powered-Byヘッダを送らないよう…

gitで最初のコミットを取り消す

git

最初のコミットをキャンセルしたいと思い、git resetコマンドを使用したが $ git reset HEAD~ fatal: ambiguous argument 'HEAD~': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] </revision></command>…

gitでリモートリポジトリで削除されたブランチをローカルでも削除する

git

GitHubを使っているプロジェクトで、あるタイミングでpullしたときに取得したトピックブランチが削除されてしまい、一方でローカルにはまだある、というときの対応。 以下のコマンドで差があるブランチを確認。 $ git remote prune --dry-run origin 削除さ…

homebrewを使って、Rictyフォントをインストールする

$ brew tap sanemat/font $ brew install ricty を実行。インストール完了時に表示される指示に従って、 $ cp -f /usr/local/Cellar/ricty/3.2.3/share/fonts/Ricty*.ttf ~/Library/Fonts/ $ fc-cache -vf を実行する。 brew tapは、githubにあるformula rep…

CentOS 6.5 x86_64 minimalのVagrant boxを作ってみた

(2015/05/11追記) 下記の方法を元にCentOS 6.6のVagrant boxの作成方法を、別エントリーにまとめた。 CentOS 6.6 x86_64 minimalのVagrant boxを作る - 作業ノート 少し前に、 実践 Vagrantを読み終えた。書籍の感想は別のブログに書いたが、ここではVagrant…

macのメニューバーから、chromeの通知メニューを消す

いつのまにか(というか勝手に?)macのメニューバーにGoogle Chromeの通知メニューが出ていたので、それを非表示にする設定を調べて、変更した。 Google Chromeを起動する。 Location Barに chrome://flags を入力したリターンキーを押し、設定画面を開く。 …

Knack

Knack (輸入版:北米版)出版社/メーカー: Sony Computer Entertainment(World)発売日: 2013/11/15メディア: Video Gameこの商品を含むブログを見る PS4の同梱版でクリアまでプレイ。 PS4のベンチマークソフトのような感じで、PS4でできることが体感できる。グ…

対象のパーミッションを調べる

bashスクリプトで、対象が期待したパーミッションであるか確認するときに使った方法。 $ stat -c %a /path/to/target -cオプションは出力内容フォーマット指定で、%aは、パーミッションを8進数で表現する。 スクリプトでは、 perm=`stat -c %a /path/to/targ…

git logでマージしたファイルを確認する

git

ベースとなるブランチからサブブランチを作成し、それをno-ffでマージしたときに困ること。 普段、一つの機能を実装するときにサブブランチを作成する。そこから、サブ機能や変更点をファイル単位に切り分けて考え、その単位で実装、テストを行い、少しずつ…

実践Vim

実践Vimを読んだ。元々この手の本はほとんど読まないけど、コア機能を中心に説明していると知って興味を持ったので、読んでみた。 以下は、今回読んで新しく知ったことや気づいたことについて。 normalコマンド(TIP30) ‘<,’>normal . で、ビジュアルモードで…

gitで無視したいファイルが既にリポジトリにあるかを調べる

git

無視したいファイルがリポジトリにあるか確認して、もしあるなら削除したいと思って調べたメモ。 gitのls-filesサブコマンドで確認できる。 $ git ls-files -i --exclude-standard -iオプションで無視ファイル(ignore)のみを表示。このオプションは--exclude…

makefileを作る

会社で管理しているシステムにC言語で作られたWebシステムがある。OracleのOCIを使ってDBに接続していろいろな処理を行う。10年ほど運用しているらしい。 このシステム、buildするときはshellスクリプトを実行するのだが、shellスクリプト内でgccコマンドを…

CentOSにyumレポジトリを追加する

開発環境の構築などで頻繁に導入するのでメモ。 EPEL EPEL - FedoraProjectを開く How can I use these extra packages? の節にあるリンク(EL5、EL6)のどちらかを開く 開いたページの下部に epel-release-XXXとあるので、それをダウンロード、もしくはURLを…

CentOSで固定IPを設定し、ホスト名を変更する

よく忘れるのでメモ。 IPの指定 $ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth1 HWADDR=... TYPE=Ethernet UUID=... ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.56.14 NETMASK=255.255.255.0 BOOTPROTOの値をdhcpか…

ダンガンロンパ

ダンガンロンパ1・2 Reload出版社/メーカー: スパイク・チュンソフト発売日: 2013/10/10メディア: Video Gameこの商品を含むブログ (18件) を見る PS Vitaで1と2がセットででること、アニメ化されることを知って購入。その後、録画したアニメをまとめて観た…

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

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