またmixi のiOS Trainingに参加してきました。
http://app-training.connpass.com/event/12019/
まず前座でCocoaPodsの紹介がありました。
http://cocoapods.org/
rubyのgemみたいなものだそうです。
プロジェクトを開くときには.xcode.xcodeprojじゃなくて.xcode.xcworkspaceを使う。
今回はUITabControllerとUIViewでした。
またメモったことをつらつらと載せます。
https://github.com/mixi-inc/iOSTraining/wiki/2.2-UITabController
・UITabControllerをてっとり早く試すなら新規でプロジェクト作って実行してみるとよい。
・タブを増やす
ViewControllerを追加してTab Bar Controllerからsegueをはる。
view controllersを選択。
・根っこのcontrollerをtabbarcontrolllerにすることが多い
・ViewControllerをstoryboardで作らないでコードで作るのは
ViewControllerの数が多くなってstoryboardがごちゃごちゃしてきたようなときとか。
https://github.com/mixi-inc/iOSTraining/wiki/3.1-UIView
・ViewControllerは枠組みであって、目に見えているものはすべてUIView
・ViewCOntrollerは作成時にUIViewを一個もっている
viewというやつ。これを消すとビルドできない
viewの内容は画面サイズに合った真っ白い四角
・UIButton
ボタンの表示内容はsetTitleでセットするのがデフォルト
・UIImageの画像の追加
Images.xcassets開いて、そこに画像をドラッグアンドドロップ
画像の種類
2x retina
3x iphone 6 plus
1x それ以外
・Textview
editableをYESにすると編集可能
・コードでViewを追加するのは出したり消したりってのを細かく制御したいときとか
・マルチサイズのデバイスに対応するにはautoLayoutで設定するので座標位置指定したりとかはあんまりやらない
・Viewのグルーピング(labelとbuttonとimageを一括で操作)をするとき
Viewを一個作ってそれのsubviewに追加するような感じ
そろそろお寿司が出るようです。
2015年2月27日金曜日
2015年2月17日火曜日
PowerDNSでDNSラウンドロビンしてみた
社内の環境的にPowerDNSを使っているのですが、
MySQLのslaveをDNSラウンドロビンで接続先を引けるようにしたかったので調べました。
PowerDNSのバージョンは3.3.1。
まずはCNAMEで登録してみました。
CNAMEでは最初に登録したレコードしか引けませんでした。
次にAレコードで登録してみました。
Aレコードだと登録した2つのレコードが引けるようになりました。
参考URL
https://twitter.com/satoh_fumiyasu/status/325039314205560832
http://mailman.powerdns.com/pipermail/pdns-announce/2003-December/000008.html
MySQLのslaveをDNSラウンドロビンで接続先を引けるようにしたかったので調べました。
PowerDNSのバージョンは3.3.1。
まずはCNAMEで登録してみました。
CNAMEでは最初に登録したレコードしか引けませんでした。
mysql> select * from records where id in(231,232); +-----+-----------+-------------------------+-------+------------------------------+------+------+-------------+-------+ | id | domain_id | name | type | content | ttl | prio | change_date | binip | +-----+-----------+-------------------------+-------+------------------------------+------+------+-------------+-------+ | 231 | 1 | xxx-db-s.xxx.com | CNAME | xxx-db1.xxx.com | 3600 | 10 | NULL | NULL | | 232 | 1 | xxx-db-s.xxx.com | CNAME | xxx-db2.xxx.com | 3600 | 10 | NULL | NULL | +-----+-----------+-------------------------+-------+------------------------------+------+------+-------------+-------+ 2 row in set (0.00 sec) # nslookup xxx-db-s.xxx.com Server: 10.26.20.103 Address: 10.26.20.103#53 xxx-db-s.xxx.com canonical name = xxx-db1.xxx.com. Name: xxx-db1.xxx.com Address: 10.26.20.209
次にAレコードで登録してみました。
Aレコードだと登録した2つのレコードが引けるようになりました。
mysql> select * from records where id in(231,232); +-----+-----------+-------------------------+------+--------------+------+------+-------------+-------+ | id | domain_id | name | type | content | ttl | prio | change_date | binip | +-----+-----------+-------------------------+------+--------------+------+------+-------------+-------+ | 231 | 1 | xxx-db-s.xxx.com | A | 10.26.20.209 | 3600 | 10 | NULL | NULL | | 232 | 1 | xxx-db-s.xxx.com | A | 10.26.20.210 | 3600 | 10 | NULL | NULL | +-----+-----------+-------------------------+------+--------------+------+------+-------------+-------+ 2 rows in set (0.00 sec) # nslookup xxx-db-s.xxx.com Server: 10.26.20.103 Address: 10.26.20.103#53 Name: xxx-db-s.xxx.com Address: 10.26.20.209 Name: xxx-db-s.xxx.com Address: 10.26.20.210
参考URL
https://twitter.com/satoh_fumiyasu/status/325039314205560832
http://mailman.powerdns.com/pipermail/pdns-announce/2003-December/000008.html
2015年2月13日金曜日
mixi iOS Training第3回に参加してきました
またmixiの勉強会に参加してきました。
http://app-training.connpass.com/event/11598/
今回もまずアプリエンジニアの方の話があり、先週のandroid trainingに続いての
drivemodeの@KeithYokomaさんの話でした。
iOSの勉強会でandroidメインの方だったので、少し微妙そうでした。。
また講義の中でメモったことをつらつらと書いていきます。
1.5 UIViewController3 ライフサイクル
・UIViewControllerの生成方法
生成方法はいくつかあるが、どの初期化メソッドで呼ばれてもいいように、
共通化した処理を作っておくのがよい。
・didReceiveMemoryWarningメソッドについて
動画開いたりとか他のアプリでメモリが圧迫されたりとかしたときによばれる。
ここで画像のメモリキャッシュをクリアしたりとかする。
しないでほっとくとOS側にプロセスがkillされる。
ちなみにiOS Simulatorのメニューの
Hardware - Simulate Memory Warning
から発生させることが可能。
2.1-UINavigationController
・ツールバーとタブバーは似てるけど別物ですよ。
・UIBarButtonItemのstyleはplainを指定するか、ゴリゴリに実装するかが多い
・@selector
メソッド名を関数にしてくれるような何かと思ってて。
会も3回目になったので、だんだんとあ〜こういう動きするアプリあるなぁみたいなことを思ったりしてます。
このまま続けていったら楽しい気がしてます。
あと、最近mixiの勉強会参加してきたのブログばっかりなので、次は違うこと書きたいと思います。
http://app-training.connpass.com/event/11598/
今回もまずアプリエンジニアの方の話があり、先週のandroid trainingに続いての
drivemodeの@KeithYokomaさんの話でした。
iOSの勉強会でandroidメインの方だったので、少し微妙そうでした。。
また講義の中でメモったことをつらつらと書いていきます。
1.5 UIViewController3 ライフサイクル
・UIViewControllerの生成方法
生成方法はいくつかあるが、どの初期化メソッドで呼ばれてもいいように、
共通化した処理を作っておくのがよい。
・didReceiveMemoryWarningメソッドについて
動画開いたりとか他のアプリでメモリが圧迫されたりとかしたときによばれる。
ここで画像のメモリキャッシュをクリアしたりとかする。
しないでほっとくとOS側にプロセスがkillされる。
ちなみにiOS Simulatorのメニューの
Hardware - Simulate Memory Warning
から発生させることが可能。
2.1-UINavigationController
・ツールバーとタブバーは似てるけど別物ですよ。
・UIBarButtonItemのstyleはplainを指定するか、ゴリゴリに実装するかが多い
・@selector
メソッド名を関数にしてくれるような何かと思ってて。
会も3回目になったので、だんだんとあ〜こういう動きするアプリあるなぁみたいなことを思ったりしてます。
このまま続けていったら楽しい気がしてます。
あと、最近mixiの勉強会参加してきたのブログばっかりなので、次は違うこと書きたいと思います。
登録:
投稿 (Atom)