2013年05月28日

Homebrewでwgetコマンドをインストール

Homebrewでwgetコマンドをインストールした。

ターミナルから以下のコマンドを入力するだけ

brew install wget


インストールしたら以下のコマンドで色々と表示されるようになる

wget
posted by ねこまんま at 23:48
Comment(0) | TrackBack(0) | サーバ

Homebrewをインストール

MacにパッケージコントローラーのHomebrewをインストールした。

ターミナルからHomebrewのサイトの一番下にあるコマンドを入力するだけ。

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"


インストールしたら以下のコマンドでインストールしたHomebrewのバージョンが確認できます。

brew -v
posted by ねこまんま at 23:45
Comment(0) | TrackBack(0) | ツール

2013年05月27日

GitHubでフォークしたプロジェクトを管理する

GitHubではプロジェクトページの右にあるforkボタンからプロジェクトのリモートリポジトリを複製することができます。複製すれば自分専用のリモートリポジトリーが作成されますので、以下のコマンドでローカルリポジトリと作業コピーをローカルに生成できます。

git clone git://github.com/xxx/test.git


では、フォークしたプロジェクトにファイルを追加してそれをフォーク元に反映させてみましょう。

echo hoge>hoge2.txt
git add hoge2.txt
git commit -m "add hoge2"
git push -u fork master


これで、フォークしたリポジトリへの反映は完了しましたGitHubよりフォーク元にPull Requestを送り、フォーク元の管理人が承認すれば追加した内容が反映されます。

フォーク元のプロジェクトの内容を取り込むには、まずフォーク元リポジトリをremoteに追加します。

git remote add upstream git://github.com/xxx/xxx.git


これで remoteでフォーク元リポジトリが使えますので取り込みマージできます。

git fetch upstream
git merge upstream/master
posted by ねこまんま at 21:40
Comment(0) | TrackBack(0) | Git

GitHubで複数アカウントを切り替える

GitHubで複数アカウントを切り替得ようとするときのメモ

まず、メインアカウントと同じ公開キーではGitHubには登録できないので別の公開鍵を作成する

cd ~/.ssh
ssh-keygen -t rsa2 -C "xxx@example.com"


ただ、このままではpush時などにメインの公開鍵が利用され権限エラーが発生する。

git push fork master
ERROR: Permission to xxx/test.git denied to yyy.
fatal: The remote end hung up unexpectedly


これはsshの設定で変更しなくてはいない。

~/.ssh/configに以下の内容を反映。サブアカウントはaaa.github.comにして、IdentityFileに先ほど作成した公開鍵を指定します。

Host aaa.github.com
User git
Port 22
Hostname github.com
IdentityFile ~/.ssh/id_rsa2
TCPKeepAlive yes
IdentitiesOnly yes


あとはgit remote addでリモートリポジトリを追加する際にaaa.github.comを指定します。

git remote add fork git@aaa.github.com:xxx/test.git


参考:github でサブアカウント、ユーザー切り替え - くろまほうさいきょうでんせつ
posted by ねこまんま at 02:37
Comment(0) | TrackBack(0) | Git

gitの設定を確認

以下のコマンドでGitの設定が確認できる

git config --global --list
posted by ねこまんま at 02:02
Comment(0) | TrackBack(0) | Git

2013年05月26日

GitHubでリポジトリを作ってからコミットするまでのメモ

■まずは SSH キーの作成

cd ~/.ssh


.sshディレクトリに移動

ssh-keygen -t rsa -C "xxx@example.com"


エンターを押すとSSHキーが作成される

cat id_rsa.pub


で作成したssh公開鍵が表示されます。それをGit Hubのアカウントセッティングから登録すればOK

■初期設定
ユーザ名とメールアドレスを登録しておきます

git config --global user.name hoge
git config --global user.email fuga@example.com


■最初のコミット
touch README.md


