Mac Archive
[Mac]SnowLeopardで開発環境構築するよ – VmwareFusionをインストール && ゲストOS(Linux_server)へvmwaretoolsをインストール && 設定[SnowLeopard]
- VmwareFusionをインストール && ゲストOS(Linux_server)をインストール
- ゲストOSを起動後、VMware Fusionの「仮想マシン」メニューから「Vmware Toolsのインストール」を選択する。
- ゲストOSでcdromをマウント。マウント先は適当な場所へ(ここでは/mediaへ)
# mount /dev/cdrom /media
- コピーして解凍してインストール
# cp. /media/VMwareTools-*****.tar.gz ./ # tar zxvf VMwareTools-*****.tar.gz # cd vmware-tools-distrib # ./vmware-install.pl
特に設定する必要が無いんで、全Enterで進めて完了。
- OS XのUIDとLinuxのUIDを揃える
# vi /etc/passwd
bubbkis:x:500:500::/home/bubbkis:/bin/bash ↓ bubbkis:x:501:501::/home/bubbkis:/bin/bash
# vi /etc/group
bubbkis:x:500: ↓ bubbkis:x:501:
# chown -R bubbkis.bubbkis /home/bubbkis # find /tmp -user 500 -exec chown bubbkis.bubbkis {} \; - vmwaretoolsをインストールすると、共有設定したディレクトリを/mnt/hgfsの中から見れる。
- Comments: 0
- Trackbacks: 0
[Mac]SnowLeopardで開発環境構築するよ – MacFuse && Macfusionをインストール[SnowLeopard]
snowleopard上のmacportsでsshfsが使えないのでMacFusionを使う(2009/12/01現在)
- Comments: 0
- Trackbacks: 0
[Mac]SnowLeopardで開発環境構築するよ – MacPortsでApache、PHP、MySQL、PostgreSQLをインストールする[SnowLeopard]
- Apacheをインストール
- インストール
$ sudo port install apache2
- 自動起動設定
$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist
- httpd.confを編集
$ sudo vi /opt/local/apache2/conf/httpd.conf
ServerAdmin you@example.com ↓ ServerAdmin webmaster@localhost ServerName www.example.com:80 ↓ ServerName localhost DocumentRoot "/opt/local/apache2/htdocs" ↓ DocumentRoot "/Users/bubbkis/Sites" <Directory /> Options FollowSymLinks AllowOverride None # Order deny,allow ←コメントアウト追加 # Deny from all ←コメントアウト追加 </Directory> <Directory "/opt/local/apache2/htdocs"> ↓ <Directory "/Users/bubbkis/Sites"> ## <Directory "/Users/bubbkis/Sites">内のOptionsとAllowOverrideを以下の様に修正。 Options Indexes Includes ExecCGI FollowSymLinks MultiViews AllowOverride All DirectoryIndex index.html ↓ DirectoryIndex index.php index.html index.htm ## <Directory "/opt/local/apache2/cgi-bin">内のOptionsを以下の様に修正。 Options Indexes Includes ExecCGI FollowSymLinks MultiViews #AddHandler cgi-script .cgi ↓ AddHandler cgi-script .cgi .pl .rb #Include conf/extra/httpd-languages.conf ↓ Include conf/extra/httpd-languages.conf #Include conf/extra/httpd-default.conf ↓ Include conf/extra/httpd-default.conf
- Apache起動
$ /opt/local/apache2/bin/apachectl configtest $ sudo /opt/local/apache2/bin/apachectl graceful
- インストール
- MySQLをインストール
- インストール
$ sudo port install mysql5 +innodb_plugin $ sudo port install mysql5-server
- 初期化
$ sudo -u mysql mysql_install_db5
- MySQL起動
$ sudo /opt/local/share/mysql5/mysql/mysql.server start
- 自動起動設定
$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist
- MySQLのrootアカウントへパスワードを設定
$ /opt/local/lib/mysql5/bin/mysqladmin -u root password '******'
$ mysql -u root -p mysql> select user,host,password from mysql.user; mysql> set password for root@'bubbkis-MacBook.llocal'=password('パスワード'); mysql> set password for root@'127.0.0.1'=password('パスワード'); mysql> exit - MySQL設定ファイル編集
$ sudo cp /opt/local/share/mysql5/mysql/my-medium.cnf /opt/local/etc/mysql5/my.cnf $ sudo vi /opt/local/etc/mysql5/my.cnf
##[mysqld]の項目へ追加 character-set-server = utf8 collation-server = utf8_unicode_ci init-connect = 'SET NAMES utf8' skip-character-set-client-handshake ##[mysqldump]の項目へ追加 default-character-set = utf8 ##[mysql]の項目へ追加 default-character-set = utf8
- MySQL再起動
$ sudo /opt/local/share/mysql5/mysql/mysql.server restart
- インストール
- PostgreSQLをインストール(2009/12/01現在、phpがpostgresql83までしか対応してない)
- インストール
$ sudo port install postgresql83 +perl +python $ sudo port install postgresql83-server
- 自動起動設定
$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.postgresql83-server.plist
- 初期化
$ sudo mkdir -p /opt/local/var/db/postgresql83/defaultdb $ sudo chown postgres:postgres /opt/local/var/db/postgresql83/defaultdb $ sudo su postgres -c '/opt/local/lib/postgresql83/bin/initdb -D /opt/local/var/db/postgresql83/defaultdb'
- PostgreSQL起動
$ sudo su postgres -c '/opt/local/lib/postgresql83/bin/postgres -D /opt/local/var/db/postgresql83/defaultdb' or $ sudo su postgres -c '/opt/local/lib/postgresql83/bin/pg_ctl -D /opt/local/var/db/postgresql83/defaultdb start'
- PL/pgSQL && dblinkをインストール
$ sudo su postgres sh-3.2$ createdb testdb sh-3.2$ /opt/local/lib/postgresql83/bin/createlang plpgsql testdb sh-3.2$ psql -U postgres -d testdb < /opt/local/var/macports/software/postgresql83/8.3.8_1/opt/local/share/postgresql83/contrib/dblink.sql
インストール後、これらを使いたい場合は「testdb」をテンプレートDBとして新規DBを作成し使う。
- postgresアカウントへパスワードを設定
sh-3.2$ psql template1 template1=# alter user postgres with password '******'; template1=# \q
- 一般ユーザへのデータベース作成権限設定
sh-3.2$ createuser -AdPE bubbkis sh-3.2$ exit
- PostgreSQL設定ファイル編集
postgresql.confを編集。$ sudo vi /opt/local/var/db/postgresql83/defaultdb/postgresql.conf
#listen_addresses = 'localhost' ↓ listen_addresses = '*'
pg_hba.confを編集
$ sudo vi /opt/local/var/db/postgresql83/defaultdb/pg_hba.conf
#追記 host all all 0.0.0.0 0.0.0.0 password
- PostgreSQL再起動
$ sudo su postgres -c '/opt/local/lib/postgresql83/bin/pg_ctl -D /opt/local/var/db/postgresql83/defaultdb restart'
- インストール
- PHPをインストール
- いろいろインストール
$ sudo port install php5 +apache2 +mysql5 +pear +postgresql83 +sqlite $ sudo port install php5-curl $ sudo port install php5-exif $ sudo port install php5-gd $ sudo port install php5-gettext $ sudo port install php5-imagick $ sudo port install php5-mbstring $ sudo port install php5-mcrypt $ sudo port install php5-mysql $ sudo port install php5-postgresql +postgresql83 $ sudo port install php5-readline $ sudo port install php5-sqlite $ sudo port install php5-sqlite3 $ sudo port install php5-xmlrpc $ sudo port install php5-zip $ sudo port install php5-zlib $ sudo pear upgrade PEAR
- ApacheへPHPモジュールを読み込ませる
$ cd /opt/local/apache2/modules $ sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so
- PHP設定ファイル編集
$ sudo cp /opt/local/etc/php5/php.ini-development /opt/local/etc/php5/php.ini or $ sudo cp /opt/local/etc/php5/php.ini-production /opt/local/etc/php5/php.ini $ sudo vi /opt/local/etc/php5/php.inimax_execution_time = 30 ↓ max_execution_time = 0 post_max_size = 8M ↓ post_max_size = 64M upload_max_filesize = 2M ↓ upload_max_filesize = 64M ;date.timezone = ↓ date.timezone = Asia/Tokyo mysql.default_socket = ↓ mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock mysqli.default_socket = ↓ mysqli.default_socket = /opt/local/var/run/mysql5/mysqld.sock pdo_mysql.default_socket = ↓ pdo_mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock
- Apache設定ファイル編集
$ sudo vi /opt/local/apache2/conf/httpd.conf
# 追記 Include conf/extra/mod_php.conf
- Apache再起動
$ sudo /opt/local/apache2/bin/apachectl restart
- いろいろインストール
このインストールしたPHPはバージョンが5.3なんで注意。MacPortsにまだ5.2系が残ってたけど、モジュール類が5.3対応となってたんで5.2系はインストールしませんでした。
ただこれまで5.2系で開発してたんで5.3にバージョン上げると動きませんorz
5.3系の環境も欲しかったのでMacPortsは5.3な環境。
5.2系の環境も必須なんでVMwareFusionにCentOSなりDebianなりをインストールして環境を作ることにしました。
- Comments: 0
- Trackbacks: 1
[Mac]SnowLeopardで開発環境構築するよ – MacPortsでPythonやらRailsやらを一気にインストール[SnowLeopard]
- SnowLeopard用のMacPortsをインストール
- .bashrcに環境変数を追加
# MacPorts export PATH=/opt/local/bin:/opt/local/sbin:$PATH # Man export MANPATH=/usr/local/man:/usr/share/man:/opt/local/man
追加したら.bashrcを再読み込み
$ source .bashrc
- 手打ちするのが面倒くさいからインストールスクリプトを作る(zsh、python、railsとかごった煮で)
- スクリプトファイル作成
$ vi port.sh
↓の内容で作成する。(先にpostgresをインストールしとかないとgem install postgresでエラー吐く)
#!/bin/bash sudo port -d selfupdate sudo port -d install zsh-devel sudo port -d install libiconv +enable_cp932fix sudo port -d install coreutils sudo port -d install findutils sudo port -d install wget sudo port -d install curl +ssl +sftp_scp sudo port -d install nkf sudo port -d install screen sudo port -d install ruby sudo port -d install zlib sudo port -d install openssl sudo port -d install rb-rubygems sudo port -d install subversion sudo port -d install git-core sudo port -d install -f svk sudo port -d install lv sudo port -d install chasen sudo port -d install sqlite3 sudo port -d install libxml sudo port -d install libxml2 sudo port -d install expat sudo port -d install p7zip sudo port -d install bzip2 sudo port -d install ctags sudo port -d install ncurses sudo port -d install vim sudo port -d install smartmontools sudo port -d install colordiff sudo port -d install tiff sudo port -d install imagemagick +q8 +gs +wmf sudo port -d install openssh sudo port -d install perl5.8 sudo port -d install perl5.10 sudo port -d install tig sudo port -d install tree sudo port -d install w3m sudo port -d install pgAdmin3 # Python25 sudo port -d install python25 sudo port -d install py25-django sudo port -d install py25-ipython sudo port -d install py25-pip sudo port -d install py25-setuptools sudo port -d install py25-hashlib sudo port -d install py25-zlib sudo port -d install py25-readline sudo port -d install py25-sqlite3 sudo port -d install py25-mysql sudo port -d install py25-twisted sudo port -d install py25-pgsql sudo port -d install py25-mechanize sudo port -d install py25-openssl sudo port -d install py25-paste sudo port -d install py25-pastedeploy sudo port -d install py25-simplejson sudo port -d install py25-nose sudo port -d install py25-sqlalchemy sudo port -d install py25-sqlalchemy-migrate sudo port -d install py25-turbogears sudo port -d install py25-memcached sudo port -d install py25-yaml sudo port -d install python25-doc sudo port -f activate py25-cherrypy3 sudo port -d install py25-cherrypy3 # Python26 sudo port -d install python26 sudo port -d install py26-bpython sudo port -d install py26-django sudo port -d install py26-django-extensions sudo port -d install py26-coverage sudo port -d install py26-ipython sudo port -d install py26-mysql sudo port -d install py26-nose sudo port -d install py26-pip sudo port -d install py26-pymacs sudo port -d install py26-setuptools sudo port -d install py26-twisted sudo port -d install py26-pgsql sudo port -d install py26-openssl sudo port -d install py26-paste sudo port -d install py26-pastedeploy sudo port -d install py26-simplejson sudo port -d install py26-sqlalchemy sudo port -d install py26-sqlalchemy-migrate sudo port -d install py26-memcached sudo port -d install py26-yaml sudo port -d install python26-doc sudo port -d install py26-cherrypy3 sudo port -d install python_select # Python27 sudo port -d install python27 sudo port -d install py27-django sudo port -d install py27-googleappengine sudo port -d install py27-ipython sudo port -d install py27-mysql sudo port -d install py27-nose sudo port -d install py27-pip sudo port -d install py27-pygresql sudo port -d install py27-setuptools sudo port -d install py27-simplejson sudo port -d install py27-sqlalchemy sudo port -d install py27-sqlalchemy-migrate sudo port -d install py27-sqlite sudo port -d install py27-twisted sudo port -d install py27-virtualenv sudo port -d install py27-yaml sudo port -d install python27-doc # Ruby export RUBYOPT=rubygems sudo gem update --system sudo gem update sudo gem install mongrel sudo gem install mongrel_cluster sudo gem install mechanize sudo gem install Selenium sudo gem install vim-ruby sudo gem install sqlite3-ruby sudo gem install mysql sudo env ARCHFLAGS='-arch i386' gem install postgres -- --with-pgsql-lib=/opt/local/lib/postgresql83 --with-pgsql-include=/opt/local/include/postgresql83 sudo gem install postgres-pr sudo gem install BlueCloth sudo gem install RedCloth sudo gem install net-ssh sudo gem install net-sftp sudo gem install coverage sudo gem install capistrano sudo gem install magic_multi_connections sudo gem install redgreen sudo gem install rspec sudo gem install rspec-rails sudo gem install cucumber sudo gem install rmagick sudo gem install rails sudo gem install jpmobile sudo gem install ruby-debug sudo gem install refe sudo gem install xml-simple sudo gem cleanup
- 作ったスクリプトファイルに実行権を付与。
$ chmod +x port.sh
- インストールスクリプト実行
$ ./port.sh
- インストール終了までかなり時間がかかるから寝て待つ
- スクリプトファイル作成
- shellをzshへ変更する
- /etc/shellsに/opt/local/bin/zshを追記
$ sudo vi /etc/shells
- chshする
$ chsh -s /opt/local/bin/zsh
- /etc/shellsに/opt/local/bin/zshを追記
- Comments: 0
- Trackbacks: 0
[Mac]SnowLeopardで開発環境構築するよ – 初期設定[SnowLeopard]
- スクリーンショットのフォーマットを変更する(pngからjpegへ)
$ defaults write com.apple.screencapture type jpg
- Finderウィンドウのタイトル部分にそのウィンドウのパスを表示させる
$ defaults write com.apple.finder _FXShowPosixPathInTitle -bool YES
- NASなど通常ではサポートされていないフォーマットをTimeMachineで使えるようにする
$ defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1 - Finderの終了メニューを表示させる
$ defaults write com.apple.finder QuitMenuItem -bool YES $ killall Finder
- Finderで不可視項目を表示させる
$ defaults write com.apple.finder AppleShowAllFiles TRUE
- フォルダ名やアプリケーション名を英語表記にする(念のためバックアップとして残しておく。)
$ sudo mv /System/Library/CoreServices/SystemFolderLocalizations/Japanese.lproj/SystemFolderLocalizations.Strings /System/Library/CoreServices/SystemFolderLocalizations/Japanese.lproj/SystemFolderLocalizations.Strings.org $ sudo cp /System/Library/CoreServices/SystemFolderLocalizations/en.lproj/SystemFolderLocalizations.Strings /System/Library/CoreServices/SystemFolderLocalizations/Japanese.lproj/SystemFolderLocalizations.Strings $ killall Finder
- カレンダー(iCal)に祝日を表示
↓からダウンロードしてiCalへ設定。
http://www.apple.com/downloads/macosx/calendars/japaneseholidaycalendar.html - TerminalColoreopard LeopardのターミナルのANSI配色を変えるツールをインストール
http://niw.at/articles/2007/11/02/TerminalColoreopard/jaからSnowLeopard用をダウンロード && インストール
Terminal.appはFinderからGet Info(Ctrl-i)→32 bit modeにチェック - Leopardの時にmac標準rubyへgemsをインストールしてたけど無駄に残ってるの気持ち悪いから消す(MacPortsでrubyはインストールする)
$ gem list | cut -d ' ' -f1 > installed_gems $ sudo mv /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8.bak $ sudo mkdir /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8 $ sudo gem list | cut -d ' ' -f1 | xargs sudo gem uninstall -aIx
- installed_gemsから再インストールしたい人は↓を
# 32bitな人用 $ cat installed_gems | xargs sudo env ARCHFLAGS=”-Os -arch i386 -fno-common” gem install —no-ri —no-rdoc # 64bitな人用 $ cat installed_gems | xargs sudo env ARCHFLAGS=”-Os -arch x86_64 -fno-common” gem install —no-ri —no-rdoc
- aliasの設定
$ alias sgi32=”sudo env ARCHFLAGS="-Os -arch i386 -fno-common" gem install —no-ri —no-rdoc” $ alias sgi64=”sudo env ARCHFLAGS="-Os -arch x86_64 -fno-common" gem install —no-ri —no-rdoc”
- .bashrcや.zshrcに「alias sgi=” sgi64″」を追加。ついでにPATHも(↓ちなみに自分の。dropboxでmacやらlinuxやらで共有してる)
# users generic .zshrc file for zsh(1) alias sgi="sgi64" ## Environment variable configuration # # LANG # export LANG=ja_JP.UTF-8 # パスの設定 PATH=/usr/local/bin:$PATH # PHP export PATH=/usr/local/php/bin:$PATH # Ruby export PATH=/usr/local/ruby/bin:$PATH # PostgreSQL POSTGRES_HOME=/usr/local/pgsql export PATH=$PATH:/usr/local/pgsql/bin:/opt/local/lib/postgresql83/bin export PGLIB=$POSTGRES_HOME/lib export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB" export PGDATA=$POSTGRES_HOME/data export MANPATH=$MANPATH:$POSTGRES_HOME/man # MySQL export PATH=$PATH:/usr/local/mysql/bin:/opt/local/lib/mysql5/bin # MacPorts export PATH=/opt/local/bin:/opt/local/sbin:$PATH # Refe REFE_DATA_DIR=/usr/share/refe:/opt/local/share/refe export REFE_DATA_DIR # Man export MANPATH=/usr/local/man:/usr/share/man:/opt/local/man
- Comments: 0
- Trackbacks: 0
[Mac]SnowLeopardで開発環境構築するよ – Leopardからアップグレード[SnowLeopard]
LeopardからSnowLeopardへアップグレードする人用。
- アップグレード前にMacPortsでインストールしたのを保存 && 削除(Leopardな環境)
$ port installed > ~/ports.txt #portでインストールしたプログラムリスト $ sudo port deactivate active $ sudo rm -rf /opt
- SnowLeopardインストール
- customizeから,余計な言語環境やプリンタードライバーを除いてSnowLeopardインストール。
- 起動
- Software Update→再起動
- CDからXcodeインストール
- Leopardの時にmac標準rubyへgemsをインストールしてたけど無駄に残ってるの気持ち悪いから消す(MacPortsでrubyはインストールする)
$ gem list | cut -d ' ' -f1 > installed_gems $ sudo mv /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8.bak $ sudo mkdir /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8 $ sudo gem list | cut -d ' ' -f1 | xargs sudo gem uninstall -aIx
アップグレード前にすることはこんなとこでしょうか。
- Comments: 0
- Trackbacks: 0
[Ubuntu]Ubuntu8.10へObjective-C環境をインストールしてみた。[Objective-C]
1週間くらい前からObjective-Cを触り始めて見ました。Cすら一度も触ったことないから分からんことだらけですけど・・・
で、前は初代Macbookを持っていたんですけどThinkpadX61へ乗り換えと同時に手放してしまったので
X61上のUbuntu8.10でObjective-Cを学習しときます。
学習用に「詳解Objective-C2.0」という本を用意しました。この本を終えたら新しくMacbookを購入し直そうと思います。
iPhoneだって持ってないんですけどね・・・・
とりあえずいつも通り、Ubuntu8.10へのObjective-C環境のインストール方法をまとめておきます。
- いろいろとインストール。こんだけ入れると取り合えずObjective-Cの環境は整います。
sudo apt-get install build-essential gobjc gobjc-multilib libgnustep-base-dev gnustep gnustep-devel gnustep-dl2 doxygen
- ↑だけインストールするだけだとNSObjectが使えないので↓も行う。(Objective-C2.0本を進めていると、どうしてもNSObjectが必要だったので・・・つかNSObjectが使えないとretain、releaseとかが無い!)
・Foundationフレームワークを使えるようにパスが通るディレクトリへリンクを張る為に↓を作成。#!/bin/sh frompath=/usr/include/GNUstep topath=/usr/lib/gcc/i486-linux-gnu/4.3/include for i in "AppKit" "Cocoa" "Cynthiune" "DBKit" "EOAccess" "EOControl" "EOInterface" "EOModeler" "FSNode" "Foundation" "Frameworks" "GNUMail" "GNUstepBase" "GNUstepGUI" "GormCore" "GormObjCHeaderParser" "GormPrefs" "HighlighterKit" "Inspector" "InterfaceBuilder" "Operation" "PostgreSQLEOAdaptor" "ProjectCenter" "Renaissance" "TalkSoupBundles" "WizardKit" "gnustep" do ln -s $frompath/$i $topath done
リンク張っているのは/usr/include/GNUstep以下にある全てをリンクしてるだけです。勉強始めたばっかなんで各ファイルにどんな機能、役割があんのかは全くもって不明ですwww
で、作成したスクリプトファイルを実行。sudo sh /保存したスクリプトのパス/link_libobjc.sh
以上でUbuntu8.10へのObjective-C環境構築はおわりです。
これで「詳解Objective-C2.0」に載ってるソースそのままで動くと思います。(どっかで躓いたらまた記事修正しときます。)
最後に、Ubuntu8.10上でソースをコンパイルする時なんですが
gcc ソースファイル名 -o コンパイル後ファイル名 -lobjc -lgnustep-base
としてください。
あと、分からんというか面倒くさいというか、mainソースファイルから自前で作成したヘッダファイル(.hファイル)を読み込んでコンパイルするとき
gcc ソースファイル名 -o コンパイル後ファイル名 -lobc -lgnustep-base -include ヘッダファイル名1 -include ヘッダファイル名2
みたいにしないとコンパイル出来んのですが、複数のヘッダファイルを読み込むとき、「-include ヘッダファイル名」を何度も書くのは面倒くさいですな・・・なんか良い方法あるんですかねぇ?
2009/02/17 追記
Tomuteさんコメントありがとうございます。助かりました。
詳解Objective-C2.0を読み進めていると、Tomuteさんのブログにも書いてるようにコンパイル時に
error: cannot find interface declaration for ‘NXConstantString
とエラー返してくるので、コンパイルオプションに”-fconstant-string-class=NSConstantString”を追加しないとダメみたいです。またTomuteさんに教えてもらった-Iオプションも追加。
gcc ソースファイル名1 ソースファイル名2 ソースファイル名3 -o コンパイル後ファイル名 -lobjc -lgnustep-base -I/指定ディレクトリ -fconstant-string-class=NSConstantString
こんな風にするみたいです。
< 参考にしたサイト: Tomute’s Notes [Linux] Ubuntu LinuxでObjective-C>
- Comments: 1
- Trackbacks: 0
- Search
- Feeds
- Meta