2014-01-01から1年間の記事一覧

Shift + Spaceが効かないのは直ったそうだ

Vim

OS X 10.10, MacVim 7.4 KaoriYa 20141204https://github.com/splhack/macvim/releases/tag/20141204 10.10 YosemiteでSHIFT+SPACEを効かせるパッチ https://gist.github.com/yamaya/dc21bb9a2c299c31bab8 を取り込みました でかしたぞ! よくやった! 最高…

少量の数値データの集計

Vim

小ネタ、小技ちょっとした3つ、4つの数値のSUMを取りたいときに、わざわざ表計算ソフトを起動するのは面倒臭い。電卓を使っても良いが、デスクトップをスワイプして電卓アプリにフォーカスを当てるのが面倒臭い。できることなら、作業中にはマウスにあまり触…

markdown to ePub

OS X 10.10, pandoc 1.13.1前にUPしたePubでソースコードのシンタックスハイライトを行う記事は、あれはあれでお手軽なやり方として悪くないとは思うのだが、SigilでePubドキュメントを作成するというのは、必ずしも効率の良い手段ではない。 Sigilがもう少…

ePubでシンタックスハイライト

OS X 10.10, Sigil 0.8.0, google-code-prettify 4-Mar-2013, Murasaki 2 1.0.2 プログラマーの仕事の9割はプログラムを記述することである。と言いたいところではあるが、現実はそうではない。何割くらいの負担かはともかく、かなりの割合で、プログラマー…

MacVimでShift+Spaceが全く反応しない

Vim

OS X 10.10, MacVim 7.4(KaoriYa 20140805)OSをYosemiteにアップグレードしてからMacVimでShift+Spaceが反応しなくなった。特別何かをしたいわけではなく、単純にShift+Spaceが単発Spaceと同じように空白として扱われてくれれば良いのだが、入力しても何も…

iPhone 6を購入した

Plusではなく、4.7インチの方。4sからの買い替えだったので、世界がまるで違う。 劇的と言っても良いくらいだ。通信も演算も、相当速い。 ゲームアプリなどをやると、グラフィックス性能50%増しは嘘じゃないなと実感できる。また、積んでいるメモリも、やは…

iTunes Connectバージョンアップ

数日前、iOSアプリを申請する際に利用するiTunes ConnectのWeb画面が大幅に更新された。そいつのバグなのか、Xcode6.0との整合性の関係なのか、よくわからないが、アプリのバイナリをアップロードした後、警告が出るようになっていた。警告(黄色文字) Buil…

iPhone 6, iOS 8 リリースへ

9月19日、iPhone 6が発売されるそうだ。ここ数年、毎年秋になると、新しいiPhone機種とiOSの新バージョンがリリースされている。iPhone 6は、画面サイズが4.7インチと大きくなり、更にiPhone 6 Plusという5.5インチ画面の機種も同時に発売されるらしい。開発…

ViewController#viewDidLoad内でアニメーションを開始してはいけない

このミス定期的にやっちゃうよね!いや、それはただの物忘れ・・・私の脳が衰えてきているだけか・・・ ビューのアニメーションを開始するのは、ViewControllerのviewDidAppear以降でなければならない。 以下は、ラベルをゆっくりと点滅させるだけの単純な画…

クラス内から自身のクラスメソッドを呼び出すときの書き方について

