日々精進

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

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

doxygenでハマッた点

・現象 特定のヘッダファイルのコメントのみドキュメントに出ない ・原因 interface定義のすぐ後にセミコロンがあったため 例:@interface ClassName : NSObject; ・現象 DoxyfileのINPUTに複数ディレクトリを指定できない ・原因 INPUTをダブルクォートで囲…

MacでJenkinsを動かした時に、コンソール出力が文字化けする

文字コードの指定をUTF-8にすれば直る。下記のように二箇所で指定しないといけないので注意。 最初java -jar jenkins.warの後に複数のオプションを付けたらエラーになった。 nohup niceを頭に付けるとエラーが出なくなった。 なぜこれでエラーが出なくなるの…

jenkinsの分指定の0とHの違い

jenkinsのビルドスケジュールを 0 * * * *にするとHを使えというワーニングが出るので、Hを使った場合どうなるか調べてみた。 H * * * *を使うと、毎時1回適当な時間に起動して、負荷を分散してくれるらしい。なるほどー。 参考:ssogabe on Twitter: "cron…

ポートフォワーディング設定が消える現象の解決方法

mac

現象 ・MacにParallelsを入れて、いくつかのVMを動かしている。 ・VMへのアクセスはParallelsのポートフォワーディング機能を使って行っている 例:ホストOSの8080番へのアクセスをVM1の80番にルーティングする ・この状況で、たまにポートフォワーディング…

Xcodeでactionを設定しようとしたら「Could not insert new action connection」エラー

iOS

@implementationの中にメソッドが一つも無いとこのエラーになるっぽい。 これ、XCodeのバグだよね。。

2クリックで指定したMacに画面共有でログインする

mac

・動機 画面共有をよく使うんだけど、 ファインダーからログインするMacを選ぶのとかめんどい。 出来ればワンアクションでログインしたい。 ・やり方 ・Applescriptからシェルスクリプトを実行する。 理由はシェルスクリプトを直接実行すると実行後にターミ…

CGRectの定数を定義する

iOS

以下のようにしてCGRectの定数を定義できる。 static const CGRect CGRectOne = {1,1,1,1};今までinitWithFrame:にCGRectを直書きしてたけど、定数定義するようにしよう。

git svn実行時に「Author: ***** not defined in users.txt file」エラー

git

users.txtに定義しているはずのユーザがnot definedと言われる・・・なぜ?と思っていたら、users.txtのフォーマットが間違っていた。 既に退職した人のユーザだったので、メールアドレスを書いていなかったんだけど、メールアドレスは必ず書かないといけな…

git svnを実行すると「Can't locate SVN/Core.pm in @INC」エラー

git

Mavericksではgit svnが依存しているPerlモジュールへのパスが通っていないことが原因。下記を実行すると直る。 sudo ln -s /Applications/Xcode.app/Contents/Developer/Library/Perl/5.16/darwin-thread-multi-2level/SVN /System/Library/Perl/Extras/5.1…

「library not found for -lPods」エラーの対処法

iOS

なぜかは分からないが、XCodeを再起動したら直った。。 原因が分からないのが気持ち悪いなぁ。

iOSアプリのBuild Settingsのいくつかの項目について調べてみた

iOS

項目が多いので調べるの結構しんどい。。 ・Debug Information Format dSYMを生成するかどうか。本番リリースのみYESにすることでビルド時間を短く出来る。 詳細:Spotify: iOSのビルド作業時間を短縮する - ワザノバ | wazanova ・generate profiling code …

gitで空ディレクトリをコミットする方法

git

gitは空ディレクトリをコミット出来ないので、空の.gitkeepファイルを作ってコミットする。 以下を実行すると空ディレクトリに.gitkeepを作れる。 find . -type d -empty -not -path './.git*' -exec touch {}\/.gitkeep \;参考:git/空のディレクトリが消え…

postfixの設定画面を再表示する

postfixをGitlabで使うためにインストールしたんだけど、 一度目のインストール時は設定画面をNo Configurationを選択して閉じてしまった。 後から設定し直したい場合は以下を実行するともう一度設定画面を表示できる。 sudo dpkg-reconfigure postfix設定画…

削除したはずの秘密鍵を使ってsshログインできてしまう現象

mac

ssh-agentが秘密鍵をキャッシュすることが原因。 macでは常にssh-agentが動いてるっぽい。killしてもすぐ復活する。 一度ssh-agentをkillするとキャッシュはクリアされる。

+loadメソッドと+initializeメソッドの違い

iOS

どちらも一回だけ呼ばれるメソッドだが、呼ばれるタイミングが違う。 loadメソッドはクラスが最初にロードされた時に呼ばれる。 initializeメソッドは最初にクラスのいずれかのメソッド(インスタンスメソッド、Staticメソッドどちらでもよい)が呼ばれた時…

プラグインの管理ページの利用可能プラグイン一覧が空になるのを直す

