読者です 読者をやめる 読者になる 読者になる

iTerm2 v2.9 で、docker tool box が動かない問題の対処法

Docker Toolbox が起動しない 環境 Mac OSX El Capitan 10.11.4 iTerm2 Build 2.9.20160313 再現手順 Docker Toolbox をダウンロード 初回起動時に、iTerm2 を選択 docker 系のコマンドを叩くと下記のエラー Cannot connect to the Docker daemon. Is the do…

Swift で NSObject を継承したクラスに Hashable プロトコルを適応したい

Objective-C のライブラリを Bridging Header を使って、swift から使っている時の話です。 状況 NSObject を継承したクラスを継承している そのクラスに Hashable プロトコルを適応しようとする 僕の場合は、Google Map SDK の GMSMarker を継承した Marker…

UIButton の imageView と titleLabel を縦に並べる

こういうボタンを作りたいことがあった。 @IBDesignable と @IBInspectable を使って、 xib に反映できる形での実装。 それぞれの中心で alignment を取るようになってる gist.github.com 参考 stackoverflow.com

要点で学ぶ、デザインの法則150

要点で学ぶ、デザインの法則150 -Design Rule Indexposted with amazlet at 16.02.10William Lidwell Kritina Holden Jill Butler ビー・エヌ・エヌ新社 (2015-10-16)売り上げランキング: 35,795Amazon.co.jpで詳細を見る 読んだ。 チュートリルとかではな…

swift の enum で、DB に保存されている status 的なものを処理したい