小ネタ。クラス内部のクラスメソッドを呼び出すときに、よく以下のような書き方を見る。 @interface MyObject : NSObject @end @implementation MyObject +(void)func1 { NSLog(@"hello"); } +(void)func2 { [MyObject func1]; } -(void)method1 { [MyObject…

Enumerations and Structures

Xcode 6.0 BetaSwift学習中。The Swift Programming Language.epubのA Swift Tour内のEnumerations and Structuresの項を読んだ。 列挙型の定義 以下の構文で列挙型を定義する。enum 列挙型名 : 生値の型 { case 列挙値1 = 値, case 列挙値2 = 値, case 列挙…

Objects and Classes

Xcode 6.0 BetaSwift学習中。The Swift Programming Language.epubのA Swift Tour内のObjects and Classesの項を読んだ。 クラスの定義と使用方法 クラスの定義には、キーワード class に続けてクラス名を記述し、クラス定義部を括弧 { } で括る。単純な(Ob…

Functions and Closures

Xcode 6.0 BetaSwift学習中。The Swift Programming Language.epubのA Swift Tour内のFunctions and Closuresの項を読んだ。 関数の定義方法 キーワード func の後ろにスペースで区切って関数名をつける。括弧 ( ) 内に引数のリストを記述する*1。関数の戻り…

AutolayoutされたViewをアニメーション移動させるには

Xcode 5.1今、以下のような単純な画面を作っていたとする。ご覧のように、画面上にはラベルが1つとボタンが1つ存在するだけである。Helloラベルには、以下のように4つのAutolayout制約があるものとする。・Width(固定) ・Height(固定) ・Vertical Space…

Control Flow

Xcode 6.0 BetaSwift学習中。The Swift Programming Language.epubのA Swift Tour内のControl Flowの項を読んだ。【条件文】 ・if ・switch【繰り返し】 ・for-in ・for ・while ・do-while 条件式を含む括弧 ( ) は省略可能。 実行コードを含む括弧 {} は省…

PCからiOSデバイスに画像を送るには

もちろん自分宛のメールに添付すればよいだけだ。簡単。いや、それはまあ、冗談だとして、iPhotoとかいう謎のソフトの使い道がよくわからないので、iTunesで「ピクチャ」フォルダと同期するようにしている。たぶんこれが一番簡単。上のSSの「ピクチャ」にな…

Simple Values

Xcode 6.0 BetaSwift学習中。The Swift Programming Language.epubのA Swift Tourの導入からSimple Valuesの項まで読んだ。Hello Worldプログラムは以下のように1行で記述できる。 println("Hello, world") 入出力関数や文字列操作などのAPIを別途importする…

Youtubeのリンクを短く記述するには

http://y2u.be/video_idとする。小技。【参考】 http://y2u.be

About Swift

さてさて、Swiftのお勉強の時間だ。今Swiftを学び始めるのに最も適した教材というのは、公式から配布されている The Swift Programming Language であると思う。まだ流し読みしかしてないので、わからんが。そうであると信じたい。今日はそのドキュメントの…

部屋とObjective-Cと私

PCがたくさん動いてる部屋は暑いよ〜;;昔話をするにはまだ早い。勢い余ってObjective-Cカテゴリをつけたことを早くも後悔し始めている。だが!それでも! 特にこれといった話でもないが、なんとなく、Objective-Cとの付き合いを振り返ってみる。私はそれほ…

SwiftコードとC関数との間でのデータ変換について

Xcode 6.0 Beta前回は、Swiftコード内で自作C関数を呼び出すやり方を調べて、テストコードを掲載した。うまく動くことは動いたが、あまり詳細な部分については解説できなかった。今回は、ハマリポイントというか、主に型変換について、そのとき苦労したこと…

Swiftコード内から自作C関数を利用するには

Xcode 6.0 Beta前回は、Swiftコードから、「C++をラップしたObjective-Cクラス」を利用する方法を調査した。結果、うまくいった。今回は引き続き、SwiftからCの関数を呼び出すやり方を調べてみた。Cは、C++と比べると、Swiftとの親和性が高い。ブリッジング…

Swiftプロジェクト内でC++を使うには

はてな「今週のお題はテストです」うるせえ! 私は書きたいことを書く。SwiftはObjective-Cとの互換性があると聞いた。であれば、もちろんC, C++も使えるはず、と思っていた。実際に、公式ドキュメントのAbout Swiftの項にも、 Swift is a new programming l…

新しい世界

Xcode 6.0のBeta版をダウンロードしてみた。インストール手順は、DMGをダウンロードして、ダブルクリックし、.appをアプリケーションフォルダにドラッグ&ドロップするだけ。もちろん、既存の製品版 Xcode 5.1はそのままとして、別途インストールすることが…

経過時間計測

あかん。高精度時間計測のやり方を何度やっても忘れてしまう。以前こんなメモを残したのに、コード例を掲載するのを忘れたために、即活用するという点ではまるで役に立たなかった。今度こそ。俺は保存するぞ・・・保存をよぉ・・・ 【活用機会】 ミリ秒から…

Objective-CのEnum

標準C++03ではenumの構文が拡張され、標準C++11では更に、scoped enumerationがサポートされたそうだ。C++11のEnum 参考: http://d.hatena.ne.jp/spinor/20110918/1316321563Cのenumとの主な違いは、・enum型の前方宣言が可能 ・名前空間を汚さずに、identi…

コントロールに登録したイベントハンドラをすべて解除するには

Xcode 5.1 [someControl removeTarget:nil action:NULL forControlEvents:UIControlEventAllEvents]; 【参考】 http://stackoverflow.com/questions/3340825/uibutton-remove-all-target-actionsなるほどな〜 この発想はなかった。APIリファレンスをよく見れ…

ブログ記事を書くのは楽しい

特に、C, C++, Rubyなど、普段自分があまり使いこんでいない言語の記事を書くときが楽しい。Java, PHP, HTML, JavaScriptなど、主にWebサイトを構築するために使用している言語の記事を書くのは、それほど楽しくはない。そういえば、PHPの記事なんて、たぶん…

WebページからiOSアプリへのリンク

iOS 7.1HTML内で、とあるリンクなどがクリックされたときに、特定のiPhone, iPadアプリのDL画面に飛びたいとする。JavaScriptで、window.open(myAppUrl);とやった場合。 ・PCでは、ストアのWebページが開く(ブラウザ内で) ・iPadでは、AppStore画面が開く …

可変長引数を取るメソッドを作成するには

Objective-Cで可変長引数を処理するには、Cと同じようにva_arg系の関数を使用する。Objective-Cでは、引数の数を受け取るよりも、可変長引数をnil終端で受け取る方が一般的である。可変長引数がnil終端であることを明示するには、メソッドの定義に、NS_REQUI…