“メモ箱” カテゴリのアーカイブ

Git勉強会(http://atnd.org/events/93)に参加してきました。
で、ここに書く内容は、まとめ的なものではなく、単に自分用メモなので、あしからず。。。

【git – 読み方:ギット】

各ファイルのパスと、差分情報のハッシュ値を記録。
オブジェクトデータベースと呼んでいるものに入れていく。
→この入れていった箱のようなものをリポジトリという。


・HEAD 歴史の先頭(最新)。コミットされたもの。
・Index HEADとWorktreeの中間的存在。コミットされた最新版をHEADから取得してくる&Worktreeでファイル編集したものをここにいれる。
     なぜIndexのようなステージングエリアがあるのか?
     →Worktreeには、バージョン管理するファイルのみがあるとは限らない!バージョン管理しているファイルとそのファイルの情報をIndexで管理することができる。そうすることによって、小刻みに丁寧に変更していくことができる。
・Worktree ここでファイルの内容を編集する。


CVSやSVNでは中心にサーバーがあって、そこからソースを持ってきて、その持ってきた場所に対してじゃないとコミットできないが、Gitは欲しい部分だけ差分をとってきたり、入れたりできる。

$ git clone git://git.or.cz/git.git my-git
$ cd my-git
$ edit README
$ git add -p

この-pオプションをつけると、細かくcommitしていい部分なのかどうかをコミット前に聞いてくれる。

$ git diff
$ git diff --cached
$ git commit

$ git diff –color-words 単語単位で変更点の色を変えてくれる。


HEAD→Index→worktree
この流れでworktreeでファイル編集作業をしている最中に、その作業とは別に、先にコミットしてしまいたい修正があった場合、
stash save
をすることによって、編集していた状態(HEAD→Index→worktreeの状態)を一時的に他の場所にセーブしておいて、HEAD→Index→worktreeをもとの状態に戻す。
〜そしてここで先にコミットしたかった修正をコミットする。〜
stash apply
をすることによって、stash saveでセーブしておいた状態にHEAD→Index→worktreeをもどせる。


A→B→C→D→E
の順でIndexに登録したとき、Bにもし間違いがあった場合は、
rebaseコマンドで何個前からすべてを書き換えるということができる。

$ git checkout -b

(ブランチをつくる)

$ git commit -a -s -v
$ git show

何をしたか見れる。

$ git grep -n -e 'VIA_823[56]'

git が知っているファイルからgrepしてくれる。(オプジェクトファイルなどは無視してくれる。)

$ git commit --amend -a

このamendオプションをつけると、さっきcommitしたものを捨てて、コミットする。


MacにGitをインストール
http://code.google.com/p/git-osx-installer/downloads/list?can=3

Comments Git勉強会メモ はコメントを受け付けていません。

レンタルサーバーはCORESERVER(http://www.coreserver.jp/)を利用しているのですが、PHP6が使えるようなことを書いてあるページ(http://www.coreserver.jp/help/index.php/phpcgi/)を発見!

うむ。。。ものっすごい気になる。後でやってみよう。。。

で、CORESERVERではphp.iniを独自のものにできるのね!
何ができるか隅々まで呼んでいなかった私が悪いのだけれど、今までかなり損をしてしまっていた気分。。。(笑)

Comments CORESERVER 気になるPHP6 はコメントを受け付けていません。

メモメモ

持続的接続はDB接続・切断のコストを低減するが、
mysqlはDB接続・切断がもともと速い!

Comments 持続的接続 - PHP はコメントを受け付けていません。

めもめも・・・
SQLSTATE[08004] [1040] Too many connections
というエラーが画面に表示されて、不安定な状況。
pacheの子プロセスの起動数に対して、mysqlが接続可能なクライアント数が少ないのが原因。
mysqlのコネクション数のmaxをapacheのコネクション数のmaxより若干余裕をもって設定しておくと、解決した。

Comments 2 コメント »

iKnowでログインするOpenIDを変更したい場合、
ちょっとやり方が分かりづらかったのでメモ。

1.ログイン設定画面を開く

マイページメニューのログイン設定をクリックして、ログイン設定画面を開く。

2.OpenID設定削除

現在のOpenIDが表示されるので、その下の削除ボタンをクリックする。

3.トップページに遷移

iKnowロゴをクリックしてトップページに戻る。

4.OpenIDを再登録開始

OpenIDを使って登録をクリックする。(mixiやYahooのOpenIDを登録する場合は、そちらを選択)

5.再登録するOpenIDの入力

OpenIDURLを入力し、ログインボタンをクリックする。

6.自分のiKnowのユーザ情報とひもづける

iKnow!ユーザIDをお持ちの方という欄が右側に表示されるので、自分のiKnow!ユーザーネームとパスワードを入力してログインボタンをクリックする。
以上で設定完了。ログアウトしてから、設定したOpenIDでログインしてみて、ログインできたら成功!
(それにしても、変更方法がわかりづらかった。。。)

Comments 4 コメント »

PHPで日付の妥当性チェックをする際に、checkdate関数をよく使うのですが、
マニュアルをよくよく見ると・・・

「年は 1 から 32767 の間となります。 」と。。。

で、気になったわけです。


[テキストボックス]年[テキストボックス]月[テキストボックス]日

という見た目の入力項目で、年のテキストボックスに西暦の下2桁を入れた場合どうなるのか。
試しに「78」と入力してみると、みごと日付は妥当だと判断されるんですね。

で、そのままmysqlでdate型になっているカラムにインサートしちゃうとどうなるかというと。。。
そこは補完が効いて「1978」年で登録されると。
「08」と入力するとDBでは2008年で登録されると。

境目は「69」と「70」のところにあって、
「69」⇒「2069」
「70」⇒「1970」
と補完されました。

この境目については、epoch前とepoch後というWassrメッセージを頂いているのですが、ここでは割愛・・・

結局、年の部分に4桁のチェックは必要だなぁ。と、思った次第です。
あと、テキストボックスの場合は、左側に「西暦」とか表示してあげるとわかりやすいと思いました。

以上、メモ書きでした。

Comments 日付妥当性チェックをするときに はコメントを受け付けていません。

Wassrで流れている発言のなかから、きになった。
コレ⇒http://9arrows.com/

Comments 気になるオープンソースソフトウェア[プロジェクト管理] はコメントを受け付けていません。

苦労したのでメモ。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$Url = 'http://ほげほげー.com/ほげー/ほげー.php';
$UserId = 'ユーザID';
$Pwd = 'パスワード';
$binaryData = @file_get_contents(’ファイル名’, FILE_BINARY);
 
$arrUrl = parse_url($Url);
$host = $arrUrl["host"];
$path = $arrUrl["path"];
$port = isset($arrUrl["port"]) ? $arrUrl["port"] : 80;
$socket = @stream_socket_client('tcp://' . $host . ':' . $port);
$strHeader = "POST " . $path . " HTTP/1.1\r\n" .
             "Host: " . $host . "\r\n" .
             "Content-type: application/jpeg\r\n" .
             "Authorization: Basic " . base64_encode($UserId . ":" . $Pwd) . "\r\n" .
             "Content-length: " . $entity->size . "\r\n" .
             "\r\n";
@fwrite($socket, $strHeader . $binaryData . "\r\n");
while ($buff = @fread($socket)) {
    $response .= $buff;
}
@fclose($socket);

ちなみにZendFrameworkのライブラリにZend_Httpという便利なものがあります!!!
Zend_Httpなら、下記のように書くだけ!

1
2
3
4
5
6
7
8
9
10
11
require_once 'Zend/Http/Client.php';
 
$Url = 'http://ほげほげー.com/ほげー/ほげー.php';
$UserId = 'ユーザID';
$Pwd = 'パスワード';
$binaryData = @file_get_contents(’ファイル名’, FILE_BINARY);
 
$client = new Zend_Http_Client();
$client->setUri($Url);
$client->setAuth($UserId, $Pwd, Zend_Http_Client::AUTH_BASIC);
$client->setRawData($binaryData, 'application/jpeg')->request('POST');

Comments ベーシック認証のかかっている別サイトにJPEG画像を生データでPOSTするメモ はコメントを受け付けていません。

Vista+xamppで、Gallery2のモジュールのひな形を作るメモだったりします。

[スタート]⇒[コンピュータ]を右クリック⇒[プロパティ]⇒[システムの詳細設定]⇒[続行]でシステムのプロパティ画面が開く。「詳細設定」タブの「環境変数」ボタンを押す。

「システムの環境変数の欄に「Path」という項目があるので、その項目を選択して「編集」ボタンを押す。「変数値」の最後に「;c:\xampp\php」を追記。

で、OKOKで画面を閉じていく。コマンドプロンプトを立ち上げっぱなしの場合は、一度閉じてから開く。

実行したいPHPファイルのあるディレクトリに移動して、「php ファイル名.php」で実行できる。

が!!!だ、Gallery2のモジュールのひな形を作成するcreate-module.phpをこの方法で実行すると、下記のメッセージが出る。

C:\xampp\htdocs\gallery2\lib\tools\creator>php create-module.php
You must run this from the gallery2 directory

しかたないので、C:\xampp\htdocs\gallery2まで移動してから実行したらうまくいった!

C:\xampp\htdocs\gallery2>php lib\tools\creator\create-module.php
What is the name of your module? [Hello World] (ここはモジュール名ほげほげー)
What is the id of your module? [wifigadgets] (ここはモジュールIDほげほげー)
* * * * * * * * * * * * * * * * * * * * * * * * * *
Your module is ready!  You must build it by doing:
 
  cd modules/(ここはモジュールIDほげほげー)/classes
  make && make clean
 
Then you can go to the Site Admin -> Modules
page and install and activate your module!
* * * * * * * * * * * * * * * * * * * * * * * * * *

Comments Vista+xamppでphpコマンドライン実行する。 はコメントを受け付けていません。

YUI 3.0 Preview Release 1

8/13に出ていたみたいです。日本時間だと8/14なんかな?

Animation Utility: Animating Along a Curved Path
これおもろい。

Comments YUI 3.0 Preview Release 1 はコメントを受け付けていません。