戻る/進む を行うショートカット
戻る
⌘ + option + ←
進む
⌘ + option + →
2010年11月10日水曜日
2010年11月9日火曜日
Dropbox に gitレポジトリを作成する
1.
Dropbox フォルダ内に gitレポジトリ用のフォルダを作成する。
2.
上記フォルダ内に、[プロジェクト名].git というフォルダを作成して init する。
3.
既存のソースを追加するためには、そのプロジェクト上で以下のコマンドを実行する。
4.
ファイルを更新した後、以下のように更新したファイルの addとcommitを行い、さらに ローカルレポジトリ(既存プロジェクト)をリモートレポジトリ(Dropbox に作成したレポジトリ)へ push する。
参考:
*1
git-init(1) Manual Page
*2
Chapter11. GIT用語集 裸のレポジトリ
Dropbox フォルダ内に gitレポジトリ用のフォルダを作成する。
cd ~/Dropbox mkdir repository
2.
上記フォルダ内に、[プロジェクト名].git というフォルダを作成して init する。
cd repository mkdir ProjectName.git cd ProjectName.git git --bare init
--bare
Create a bare repository. If GIT_DIR environment is not set, it is set to the current working directory. *1
裸のリポジトリ(bare repository)
裸のリポジトリとは、通常 .git の拡張子を持つ ディレクトリ で、 リビジョン管理下にあるチェックアウトしたファイルをローカルに持たないディレクトリです。 通常 .git サブディレクトリ に隠れている git の管理ファイル全てが repository.git ディレクトリに直接存在し、 他のファイルは存在せず、チェックアウトもされていません。 通常、公開リポジトリを出版する人は、裸のリポジトリを作成します。*2
3.
既存のソースを追加するためには、そのプロジェクト上で以下のコマンドを実行する。
cd ~/develop/OldProject git init git add . // 全てのファイルを追加する git commit git push ~/Dropbox/repository/ProjectName.git master git remote add origin ~/Dropbox/repository/ProjectName.git
4.
ファイルを更新した後、以下のように更新したファイルの addとcommitを行い、さらに ローカルレポジトリ(既存プロジェクト)をリモートレポジトリ(Dropbox に作成したレポジトリ)へ push する。
git add ~/develop/OldProject/oldfile.h // 変更を全て含む場合、git add --a git commit // コメントを追加する場合は、git commit -m "(コメント入力)" git push ~/Dropbox/repository/ProjectName.git master //git push origin master でも可
参考:
*1
git-init(1) Manual Page
*2
Chapter11. GIT用語集 裸のレポジトリ
2010年11月6日土曜日
iPhone で Picasa クライアントを作成する準備
Google Date API
http://code.google.com/intl/ja/apis/gdata/index.html
Google Date API にアクセスして、Picasa データを取得する。
iPhone で利用するためには、gdata-objectivec-client を静的ライブラリとして組み込む。
参考資料
BuildingTheLibrary の、Linking to the iPhone Static Library の内容に(ほぼ)従う。
http://code.google.com/p/gdata-objectivec-client/wiki/BuildingTheLibrary
ライブラリの準備
下記場所からダウンロードできるが、ビルドエラーが出る。
ライブラリ名:gdata-objective-client-1.10.0.zip
http://code.google.com/p/gdata-objectivec-client/downloads/list
なので、svn から直接ダウンロードして、iPhone プロジェクトのディレクトリに入れる。
http://code.google.com/p/gdata-objectivec-client/source/checkout
gdata-objectivec-client をビルドするための準備
1.
gdataClient -> Source -> GData.xcodeproj を開く。
2.
ビルドターゲットを GDataTouchStaticLib に変更する。
今回作成する静的ライブラリはコレなので、他はターゲットから外す。
3-1.
ターゲット -> GDataTouchStaticLib -> 情報を見る -> ビルドタブ 構成:release を表示する。
設定 -> ベースSDK を、iPhoneデバイス4.0 に変更する。
設定 -> アーキテクチャ を、Standard に変更する。
3-2.
その他のCフラグに以下を追加する。
4.
Simulator, Device それぞれReleaseビルドを実行する。
5.
出力されたライブラリを lipo コマンドを使用して統合する。
iPhoneプロジェクトにライブラリを追加する
6.
libGDataTouchStaticLib.a を iPhoneプロジェクトに追加する。
今回のiphoneプロジェクト名は samplePicasa とする。
7-1.
samplePicasa -> 情報を見る -> ビルド 全ての構成 を表示する。
他のリンカフラグに、-ObjC -lxml2 を追加する。
7-2.
ヘッダ検索パスに、次の2つのパスを追加する。
8.
適当なファイルに #import "GData.h" を追加してビルドが通れば完了。
参考
*1
iPhone開発ガイド 第3章アプリケーションの実行 ビルド環境の設定
*2
Removing Unneeded Code
http://code.google.com/intl/ja/apis/gdata/index.html
Google Date API にアクセスして、Picasa データを取得する。
iPhone で利用するためには、gdata-objectivec-client を静的ライブラリとして組み込む。
参考資料
BuildingTheLibrary の、Linking to the iPhone Static Library の内容に(ほぼ)従う。
http://code.google.com/p/gdata-objectivec-client/wiki/BuildingTheLibrary
ライブラリの準備
下記場所からダウンロードできるが、ビルドエラーが出る。
ライブラリ名:gdata-objective-client-1.10.0.zip
http://code.google.com/p/gdata-objectivec-client/downloads/list
なので、svn から直接ダウンロードして、iPhone プロジェクトのディレクトリに入れる。
http://code.google.com/p/gdata-objectivec-client/source/checkout
svn checkout http://gdata-objectivec-client.googlecode.com/svn/trunk/ gdataClient mv gdataClient samplePicasa
gdata-objectivec-client をビルドするための準備
1.
gdataClient -> Source -> GData.xcodeproj を開く。
2.
ビルドターゲットを GDataTouchStaticLib に変更する。
今回作成する静的ライブラリはコレなので、他はターゲットから外す。
3-1.
ターゲット -> GDataTouchStaticLib -> 情報を見る -> ビルドタブ 構成:release を表示する。
設定 -> ベースSDK を、iPhoneデバイス4.0 に変更する。
設定 -> アーキテクチャ を、Standard に変更する。
3-2.
その他のCフラグに以下を追加する。
-DGDATA_INCLUDE_PHOTOS_SERVICE=1picasa を利用する場合の設定はこのようになる。それ以外のgdataを利用する場合は、参考 *2 を参照する。
4.
Simulator, Device それぞれReleaseビルドを実行する。
5.
出力されたライブラリを lipo コマンドを使用して統合する。
cd samplePicasa/gdataClient/Source/build lipo -create Release-iphoneos/libGDataTouchStaticLib.a Release-iphonesimulator/libGDataTouchStaticLib.a -output libGDataTouchStaticLib.a
iPhoneプロジェクトにライブラリを追加する
6.
libGDataTouchStaticLib.a を iPhoneプロジェクトに追加する。
今回のiphoneプロジェクト名は samplePicasa とする。
7-1.
samplePicasa -> 情報を見る -> ビルド 全ての構成 を表示する。
他のリンカフラグに、-ObjC -lxml2 を追加する。
7-2.
ヘッダ検索パスに、次の2つのパスを追加する。
/usr/include/libxml2 → 再帰的にチェックする。 $(SRCROOT)/gdataClient/Source/build/Release-$(PLATFORM_NAME)/Headers
8.
適当なファイルに #import "GData.h" を追加してビルドが通れば完了。
参考
*1
iPhone開発ガイド 第3章アプリケーションの実行 ビルド環境の設定
*2
Removing Unneeded Code
2010年10月5日火曜日
TCP ACCEPT関数
accept - ソケットへの接続を受ける
struct sockadd_in の実装は以下の通り。
struct sockaddr_in {
sa_family_t sin_family; /* address family: AF_INET */
in_port_t sin_port; /* port in network byte order */
struct in_addr sin_addr; /* internet address */
};
/* Internet address. */
struct in_addr {
uint32_t s_addr; /* address in network byte order */
};
ここで、inet_ntoa()関数を使用して sockaddr_in 構造体から IP アドレスを表示させる実装は、以下のようになる。
printf("IP = %s\n", inet_ntoa(client.sin_addr));
ただし、次のヘッダーファイルをインクルードしなければ、表示されないので注意!
<arpa/inet.h>
数値としてIPアドレスを操作する機能の定義
参考:
ACCEPT
ソケット(BSD)
TCP
TCPとは、以下のことを言う。
サーバー側の実装は以下の手順で行う。
参考:
Transmission Control Protocol(TCP)
LISTEN
Transmission Control Protocol(トランスミッション コントロール プロトコル、TCP)
セッションという形で1対1の通信を実現し、パケットシーケンスチェックによる欠損パケット再送などのエラー訂正機能などを持ち、データ転送などの信頼性の必要な場面でよく使用される。一方他のトランスポート層プロトコルに比べ、プロトコル上のオーバヘッドが大きい為、比較的低速となる。
サーバー側の実装は以下の手順で行う。
1.
socket(2) でソケットを作成する。
2.
bind(2) を使ってソケットにローカルアドレスを割り当てて、 他のソケットがこのソケットに connect(2) できるようにする。
3.
listen() を使って、接続要求を受け付ける意志と接続要求を入れるキュー長を指定する。
4.
accept(2) を使って接続を受け付ける。
参考:
Transmission Control Protocol(TCP)
LISTEN
2010年10月4日月曜日
memset関数で出たwarning
char型配列 buf[] を「0」で埋めるため、以下の処理を書いたら warning が発生した。
→ #include<string.h> しましょう!!!
man memset を見れば、SYNOPSIS(概要)に書いてある。
memset(buf, 0, sizeof(buf));
warning: incompatible implicit declaration of built-in function ‘memset’対処方法
→ #include<string.h> しましょう!!!
man memset を見れば、SYNOPSIS(概要)に書いてある。
登録:
投稿 (Atom)