touchコマンドは指定されたファイルについて、アクセス時刻と更新時刻を現在の時刻に変更します。任意の時間に変更することもできます。指定したファイルが存在しない場合は空のファイルを新規に作成します。

git init


ローカルリポジトリを作成

git add README.md


先ほど作成したREADME.mdを監視ファイルに追加します。

git commit -m "first commit"


ローカルリポジトリにコミットします。

git remote add origin git@github.com:xxx/test.git


作成したGitHubのリモートリポジトリをoriginという名前で追加します。ちなみにgit remoteで現在登録されているリモートリポジトリの一覧が確認できます。git remote rm originで削除できます。

git push -u origin master


先ほど登録したorigin という名前のリモートリポジトリにmasterブランチの内容を反映させます。

これでGitHubにプロジェクトのアップが完了です。コミットしたREADME.mdはプロジェクトページのトップに反映されるのでマークダウンを利用してプロジェクトの概要を記述しましょう。
posted by ねこまんま at 18:03
Comment(0) | TrackBack(0) | Git

2013年05月15日

Subversionメモ - ブランチをトランクにマージ

トランクに移動
cd [トランクのurl]

特定のブランチのリビジョンxxxのマージ
svn merge -c xxx [ブランチのurl]

コンプリクトを起こしたら競合を解消して
svn resolved [競合ファイルのURL]

そしてコミット
svn commit
posted by ねこまんま at 11:14
Comment(0) | TrackBack(0) | Subversion

2013年05月07日

iPhoneアプリにObjective-CでUIActionSheetを表示する方法

iPhoneアプリにObjective-CでUIActionSheetを表示する方法。

@interface ViewController : UIViewController
- (void)configureView;
- (void)actionOKCancel;
@end


- (void)configureView
{
UIButton *customButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
customButton.frame = CGRectMake(40, 100, 240, 40);
[customButton setTitle : @"アクションシート" forState:UIControlStateNormal];
[customButton addTarget:self action:@selector(actionOKCancel) forControlEvents:UIControlEventTouchUpInside];

[self.view addSubview:customButton];
}
-(void)actionOKCancel
{
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"アクションシート"
delegate:self
cancelButtonTitle:@"いいえ"
destructiveButtonTitle:@"はい"
otherButtonTitles:nil, nil];
actionSheet.actionSheetStyle = UIActionSheetStyleDefault;
[actionSheet showInView:self.view];
}
-(void) actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
NSLog(@"%d",buttonIndex);
}
posted by ねこまんま at 02:20
Comment(0) | TrackBack(0) | iPhone

iPhoneアプリにobjective-cでUIAlertViewを表示する方法

iPhoneアプリにobjective-cでUIAlertViewつまりアラートを表示する方法

ヘッダーファイルは次のとおり

@interface ViewController : UIViewController
- (void)configureView;
- (void)alertOKCancel;
@end


メソッドファイルは次のとおり

UIButtonでボタンを配置し押された際にUIAlertViewを表示する。そしてアラートのボタンが押された際にその番号をNSLog()で書き出します。

- (void)viewDidLoad
{
[super viewDidLoad];
[self configureView];
}
- (void)configureView
{
UIButton *customButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
customButton.frame = CGRectMake(40, 100, 240, 40);
[customButton setTitle : @"アラート" forState:UIControlStateNormal];
[customButton addTarget:self action:@selector(alertOKCancel) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:customButton];
}
-(void)alertOKCancel
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"アラート" message:@"よろしいですか" delegate:self cancelButtonTitle:@"いいえ" otherButtonTitles:@"はい", nil];
[alert show];
}
-(void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
NSLog(@"%d",buttonIndex);
}
posted by ねこまんま at 01:58
Comment(0) | TrackBack(0) | iPhone

2013年05月05日

iPhoneアプリにobjective-cでUIWebViewを配置する方法

iPhoneアプリにobjective-cでUIWebViewを配置する方法。

