JavaScriptで全角英数と半角英数の相互変換
全角英数の文字コードから65248個前が半角英数の文字コード。
半角英数の文字コードから65248個後が全角英数の文字コード。
// 半角にしたい str.replace(/[A-Za-z0-9]/g, function(s) { return String.fromCharCode(s.charCodeAt(0) - 65248); }); // 全角にしたい str.replace(/[A-Za-z0-9]/g, function(s) { return String.fromCharCode(s.charCodeAt(0) + 65248); });
65248の部分は16進数で表される事が多い。
// 半角にしたい str.replace(/[A-Za-z0-9]/g, function(s) { return String.fromCharCode(s.charCodeAt(0) - 0xFEE0); }); // 全角にしたい str.replace(/[A-Za-z0-9]/g, function(s) { return String.fromCharCode(s.charCodeAt(0) + 0xFEE0); });
こっちの方が無駄にプロっぽいですね。
サンプルコード
// 半角にしたい javascript:alert('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'.replace(/[A-Za-z0-9]/g,function(s){return String.fromCharCode(s.charCodeAt(0)-0xFEE0)})) // 全角にしたい javascript:alert('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'.replace(/[A-Za-z0-9]/g,function(s){return String.fromCharCode(s.charCodeAt(0)+0xFEE0)}))
Re:macにGitをいれてバージョン管理してみる第一歩
まとめお疲れ様です。ちょっとノイズが多すぎて(w)上手く伝わっていなかった部分の補足を。
Macにインストールするならdmgがオススメ
ソースからインストールしたモノを管理するのは、ある程度の知識が必要なので、dmgを使ってインストールするのが色々楽だと思います。
http://code.google.com/p/git-osx-installer/downloads/list?can=3
引用して補足
(この辺、リアルのファイル?とGitの関係がまだつかみ切れていない・・)
ブランチを変更すると、ブランチの内容に合せてファイルが書き換わります。
(※ここにいたるまでの間でAの方でコミットしてても問題ないのかな?)
基本的にコミットはブランチに対して行われるので、Aの方でコミットしてても問題無いです。
masterにAをマージとかはしない方がいいらしいです。
(※あれ、Bをmasterにマージしたよな。マージはしていいけど、masterは消しちゃダメ、ということだけかな?)
ちょっと上手く伝えられてなかった><
Aの実装が終了したら、BをマージしたようにAもマージします。その後、不要であればAを削除。(Bをすぐ削除したのは、バグ修正のための一時的なブランチだったからです)
最終的に全てのブランチをmasterで一つにしてリモートリポジトリにpushする。みたいなイメージです。
コンフリクトしたらその内容を(多分)Aで修正して改めてマージ(まだコンフリクトまで起こせてない)
コンフリクトした場合、以下のようになります。
ローカルブランチとの衝突
<<<<<<< HEAD:ファイル名 (カレントブランチのHEAD(最新)リビジョンの変更内容) あいうえおー ======= (ローカルブランチAの変更内容) あいうえお。 >>>>>>> A:ファイル名
リモートとの衝突
<<<<<<< HEAD:ファイル名 (カレントブランチのHEAD(最新)リビジョンの変更内容) あいうえおー ======= (リモートのリビジョン0ac93a5eeece8c00ab8253e6a721c2134885b7e3の変更内容) あいうえお。 >>>>>>> 0ac93a5eeece8c00ab8253e6a721c2134885b7e3:ファイル名
これを手動で修正してコミットすればOKです。
その他補足
初期構成
初めてGitをインストールした時は、以下のコマンドを実行して、グローバル設定をしておくと色々都合がいいです(詳しくは次回)。
git config --global user.name "名前" git config --global user.email メールアドレス git config --global color.ui auto
以下のファイルを直接編集してもOK。
vi ~/.gitconfig
僕の~/.gitconfigはこんな感じ。
[user] name = rewish email = rewish.org@gmail.com [core] editor = vim autocrlf = false safecrlf = false [color] ui = auto [color "branch"] current = yellow reverse local = yellow remote = green [color "diff"] meta = yellow bold frag = magenta bold old = red bold new = green bold [color "status"] added = yellow changed = green untracked = cyan [alias] st = status ci = commit br = branch co = checkout df = diff lg = log -p
FeedBurnerのTwitter投稿を設定してみたのでテスト
めちゃくちゃ久しぶりのはてなダイアリー。
FeedBurnerにはてなダイアリーのRSSを追加して、Twitterに自動で投稿する設定をしてみたのでテスト。
追記: 無事Twitterに投稿されました。pingは微妙。
mod_rewriteでProxy通してTomcatを動かす
Proxy通す時に正規表現+後方参照使いたいって場合は、RewriteRuleの[P]オプションを使うと良いのですね。
LocationディレクティブとProxyPassでやってたら、数が多すぎて大変だったので使ってみた。
RewriteEngine On RewriteRule /(.+?)\.(do|jsp) ajp://localhost:8009/hoge/$1.$2?%{QUERY_STRING} [P,L]
最近よく使うjQueryの拡張メソッド
小規模アプリとか、ガーッと書いちゃう時によく使う。
jQuery.fn.extend({ isEmpty : function(s, c) { var self = this; return self.size() > 0 ? self : jQuery(s, c); } });
jQueryオブジェクトが空(要素が無い)かどうかを見て、空なら引数を元に新しいjQueryオブジェクトを返す。
jQuery(function($) { var e = $('#hoge').isEmpty('#foo'); console.debug(e); });
こんな感じですかね。
ちなみに下記の様にやってもちゃんとjQueryオブジェクトが返ってくる。さすがjQuery。
jQuery(function($) { var e = $('#hoge').isEmpty($('#foo')); console.debug(e); });