去年のクリスマスに PlayStation 4 を買って、ずっと遊んでる。 CoD:AW と The Last of Us Remastered、あと GTA5 を買って、特に CoD は半年くらい遊べそうな勢いだ。 個人的に、今回の CoD はシリーズ中一番の面白さだと思う。 ブーストジャンプで戦い方が…
事の始まり 研究でプログラムを書いていたときの話。 ローカル(Mac OS)では問題なく動作していたプログラムが、サーバ(Linux)に移した途端なぜか Segmentation Fault でクラッシュするということがあった。 セグフォは許可されていないメモリ領域にアクセス…
2014年も残すところあと僅かなので、雑にお別れ記事を書いてみる。 大学 今年は修士1年目ということもあって、前半は講義に研究に忙しい感じだった。 去年の夏(院試)から今年の春(進学)まではほぼノンストップで、目の前のことを終わらせることで精一杯だっ…
GitHub のニュースフィードと通知を Mac のメニューバーから確認できるアプリ PopHub をリリースしました。 GitHub を利用しているプロジェクトに参加していると、毎日たくさんの通知メールが届いて大変です。 通知してくれること自体はいいのですが、メール…
iOS 8 では、写真を削除しても30日以内であれば元に戻すことができる機能 (Recently Deleted アルバム) が追加されました。 この機能の影響なのか、iOS 8 beta では ALAssetsGroup の numberOfAssets が正しい数を返してくれないバグ(?)が発生しています。 i…
以前書いた 「ログイン時に起動」を実装する で AppleScript を使った方法について紹介しましたが、実はこの方法を使うと MacAppStore への申請で Reject されてしまうことがわかりました。 (コメントをくださった id:anton0825 さん、ありがとうございます)…
以前から Ruby をちゃんと勉強したいなと思っていて、何か良い教材はないかと探していたところ、Ruby Koans という面白いものを見つけたのでメモしておきます。 Ruby Koans Ruby Koans とは? Ruby Koans はテストケースの修正を通して Ruby の言語仕様が学…
NSString には upperCaseString と lowercaseString というメソッドがあり、文字列をそれぞれ大文字・小文字に変換することができます。 では文字列が大文字か小文字かを判別するにはどうすればいいのか気になり調べてみたところ、C の標準ライブラリ関数に …
2014/08/13 追記 AppleScriptを使った実装が MacAppStore の審査で Reject される件について書きました。 「ログイン時に起動」を実装する (2) Mac アプリを使っていると、よく「ログイン時に起動 (Launch at Login)」という設定項目を目にします。 とても便…
PocketQiita をリリースから2週間ほど経ちました。 たくさんの方に使って頂けているようでとても嬉しいです。 今回は頂いたフィードバックを参考に機能追加や修正を行ったバージョン 1.1.0 をリリースしました。 新機能 一度の更新で取得する投稿の数を設定…
Qiita の非公式クライアントアプリ『PocketQiita』をリリースしました。 Qiita では毎日たくさんの便利な情報が投稿されていて、読めば絶対に勉強になるものばかりなのですが、Qiita のフィードページがスマートフォンに最適化されていないのと、僕がフィー…
iOS用のイメージピッカー QBImagePickerController をアップデートしました。 QBImagePickerController は UIImagePickerController のクローンで、複数の写真を選択できるピッカーです。 iOS 7 がリリースされて見た目が古くなっていた上にレイアウトのズレ…
はてなブログおみくじ2014 新年明けましておめでとうございます。 今年はもっとブログ書こう…!
iOS用のポップアップメニュー QBPopupMenu をアップデートしました。 iOS 7 のコンテキストメニューに合わせた新しいスタイルを採用し、前回のバージョンに寄せられた要望を参考に、いくつか便利な機能を追加してあります。 新機能 Customizable Appearance …
を、作ってみました。 試作段階なのでじっくり動作確認したわけではありませんが、何度か自分で使ってみた感じでは問題ありませんでした。 使い方 NSCoding プロトコルのメソッドを自動生成してみます。 雑ですが例としてこんなコードを用意しました。 MyObj…
iOS 7 といえばあの淡くぼけた曇りガラス風のビュー。 さっそく自分のアプリに取り入れたいと思っている方もいるかと思います。 そこで、今回は曇りガラス風のビューを簡単に使えるようにしてくれるオープンソースのライブラリを紹介したいと思います。 iOS-…
iPhone 5s を購入した。 4sは白、5は黒だったので今回はシルバー。 ホームボタンのあのマークが消えたのがとても寂しい。 指紋認証が想像以上に便利で、わざわざパスワード入力しなくてもアプリを購入できたりする。 あらゆるものに生体認証を利用できる時代…
今年のはじめくらいに Lin という Xcode プラグインを公開しましたが、今回 Xcode 5 がリリースされたということで、一から作り直しました。 http://questbe.at/lin/ 前回は NSTableView をそのまま置いただけのこだわりのないデザインでしたが、今回は Xcod…
はてなサマーインターン2013に参加しました。 いろいろあって出遅れてしまいましたが、インターンに参加した感想を書き残しておこうと思います。 他の参加者はみな既に良い感想エントリを公開されています。こちらもどうぞ。 Perlの書けない女子大生がはてな…
第51回 Cocoa勉強会関西に参加しました。 いつもは京都で開催されるイベントなのですが、今回は大阪梅田のサイバーエージェントさんに会場を提供して頂けることになり、大阪での開催となりました。 そのこともあってか、参加予定者はなんと50人超。 しかし会…
様々なプログラミング言語のリファレンスを素早く検索できる Dash というアプリがあります。 特に iOS 開発には欠かせないツールで、僕は Dash-Plugin-for-Xcode というプラグインを使って Xcode からサクッと呼び出すのがお気に入りです。 Vim からも同じ感…
NSStatusItem は、その名の通りメニューバー (ステータスバー) の要素を表すクラスです。 Mac にはメニューバーに常駐するアプリがたくさんありますが、そのメニューバーに画像やビューを表示させたいときに NSStatusItem を使います。 // ステータスアイテ…
あらまし タイトルの通り、UITableViewDelegate の tableView:willDisplayCell:forRowAtIndexPath: と同じものを UICollectionViewDelegate にも実装したかったのです。 なぜそう思ったのかはよく覚えていません。 実装 GitHubに置いてあります: questbeat/U…
UICollectionView ではあらかじめセルのクラスを登録しておくことで、再利用可能なセルがない場合に新しく作成したものを返してくれるようになっています。 そのため dequeueReusableCellWithReuseIdentifier: が nil を返しません。 - (UICollectionViewCel…
Mac OS X 10.8.4 がリリースされましたが、これを適用すると iOS シミュレータを使ったアプリの実行で問題が発生する可能性があります。 所持している Mac 2台でこの現象を確認しました。 問題の現象 iOS シミュレータでアプリを実行すると main でクラッシ…
第50回 Cocoa勉強会関西に行ってきた。 今回は(も)素晴らしい発表ばかりで、まさに第50回という区切りに相応しい回だったと思う。 以下は簡単な要約。途中からの参加だったので、はじめの2つの発表については書いていない。 BLE モジュール基板について (ide…
FlatUIKit は Flat UI フレームワークを元にデザインされた iOS 向けのコンポーネントライブラリ。 フラットなデザインのアプリを簡単に作ることができる。 Button、Switch、Segmented Control などの基本的なコンポーネントはすべて用意されている。 さらに…
【5/30 追記】 どうやら間違いだったようです。 @questbeat ごめん、ちゃんと確かめてみたらDM読めるトークンが取れるのは1回WebのOAuthでDM権限を取得したアカウントだけだった。なので少なくとも1回は明示的にWebでOAuthをする必要がある。 questbeat.ha…
今日 Qiitaで見つけた投稿がためになったのでメモ。 Core Dataにrailsのmodelみたいに自分で定義したmethodを作成する http://qiita.com/items/d8d66ace518b25635e4e Xcodeでは Editor > Create NSManagedObject Subclass... を選択すると .xcdatamodeld 形…