Jenkinsの管理>プラグインの管理>利用可能 を表示すると、アップデート可能なプラグインはありません的なメッセージが出ていた。 原因はプラグインのアップデートサイトがクリアされていたこと。 プラグインの管理>高度な設定>アップデートサイト に以下…

findコマンドを実行した時に邪魔なPermission deniedを表示しないようにする

findを実行すると、以下のようなエラーメッセージが大量にでて邪魔な場合がある。 find: ./private/var/tmp/symantec_error_reportzTax5M: Permission denied以下のようにすると標準エラー出力のみ捨てられるので便利。 ( find . -name query > /dev/tty ) >…

rubyのgemをインストールした後、実行するとcommand not foundになる

rbenvが悪さをしているっぽい。 MavericksになってからデフォルトのRubyのバージョンも2.0系になったので、rbenvいらないか・・・と思い、 rbenvをuninstallすることにした。 以下でアンインストールできる。 brew uninstall rbenv brew uninstall ruby-buil…

gemをプロキシ経由でインストールする動作をデフォルトにする方法

sudo gem install *** -p http://proxy.example.com:8080上記のコマンドでプロキシ経由でGemをインストールできるが、-pを毎回書かなくていいようにするには ~/.gemrcに以下を追記すればいい。 http_proxy: http://proxy.example.com:8080

シェルスクリプトでファイルパスの/をエスケープする方法

以下のようにsedで置換するとエスケープできる。 sedは区切り文字として/以外も使えるんだね。 なんなんだこの\の多さは。。 echo $escape_slash | sed s,/,\\\\\\\\\\/,g参考:Sed - How to escape variable number of "/" (slash) ? | Unix Linux Forums |…

jenkinsのJOBで環境変数を定義する

あるシェルスクリプトで定義しても、他のシェルスクリプト内ではクリアされているので注意(ちょっとはまった。。) EnvInject Pluginを入れると環境変数を定義出来るようになる。 Jenkins全体で一意な環境変数の場合は Jenkinsの管理>システムの管理>グロ…

Podfileでブランチを指定してライブラリをインストールする方法

なぜか公式ドキュメントに載ってないんだけど、以下のように書くと ブランチ指定でインストール出来る。 ブランチを指定する場合、:git => 〜は必須。 pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking', :branch => '0.10.x'pod…

rebaseしようとしたら「There is no tracking information for the current branch.」エラー

git

rebaseしようとしたら以下のエラーメッセージが出た。 There is no tracking information for the current branch. Please specify which branch you want to rebase against. See git-rebase(1) for details git rebase <branch> If you wish to set tracking infor</branch>…

doxygenとgraphvizでドキュメント生成

下記記事の通りやるとできた。 Doxygen+Graphvizで、Objective-Cのクラス図を作る - Qiita 手順を書き出すと以下。 ・Doxygenインストール ・Doxyfile生成 brew install doxygen graphviz doxygen -g・できたDoxyfileのHAVE_DOT = NOをYESに変更。 ・doxygen…

mkdirでディレクトリを作成する際に既にディレクトリが存在していてもエラーにならないようにする

pオプションをつけると既にディレクトリが存在していてもエラーにならない。 mkdir -p build

他のメンバーが削除したリモートブランチを一括削除する方法

要はgit fetch --pruneをSourceTreeからやる方法。 ・SourceTreeのリポジトリウィンドウ>ツールバー>フェッチ をクリックする ・「リモートで削除された追跡ブランチは取り除く」をチェックしてOKをクリックする サイドバーのリモートのところに表示されて…

TARGETS>Build Phases>Run Scriptで実行するスクリプトをレビューしやすくする

iOS

XCodeのTARGETS>Build Phases>Run Scriptで実行するスクリプトは改行していてもproject.pbxprojファイルの中では1行にまとめられてしまうので 差分のレビューがしづらい。 レビューしやすくするためにスクリプトを別ファイルに切り出すようにした。 手順は以…

再起動時にポートフォワーディング出来なくなる

・現象 ホストOSが突然再起動した後、 VM上のJenkinsやGitlab等にアクセス出来なくなった。 ・原因 ParallelsのPort Fowarding設定がホストOSに反映されていないこと。 Parallelsのネットワーク設定ではPort Fowardingルールが正しく設定出来ているように見…

lsofを実行すると「lsof: WARNING: can't stat() smbfs file system /Volumes/」エラー

mac

sambaサーバをマウントしたが、その後接続が切れた場合このようなエラーがでるっぽい。 sudo lsof -i:8002を実行すると下記のエラーが出た。 なぜ8002ポートとマウントしたドライブが関係あるのかは不明。。 lsof: WARNING: can't stat() smbfs file system …

macからsshで接続しているときに「Write failed: Broken pipe」が出て接続が切れる

mac

クライアントもサーバもMacでssh接続しているときに起きた。 OS:OS X 10.9 これはsshクライアントまたはサーバの設定でKeepAliveの長さを設定してやればよい。 今回はサーバ側の設定を修正した。 ・sshdの設定を変更する サーバ側の/etc/sshd_configに以下を…