サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
terukusu.hatenablog.com
Dropbox API(REST API over HTTP)を利用するAndroidアプリを製作したときのメモ(Android以外も多分同様) 大まかな流れ Dropboxで通常のアカウント作成 ディベロッパー登録 ディベロッパー規約に同意しなければならない 製作するアプリの情報を登録(アプリ名、説明など) OAuth の Consumer Key と Consumer Secret が発行される 参考: [id:teru_kusu:20110120:1295520678] このキーにはまずは開発版のAPIアクセス権が与えられる 開発版なのでアプリ製作者のアカウントでしかAPIを利用できない SDKのダウンロード、開発、テスト SDKはRESTful APIをラップしたライブラリとサンプル Android, iOS, Java, Python などなど、いろいろ有る アプリの公開申請 キ
前回に引き続き共有ライブラリの仕組を知るための準備としてMach-Oの構造を調べる。今回はシンボルテーブルを読み込んでみる。環境はx86_64。 シンボルとは 私達がソースを書く時には関数や変数に int i; i = foo(); の様に文字列の名前を付ける。しかし、CPUが関数や変数を参照するときはアドレスを使う。この間を取り持つオブジェクトをシンボルと言う。具体的にはこのようなもの。/usr/include/mach-o/nlist.hで定義されている。 struct nlist_64 { union { uint32_t n_strx; } n_un; uint8_t n_type; uint8_t n_sect; uint16_t n_desc; uint64_t n_value; };n_strxが対応する文字列を指し、n_valueが値(アドレス)を示す。例えばこのシンボルが
前回、Mach-Oのセグメント定義をロードしたときに__PAGEZEROセグメントと言うのが出てきた。興味を引かれたのでもうちょっと触ってみる。環境はx86_64。 __PAGEZEROセグメントに関して、アップルのリファレンスにはこう書いてある。 __PAGEZEROセグメントは実行形式ファイルの最初のセグメントとして静的リンカによって作成される。このセグメントは仮想メモリアドレス 0 に配置され、メモリ保護属性は全て禁止と設定される。このために、大抵の場合はプログラミングのミスである、NULL へのアクセスが発生するとプログラムは直ちに異常終了することになる。 __PAGEZEROセグメントのサイズは現在のアーキテクチャでの仮想メモリページの1ページ分である。(Intel, PowerPC系ならば 4096 バイト) __PAGEZEROにはデータが含まれないため、ファイル上でのサイズ
curl で Dropbox の REST API を叩いてみる。 Dropbox APIのドキュメントはこちら Dropbox Mobile API Documentation Dropbox APIのドキュメントにはOAuthに関することは何も書かれていないので以下の文書を参考にした。 OAuth Core 1.0 Revision A 日本語訳 アクセストークン/シークレットを取得 仮に、Dropboxのアカウントとアプリ用のConsumer key/secretが以下のようだったとする。 メールアドレス => foobar@foobar12345.com パスワード => foobarpass Consumer key => hogehoge Consumer secret => fugafuga まず以下のようにして /token APIからアクセストークン/シークレットを取得
低レベル層に興味がある人にはインテルの、ここ(日本語資料)とか ここ(英語資料)とかにあるソフトウェア開マニュアルは非常に面白い読み物だと思う。でも実際に試してみないと分かった気がしないなーと言うことでカーネルを作ってみることにした。 とりあえず最小限の何の役にも立たないような物でいい。ややこしげなメモリアクセス、割り込み、特権レベル、タスクスイッチ、ページングとかをごくごく小規模で気軽にいじくり回せるようなのが良い。 作りながら学ぶOSカーネル保護モードプログラミングの基本と実践 作者: 金凡峻出版社/メーカー: 秀和システム発売日: 2009/04/15メディア: 単行本購入: 7人 クリック: 89回この商品を含むブログ (14件) を見ると思ってたらうってつけの本が有ったので購入(笑) GDTとかIDTを最低限で作る方法が良くわからなかったけど丁度良い感じの解説が載ってて素晴らしい
今回からは動的ライブラリが利用される様子を観察してみる。 ライブラリとは リンク可能なオブジェクトファイルの集まり。ライブラリには静的ライブラリと動的ライブラリが有る。 静的ライブラリ 実行形式ファイルには必要なコードが全てコピーされる 実行形式ファイルのサイズは大きくなり起動時間は長い 実行形式ファイルの占有メモリ容量は大きい ライブラリに修正が加えられても再度コンパイルしなければ実行形式ファイルには反映されない 他のファイルに依存すること無く実行形式ファイル単体で実行可能 こんな感じ 動的ライブラリ 実行形式ファイルにはどのライブラリを利用するかという情報だけが記録される 必要なライブラリは起動時にメモリに読み込まれる 実行時に動的に読み込むことも可能 実行形式ファイルのサイズは小さく起動時間は早い 実行形式ファイルの占有メモリ容量は小さい。 ライブラリに修正が加えられれば実行形式は変
自分のマックはメモリが 4GB の MacBook Pro。ちなみにこれがMacデビュー機。VMWareを2個以上起動するとMacの動きもVMWareの動きもカクカクカクカクで使い物にならなくなる。三万円くらいの8GBメモリがネットに有ったので換装してみた。Micron製のMT16JSS51264HY-1G1A1。ノーブランドの物はもうちょい安かったけど、なんとなくブランド名を冠してるやつにした。 !!!!!!!!! 驚きのサクサクサクサク具合。 VMWareを4個くらい、WinとかLinuxとか動かしても、窓の切り替えとか、窓一覧表示へのアニメーション、アプリの操作、一切引っ掛かりが無い。快適すぎてニヤニヤしてしまった。 でも困ったことが一つ。 ディープスリープ(ハイバネート)からの復帰に時々失敗する・・・。 特にメモリの使用量が多いときに復帰に時間がかかった挙句に失敗するようだ。 アク
動的ライブラリの仕組みを知りたかったので、その準備としてMach-Oの構造について調べてみた。環境はx86_64。 Mach-Oとは Mac OS Xでプログラムやライブラリをディスクに格納するために標準で使用されるフォーマット。中間形式(リンク前)にも最終形式(リンク後)にも用いられる。コード、データの両方を格納できる。 Mach-Oは一つのファイルが一つのアーキテクチャ(CPU)に対応する。複数のアーキテクチャに対応するものはMach-Oファイルではなく、複数のMach-Oファイルをまとめてあるだけ。例えば Universal Binary がそれ。 構造 Mach-Oは3つの部分から成っている。 ヘッダ ロードコマンド データ ■ヘッダ Mach-Oであることを示すマジックナンバー、対象アーキテクチャ、ロードコマンドの数、残りの部分を読み取るためのフラグ等が記述されている。 ■ロード
このページを最初にブックマークしてみませんか?
『teru_kusu’s diary』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く