- (void)viewDidLoad
{
[super viewDidLoad];
[self configureView];
}
- (void)configureView
{
UIWebView *customWebView = [[UIWebView alloc] initWithFrame:CGRectMake(10, 10, 300, 300)];
customWebView.scalesPageToFit = YES;
[customWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://phprefa.seesaa.net/"]]];
[self.view addSubview:customWebView];
}


scalesPageToFitで指でのピンチインアウトを許可するか制御できる。
posted by ねこまんま at 02:29
Comment(0) | TrackBack(0) | iPhone

2013年05月01日

iPhoneアプリにobjective-cでUIPickerView /UIDatePickerView を配置する方法

iPhoneアプリにobjective-cでUIPickerView /UIDatePickerView いわゆるドラムロールを配置する方法。予想以上にめんどくさかった。それにくらべてHTMLって簡単で素晴らしい。

ヘッダーファイルは次のように記述

@interface ViewController : UIViewController
{
NSArray *pickerViewData;
}
- (void)configureView;
@end


これでUIPickerViewDelegateクラスとUIPickerViewDataSourceクラスが利用できるようになる

- (void)configureView
{
pickerViewData = [NSArray arrayWithObjects:@"ああ",@"いいい",@"ううう", nil];

UIPickerView *customPickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0 ,10, 0, 0)];
customPickerView.showsSelectionIndicator = YES;
customPickerView.delegate = self;
[self.view addSubview:customPickerView];

UIDatePicker *customDatePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 236, 0, 0)];
customDatePicker.datePickerMode = UIDatePickerModeDateAndTime;
NSDate *today = [NSDate date];
customDatePicker.date = today;
[self.view addSubview:customDatePicker];

}


UIPickerViewとUIDatePickerで作ったドラムロールを配置。

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 2;
}


numberOfComponentsInPickerViewで列数を指定

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return [pickerViewData count];
}


numberOfRowsInComponentで行数を指定。ひとまず配列の長さを返しときます。

- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component
{
return 40.0;
}


rowHeightForComponentやピッカーの各項目の高さが指定できます。

 (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component
{
CGFloat width = 0.0;
switch (component) {
case 0: {
width = 50.0;
break;
}
case 1: {
width = 250.0;
break;
}
}
return width;
}


widthForComponentでピッカーの項目の幅を指定


- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
NSString *string = @"";
switch (component) {
case 0: {
string = [NSString stringWithFormat:@"%d", row];
break;
}
case 1: {
string = [pickerViewData objectAtIndex:row];
break;
}
}
return string;
}


titleForRowで各項目の値を設定できます。
posted by ねこまんま at 23:50
Comment(0) | TrackBack(0) | iPhone

iPhoneアプリにObjective-CでUITextFieldを配置する方法

iPhoneアプリにObjective-CでUITextFieldいわゆる入力フィールドを配置する方法。

新しめの機能は「customTextField.delegate = self;」これで別メソッドの処理をテキストフィールドに実装できるらしい。よくわからんしXCodeがここで「warning: passing 'ViewController *const __strong' to parameter of incompatible type 'id' 」と警告をだす。ただ、これを記述すると下のtextFieldShouldReturnの処理がリターン押した際に実行され表示されたキーボードが消えます。

- (void)configureView
{
UITextField * customTextField = [[UITextField alloc] initWithFrame:CGRectMake(10, 100, 300, 40)];
customTextField.placeholder = @"ほげほげ";
customTextField.borderStyle = UITextBorderStyleRoundedRect;
customTextField.delegate = self;
[customTextField addTarget:self action:@selector(action:) forControlEvents:UIControlEventEditingDidEnd];
[self.view addSubview:customTextField];
}


- (void)action:(id)sender
{
UITextField *tempSlider = sender;
NSLog(@"%@",tempSlider.text);
}


-(BOOL)textFieldShouldReturn : (UITextField *) textField
{
[textField resignFirstResponder];
return YES;
}
posted by ねこまんま at 03:45
Comment(0) | TrackBack(0) | iPhone