[git] リモートリポジトリへpushしようとした時のエラー

gitでpushを行おうとしたらエラーが出た。

$ git push
No refs in common and none specified; doing nothing.
Perhaps you should specify a branch such as 'master'.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'push先'

これはブランチの設定ができてないため。
なので、下記のようにすると解決できる。

$ git push origin master

[iOS] [Objective-C] Unwind Segueをマニュアル実行する

タイマー後などUnwind Segueでの遷移をコードで実行したい時。

まずUIViewControllerを2つ用意。
これをView1、View2とする。

View1に設定しているクラス(だいたいViewControllerとか)に、
適当な名前でメソッドを追加する。

- (IBAction) hogeViewReturnActionForSegue:(UIStoryboardSegue *)segue {
}

次に、StoryBoard上でView2のExitボタンをクリックする。
するとインスペクタ上には、View1に追加したメソッドが表示される。
UnwindSegue_01

続いて、メソッド名の隣の●ボタンをクリックしたままView1へドラッグする。
UnwindSegue_02

View1の上でドロップすると、
manualというアイコンが表示されるのでクリックする。
これで接続は完了。
UnwindSegue_03

仕上げに接続したUnwind SegueにIDをつける。
UnwindSegue_04

接続したSegueを使い、前の画面へ遷移する時のはこのメソッドを叩く。

[self performSegueWithIdentifier:@"unwindSegueHoge" sender:self];

[iOS] [Objective-C] Photos frameworkで画像の削除

対象となる画像のNSURLがある前提。

// valueはNSURL
PHFetchResult *assets = [PHAsset fetchAssetsWithALAssetURLs:@[value] options:nil];
PHAsset *asset = [assets firstObject];
  
if ([asset canPerformEditOperation:PHAssetEditOperationDelete]) {
  [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
    [PHAssetChangeRequest deleteAssets:@[asset]];
  } completionHandler:^(BOOL success, NSError *error) {
    if (success) {
      // 削除成功
    } else {
      // 削除失敗
    }
  }];
}

[iOS] [Objective-C] Photos frameworkで画像の読み込み

カメラで撮った写真をすぐにプレビュー表示したかった。
だがAssetsLibrary frameworkは既に前時代の代物らしいので
Photos frameworkを使って画像を読み込むことにした。

撮影した直後なので対象のAssetLibraryのNSURLが既にあるという前提。

// valueは対象画像のNSURL
PHFetchResult *assets = [PHAsset fetchAssetsWithALAssetURLs:@[value] options:nil];
PHAsset *asset = [assets firstObject];
  
[[PHImageManager defaultManager]
  requestImageForAsset:asset
  targetSize:CGSizeMake(500,500) // サイズは適当
  contentMode:PHImageContentModeAspectFit
  options:nil
  resultHandler:^(UIImage *result, NSDictionary *info) {
    if (result) {
      [self.imageViewPreview setImage: result];
    }
  }];

[Ruby on Rails] DBのcollation設定

Railsでutf8_general_ciなど任意のcollationを使いたい。

Before:

default: &default
adapter: mysql2
encoding: utf8
pool: 5
username: hoge
password: piyo
host: localhost

After:

default: &default
adapter: mysql2
encoding: utf8
charset: utf8
collation: utf8_general_ci
pool: 5
username: hoge
password: piyo
host: localhost