ぴよログ

↓に移転したのでこっちは更新されません、多分。

Tips

Rails5でnamespace以下のxxx_root_pathヘルパーが定義されなかったので回避した

Rails 5.0.0.1を使って開発中、Rails4のころのようにroutes.rbに書いたものが思ったように動かなかったのでメモしておきます。 以下のようなroutes.rbを書いて、ただのルート(/)とadmin配下のルート(/admin/)を定義します。 Rails.application.routes.dr…

Macでアプリが起動しないときはコンソール.appを見るとわかるかも

先日、仕事中ヘビーに使っている常駐アプリ達が立ち上がらない現象に遭遇した。とても困ったので一旦仕事の手を止めて復旧努めることにした。 といっても起動時に何かエラーがでるわけでもなんでもなくて、普段使っているランチャーAlfredから起動しようとし…

Yosemiteで日本語入力が遅い問題が解決

昨年末にMacbook Pro 15inchに買い替えてからOS X Yosemiteで日本語入力が遅い問題にずっと困っていたのを、さっきおこなった対策で直せた気がするのでメモしておく。 まず、以前試していて少し改善したのがこれ。 Excel2011で日本語入力のスピードが極端に…

久しぶりに使ったのでWindows8セットアップまとめ

1年半ぶりに仕事でWindowsマシンを使うことになったんだけど、以前使っていたころの情報がほとんど残っていなくてセットアップにすごく時間がかかった。セットアップにも時間はかかったけど、そもそも何を入れるべきか、何があったほうがいいのかなんてこと…

UICollectionViewControllerでの3列、4列のグリッド表示

UICollectionViewControllerを使ったグリッド表示がいい感じになるようパラメータを手探りで調整したのでその結果をメモしておこうと思う。 まずは結果から 3列 4列 パラメータ 3列 4列

iOS7時代のステータスバー非表示方法

このあたりの処理はやり方がコロコロ変わるようなので検索しても情報が古くて困る。2014/06/07時点、Xcode5.1.1、iOS7.1 SDK時点での情報を書いておく。 正解はステータスバーを表示したくないViewControllerでprefersStatusBarHiddenをオーバーライドする。…

Obj-Cで非同期処理の完了を待ちたいならブロック渡してコールバックだよね

Swiftは出たけどまだまだObjective-Cはオワコンってことにはならないと思うからObjective-Cの話を。 Objective-Cで非同期処理をしてその結果を受けてなんかしたい、ってときが結構あるんだけど待ち方がいまいちよくわからなかったことがあった。今思えば基本…

カテゴリを使って既存クラスにプロパティを追加する

Objective-Cではカテゴリを使って既存のクラスを拡張してメソッドを追加することができるが、メソッドだけでなくプロパティを追加することもできる。 例えばこんな風にUIViewのカテゴリを新規作成し、ヘッダーにプロパティを定義する。今回はNSStringにした…

RailsのDBマイグレーションでカラムを変更する

あとからデフォルト値を変えたり、Nullableをやめたりってときのやりかたを忘れがちなのでメモ。 class MigrationName < ActiveRecord::Migration def change change_column :models, :column_name, :integer, null:false, default:0 end end こんな感じです…

Dashのスニペットに入れておくと便利なやつ教えて

ドキュメントビューアのDashってなんでスニペット管理機能まで入ってるんでしょうね?どちらも便利なので酷使していますけどね。 今回はDashに登録してあるスニペットをいくつか紹介します。もし拡散されて他にも便利なスニペットを教えてもらえるようになっ…

iOS、Androidの空き容量をコードで調べる

