日々精進

新しく学んだことを書き留めていきます

2014-01-01から1ヶ月間の記事一覧

使用中のshellを調べる方法

・echo $SHELLを実行する これはシェルを変更しても反映されなかったので不採用。 再起動時しか更新されないのかな? echo $SHELL #=>/bin/bash sudo chsh ec2-user #=>zshに変更 echo $SHELL #=>/bin/bash zshにならない ・sudo su - root -c "cat /etc/pas…

gmail経由でJenkinsからメールを送信する設定

下記の記事の通り設定したら送信出来ました。自分でSMTPサーバを用意しなくていいので楽ちん。 http://blog.maripo.org/2012/07/jenkins-gmail/

cocoa podのpost_installフックを使ってAFNetworkingの自己証明書を許可する

iOS

Podfileに以下を追加すればよい。 post_install do |installer_representation| installer_representation.project.targets.each do |target| if target.name == 'Pods-AFNetworking' target.build_configurations.each do |config| config.build_settings['…

NIC周りのトラブル調査手順

・ifconfig -aで接続されているインターフェースを確認する。eth3はデバイスが存在するけど、 設定されていないということがわかる。 ・以下を実行してインターフェース設定を書いてある設定ファイルを探す cd /etc find . -type f | xargs grep eth0 ・/etc…

virtualboxのVMをparallels用に変換して起動したらネットワークに繋がらなくなる

現象: ブート時にbooting system without full network configurationというメッセージが出て ネットワークインターフェースが認識されない。 ブート時のメッセージにeth0に接続出来ないというメッセージが出ている 原因: virtual boxからParallelsに移行…

VM上のMacに「画面共有」でログインする方法

mac

「画面共有」のサーバ側 ・以下のようにVM環境のホストOSのポートフォワーディング設定をする ホストOSの6001番→ゲストOSの5900番 ※5900-6000番ポートは「画面共有」が使用するので、使わない方がいいです ・ゲストOSの環境設定から画面共有の許可設定を行う…

プライベートリポジトリをChefからチェックアウトする

手順は以下。 ・秘密鍵とssh-agentを使ってパスフレーズなどを入力せずssh接続出来るようにする ・GithubのSSH Keysに公開鍵を登録する ・秘密鍵を~/.ssh/に置く ・~/.ssh/configに以下を追加 Host github.com User git port 22 Hostname github.com Identit…

対話的に実行するコマンドへの応答を自動化する

expect, autoexpectパッケージを使えば自動化出来る。 インストーラ以外でも、何でも対話的な入力を記録して自動的に実行させられる。 # シェル変更を自動化 autoexpect sudo chsh zsh ec2-user参考:chef - 対話形式のスクリプトに自動応答する方法 - Qiita

packageをroot権限でインストールする

packageリソースでuser: "root"とか指定出来たらいいけど、できないっぽいのでscriptリソースで対応した。 execute "install packages by root user" do user "root" command "yum install expect autoexpect" end

Vagrant-awsを使ってEC2インスタンスを起動しようとすると、「Rsyncing folder」でエラー

/etc/sudoers でDefaults requirettyが設定されているのが原因。 以下をVagrantfileに追加すると直る。 Vagrant.configure("2") do |config| config.vm.box = "dummy" config.vm.provider :aws do |aws, override| # 中略 # sedでrequitettyのとこをコメント…

EC2でZSHを使う

aws

以下で使える。 yum install zsh sudo chsh ec2-user参考:Amazon AWS EC2 でzshを使ってみよう - tech.guitarrapc.cóm

EC2でEPELを使う

aws

そもそもEPELって何状態だったのでそこから調べた。 ・epelとは、Redhat用パッケージのリポジトリ。比較的新しいパッケージがある。 ・パッケージインストール元リポジトリの一覧を表示するコマンド yum repolist ・epelを有効にするコマンド(デフォルトで…

vagrant-awsでec2スポットインスタンスをvagrantから管理する

今までEC2インスタンスの管理はAWSコンソールからやっていたけど、vagrantからだと色々便利。 利点は以下。 ・インスタンス起動がワンアクション ・Chef-solo実行もvagrant provisionでできる ・各種設定をVagrantfileに書いておける→Gitでバージョン管理で…

Cocoa Static LibraryのコードカバレッジをJenkinsで集計する

iOS

テスト対象が普通のアプリの場合、下記記事の通りのやればOK。 iOS - Xcode5でカバレッジをJenkinsに表示する - Qiita テスト対象がStatic Libraryの場合は、このやりかただと*.gcdaが出力されない。 以下のようにすればOK。 ・GcovTestObserverクラスの実装…

Cobertura カバレッジ・レポートで表示した日本語が文字化けする

Jobの設定画面>Cobertura カバレッジ・レポートの集計>高度な設定...>ソースエンコーディング をUTF-8にすれば直る。

ビルドして出来るバイナリは毎回違う

iOS

iOSアプリをビルドしてできたバイナリが毎回違う(ソースコードなどのビルドのインプットが全く同じでも)のが気になっていたんだけど、理由はTimestamp、GUID、ビルド時のファイルの読み込み順などらしい。 下記は.NETの例。 参考:c# - Why is the binary …

MacのChromeが段々重くなる現象の解決方法

IT

MacのChromeのタブを開いたり閉じたりしていると徐々にスクロール、レンダリングが重くなるという現象が発生し、困っていた。 この原因はATOKだった。解決策は以下。 ・システム環境設定>キーボード>入力ソース で入力ソースの数を最低限に減らす ・ATOKの…

特定のフォルダとそのサブフォルダにあるZIPファイルをまとめて解凍する方法

以下のコマンドでできる。 find . -name '*.zip' -exec sh -c 'unzip -d `dirname {}` {}' ';'linuxのコマンドもっと覚えたいなぁ。 参考:shell - Find all zips, and unzip in place - Unix - Stack Overflow

iOS7でアラートビューを閉じた後、- (void)willRotateToInterfaceOrientation:duration:が呼ばれない

iOS

環境はiOS7。 再現手順は以下。 ・端末が縦向きの状態でアラートビューを表示する ・端末を横向きにする ・アラートビューのボタンをタップしてアラートビューを消す ・ステータスバーが横向きになる。 が、- (void)willRotateToInterfaceOrientation:durati…

jenkinsからsvn checkoutを実行すると「to depth infinity with ignoreExternals: false」エラーが発生する

原因はjenkinsのバグ。最新版では修正されているため、 jenkinsを更新すると直った。 参考:Eclipse Community Forums: Hudson » Subversion Plugin not reverting svn:externals

vagrant provisionを実行すると、自分で書いたCookbookがCookbookNotFoundになる

原因はBerksfileの更新を忘れていたこと。 Berksfileに以下を追加すると直った。 cookbook "<cookbookname>", path: "site-cookbooks/<cookbookname>"Chef道の先はまだまだ長い。。 参考:今っぽい Vagrant + Chef Solo チュートリアル - Qiita</cookbookname></cookbookname>

mavericksにjavaをインストールする方法

mac

mavericksのターミナルでjavaコマンドを実行すると、 ダイアログが出てそこからOracleのJava配布サイトに行けるが、ここからJavaのインストーラをダウンロードし、インストールしてもjavaコマンドが使用可能にならないという罠があった。 下記Appleのサイト…

iTerm2の設定を複数のMacで共有する

mac

Dropboxを使って同期する。 ・~/Library/Preferences/com.googlecode.iterm2.plist をDropboxフォルダに移動する。 ・Dropbox下の設定ファイルにシンボリックリンクを張る ln -s ~/Dropbox/com.googlecode.iterm2.plist ~/Library/Preferences/com.googlecod…

シェルのキーバインド一覧を表示する・切り替える

bindkeyを実行すると、キーバインド一覧が表示される。 キーバインドを以下で変更出来る。 bindkey -e #emacs mode bindkey -v #vim mode自分の環境ではCtl+Aで行頭にカーソル移動できないなーと思っていたら、Vimモードになっていたからでした。 Emacsモー…

CloudWatch Monitoring Scripts for Linuxを使ってec2の監視項目を増やす

aws

CloudWatch Monitoring Scripts for Linuxを使うと、メモリ使用率などいくつかのMetricsを追加できる。デフォルトで無いのはなんでなんだろう。。 基本的に以下の記事の通りでOKだけど、注意点がいくつか。 Amazon ClowdWatch 編。監視スクリプトの使用方法…

iTunes ConnectにアプリをUploadすると、「Malformed Framework」エラー

mac

エラーの全文は以下。 Malformed Framework - The framework bundle HockeySDK (appname.app/Contents/Frameworks/HockeySDK.framework) must contain a symbolic link 'HockeySDK' -> 'Versions/Current/HockeySDK'. Refer to the Anatomy of Framework Bun…

sudo launchctl listに登録したJobがない

mac

これは登録したユーザが違うため。 以下のようなコマンドでJobを登録すると、Rootではなく、現在のユーザで登録される。 launchctl load -wF -D user ~/Library/LaunchAgents/jenkins.plistよって下記のコマンドを実行すればJobが見つかる。 launchctl listJ…

前に打ったコマンドをもう一度実行する方法-2

2014-01-08 - 日々精進の続き。 Ctrl+Rでbck-i-searchを使ってコマンドの再実行ができる。 直近のヒットしたコマンドから過去にさかのぼって行きたい場合は、Ctrl+Rを押すと遡れる。 bck-i-searchホント便利だなぁ。 参考:ターミナルからhistory を さかの…

AWSと比較したときのGoogle Compute Engineのメリット

aws

参考になるエントリがあったので、ここから抜き書き。 よしづみぶろぐ: AWSよりGoogle Compute Engineを選びたくなる10の理由 ・ELBをある程度以上の負荷に耐えられるようにするには事前申請が必要(だけどGCEではその必要は無い) これ知らなかった。。自動…

keyremap4macbookで!などの記号が出せない

mac

以下のようにEXTRA3+Wで数字の1のキーとSHIFTを押す設定にしても、!が出ず1が出てしまう・・・としばらく悩んだ。 <autogen>--KeyToKey-- KeyCode::W ,ModifierFlag::EXTRA3, KeyCode::KEYPAD_1 ,ModifierFlag::SHIFT_L</autogen>これは単にKEYPAD_1は数字キーパッドの1のキ…