Claude Code Docs - #1 (Claude Code の仕組み)
これまで何となく使っていたClaude Code。 Claude Code Docsを読んでいき、知らなかった点や気づきをメモしていく。
Claude Code の仕組み - Claude Code Docs
Escを2回押すとローカルファイルの変更を直前の状態に巻き戻すことができる- チェックポイントはローカルなファイル変更管理を行なっており、git とは関係なく動作する
- 以下の権限モードを
Shift+Tabで切り替える- default
Claude はファイル編集とシェルコマンドの前に求めます
- accept edits on
Claude はファイルを編集し、mkdir や mv などの一般的なファイルシステムコマンドを実行するよう求めず、他のコマンドはまだ求めます
- plan mode
Claude は読み取り専用ツールのみを使用し、実行前に承認できるプランを作成します
- auto mode
Claude はバックグラウンド安全チェック付きですべてのアクションを評価します。現在は研究プレビューです
- default
.claude/settings.jsonで特定のコマンドをあらかじめ許可しておける
修正を入力して
Enterを押す と、実行中のツールを停止せずに送信できます。
有能な同僚に委譲することを考えてください。コンテキストと方向を与え、Claude が詳細を理解することを信頼します。
チェックアウトフローは期限切れのカードを持つユーザーに対して壊れています。 関連するコードは src/payments/ にあります。調査して修正できますか?
Node.jsのドキュメントを読む
20140418 19:08-19:30
Smalloc
http://nodejs.jp/nodejs.org_ja/api/smalloc.html
Stability: 1 - Experimental
- ドキュメント読んだだけだと、Buffer との役割分担をどうすればいいか分からない
smalloc.alloc(length[, receiver][, type])
- length {Number} で指定した長さの外部の配列データを receiver に割り当てる
- 外部のというところがポイントらしい。これが
Bufferとの違い? - receiver はオブジェクト(配列を入れると例外が投げられる)
typeは smalloc.Type に入ってて、以下が指定可能- Int8
- Uint8
- Int16
- Uint16
- Int32
- Uint32
- Float
- Double
- Uint8Clamped
smalloc.copyOnto(source, sourceStart, dest, destStart, copyLength)
- source 配列の sourceStart インデックスから長さ copyLength 分のデータを、dest 配列の destStart インデックスの位置にコピーする
smalloc.dispose(obj)
smalloc.alloc()で obj に割り当てたメモリを解放
smalloc.hasExternalData(obj)
objが外部に割り当てられたメモリを持つならtrue
Node.jsのドキュメントを読む
20140416 16:23-16:55
REPL (Read-Eval-Print-Loop)
http://nodejs.jp/nodejs.org_ja/api/repl.html
- 結果を確認しながら対話的にJavaScriptを実行できる
- コマンドラインから引数無しで
nodeを実行すると出てくるのが REPL プログラム。それをrequire("repl").start()で任意のタイミングで使える 標準入力の代わりに Unix ドメインソケットをベースとしたサーバから REPL を起動することによって、再起動することなく node の常駐プロセスへ接続することができます。
- REPLコマンドラインでは
_は最後の式の結果- REPLServer インスタンスの
contextプロパティに値をセットしておくと、REPL ではそれがローカル変数になる - REPL コマンド .break/.clear/.exit/.help/.save/.load
C === .break / <ctrl-D> === .exit
Node.jsのドキュメントを読む
20140410 15:01-16:03
Query String
http://nodejs.jp/nodejs.org_ja/api/querystring.html
- querystring.stringify -> ハッシュオブジェクトのクエリ文字列化
- querystring.parse -> クエリ文字列のハッシュオブジェクト化
Readline
http://nodejs.jp/nodejs.org_ja/api/readline.html
Stability: 2 - Unstable
コマンドラインインターフェースを作るモジュール。あの MySQL コマンドラインインターフェースみたいなのが作れる。
このモジュールを一度起動すると、このインタフェースをクローズするまで node プログラムは終了しない
- インスタンスの作り方。
input/outputoption は必須。
var readline = require('readline'); var rl = readline.createInterface({ input: process.stdin, output: process.stdout });
- あとはイベント発火のコールバックを設定しておいて色々する
FuelPHP oilコマンドの使い方を学ぶ
20140306 13:30-15:00
http://fuelphp.jp/docs/1.7/packages/oil/intro.html
Generate
http://fuelphp.jp/docs/1.7/packages/oil/generate.html
この項は超重要。
コントローラ、モデル、ビューモデル、マイグレーション、スキャフォールド、タスク
、設定、パッケージなどのベースになるファイルが oil コマンドで生成可能。
FuelPHPでは「oil コマンドでジェネレート → 中身をいじる」というフローで制作していくのが吉。
FuelPHP開発の起点になる重要なコマンド。
スキャフォールド
$ php oil g scaffold monkey name:string description:text
チュートリアル中のこのコマンドを実行すると、簡単に入力編集ができるフォームが生 成される。 もちろんDBと繋がってる。ただし、db.php の設定をしておくことが前提。(デフォルト の環境だと fuel/app/config/development/db.php)
Refine
http://fuelphp.jp/docs/1.7/packages/oil/refine.html
定義しておいたタスクを実行する。
タスクは install, migrate, session, fromdb が最初から定義されている。
Package
http://fuelphp.jp/docs/1.7/packages/oil/package.html
パッケージのインストール&アンインストールをコマンドラインで。
Test
http://fuelphp.jp/docs/1.7/packages/oil/test.html
oil test コマンドで PHPUnit を使ったテストを実行可能。
Console
http://fuelphp.jp/docs/1.7/packages/oil/console.html
簡単なPHPコードをコンソールでテストできるよ。
20140129 20:40-20:57
- localrc.vim
http://nanasi.jp/articles/vim/localrc_vim.html
http://www.vim.org/scripts/script.php?script_id=1408
Vimにディレクトリごとに違う設定を適用できる。 プロジェクトごとに expandtab するかしないか、shiftwidth=2 か shiftwidth=4 か、みたいな違いを吸収するために導入