iOS NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES); NSDictionary *dictionary = [[NSFileManager defaultManager] attributesOfFileSystemForPath:[paths lastObject] error:nil]; if (dictionary) { …

ipa書き出しをxcodebuildとxcrunで自動化する

昨日紹介したxctoolはxcodebuildというコマンドを便利にラップしてくれるのですが、ipa書き出しまでは行ってくれないらしい(伝聞)です。xcodebuildとxcrunを使えばコマンドラインから実行できるそうなのでやってみました。 というか、ほぼここに書いてある…

KIFを使ったスクリーンショットの自動撮影

昨日書いたの記事では、Objective-Cのコードを用いてスクリーンショットを撮影する方法を紹介しました。 iPhoneアプリの画面をObjective-Cでキャプチャ - PILOG 今日はそのTipsを用いて各画面のスクリーンショットを自動的に撮る方法を紹介します。 スクリー…

iPhoneアプリの画面をObjective-Cでキャプチャ

コードからでもスクリーンショット風の画像を得ることができます。ステータスバーはUIApplicationのwindow外なのか、画像の中には含まれません。 CGContextを新たに作成し、アプリケーション内のWindowsの内容をそのコンテキストに描画していくという感じで…

NSLogデバッグのときに便利なCGRect→NSStringの変換

NSLogデバッグの良し悪しは置いておくとして、CGRectとかNSDictionaryとかの値をちょっと確認するのにNSLog使ったりしますよね。CGRectの値を確認するときに一生懸命NSLog("%f", rect.size.width)みたいにやってたりマクロ書いたりしていたんですが、もっと…

Objective-Cでenumを定義する

使う機会が少なくていつも忘れてしまうし、どの書き方がいいのかよくわからなかったのでメモしとく! MMDrawerControllerのサンプル見ててみつけました。こんな感じで書けるみたい↓↓ typedef NS_ENUM(NSInteger, MMDrawerAnimationType){ MMDrawerAnimationT…

Mac版Evernoteにチェックボックス付きのノートを自動生成する

Evernoteのチェックボックスを使う 定期的に同じ形式のノートを作る こういった使い方をしている人はたくさんいると思います。前者は買い物リスト、後者は日記が定番でしょうか。 チェックボックスを使うだけならEvernoteのエディタでチェックボックスを置く…

入れ子になったNSDictionaryのデータを取り出す

何重にも入れ子になったNSDictionaryのデータをチマチマ取り出すのは超絶めんどくさいです。valueForKeyで取り出したNSDictionaryにさらにvalueForKeyして、さらに、、なんてやるともうやってられません。 幸いvalueForKeyPathというメソッドで少し簡単にで…

RubyMine:rbenvのRubyを切り替える

RubyMine入れてみました。少しずつ慣れていきたいです。 起動時はコマンドラインで使っていたrbenvのバージョンと異なるバージョンのRubyを使おうとして何やら怒られたました。明示的にバージョンを切り替える必要があるようです。 やりかた コマンドキー+,…

tmuxやscreenでも使えるpopd、pushdの強化版

ターミナルでのディレクトリ移動は毎回タイプして頑張ってたんですがいよいよそれも面倒に思えて来ました。最終的に便利なものに出会ったのでそれを紹介します。 pushd、popd まず、僕が知っていた方法である、シェルの組み込みのコマンドのpushd popdを考え…

Xcode5でのiOSアプリの起動イメージ設定方法と注意点

最近のiOS開発者の方にとっては当たり前の話かもしれませんが、起動画面の画像が変わっていない現象に出くわしたので残しておきます。 そもそもどうやって設定するのか? まず起動用画像用意します。今回は3.5インチ、4インチのRetina用を用意。特にXcodeプ…

mp4などをGIFに変換するシェルスクリプト改変版

キャプチャ動画をブログに貼るときはGIFに変換して貼るのですが、Photoshopを使ってGIF書き出しをやっていてすごく手間だなぁと思っていたときにちょうど見かけたid:shu223さんのこちらの記事。 シェルスクリプトでmp4からアニメーションgifを生成する - Ove…

YouTubeAPI超入門 使い始めから検索まで

YouTubeのAPIを使えるようになるまでがめちゃくちゃわかりづらかったので、メモに残しておかないとやばいと思いました。 今回はPublicなデータにアクセスするための手順について書きます。OAuthについては触れません。 キーを取得しよう まず、Google Develo…

RubyでGrowlに通知を出してみる

Growl、有料になっちゃったけど使ってます。guardで監視してrspec動かしたり、重いコマンドが終わったら通知させたり。 実行時間の長いコマンドの終了をGrowlやメール通知するRubyスクリプト - 株式会社CFlatの明後日スタイルのブログ とある用途で、いくつ…

DashとXcodeで一発リファレンス検索

先日AlfredとDashで一瞬でリファレンス検索する方法について書きました。 Alfred+Dashで秒速リファレンス検索 - PILOG 今度はXcodeから一発検索する方法を紹介します。 Dash Plugin for Xcode このプラグインを導入します。 omz/Dash-Plugin-for-Xcode イン…

RubyでRSSフィードをパースするgem、Feedzirra

RailsでRSSリーダーを作ったときに得たノウハウ第2弾、RSSフィードのパースのところを書いてみようと思います。 第1弾としてこんなん書きました。 個別ページのURLからRSSフィードURLを取得するfeedbag - PILOG サイトURLを渡すとHTMLを解析してRSSフィード…

期間を表すRangeオブジェクトが便利

Rubyで日付・日時を扱うときはDateTimeなどのクラスを使いますよね。これらのインスタンスは不等号で大小を比較することができるようになっています。 あるDateTimeインスタンスが指定した期間に含まれるか、というようなことを調べたいときはRubyのRangeク…

ARCを使ったiOS開発でのプロパティ名

こんな謎のビルドエラーに遭遇しました。 property's synthesized getter follows Cocoa naming convention for returning 'owned' objects どうやらnewから始まるプロパティ名は使用できないようです。エラーメッセージがわかりにくいので調べないとわかり…

Skitchのスクリーンショットのデフォルト名の変え方

Skitchでスクリーンショットを取るとウィンドウのタイトルかスクリーンショット+タイムスタンプという名前のノートが作られます。 このタイトルに日本語が入っているので気に食わなかったので設定で変えてやろうと思ったらそんな項目がありません。そこでい…

個別ページのURLからRSSフィードURLを取得するfeedbag

自分用のメモも兼ねて今は亡きRSSリーダーを作ったときのノウハウを少しずつときどき書いていこうと思います。 RSSリーダーによくある機能として現在開いているページのRSSフィードを購読するというフローがあるんですが、それと同じ機能を実現しようとした…