サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
dice-t.hatenadiary.org
macでコンパイルするためには、XcodeToolsというのが必要です。デフォルトでは入って無くて、付属のインストールCDから追加インストールするか、Webからダウンロードすることも出来ます。 どのみにUpdateするだろうから、Webから最新版を取ってきた方がベター。 参考: http://bathyscaphe.sourceforge.jp/cgi-bin/wiki.cgi?p=Xcode+Tools+%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB 通常はこの dmg ファイルをダブルクリックするとインストールできるのですが*1、コマンドラインでやります。 まずは、ディスクイメージのマウント。hdiutil コマンドを使用。 # hdiutil mount xcode_XXXXXX.dmg マウントできたか df で確認。マウントされた中に mpk
Objective-C を書いていてたまに気になるのが、タイトルの件。 定数を使用するときに、 define を使うべきか、 const を使うか。 Objective-C でどうするのがよいか、というのはあまり見つけられなかったが、C++ ではおおよそ、const を推奨しているようです。 理由を見ると、Objective-C でも同様に const を使用した方がよさそうですね。 主な理由は以下の4点 型がはっきりする 名前空間の問題 変更不可にするため 間違い防止 型がはっきりする define だと、型が無いため、なんにでも代入可能になってしまう。const で明示した方が安全。 名前空間の問題 const では スコープが決められるため重複の心配が少ない。また、内部仕様変数のアクセス制限もかけられる。defineではグローバルスコープになってしまうため影響範囲が大きくなる心配があ
iOSフレームワークには、NSDictionary といういわゆるハッシュマップのようなキー/バリューストアとして使えるものがある。これを使っていて気になったことをメモ。 予め決まったキーを使う場合、普通それを定数としておきたいと思う。定数を定義するのには define ではなく const を使う、というのは以前の通り。しかし、以下のような書き方では警告がでる。 const NSString *key = @"someone"; ・・・ id *value = [dictionary valueForKey:key] (ここで警告:warning: passing argument 1 of 'valueForKey:' discards qualifiers from pointer target type) これは、const を書く順番に問題がある。 const NSString
風邪で3日も寝込んでしまったので、JavaScriptのテストツールについて調べてみた。その中で、特に Jasmine というのが気になった。使ってみるとなかなかよさげ。 Jasmineは、JavaScriptでBDD(behavior-driven development)を行うフレームワークで、RubyのRSpecのように振る舞いを定義する。Sencha Touchのテストにも使われているらしい。ちなみに、RSpecについては スはスペックのス が詳しい。 なぜこれが良いかは、公式ドキュメントにずばりある。 Background · jasmine/jasmine Wiki · GitHub There are some great JavaScript testing frameworks out there already, so why did we write another?
!注意! この内容はあまり正しくありません。Objective-Cの循環参照についてとして、書き直しました。こちらを参照ください。 Objective-C を書いていてたまに出会うのが、循環参照の問題。 error: expected specifier-qualifier-list before 'MyClass' 循環参照していると、こののように定義が無い、という旨のエラーが出る。 ClassA と ClassB という二つのクラスがあるとする。それぞれ相互にヘッダの中で import すると、この循環参照が発生する。 [ClassA.h] #import "ClassB.h" @interface ClassA { ClassB variableB; } @end [ClassB.h] #import "ClassA.h" @interface ClassB { ClassA var
iphone開発ではガベージコレクションは使えないため、alloc/releaseを使って自分でメモリ管理を行う必要があるのはどの入門書にもあります。また、それを便利にするための NSAutoreleasePool というのがあり、それもよく使います。しかし、この NSAutoreleasePool はどこまで面倒を見てくれるイマイチよく分からなかったため調べてみることにしました。 はじめに NSAutoreleasePoolのおさらい。NSAutoreleasePoolのインスタンスを alloc 、init で作成して使いますが、iphoneの場合、プールが最初に作られるので明示的にプールを生成しなくても使えます。プールにオブジェクトを登録するには NSObjectの autorelease メソッドを使います。 NSAutoreleasePool *pool = [[NSAutore
FlexでXMLを扱うのに、XML、XMLList、XMLListCollectionと、3つほどタイプがあって、いまいちこの違いが理解できていない。今回のその整理。 まずそのまえに、ArrayとArrayCollectionから。Arrayとは単純な配列だが、これもArrayCollectionというものがある。その違いは、オンラインマニュアルには以下のようにある。 ArrayCollection クラスは,ICollectionView または IList インタフェースのメソッドとプロパティを使用して,アクセスおよび操作できるコレクションとして配列を公開するラッパークラスです。 要するに,Arrayをデータ元とし高度なメソッドが用意されているクラスらしい。 それによると、XMLList と XMLListCollection も同様の関係なことが推測できる。じゃあ、XML と XML
GUIでやると簡単。 システム環境設定→共有 と選び、"リモートログイン"にチェックをつける。 以上。 コマンドで、これをしようとすると mac の起動プロセスを知らないと出来ない。詳細はこちら。 http://www.itmedia.co.jp/enterprise/articles/0704/26/news009.html 設定方法は、多分 "/System/Library/LaunchDaemons/ssh.plist" の中の以下を消すだけでいいんじゃないかな。 Disabled セキュアな設定にするため、パスワード認証、チャレンジ・レスポンス認証は禁止し、公開鍵認証だけにする。Linuxについてですが mac も同じ。また、接続ユーザも限定した方がよりセキュアでしょう。キーの作成等については、こちら。 http://www.atmarkit.co.jp/flinux/rensai
Mac OS X 10.4 には標準で SQLite がインストールされているのだが、そのままでは問題あるらしい。 http://wiki.rubyonrails.org/rails/pages/HowtoUseSQLite ここの最後の方、Q: On Mac OS X (10.4/Tiger), I’m getting an error during migrations: に書いてある。ソースからインストールしろとあるが、MacPort でSQLite3をインストールし、sqlite3-rubyを再インストールしてもうまくいった。 SQLiteのインストール # port install sqlite3 sqlite3-rubyの再インストール # gem uninstall sqlite3-ruby # gem install sqlite3-ruby
Hibernate Annotations のリファレンスガイドの日本語訳がなかったので、ざっくり訳してみる。間違い等指摘いただけるとありがたいです。 原文: http://www.hibernate.org/hib_docs/annotations/reference/en/html_single/ Table of Contents Preface 序文 Chapter 1. Setting up an annotations project Chapter 2. Entity Beans 2.1. Intro 2.2. Mapping with EJB3/JPA Annotations 2.2.1. Declaring an entity bean 2.2.2. Mapping simple properties 2.2.2.2. Declaring column attribute
Railsでは追加機能や、基本機能の拡張などを plugin という方法で行います。pluginは様々なところで公開していて、プロジェクトごとにインストールして使用します。pluginの管理には基本、script/plugin を使います。このコマンドでSVNを使ってネットから必要なプラグインを探したり、ダウンロードしてインストールしたりします。 簡単な使い方 利用可能なプラグインの一覧を表示。 $ ruby script/plugin list account_location http://dev.rubyonrails.com/svn/rails/plugins/account_location/ acts_as_list http://dev.rubyonrails.com/svn/rails/plugins/acts_as_list/ acts_as_nested_set htt
実際の作業の前に、macでどういう風にユーザアカウントが管理されているのか整理しておきます。これまでの OS X 10.4(Tiger)までは、NetInfo というディレクトリサービスで管理されています。NetInfo とは、NeXT STEP で用いられてきた NIS (YP) に代わるディレクトリサービスで、複数のデータベースを階層的に配置することが可能。だそうです。詳しい説明は下記サイトを参照。 参考: http://macwiki.sourceforge.jp/wiki/index.php/NetInfo http://www.math.nagoya-u.ac.jp/~naito/MacOSX/netinfo.html この仕組みは OS X 10.5(Leopard)で大きく変わったそうです。NetInfoはやはり特殊な使い方のためあちこちで不満が多く、遂に入れ替えとなった模様
「RailsによるアジャイルWebアプリケーション開発」第2版にそってrails2.0でやってみる。6章のチュートリアルから。 ちなみに、rails2.0の参考したのは、http://api.rubyonrails.org/ 6.1 イテレーション A1:動くものを作る railsアプリケーションの作成 問題無し。 データベースの設定 ここから早速違う。rails2.0からはMySQLではなく、SQLiteが標準となったので、こちらを使うようにする。といっても、設定は何もいらない。むしろ本に書いているデータベースの作成は不要。 アプリケーションの設定 ここで示しているconfig/database.ymlが、以下のようになる。 # rails2.0対応版 development: adapter: sqlite3 database: db/development.sqlite3 timeo
railsのバージョンを2.0にして、sqliteを使うようにしたので、初めから scaffoldで作ってみることにした。が、色々と変更されていて非常にはまった。。。 参考:http://d.hatena.ne.jp/idesaku/20071211/1197386955 これまでだと、データベースにテーブルを作って(migrateから作ったりも含む)、その内容をもとにmodelを生成し、scaffoldを作っていた。しかし、2.0からはいきなり scaffold から作成するように変更された。scaffoldを作成するときにオプションでモデルのフィールドを指定する。従来通りの方法でやろうとすると、scaffoldが作成できなくて泣くはめになる(自分) 以下 2.0での構築方法。 まず、いきなりscaffoldを作成。nameとageという属性をもったMemberモデルを使用。 $ rub
このページを最初にブックマークしてみませんか?
『dice-t.hatenadiary.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く