エンジニアリングにはほど遠い

iPhoneアプリとかサイトとかをつくっていくブログです。

Mac renameコマンド

すごく便利ですね〜。 こちら参考にさせてもらいました。 インストールは brew install rename 例えば、現在のディレクトリ内の全部の.pngファイルを@2x.pngにしたいときは find . -not -name '*@2x*' | grep .png | awk -F"/" '{print $2}' | xargs rename …

iOS NavigationBarとTabBarを考慮したUIViewControllerのviewを取得

iOS

viewWillAppearで取得する。 // exist NavigationBar and TabBar - (void)viewDidLoad { [super viewDidLoad]; NSLog(@"self.view %f %f %f %f", self.view.frame.origin.x, self.view.frame.origin.y, } - (void)viewWillAppear:(BOOL)animated { NSLog(@"s…

iOS QuickDialogのひとつのelementsのappearanceをいじったら全部の見栄えが変わってしまう件

iOS

ハマりました。 // NG [self.root elementWithKey:@"hoge"].appearance.backgroundColorEnabled = [UIColor redColor]; これでやると、なぜか他のelementの色も変わっちゃう!(?_?) いろいろデバッグしたりしてかなり彷徨っていたんですが、 // OK QAppearan…

iOS QuickDialogからさらにQuickDialogを開きたい〜!(電波少年風)

iOS

QuickDialogのサブクラスを作って手でうちゃうちゃやるのはあまりよろしくなさそうという事で、カテゴリでやってみました。 これが正解のやり方だとは思っていないので、もっといい方法があれば教えて頂きたいです。 UIViewController+showQuickDialogContro…

自分用時計Mac App作った

Mac

Obsician Menu Barでmenu barを黒くしていると、時計の時刻が見づらくなりまして。 それで、時計だけを表示するMacAppを作ってみました。 この佇まい。 Quitのみ。 Mac Appはあまり作った事がないのですが、UI以外のところはiOSとほとんど同じ感じですね。 …

iOS addSubViewのときに隅とか真ん中に楽に置けるカテゴリ

iOS

ただまんま書いただけなのですが、作っておくととても便利でした。 UIView+adjustSubView.h #import <UIKit/UIKit.h> typedef enum { UIViewAdjustSubViewLeftTop, UIViewAdjustSubViewLeftCenter, UIViewAdjustSubViewLeftButtom, UIViewAdjustSubViewCenterTop, UIViewAdj</uikit/uikit.h>…

iOS 文字数で縦幅が変化するラベルを持つビューを作るカテゴリ

iOS

よく使う機能なのでカテゴリ化して作りました。 最後ceilしてるのはこちらを参考にさせていただきました。 引数のtextはNSStringとNSAttributedStringに対応してます。 ※デカすぎるものを作ると落ちるので注意して下さい。 gist9976186 使うときはこういう感…

ググりまくれるスクリプトを書いた

pod list とか brew cask search とかの内容をいっぱい検索したいなぁと思い。 (open url でブラウザ起動できる必要あり) google search each arg keywords. example: pod lis ... (10件以上のときは確認メッセージが出ます) 使い方 pod list | grep -i web …

キーボードでUIパーツが隠れるのをUIScrollViewにて上にスクロールして回避

iOS

昔からなされている事だとは思いますが、今日初めてその問題に突き当たったので。 Appleの公式のやり方だとなんか動かなかったので少しだけ別のやり方で。 考え方として、見せたいUIパーツの下の部分がキーボードに隠れた時に、隠れた分だけ上に上げる、とい…

UIScrollViewにviewを追加していけるカテゴリ

iOS

作ってみたらかなり重宝してます。 かなりまんま書いてて賢くないソースだし、イレギュラーな使い方とか考慮していないのですが。 add content to UIScrollView, auto calc scrollView' ...

Mac 単語を三本指タップで辞書

凄い!知らなかった。 英語読み上げ機能と合わせて捗りますね。 SafariのReader + 読み上げ + 3本指と、Mac標準のものでも既に凄く快適です。

Vimがステキ

去年の8月からVimを使い始めてようやく慣れてきた。 しかしiOSを作るときにはXcodeを使ってて、まあXcodeも好きなのだけど、Vimっぽい動きをしたいときが多くなってきた。特にデータを切り貼りしたりするときに行単位のRecoding機能を使いたくなる。 Rubyの…

applicationWillEnterForegroundで何かやる場合

iOS

notificationを投げているんだけど、状況によってやりたいことを変えたい。(例えば、ブラウザでの認証後にジャンプして戻ってくる時だけこの処理をするみたいな) もしアプリが起動していなくて、application: didFinishLaunchingWithOptions:が呼ばれれば、…

sign_upのメールに載せたurlの末尾が.だった場合にgmailで開くと値が欠ける件

ユーザ登録のメール認証の為のトークンを作ったりしたときに トークンの末尾が.ではまりました。 メール本文: https://****/confirm?token=○○○○. クリックで開く: https://****/confirm?token=○○○○ に遷移 → 認証失敗 となる。 また、.はURLエンコードの対象…

