[Python]StackTrace(スタックトレース)を出力
- November 2nd, 2009
Archive for the ‘ Develop ’ Category
iPhoneのアプリを作るのにも使われているObjective-C。
とりあえずどんなのか試したい!ということでLinuxで使ってみた。
$ apt-cache search objective
gcc-objc – GNU コンパイラ集 – Objective C サポート
libobjc – GNU コンパイラ集 – Objective C ランタイムライブラリ
gcc295-objc – GNU コンパイラ集 – Objective C サポート
gcc4-objc – GNU コンパイラ集 – Objective C サポート
libPropList – GNUstep/OPENSTEP のプログラム互換性を保つライブラリ
ocaml – Objective Caml コンパイラとプログラミング環境
ocaml-labltk – Objective Caml の Tk バインディング
ocaml-mode – Objective Caml の Emacs mode
facile – Functional Constraint Library implemented in Objective Caml
$ apt-get install gcc-objc
パッケージリストを読みこんでいます… 完了
依存情報ツリーを作成しています… 完了
以下の追加パッケージがインストールされます:
libobjc
以下のパッケージが新たにインストールされます:
gcc-objc libobjc
アップグレード: 0 個, 新規インストール: 2 個, 削除: 0 個, 保留: 0 個
1578kB のアーカイブを取得する必要があります。
展開後に 3415kB のディスク容量が追加消費されます。
続行しますか? [Y/n]y
取得:1 http://updates.vinelinux.org 4.0/i386/main libobjc 3.3.6-0vl7 [60.8kB]
取得:2 http://updates.vinelinux.org 4.0/i386/main gcc-objc 3.3.6-0vl7 [1517kB]
1578kB を 3s 秒で取得しました (469kB/s)
変更を適用しています…
準備中… ########################################### [100%]
1:libobjc ########################################### [ 50%]
2:gcc-objc ########################################### [100%]
完了
$ vim hello-objc.m
(以下記述)
#import <stdio.h>
#import <objc/Object.h>
@interface Test : Object
- (void)method;
@end
@implementation Test
- (void)method {
printf("Kitty on your lapn");
}
@end
int main() {
id obj = [Test alloc];
[obj method];
return 0;
}
※以下からソースを引用させて頂きました
http://wisdom.sakura.ne.jp/programming/objc/
$ gcc hello-objc.m -lobjc
$ ./a.out
Kitty on yourl lap
Popularity: 11% [?]
ちょっと調べたので書いておく。
各携帯キャリアごとのIPアドレス帯域。(5月16日現在)
変更される可能性があるので、参考URLも。
DoCoMo
iモード
210.153.84.0/24
210.136.161.0/24
210.153.86.0/24
フルブラウザ
210.153.87.0/24
参考URL:
http://www.nttdocomo.co.jp/service/imode/make/content/ip/
SoftBank
123.108.236.0/24
123.108.237.0/27
202.179.204.0/24
202.253.96.224/27
210.146.7.192/26
210.146.60.192/26
210.151.9.128/26
210.169.130.112/28
210.175.1.128/25
210.228.189.0/24
211.8.159.128/25
参考URL:
http://developers.softbankmobile.co.jp/dp/tech_svc/web/ip.php
AU
210.169.40.0/24
210.196.3.192/26
210.196.5.192/26
210.230.128.0/24
210.230.141.192/26
210.234.105.32/29
210.234.108.64/26
210.251.1.192/26
210.251.2.0/27
211.5.1.0/24
211.5.2.128/25
211.5.7.0/24
218.222.1.0/24
61.117.0.0/24
61.117.1.0/24
61.117.2.0/26
61.202.3.0/24
219.108.158.0/26
219.125.148.0/24
222.5.63.0/24
222.7.56.0/24
222.5.62.128/25
222.7.57.0/24
59.135.38.128/25
219.108.157.0/25
219.125.151.128/25
219.125.145.0/25
121.111.231.0/25
121.111.231.160/27
121.111.227.0/25
参考URL:
http://www.au.kddi.com/ezfactory/tec/spec/ezsava_ip.html
Popularity: 7% [?]
前回に続き、今度はチュートリアルを作成してみる。
まず、Railsを試すように適当にアカウントを作った。
| # useradd test # passwd test (パスワード入力) |
ついでに、MySQLのアカウントも作っておく。
| # mysql -u root -p (パスワード入力) # GRANT ALL PRIVILEGES ON *.* TO test@localhost IDENTIFIED BY 'password' WITH GRANT OPTION |
testのユーザディレクトリに入って早速作ってみる。
参考にしたのは、以下のチュートリアル。
http://www.onlamp.com/pub/a/onlamp/
2006/12/14/revisiting-ruby-on-rails-revisited.html
(と思ったが、途中でバージョンが違うのか出来なかったので予定変更)
よし、さっそくということで。
| # su – test (パスワード) |
まずは、プロジェクトを作らないといけないらしい。
ということで、以下のコマンドを。
今回、データベースにMySQLを使うので"-d mysql"をつけた。
| # rails -d mysql cookbook |
なんかわらわらといっぱい作成出来たらしい。
ということで、まずはhttpd.confでバーチャルドメインの設定をしてあげる。
| # vim /etc/apache2/conf/httpd.configure (以下を追加) <VirtualHost *:80> ServerAdmin test@xxxx.xxx DocumentRoot /home/test/cookbook/public ServerName test.xxxx.xxx CustomLog logs/test_access_log combined ErrorLog logs/test_error_log <Directory /home/test/cookbook/public> AllowOverride All </Directory> </VirtualHost> |
ということで、次はRailsのデータベースの設定を変更してやる。
| # vim cookbook/config/database.yml (サンプル) development: adapter: mysql encoding: utf8 database: cookbook_development username: dev password: passwd socket: /var/lib/mysql/mysql.sock # Warning: The database defined as 'test' will be erased and production: |
次にデータベースに、先ほど設定した内容を反映させる。
具体的には、MySQL上にデータベースが作成される。
| # cd cookbook # rake db:create:all |
次に、Cookbookのテーブル定義とスクリプトを生成する。
| # ruby script/generate scaffold Cookbook title:string body:text due:datetime |
解説
Cookbook テーブル名
title:string以下 カラム定義
| # rake db:migrate |
以上!!
たった、ちょっとのRailsのコマンドだけでCookbookというテーブルと
それの管理画面が出来てしまった。便利すぎる。
ということで、以下のアドレスにアクセスして確認。
http://test.xxxx.xxx/cookbooks/
と、インターナルエラーがでてしまった。
どうやら、原因は、参照先に該当するテーブルがないらしい。
先ほどのデータベースの設定で、上記のようにアクセスすると
プロダクション側のデータベースを見にいっている。
ということで、面倒だったので以下の様に変更してしまった。
| # vim config/database.yml (以下を変更) production: adapter: mysql encoding: utf8 database: cookbook_development username: dev password: passwd socket: /var/lib/mysql/mysql.soc |
で再度アクセス。
素晴らしい。
Popularity: 4% [?]
今まで、Rubyっていうものは聴いたことはあったけど、一度も触ったことがなかった。
なんとなく、Ruby on Railsには興味はあったし、どんなものかも知っていたけど、
実行環境を作るのが面倒くさそうだった。
が、なんかmod_railsというのが出たらしい。
結構簡単に、環境が作れるらしい。
ということで、早速インストールしてみることにした。
| 前提: 以下が既にインストール済みとする。 Apache2 Ruby 1.8以降? |
まず、どうやらRuby関係の何かを入れるためにgemsというのが必要らしい。
ということで、インストール。
aptであったので、さっくりとaptから。
| # apt-get install rubygems |
あとで、知ったことだがここでとりあえずgemsをアップデートしておいた
ほうがいいらしい。(たぶん)
(自分の場合は失敗して、再インストールすることになってしまった)
| # gem update –system |
でさっそく、Passenger(mod_rails)をインストールしようとしたら・・・。
| # gem install passenger Bulk updating Gem source index for: http://gems.rubyforge.org ERROR: While executing gem … (Gem::GemNotFoundException) Could not find passenger (> 0) in any repository |
なんか怒られてしまった。
どうやら、railsを先にいれないといけないらしい。
Railsってつまりは、Ruby on RailsをやるためのFrameworkかな?
ということで、さっくりとインストール。
これも、gemsから出きるらしい。
| # gem install -v=2.0.2 rails -y Bulk updating Gem source index for: http://gems.rubyforge.org Successfully installed rails-2.0.2 Successfully installed rake-0.8.1 Successfully installed activesupport-2.0.2 Successfully installed activerecord-2.0.2 Successfully installed actionpack-2.0.2 Successfully installed actionmailer-2.0.2 Successfully installed activeresource-2.0.2 Installing ri documentation for rake-0.8.1… Installing ri documentation for activesupport-2.0.2… Installing ri documentation for activerecord-2.0.2… Installing ri documentation for actionpack-2.0.2… Installing ri documentation for actionmailer-2.0.2… Installing ri documentation for activeresource-2.0.2… Installing RDoc documentation for rake-0.8.1… Installing RDoc documentation for activesupport-2.0.2… Installing RDoc documentation for activerecord-2.0.2… Installing RDoc documentation for actionpack-2.0.2… Installing RDoc documentation for actionmailer-2.0.2… Installing RDoc documentation for activeresource-2.0.2… |
気を取り直して、Passenger(mod_rails)のインストール。
これもやっぱり、先ほどと一緒でgemsから。
| # gem install passenger ………… complete Install required dependency fastthread? [Yn] y Select which gem to install for your platform (i386-linux) 1. fastthread 1.0.1 (mswin32) 2. fastthread 1.0.1 (ruby) 3. fastthread 1.0.1 (i386-mswin32) 4. Skip this gem 5. Cancel installation > 2 Building native extensions. This could take a while… Building native extensions. This could take a while… Successfully installed passenger-1.0.5 Successfully installed fastthread-1.0.1 Installing ri documentation for passenger-1.0.5… Installing ri documentation for fastthread-1.0.1… No definition for dummy_dump No definition for dummy_dump No definition for rb_queue_marshal_load No definition for rb_queue_marshal_dump No definition for dummy_dump No definition for dummy_dump No definition for rb_queue_marshal_load No definition for rb_queue_marshal_dump |
で仕上げに、以下をやらないといけないらしい。
| # passenger-install-apache2-module —- passenger-install-apache2-module Welcome to the Passenger Apache 2 module installer, v1.0.5. This installer will guide you through the entire installation process. It Here's what you can expect from the installation process: 1. The Apache 2 module will be installed for you. Don't worry if anything goes wrong. This installer will advise you on how to Press Enter to continue, or Ctrl-C to abort. * GNU C++ compiler… found at /usr/bin/g++ ——————————————– rm -r pkg ### In ext/boost/src: ### In test: ### In benchmark: ### In ext/boost/src: ### In ext/apache2: ### In ext/apache2: ### In ext/apache2: ### In ext/apache2: ### In ext/apache2: ### In ext/apache2: ### In ext/passenger: ### In ext/passenger: ——————————————– Please edit your Apache configuration file, and add these lines: LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-1.0.5/ext/apache2/mod_passenger.so After you restart Apache, you are ready to deploy any number of Ruby on Rails Press ENTER to continue. ——————————————– Suppose you have a Ruby on Rails application in /somewhere. Add a virtual host <VirtualHost *:80> And that's it! You may also want to check the Users Guide for security and /var/lib/gems/1.8/gems/passenger-1.0.5/doc/Users guide.html Enjoy Passenger, a product of Phusion (www.phusion.nl) |
すばらしい。
エラーもなく案外あっさりとインストールできてしまった。
しかも、最後に、httpd.confの設定例まで表示された。
httpd.confの設定は後回しにして。
ついでに、RubyとMySQLを連携させるためのモジュールらしきものもいれておく。
(これが必要なのかは確認していない・・・)
| # apt-get install MySQL-ruby |
これできっと完璧。
ということで、httpd.confの編集。
| # vim /etc/apache2/conf/httpd.conf (以下を追加) LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-1.0.5/ext/apache2/mod_passenger.so RailsSpawnServer /var/lib/gems/1.8/gems/passenger-1.0.5/bin/passenger-spawn-server RailsRuby /usr/bin/ruby |
ということで、Apacheを再起動。
| # service apache2 restart |
ということで、一通りインストールは完了した。
Popularity: 5% [?]