MySQL のカラムの一つに status 的なカラムがあることがある(ある理由は問わないで欲しい)。 この status に「入るはずがない値」を、swift の enum でどうハンドリングするとわかりやすいか… 下記のような enum を用意し、 enum ArticleStatus: Int { cas…

api gateway と aws lambda でアプリケーションを作る

ってのを考えていた。 google でいろいろ調べ、aws の公式ドキュメントを読み、天下の developer.io 様の記事を読みまくった。 が、いまいち api gateway と aws lambda でアプリケーションを作る ということが見えてこない。 という漠然とした疑問を解決し…

Vibalarm v2.0.0

3年前に出していたアプリが未だにダウンロードされていたのを見つけて、 1か月くらいかけてゆっくりアップデートバージョンを作りました。 VibalarmRyu Tamakiユーティリティ無料

cocos2dx 用 XCode テンプレート作った

cocos2d-x-templates ryutamaki/cocos2d-x-templatesgithub.com lang: c++ version: v3.6 作った、って言ったけど、まだ発展途上です。 動作確認は v3.6 のみで行ってます。 インストール方法と使い方は、github の README をどうぞ これからどうするの? と…

ntp と OSX における ntpd

会社の勉強会で発表した内容をそのまま転載 ところどころ足りない部分があるのはご愛嬌 Network Time Protocol についての簡単なまとめ、ntp の実装である ntpd が OSX においてどのように起動され、動いているのかを見ていく。 目次 RTC NTP stratum 誤差の…

git add -p / edit

git

add -p 便利ですね。 便利ですが、"e" のときにどうしたらいいのかわかんなくなりすぎるので、自分用備忘録。 # To remove '-' lines, make them ' ' lines (context). # To remove '+' lines, delete them. # Lines starting with # will be removed. この…

python + flask 環境構築

flask を使ってweb アプリケーションを作ろうということで、環境構築メモです。 環境 mac osx 10.10 Yosemite using homebrew 目標 python環境 pipコマンドを使えるように pipコマンドでflaskをインストール 実際にやってみた python, pip, setuptools(easy_…

yeoman+grunt+bowerでangularjs+bootstrap+sass環境構築

AWSのEC2インスタンス上でタイトルの環境を構築した際のメモ(自分用)。 以下参照したものをざっと挙げておく nodejs+npm Installing Node and npm node-and-npm-in-30-seconds-sh yoeman yeoman.io yeoman/generator-angular yeomanを触ってみる 立ち上げ…

ノーマルモード時に、カーソル位置で改行を挿入する

vim

.vimrc nmap <CR> i<CR><ESC> key meaning i ノーマルモード時にインサートモードに入る <CR> Enter <ESC> esc</esc></cr></esc></cr></cr>

$ source .vimrc で、コメント行が"command not found"になる件

結論から。 ターミナルで $ source ~/.vimrc は叩くのやめよう .vimrcは、vimの起動時に勝手に読み込まれる、もしくはvimを起動してsource .vimrc。 事の発端は、let mapleader=','が機能していないなと思ったところから。 いかんせんvim初心者、UNIX弱者な…

UIImageViewを丸くトリミングする

TweetBotのサムネイル表示のように、画像を丸くトリミングする方法を紹介します。 CALayerを使うと数行で実装出来るので便利です。とりあえずサンプルコード UIImage *circleImage = [UIImage imageNamed:@"test.png"]; UIImageView *circleImageView = [[UI…

google custom search engine(CSE)を使って、検索結果をjsonで取得する

google検索結果を取得しようとした時に、すこし苦労したので手順を整理しておく。 参照したのはここ Custom Search — Google Developers API keyの取得 https://cloud.google.com/console/projectまず、上のURLにアクセス次に規約に同意するので Accept をク…

Rails 4.0 で多対多関連

この記事内では、"timeline"モデルと,"user"モデルをどのようにして接続する事が出来るかを見ていきます。 timeline.user user.timeline 等でアクセス出来るように作っています(つもりです)。Rubyや、Railsの経験が浅いため、もっと良い方法を知っている方…

FrozenBear v1.4.0

App

先日、FrozenBear最後(?)の主要バージョンとなる、バージョン1.4.0をリリースしました。昨年冬に最初のリリースを行い、季節の巡りとともに、FrozenBearのアップデートを重ねて参りましたが、ここで一区切りとなります。 二度目の冬は、明るい陽の光がきれい…

rspec-rails (2.14.0) + devise (3.2.1, 3.2.0) + capybara (2.2.0) でsign in判定

deviseを使っていて、rspec内でサインインしているかどうかの判定をしたいときのやり方。バージョンごとに微妙に変化があるようで、実際に動作確認したのはタイトルのもののみです。 他のバージョンに関しては、この記事では対応出来ない可能性があるため、…

Ruby 2.0, Rails 4.0, devise, mysql, rails_admin の初期設定メモ

ruby2.0 rails4.0の環境が整っている事を前提とします。 プロジェクト作成 $ rails new sample —database=mysql データベースの設定(developmentのみ表記、他は割愛) まず、以下の記述があるか確認。無ければ各自付け足してください。 # Gemfile # Use mys…

kobold2d v2.1.0 Xcode5対応

記事にするのが遅れましたが、kobold2d v2.1.0をxcode5で使用可能にするパッチが、作者から出ています。Kobold2D autopatch script for Xcode 5 fixes: https://t.co/qS4Vs7rZVQ— Steffen Itterheim (@gaminghorror) September 25, 2013 対応が切られたと思…

-performSelector:withObject:afterDelay:を用いて、複数のアニメーションを実行するときの注意点

今回ははまった。なので共有として書いておく 以下のようなコードを書いていた [self performSelector:@selector(animate1) withObject:nil afterDelay:0.5f]; [self animate2]; [self performSelector:@selector(animate3) withObject:nil afterDelay:0.5f]…

iOSでEasing

iOSとくにUIKitを使っている場合、デフォルトではイージングが4種類しかありません。そこでおすすめなのが以下のイージングライブラリです。 https://github.com/bryanoltman/CAAnimation-EasingEquations:CAAnimation-EasingEquations 準備 QuartzCoreフレ…

ARC環境におけるNSTimerの再利用(再起動)

NSTimerは -invalidate メソッドをコールするとARCによって回収されてしまう。 なので、再起動のためには再度タイマーの内容を決定してやる必要がある。 具体的な方法を示す。適当なところで、NSTimer *timerのインスタンスを確保しておく。 そして、以下の…

UIScrollView に背景画像を設定する

#import <UIKit/UIKit.h> @interface UIScrollViewWithBGImage : UIViewController <UIScrollViewDelegate> { UIImageView *backgroundImageView; } @property (nonatomic, retain) UIScrollView *scrollView; @end 上のようなヘッダーにおいて、scrollViewプロパティに背景画像を追加する事を考え</uiscrollviewdelegate></uikit/uikit.h>…

UITableViewをアップデートする方法

UITableViewの表示を変更するときは、cellをリロードする必要がある。それには2つの方法があるので簡単にまとめ。 1. [tableView reloadData] //Do some changes [tableView reloadData]; reloadDataメソッドは、cellをメソッドが呼ばれた時点で完全にリロ…

UIScreenのboundsとapplicationFrameの違い

StatusBarの有無で画面の使い方が微妙に変わり、毎回よく分からなくなるのでメモ。 NSLog(@"bounds = %@",NSStringFromCGRect([UIScreen mainScreen].bounds)); NSLog(@"applicationFrame = %@", NSStringFromCGRect([UIScreen mainScreen].applicationFrame…

FrozenBear v1.2.0

App

https://itunes.apple.com/jp/app/frozenbear-yinno-mingranaiaramu/id556500451?mt=8 先日FrozenBearの夏バージョンをリリースしました。早速ですが、今回のアップデートでバグが見つかってしまいました。 稀に、設定画面で座標を変更すると落ちる事があり…

CookPad Hackason 2013

CookPad Hackason 2013に鎖国のメンバーで参加しました。今回はメンバーの一人が韓国で、一人が昼から深夜前まで居ないという状況でしたが、個人的には良い経験に成りました。 iOSに関してプログラムを書き始めて2年程度経ち、ある程度の事は出来ると考えて…

Frameを決定できるUITableViewController

UITableViewControllerのtableViewは、frameのサイズを変更する事が出来ません。 これだと不便なので、tableViewのサイズを変更出来るUIFlexibleTableViewクラスを作成しました。 ご自由にお使いください。CocoaExtention/Classes/UIFlexibleTableViewContro…

directory not found for option

Kobold2d v2.1.0 へのアップデートに際して、この警告で引っかかったので解決策をメモ。iOS6.0以上に対応したkobold2d v2.1.0へのアップデート時に出たリンカーのエラーです。プロジェクトのBuild Settingsにて、"library"と検索し、"Library Search Paths"…

16進数のNSStringを数値に変換

float hexStringToFloat(NSString* str) { NSString *prefix = [str substringWithRange:NSMakeRange(0, 2)]; if(![prefix isEqualToString:@"0x"]) { str = [@"0x"stringByAppendingString:str]; } NSScanner* pScanner = [NSScannerscannerWithString: str…

LazyBoy

App

LazyBoy open in the AppStore 本日午前に鎖国法人EDOMODEより、「LazyBoy」をリリースしました! よくいくお店で「何を食べようかなあ」と思ったときに、ボタンを押すだけでメニューを決めてくれるアプリです。 今回は、細かいところまで作り込み、UIの操作…

Automatorで画像のsuffixを自動で追加

「画像の名前の最後に @2x を追加する」 この動作をAutomatorを使って自動化してみます。

UIView on cocos2d

iOS上でcocos2dを使って開発を行う時、UIViewを使いたいときがあります。広告の表示や、WebViewが主だと思いますが。 そのようなときは、以下のようにしてUIViewをのせます。 [[CCDirector sharedDirector].view addSubview:uiview]; メモ程度ですが。

cocoaにてAppDelegateの取得方法

AppDelegate *delegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; delegateの取得方法。忘れやすいのでメモ。

MediaPlayerViewController サンプル

iOSで動画再生(MPMoviePlayerController) MPMoviePlayerControllerを使うために、そのControllerを作成しなければなりません。 そのサンプルとして MediaPlayerViewController を作ります。自分で作る際に、 ・全画面で動画を再生したい ・画面をタップした…

Rubyで2次元配列

size = 3 a = Array.new(size){ Array.new(size, 0) } とするのが正解。 こうすると pp a a[1][2] = 1 pp a と出力したときに [[0, 0, 0] [0, 0, 0] [0, 0, 0]] [[0, 0, 0] [0, 0, 1] [0, 0, 0]] と出力してくれる。 これは配列の各列を初期化するときに、毎…

FrozenBear v1.1

App

3/27にFrozenBearのアップデートを行いました。主な変更点は ・桜バージョンの追加 ・時、分、秒をそれぞれダブルタップでリセット ・インフォメーションへの遷移の変更 いい出来です。 ダウンロードはこちらから。 https://itunes.apple.com/jp/app/frozenb…

FrozenBear

App

2/12 に鎖国法人EDOMODEにてリリースしました。音のならないアラームアプリです。 https://itunes.apple.com/jp/app/frozenbear/id556500451?mt=82/28 にiPhone女史にて http://www.iphone-girl.jp/application-review/248230.html 3/7 にmeet-iにて http://…

面接

初めてかもしれない、エンジニアの人と技術的な話をしたのは。 周りにのせられて1社出したESが通り、今日、最終面接だった。 3回目で最終だったのだが、面接をしてくれた人は全員エンジニア。 なんとなく、精神的にプログラマ気質なのかしれないと思った。 …

plistからUIColorを読み込む

#import <UIKit/UIKit.h> typedef struct _RGBColor { float r; float g; float b; }RGBColor; typedef struct _RGBAColor{ float r; float g; float b; float a; }RGBAColor; @interface UIColor (Extension) UIColor* UIColorWithRGBFromString(NSString* str); UIColor* </uikit/uikit.h>…

Archiveが通らなくなった時に見直すCodeSigningの見本

上と同じなら問題なし。 cocos2d環境なので、プロジェクトを作るときにMacOSのtargetが勝手に生成されて、Any SDK という項目が追加されてます。 これはなくてもOK。要はタイトルのとこは "Don't code Sign"で SDKのとこは "iPhone Developer of Distributio…

実機テストとAppStoreでの動作が違った

この様な事態に遭遇しました。尋常ではないレベルで焦り、大至急調べたところ、あるタイミングで次のようなコードが実行されていました。 if(nan) 恥ずべき事態です。こいつが、実機テストの時はNOに、AppStoreではYESと解釈されていたようです。nanがコード…

cocos2dでダブルタップを判別

-(void)ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event { CGPoint location = [[CCDirector sharedDirector] convertToGL:[touch locationInView:[touch view]]]; location = [self convertToNodeSpace:location]; float delay = 0.2f; switch (…

CCFadeIn, CCFadeOut, CCFadeTo に関して

cocos2d(v2.0.0)のフェードイン、フェードアウトのエフェクトを実装する際は、 CCFadeIn CCFadeOut ではなく CCFadeTo の使用をお勧めします。なぜかというと、 CCFadeInはフェードインをかける前にopacityを0に CCFadeOutはフェードアウトをかける前にopaci…

CGRectFromString の実装を調べてみる

長いです。テストの内容なんてどうでも良いから早く実装を見せろと思った方は、まとめからどうぞ。 CGRect testRect = CGRectFromString(@"{{{0, 1}}, 2, {3, 4, 5}}"); CGRect testRect = CGRectFromString(@"{{{0, 1}}, 2, {3, 4}}"); CGRect testRect = C…

CCLabelBMFontで文字にアウトラインがついてしまう

CCLabelMBFont *sampleFont = [[CCLabelBMFont alloc]initWithString:@"text" fntFile:@"sample.fnt"]; 普通はこうですね。 これを CCLabelMBFont *sampleFont = [[CCLabelBMFont alloc]init]; sampleFont.fntFile = @"text"; sampleFont.fntFile = @"sample…

NSStringFrom~ and ~fromString

NSLog(@"orizin(%f:%f) size(%f:%f)", self.frame.origin.x, self.frame.origin.y, self.frame.size.width, self.frame.size.width); これは冗長です。 NSLog(@"%@",NSStringFromCGRect(self.frame)); こちらを使いましょう。 UIKIT_EXTERN NSString *NSStri…

NSLogで表示される物を変更する

NSObject で定義されている -(NSString*)description; をオーバーライドしてやります。 例えば @interface Name : NSObject @property (nonatomic) NSString *lastName; @property (nonatomic) NSString *firstName; -(id)initWithFirstName:(NSString*)firs…