そろそろ、小銭入が欲しいなぁと思っており、機能性と総手縫いに惹かれて、3月に購入。
3月唯一のお買い物になった。
思えば、兄から大学2年くらいの時にもらったKC’sの小銭入が革小物にのめりこむきっかけだったように思う。
KC’sからHerzときて、今回はお気に入りの万双にした。
小さな小物は派手な方がいい、という考えから、今回はブライドルの赤にしてみた。
思っていた以上に美しくて、ブライドル特有のブルームがにじみ出ている。
「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。
そろそろ、小銭入が欲しいなぁと思っており、機能性と総手縫いに惹かれて、3月に購入。
3月唯一のお買い物になった。
思えば、兄から大学2年くらいの時にもらったKC’sの小銭入が革小物にのめりこむきっかけだったように思う。
KC’sからHerzときて、今回はお気に入りの万双にした。
小さな小物は派手な方がいい、という考えから、今回はブライドルの赤にしてみた。
思っていた以上に美しくて、ブライドル特有のブルームがにじみ出ている。
半年ぐらい雨用の鞄をどうしようか悩んでいて、ようやくでた結論がこの鞄。2月くらいに購入。
フェリージのナイロン鞄とかフラソリティの小さいミネルバボックスの鞄とかTUSTINGのコットン鞄とか・・・・・
というように色々悩んでいたが、結局客観的に他人がこの鞄を持っていた場合に純粋に一番欲しいと思えたので、万双のイタリー生地天ファスナーの外ポケット付にした。
結局、10万以下の価格帯で万双以上にコストパフォーマンスの高い鞄は無いように思える。
購入した時に満足感はやはりずば抜けている。
この小麦色のイタリー生地は非常に分厚く、肌触りもよくて、心地よい気分にさせてくれるような色だ。
また、非常に綺麗な生地であり、高級感がある。
春の天気の良い日にちょっと旅行したい時などにぴったりの色である。
部分的にミネルバ・リスシオを使っており、革鞄としての魅力も持っている。
ちょっと修正。
とりあえず、絶対見とくべきアニメをまとめておきます。
レビューではないですよ。
(上であればあるほど好きなアニメ。)
■アニメの国宝
・交響詩篇エウレカセブン
・プラネテス ΠΛΑΝΗΤΕΣ
■ゆずれない最高のアニメ
・攻殻機動隊 STAND ALONE COMPLEX
・攻殻機動隊 S.A.C 2nd GIG
・トップをねらえ!
—————————–絶対的な差——————————–
■かなり好きなアニメ
・機動戦士 ガンダム SEED
・マクロスプラス MACROSS PLUS
・機動戦士 ガンダム SEED DESTINY
・コードギアス -反逆のルルーシュ-
・ゼーガペイン ZEGAPAIN
・精霊の守り人
・紅
・機動戦士ガンダム
・機動戦士Zガンダム
■好きなアニメ
・BLACK LAGOON -ブラックラグーン-
・BLACK LAGOON -ブラックラグーン- The Second Barrage
・ジパング
・鋼の錬金術師
・ラーゼフォン
・COWBOY BEBOP
・機動戦士 ガンダム0083 -STARDUST MEMORY-
・新機動戦記 ガンダムW
■まぁまぁ好きなアニメ
・フルメタル・パニック!
・フルメタル・パニック!The Second Raid
・創聖のアクエリオン
・ぼくらの
・CLAYMORE -クレイモア-
・無限のリヴァイアス
[おまけ]
■まだ見てないけど気になってるアニメ
・機動戦艦ナデシコ
・機動戦士 ガンダム 0080
・蟲師
・DARKER THAN BLACK 黒の契約者
・FREEDOM
・スクライド
・カレイドスター
・銀河英雄伝説
・銀色のオリンシス
・蒼穹のファフナー
・灰羽連盟
・地獄少女
・テクノライズ Texhnolyze
・Serial Experiments Lain
・MADLAX -マドラックス-
・LAST EXILE ラストエグザイル
・キスダム -ENGAGE planet-
・ヒロイック・エイジ
※完結しているアニメだけを選択しています。
NTPD上の時間と、LocalTimeとを比較するスクリプトを作ってみた。
結構色んな要素を含んでいて勉強になったかな。
ネットワークバイト列から時間への変換などをunpackを用いて実装する。
#!/usr/bin/perl use strict; use Socket; # Local Time Lag Alart Threshold Seconds my $threshold_sec = 30; # NTPD Informations my $host = 'ntp1.jst.mfeed.ad.jp'; my $protocol = "ntp"; my $sec_of_70years = 2_208_988_800; # Local Settings my $hostname = `/bin/hostname`; chomp($hostname); my $date = `/bin/date +%Y/%m/%d-%H:%M:%S`; chomp($date); # Variable Settings my @buf; my ($connect_host, $port, $ipaddr, $host_addr); my ($send_data, $send_data_byte, $port_by_byte, $host_by_in_addr_struct, $recv_data); my ($TransmitTime, $ntpd_time, $ntpd_time_sec, $local_time, $local_time_sec, $deley_sec); if (!socket(SOCKET, PF_INET, SOCK_DGRAM, getprotobyname("udp"))) { print "socket: $!"; exit 1; } $port_by_byte = scalar(getservbyname($protocol, "udp")); $host_by_in_addr_struct = inet_aton($host); $connect_host = sockaddr_in($port_by_byte, $host_by_in_addr_struct); $send_data = pack("N12", 0x0B000000); $send_data_byte = send(SOCKET, $send_data, 0, $connect_host); if (!defined($send_data_byte)) { print "send : $!"; exit 2; } $host_addr = recv(SOCKET, $recv_data, 1024, 0); if (!defined($host_addr)) { print "recv : $!"; exit 3; } ($port, $ipaddr) = sockaddr_in($host_addr); $host = gethostbyaddr($ipaddr, AF_INET); print "DEBUG: Host: $host, Port: $port\n"; @buf = unpack("B32 B32 B32 B32 B64 B64 B64 B64 B*", $recv_data); @buf = unpack("N*" , $recv_data); $TransmitTime = $buf[10]; $ntpd_time_sec = $TransmitTime - $sec_of_70years; $local_time_sec = time(); $deley_sec = abs($local_time_sec - $ntpd_time_sec); # DEBUG $ntpd_time = scalar(localtime($ntpd_time_sec)); $local_time = scalar(localtime()); print "DEBUG: ntpd? time: $ntpd_time.???? ntpd? time sec: $ntpd_time_sec\n"; print "DEBUG: local time: $local_time.???? local time sec: $local_time_sec\n"; if ($deley_sec >= $threshold_sec) { print "DEBUG: There is Local time lag ( = $deley_sec seconds ) over $threshold_sec seconds in $date at $hostname.\n"; }
実行結果はこんな感じ。
# perl a DEBUG: Host: ntp1.jst.mfeed.ad.jp, Port: 123 DEBUG: ntpd time: Wed Mar 11 22:43:06 2009. ntpd time sec: 1236778986 DEBUG: local time: Wed Mar 11 22:41:23 2009. local time sec: 1236778883 DEBUG: There is Local time lag ( = 103 seconds ) over 30 seconds in 2009/03/11-22:41:23 at server01.
すごい簡単にできてしまう。
PHPのこういうところが大好きだ。
まずは、auth部分のスクリプト。
<html> <body> <?php require_once("Auth/Auth.php"); $params = array( "dsn" => "mysql://db_user:db_user_pass@127.0.0.1/db_name", "table" => "db_tbl", "usernamecol" => "user_col", "passwordcol" => "pass_col" ); $auth = new Auth("DB", $params); $auth->start(); if ($auth->getAuth()) { print("認証成功\n"); print("ユーザ名:".$auth->getUsername()."\n"); } else{ print("認証失敗\n"); } ?> </body> </html>
次に実際に認証したいページで上記PHPをrequire。
# cat index.php <?php require_once("./auth.php"); if (!$auth->getAuth()) { echo "ダメ"; exit; } ?> <HTML> <HEAD> <TITLE>AUTH_TEST!!!</TITLE> </HEAD> <BODY> 認証したいページのコンテンツ </BODY> </HTML>
楽にできるなぁ。
db構成は以下みたいなもので。
> use auth_test > select * from auth_tbl; user pass -------------------------------- matsumoto_r パスワードのハッシュ
ちなみに忘れがちなテキストのハッシュのとり方は以下。
# echo -n "matsumoto_r" | md5sum
nオプションを忘れないように。