カラースキーム

iTerm2とvimのカラースキームをひたすらいじってたらこんな時間に。。 fontは教えてもらったsource code pro SemiBold colorはitermもvimもTomorrow-Night-Brightにしました。 かなり見やすくなったかな。

Ransackでグループ間OR検索が分からない件

Ransackは検索にとても便利なGemだけど、複雑な検索の仕方がイマイチ分からない。 ( * || * ) && ( * && * ) みたいな、グループ間がANDな検索しかできないのかな・・・? ( * && * ) || ( * && * ) みたいな事がしたいのだけど。。。 ちなみに前者の検索に…

Rubyアプリケーションプログラミング

12年前の本なのだけれど、立ち読みしてうおっと思って買った。 というのも、自分はwebアプリ作成についてRailsから入ったクチなので、Rails無しでwebアプリを作ってみたいと思ってたところだったから。 Pythonを勉強してみようと思ったけど、まだRubyも使い…

ポリモーフィック関連はアブナい?

参照整合性に違反することに基づいているからだという。 参照整合性はここに書かれている事で担保すると。 Railsでデータベースの不整合をおこさないための設定 多重テーブル継承 エンタープライズRailsに載っていたが、ポリモーフィック関連を使わずに近い…

iOSでポップアップ的に小さい画面を出したいけど・・

iOS

ポップアップ的に小さい画面を出す場合に、その制御を他のUIViewControllerで行いたい場合、画面をstoryboardで作るとうまく行かない。なんでだろう。 nibで作ると普通にポップアップ的に出せる。 PopupViewController *pvc = // [self.storyboard instantia…

eachを使ったら負け

eachを使ったら負け 上記の言葉を会社の人に頂きました。 自分はeachを連打してたのでかなりの負け組だった。 とりあえずeach_with_objectを使ってみた。ひとつひとつ使えるようになっていきたい。

シェル上でバックグラウンドでコマンド実行

コマンドの最後に &を付ける。 今日はJenkinsでcocoapodsを使っているiOSプロジェクトのビルドを行いたかったが うまく行かなかった。 どうもpod installがうまく実行できていないみたいなのでJenkinsがrbenvを扱えていない気がする。 ちょっとタイムオーバ…

mysqlのutf8mb4でverchar(255)のカラムにindexが張れない

こちらと同様の対策を行いました。 MySQL(InnoDB) で "Index column size too large. The maximum column size is 767 bytes." いわれるときの対策 なぜinnodb_large_prefixがデフォルトではOFFでROW_FORMATはデフォルトがCOMPACTなのか。 innodb_large_pref…

iOSでJSONから画面を生成する QuickDialog

iOS

QuickDialogという便利なライブラリがあります。 cocoapod経由で利用可能。 NSDictionary *json = @{ @"grouped": @YES, @"title": @"LOGIN", @"controllerName": @"LoginViewController", @"sections": @[ @{ @"title" : @"Information:", @"elements" : @[…

Basic認証でurlにuser,passを叩き込んだらnginxでエラーが出た件

Basic認証のurl埋め込み Basic認証はurlにuserとpassを埋め込んでも通過できるという話があります。 http://(user):(pass)@host.... しかしそれだとnginxにて以下のエラーが出ました。 no user/password was provided for basic authentication urlに埋め込…

読書:ドメイン駆動設計

エンティティ 同一性をもつオブジェクトを表現する 値オブジェクト 同一性ではなく物事の特徴を表現する。"どれ"ではなく"何"であるか モジュール 単一の概念のオブジェクトをまとめる この考えで考えるとRailsでmodelディレクトリ以下にphysical logicalと…

モデルについて

モデルを3パターンに エンティティ 値オブジェクト サービス 関連 モデル同士の関連を必要に応じて制限・重要度付けする ちょっとあまり読書が進まなかったので明日はガッツリと読みたい。

エリック・エヴァンスのドメイン駆動設計

「エリック・エヴァンスのドメイン駆動設計」を読んでいる。設計の本を読んだ事無いからかもしれないけど、めちゃくちゃ面白い。 ドメインモデル まず、ドメインモデルというのが何なのかよくわからなかったが、「ユーザの活動や関心」のすべてがドメインモ…

15時間寝てた

寝ていたので技術的な話はほとんどないのですが、 7 Patterns to Refactor Fat ActiveRecord Models を見たりしてました。 これも実際のソースをいじってみないと身に付かないんでしょうね。

服を買う

1年以上ぶりに服屋(ユニクロ)に入り、服を買った。ズボンを買ったのは数年ぶり。できれば今まで着ていた服でずっと行きたかったが破損してしまったので。

忘年会

忘年会があり、やや二日酔い気味です。 アーキテクチャについて、DCIという考え方の事を初めて知った。 DCIを考える DCIアーキテクチャ - Trygve Reenskaug and James O. Coplien システムをロール、アルゴリズム、オブジェクトという視点で考え、これらをど…