メモメモ。
1. プロキシでGitが繋がらない!
2. corkscrew使ってもなかなか繋がらない!
イライラしたら Dropbox に リポジトリ作成すればおk。
Dropbox 自体バージョン管理されてる から消しても安心。
ほら!もう出来た!
分散管理も出来たでしょ?
※Dropbox = Amazon S3 + バージョン管理 + フォルダ同期
メモメモ。
1. プロキシでGitが繋がらない!
2. corkscrew使ってもなかなか繋がらない!
イライラしたら Dropbox に リポジトリ作成すればおk。
Dropbox 自体バージョン管理されてる から消しても安心。
ほら!もう出来た!
分散管理も出来たでしょ?
※Dropbox = Amazon S3 + バージョン管理 + フォルダ同期
家にある目覚まし時計が googleカレンダーとかで設定しておいた時間に、鳴ったら便利だろうな。
全ての家電がネットワークに繋がる時代が来れば、当たり前になってたりして。
カレンダーで予定も管理されていれば、鳴ってほしい日、鳴ってほしくない日 が一目でわかるし。設定にも手間がかからない。
今の アナログなカレンダー自体が、デジタルに変わっても面白いとおもう。
毎年新しく購入しなくても良いし、環境にも良いし、需要もありそう。
C++が重いとか、余分なRAMを使うと言われる理由を探してみます。
簡単なコードとアセンブリを用意。
MinGWでコンパイルしたので余分なアセンブリが入っていると思います。
class test
{
public:
int data1;
int data2;
void aaa()
{
data1 = 1234;
}
;
};
volatile void sub3()
{
test* ts = new test;
ts->aaa();
ts->data1 = 300;
}
volatile void sub2()
{
test ts;
ts.aaa();
ts.data1 = 200;
}
volatile void sub1()
{
test ts;
ts.aaa();
ts.data1 = 100;
}
int main()
{
sub1();
sub2();
sub3();
return 0;
}
.file "test02.cpp" .text .align 2 .globl __Z4sub3v .def __Z4sub3v; .scl 2; .type 32; .endef __Z4sub3v: pushl %ebp movl %esp, %ebp subl $8, %esp movl $8, (%esp) call __Znwj movl %eax, -4(%ebp) movl -4(%ebp), %eax movl %eax, (%esp) call __ZN4test3aaaEv movl -4(%ebp), %eax movl $300, (%eax) leave ret .section .text$_ZN4test3aaaEv,"x" .linkonce discard .align 2 .globl __ZN4test3aaaEv .def __ZN4test3aaaEv; .scl 2; .type 32; .endef __ZN4test3aaaEv: pushl %ebp movl %esp, %ebp movl 8(%ebp), %eax movl $1234, (%eax) popl %ebp ret .text .align 2 .globl __Z4sub2v .def __Z4sub2v; .scl 2; .type 32; .endef __Z4sub2v: pushl %ebp movl %esp, %ebp subl $24, %esp leal -8(%ebp), %eax movl %eax, (%esp) call __ZN4test3aaaEv movl $200, -8(%ebp) leave ret .align 2 .globl __Z4sub1v .def __Z4sub1v; .scl 2; .type 32; .endef __Z4sub1v: pushl %ebp movl %esp, %ebp subl $24, %esp leal -8(%ebp), %eax movl %eax, (%esp) call __ZN4test3aaaEv movl $100, -8(%ebp) leave ret .def ___main; .scl 2; .type 32; .endef .align 2 .globl _main .def _main; .scl 2; .type 32; .endef _main: pushl %ebp movl %esp, %ebp subl $8, %esp andl $-16, %esp movl $0, %eax addl $15, %eax addl $15, %eax shrl $4, %eax sall $4, %eax movl %eax, -4(%ebp) movl -4(%ebp), %eax call __alloca call ___main call __Z4sub1v call __Z4sub2v call __Z4sub3v movl $0, %eax leave ret .def __Znwj; .scl 2; .type 32; .endef
見たところ、むしろ非常に効率よく処理してるような気がします。
少なくとも、ROMからRAMへコードはコピーされないことが確認できます。
テンプレートや例外はまた今度
環境はubuntu10.10です
インストールから接続までやってみます。
① こちら からut-vpnのソースコードを持ってきます。
pdfのマニュアルがあるので、そちらもダウンロード
② 展開して ./configuer → ./configure ※修正!
パラメータは不要
③ make
おそらく以下のどれかのライブラリの、ヘッダファイルが見つからない等のエラーが出るので、
適切なライブラリをインストールします。
※違うディストリビューションで、aptが無い場合は公式から直接ライブラリのソースを落としてきて、コンパイルします。
どのライブラリもconfiguerのパラメータは設定不要でおkです。
⑤ make install ※追加 → make test で確認しておく方がいいようです。
次の3つの実行ファイルがインストールされます
次のディレクトリに起動用のスクリプトが展開されます
⑥ 起動する
utvpnclient start
正常に起動できれば、SoftEther UT-VPN Client Service Started. と、表示されます。
表示されなければ失敗です①からやり直し。
※Segmentation fault と表示されたら、ライブラリの再インストールをすると治ったりするかも。(opennsslで詰まりました)
⑦ クライアントへ接続する(自分自身)
2. VPN Client の管理
何もせずにEnter
⑧ コマンドを確認
About – バージョン情報の表示
AccountAnonymousSet – 接続設定のユーザー認証の種類を匿名認証に設定
AccountCertGet – 接続設定に用いるクライアント証明書の取得
AccountCertSet – 接続設定のユーザー認証の種類をクライアント証明書認証に設定
AccountCompressDisable – 接続設定の通信時のデータ圧縮の無効化
AccountCompressEnable – 接続設定の通信時のデータ圧縮の有効化
AccountConnect – 接続設定を使用して VPN Server へ接続を開始
AccountCreate – 新しい接続設定の作成
AccountDelete – 接続設定の削除
AccountDetailSet – 接続設定の高度な通信設定の設定
AccountDisconnect – 接続中の接続設定の切断
AccountEncryptDisable – 接続設定の通信時の暗号化の無効化
AccountEncryptEnable – 接続設定の通信時の暗号化の有効化
AccountExport – 接続設定のエクスポート
AccountGet – 接続設定の設定の取得
AccountImport – 接続設定のインポート
AccountList – 接続設定一覧の取得
AccountNicSet – 接続設定で使用する仮想 LAN カードの設定
AccountPasswordSet – 接続設定のユーザー認証の種類をパスワード認証に設定
AccountProxyHttp – 接続設定の接続方法を HTTP プロキシサーバー経由接続に設定
AccountProxyNone – 接続設定の接続方法を直接 TCP/IP 接続に設定
AccountProxySocks – 接続設定の接続方法を SOCKS プロキシサーバー経由接続に設定
AccountRename – 接続設定の名前の変更
AccountRetrySet – 接続設定の接続失敗または切断時の再試行回数と間隔の設定
AccountSecureCertSet – 接続設定のユーザー認証の種類をスマートカード認証に設定
AccountServerCertDelete – 接続設定のサーバー固有証明書の削除
AccountServerCertDisable – 接続設定のサーバー証明書の検証オプションの無効化
AccountServerCertEnable – 接続設定のサーバー証明書の検証オプションの有効化
AccountServerCertGet – 接続設定のサーバー固有証明書の取得
AccountServerCertSet – 接続設定のサーバー固有証明書の設定
AccountSet – 接続設定の接続先の設定
AccountStartupRemove – 接続設定のスタートアップ接続を解除
AccountStartupSet – 接続設定をスタートアップ接続に設定
AccountStatusGet – 接続設定の現在の状態の取得
AccountStatusHide – VPN Server への接続中に接続状況やエラー画面を表示しないように設定
AccountStatusShow – VPN Server への接続中に接続状況やエラー画面を表示するように設定
AccountUsernameSet – 接続設定の接続に使用するユーザー名の設定
CertAdd – 信頼する証明機関の証明書の追加
CertDelete – 信頼する証明機関の証明書の削除
CertGet – 信頼する証明機関の証明書の取得
CertList – 信頼する証明機関の証明書一覧の取得
Check – SoftEther UT-VPN の動作が可能かどうかチェックする
KeepDisable – インターネット接続の維持機能の無効化
KeepEnable – インターネット接続の維持機能の有効化
KeepGet – インターネット接続の維持機能の取得
KeepSet – インターネット接続の維持機能の設定
MakeCert – 新しい X.509 証明書と秘密鍵の作成
NicCreate – 新規仮想 LAN カードの作成
NicDelete – 仮想 LAN カードの削除
NicDisable – 仮想 LAN カードの無効化
NicEnable – 仮想 LAN カードの有効化
NicGetSetting – 仮想 LAN カードの設定の取得
NicList – 仮想 LAN カード一覧の取得
NicSetSetting – 仮想 LAN カードの設定の変更
NicUpgrade – 仮想 LAN カードのデバイスドライバのアップグレード
PasswordGet – VPN Client サービスに接続するためのパスワードの設定の取得
PasswordSet – VPN Client サービスに接続するためのパスワードの設定
RemoteDisable – VPN Client サービスのリモート管理の禁止
RemoteEnable – VPN Client サービスのリモート管理の許可
SecureGet – 使用するスマートカードの種類の ID の取得
SecureList – 使用できるスマートカードの種類の一覧の取得
SecureSelect – 使用するスマートカードの種類の選択
TrafficClient – 通信スループット測定ツールクライアントの実行
TrafficServer – 通信スループット測定ツールサーバーの実行
VersionGet – VPN Client サービスのバージョン情報の取得
⑨ 仮想LANカードを作成
⑩ 接続設定を新規作成
⑪ 接続
⑫ 状態を確認
accountstatusget
以下は設定例で mobilefreeの公開サーバへの接続例
おしまい。
自分流の作り方を、メモ。
todoとは今日すべきことや、今からすべきことを簡単に まとめた物です。
ライフハッカーを読むまでは、存在さえ知らなかったわけですが、これが便利!
頭がぼーっとしていて、何すればいいのか分からなくなった時が使いどき。
① ひたすら何をすべきだったのか思い出す。
これは何でも良くて、ゲームだったり、片付けだったり、夕飯だったり、提出物だったり。
② 思い出したことをメモ帳に書く。
思い出した順番に、すべて書く。
順番の上にあればあるほど、自分の中で重要な物です。
順番の下にあればあるほど、自分の中で どうでも良くなっている物です。
③ 本当は重要でない物や、とても時間のかかる物をインデントします
インデントが多いほど、優先度は低くなります。
④ インデントの小さい物から順に、リストの下から実行します。
下から実行すると、実行しないで溜まっていたタスクが優先的に消えます。