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

タブレットやモバイル向けにWebサイトをデザインするには

今ではずいぶん当たり前になってきているけれども。 実際に自分でやったことはなかったので、少し調べてみた。 必要な手順をメモしておく。 PC向けに、特に横長にデザインされたWebサイトは、スマートデバイスで表示したときにレイアウトが崩れてしまうこと…

認証について思うところ

昔から気になっていたことだが、Microsoftのアクチベーションのポリシーにはちょっと変わったところがあるように思う。それは、認証に失敗したときに、「アカウントのIDが違うのか、パスワードが違うのかを教えてくれる」ということである。今は亡きMicrosof…

さようならObjective-C

こんにちはSwiftAppleさんから新しいプログラミング言語が発表されたそうだ。 名前をSwiftというらしい。こいつはどうも汎用言語ではなく、iOSとOS X専用のプログラミング言語らしい。まあ、その点はObjective-Cにしたって似たようなものだ。プログラマとし…

std::unique_ptr のnullチェック

std::unique_ptr<MyObject> ptr(new MyObject()); if (nullptr != ptr.get()) { // ... } なんてことはやらなくてよくて、operator boolという便利なもんが用意されているらしく、 std::unique_ptr<MyObject> ptr(new MyObject()); if (ptr) { // ... } でよいそうだ。またひとつ</myobject></myobject>…

大魔法

まさか、あれは・・・間違いない、あの眼は、今夜徹夜で作業すると決めたプログラマの眼だ・・・!終電がなくなってしまっても一向に構わないという覚悟 システムの開発現場では、残業や徹夜は作業効率が悪いとし、禁止されている場合がある。特に、徹夜はマ…

Autolayoutされた後の座標を調べるのはviewDidLayoutSubviews内で

Xcode 5.1.1少し前に書いたStoryboardでAutolayoutに関する補足。Autolayoutが登場する以前のViewの初期座標設定というのは、UIViewController#viewDidLoadで行っていた。Autolayoutが主流になりつつある最近であっても、すべてのViewの座標をすべてAutolayo…

NSIntegerのフォーマット指定はlongで

iPhone, iPadアプリを32bit, 64bit両対応でコーディングするには、intやfloatの代わりに、NSInteger, CGFloatなどを使うことが多い。NSIntegerやCGFloatは、コンパイル時のプラットフォーム指定によって切り替えられる単なるtypedefなので、printf形式の書式…

参照外しは四則演算子よりも結合優先度が高い

たまたま見かけただけだが、ネット上で不可思議な問答に出くわした。http://detail.chiebukuro.yahoo.co.jp/qa/question_detail.php;_ylt=A7YWPRXdr3FTZxMA39vl_PN7?qid=11118107201これの回答者は全員間違っているように見えるのは私の気のせいだろうか。「…

既定のGoogleアカウントを変更するには

覚え書き複数のGoogleアカウントの切り替え方法。一度ログアウトしてから、既定にしたいアカウントでログインする。 すると、ログアウトするまで、そのアカウントが既定になる。

ストーリーボードでAutolayout

Xcode 5.1.1我々はもうAutolayoutから逃げることはできない。今からでもAutolayoutを使うことに慣れていくしかない。以下にAutolayoutを使った具体的なデザイン例と手順を掲載しておくので、Autolayoutにまだ不慣れだというひとに、チュートリアルとして参照…

そうだ、Rubyをやろう(9日目)

Ruby on Railsの開発環境を構築するOS X 10.9.2, Ruby 2.1.1, Ruby on Rails 4.0.4 【前提条件】 ・rbuenvの環境ができており、Ruby 2.1.1が動作すること(環境構築メモリンク) ・Ruby 2.1.1の環境にBundlerがインストールされていること(環境構築メモリン…

GW

多くの日本人が、観光ガイドや地図を片手に天気を気にする季節。いかにも、プログラマという職種のひとたちは、たとえ仕事が4連休だったとしても、その4日間、ただ休暇を楽しむだけではない。考えてみれば、床屋さんにはGWなんてないし、野球選手だって試合…

C++で迷走してみる

C++は色々なことができて面白い。 それゆえ、うまくプログラムを構築するのが難しいと思うこともある。 作っているうちに、どれが最適なコーディングなのかわからなくなってしまうのだ。今回はすごく単純なクラスを作りながら、同じ動きをするけど、どのやり…

コレクション内の要素を削除するには

コレクション内から特定の要素を削除するいくつかの手法を考えてみる。 (Objective-C, Java, C++ それぞれの場合。) 最も単純なのは、コレクションに対してインデックスを指定して削除するというものだ。i番目の要素を削除する。Objective-Cの場合1 NSMuta…

そうだ、Rubyをやろう(8日目)

Bundlerというものがあるらしい今回の記事は、Mac OS X上で、rbenvとBundlerを使って、システム全体への依存性を極力排除した上で、独立した環境で動作するRuby + SQLiteの簡単なアプリを作ってみる、という主旨です。rbenvのインストールは、前回の記事で実…

長すぎる名前空間に別名をつける

それができるということをつい先日に知った。 Javaにはパッケージというものがって、たとえば、パッケージ名を package jp.co.my_company_name.app_name; public class MyClass { // パッケージ内で一意な名前であれば名前衝突は起きない } のようにすること…

そうだ、Rubyをやろう(7日目)

OS X上にRubyの開発環境を構築するOS X 10.9.2, Ruby 2.1.1, rbenv※諸事情により、Homebrewを使わずに、主にMacPortsとgitを使って環境構築します。 rbenvというものがあるらしいhttps://www.ruby-lang.org/ja/installation/#rbenvなるほど。このrbenvという…

そうだ、Rubyをやろう(6日目)

Homebrewをインストールして、即刻アンインストールした件Mac上にRubyの環境構築に関するブログ記事などを見ると、どうもHomebrewを使っている人が多いようだ。というか、Rubyに限らずMacのパッケージ管理システムといえばHomebrew、みたいなこの風潮。どん…

そうだ、Rubyをやろう(5日目)

些細な問題、というより全く何の問題もないが、去年の4月からほぼ1年間、Rubyカテゴリの記事を1件もUPしていないことに気がついた。ええ・・・もちろん、ちゃんと使っていますよ。 いやだなあ、ただ日記につけていないだけですよ。 今日は、あれから1年間、…

Xcode 5.1.1 GM seed リリースノート翻訳

今日の昼頃、外人からメールが来た。 名前は「Apple Developer」というらしい。どうやら、Xcode 5.1.1 GM seedというものがプレリリースされたらしいので適当に翻訳してみる。ちなみに、リリースノートにはGM seedが何なのか記されていなかった。たぶん、た…

Vimの正規表現における先読み、後読み

Vim

・Vimで使える正規表現の一覧 http://archiva.jp/web/tool/vim_regexps.html・先読み、後読み http://vim-jp.org/vim-users-jp/2009/09/20/Hack-75.html特定のパターンが対象のパターンの後ろに来るという条件 → 先読み 特定のパターンが対象のパターンの前…

iPhoneの新機種の毎年リリースに意味はあるのか

2011年にJava SE 7がリリースされてから、今月Java SE 8がリリースされるまでの間、iPhoneは4s, 5, 5sとリリースされた。このように毎年、新しいiPhoneを発売することに意味があるのかと、ふと考えたが、よくよく考えてみれば物凄く便利になっている。今私が…

Java 8 リリース間近

ただの日記です。 Java 8のリリースが3月18日に予定されている。Java 8のリリースは、確か去年の8月に予定されていた思うが、いつの間にか延期されていたようだ。セキュリティフィックスとラムダ式の導入が原因でリリースが遅れているとのこと。JARの代わり…

CoCo壱カレーは本当に最強か

以下は食べログ的なただの日記です。 あくまで個人の感想であることと、私は料理の評論家ではないことと、本来このダイアリーではプログラミング技術に関する話題を扱うつもりだったのにネタがないので書いてみただけということを予めご了承ください。 とあ…

クッキークリッカーは私にクリックをさせたい

クッキークリッカーというゲームがある。http://orteil.dashnet.org/cookieclicker/ただ単にクッキーをクリックすることによって、たくさんのクッキー(ゲーム内のクッキーであり、実際に食べることができるわけではない)を集めるというだけの単純なゲームで…

ERMasterのカラム追加ダイアログのOKボタンが押せなくなった

OS X 10.9.2 Eclipse 3.7(Indigo) Service Release 2 ERMaster 1.0.0.v20131224-0142DBの設計にERMasterというEclipse Pluginを使っている。GUIでテーブル情報を作成すると、DDLやテーブル定義書などを自動生成してくれるという、よくあるツールだ。少々重い…

連想配列の扱い方2

前回「連想配列の扱い方1」に続いて、Objective-Cの連想配列のお話。前回は、NSDictionaryとjava.util.Mapの違いを説明した。 今回は主にNSMapTableというクラスについて解説する。NSMapTableは一言でいうと、チューニング可能なNSDictionaryといったイメー…

連想配列の扱い方1

Javaプログラマ向け、Objective-Cにおける連想配列の扱い。Objective-Cでjava.util.Mapのような連想配列を扱いたければ、多くの場合、NSDictionaryを使うのが手っ取り早いだろう。例えば、単純な文字列と整数値のマッピングを行ってみる。Java public class …

NSStringから1文字を取ったらunichar

Javaプログラマ向け、Objective-Cにおける文字列と1文字の扱い。Javaでは、char型は2バイトのUnicode 1文字を表す。 Objective-Cでは、unichar型が1文字に相当する。たとえば、Javaでは以下のように、String#charAt で1文字を取得できる。 public class Test…

配列を末尾からイテレーションするには

Javaプログラマ向け、Objective-Cにおける配列イテレーションの小技。配列(リスト)の末尾から先頭までを順にイテレーションするには。Java public class Test { public static void main(String[] args) { java.util.List<String> list = new java.util.ArrayList<</string>…