inputlog http://blog.kyosuke.jp 日々覚えたことの記録。 Fri, 06 Feb 2009 06:20:50 +0000 http://wordpress.org/?v=2.5.1 ja yuga.js 0.7.1 - 優雅なWeb制作のためのJavaScript http://blog.kyosuke.jp/2009/01/27/67 http://blog.kyosuke.jp/2009/01/27/67#comments Tue, 27 Jan 2009 10:06:42 +0000 Kyosuke http://blog.kyosuke.jp/?p=67 コメントでいただいたリクエストを反映したyuga.jsの0.7.1を公開します。0.7.0からの差分は以下の通りです。

  • セルフリンク:対象の範囲を指定できるように
  • jQuery: 1.3.1に変更(1.2.6でも動作します)

上記機能が必要ない場合はバージョンアップする必要はありません。

yuga.js 0.7.1 ダウンロード

また、ドキュメントのほうにカスタムパラメータについて情報を追加しました。

http://kyosuke.jp/yugajs/

不具合、リクエストなどありましたら、この記事にコメントしていただけると助かります。

追記: jQuery 1.3系からSafari 2.0をサポートしていないようです。もしSafari 2.0での動作が必要であればSafari 2.0に対応しているjQuery 1.2.6でもyuga.js 0.7.1は動作しますのでjquery.jsを置き換えてください。

]]>
http://blog.kyosuke.jp/2009/01/27/67/feed
yuga.jsのドキュメントページ http://blog.kyosuke.jp/2009/01/09/66 http://blog.kyosuke.jp/2009/01/09/66#comments Fri, 09 Jan 2009 09:21:38 +0000 Kyosuke http://blog.kyosuke.jp/?p=66 yuga.jsの配布ページは長らく放置されていてblogより古いバージョンが配布されていたりとひどい状況だったわけですが、0.7.0の公開に合わせて準備していたドキュメントのページができましたのでこちらに差し替えました。urlも長くてわかりづらかったので新しくしました。前のURLは301でリダイレクトしているので自然とこちらにアクセスすることになるかと思います。

http://kyosuke.jp/yugajs/

全機能一通り書きましたのでブログからダウンロードしていまいち使い方がわからないなどという方も役に立つかもしれません。今後の予定としてはこれにカスタマイズのための情報を追記して行く予定です。誤字や意味がわからない個所などありましたらこの記事のコメントでお知らせいただけると助かります。

]]>
http://blog.kyosuke.jp/2009/01/09/66/feed
yuga.js 0.7.0 - 優雅なWeb制作のためのJavaScript http://blog.kyosuke.jp/2009/01/08/65 http://blog.kyosuke.jp/2009/01/08/65#comments Thu, 08 Jan 2009 11:33:35 +0000 Kyosuke http://blog.kyosuke.jp/?p=65 コメントでいただいたリクエストやちょっとした不具合を修正したyuga.jsの0.7.0を公開します。0.6.3からの差分は以下の通りです。

  • ロールオーバー:処理最適化(前回のバージョン比150%ぐらいの速度アップ)
  • セルフリンク、ロールオーバー:2重に_on, _crがつかないように調整
  • 自動thickbox:urlに?が含まれていた場合は自動でthickboxにならなくした。
  • 外部リンク:アイコン追加機能を付加(デフォルト無効)
  • 外部リンク:自分のドメインから指定されている場合外部リンクとして扱わないよう修正(主にMovable Type対策)
  • するするスクロール:対象のidがなければa要素のname属性で探すよう修正
  • するするスクロール:スクロール後にURLを本来のリンク後のものに書き換えるよう修正
  • 内部処理:url解析時、ついでにGETパラメータを扱いやすくした

yuga.js 0.7.0 ダウンロード

不具合などありましたら、この記事にコメントしていただけると助かります。

yuga.jsの機能が増えてきたので全機能のマニュアルも作っていますがなかなか進まず。。 完成したら公開します。

]]>
http://blog.kyosuke.jp/2009/01/08/65/feed
Ubuntu 8.10 amd64で VMware Server 2 のキーマップ変更 http://blog.kyosuke.jp/2008/11/24/64 http://blog.kyosuke.jp/2008/11/24/64#comments Mon, 24 Nov 2008 10:22:45 +0000 Kyosuke http://blog.kyosuke.jp/?p=64 以前からアンダースコア(_)が入力できなかったりしたVMwareのキーマップが、さらに悪化していたので修正する方法をメモしておきます。

いくつかのサイトで/etc/vmware/configに追記とかかれていたのですが、このファイル、バージョンアップの度に上書きされていたはずですので、~/.vmware/configを作ってこちらに設定を書きました。 設定内容はVMWare 2.0 - るいもの戯れ言で紹介されていたものをソートしただけです。

xkeymap.language = jp106
xkeymap.keycode.37 = 0x01d  # Control_L
xkeymap.keycode.64 = 0x038  # Alt_L
xkeymap.keycode.97 = 0x073  # kana_RO
xkeymap.keycode.100 = 0x079 # Henkan
xkeymap.keycode.105 = 0x11d # Control_R
xkeymap.keycode.107 = 0x137 # Print
xkeymap.keycode.108 = 0x138 # Alt_R
xkeymap.keycode.110 = 0x147 # Home
xkeymap.keycode.111 = 0x148 # Up
xkeymap.keycode.112 = 0x149 # Prior
xkeymap.keycode.113 = 0x14b # Left
xkeymap.keycode.114 = 0x14d # Right
xkeymap.keycode.115 = 0x14f # End
xkeymap.keycode.116 = 0x150 # Down
xkeymap.keycode.117 = 0x151 # Next
xkeymap.keycode.118 = 0x152 # Insert
xkeymap.keycode.119 = 0x153 # Delete
xkeymap.keycode.132 = 0x07d # backslash
xkeymap.keycode.133 = 0x15b # Super_L
xkeymap.keycode.135 = 0x15d # Menu

あとはVMware serverを再起動してあげれば設定が有効になります。

$ sudo /etc/init.d/vmware restart

]]>
http://blog.kyosuke.jp/2008/11/24/64/feed
ubuntu8.10 amd64 インストールメモ http://blog.kyosuke.jp/2008/11/24/63 http://blog.kyosuke.jp/2008/11/24/63#comments Mon, 24 Nov 2008 06:35:32 +0000 Kyosuke http://blog.kyosuke.jp/?p=63 3連休で家のメインPCからwindows vistaを消してubuntu8.10 amd64を新規インストールしたので、その際にインストールし直したものなどをメモしておきます。今回は64bitにしたので6GBのメモリも問題なく認識、利用できます。

Dropbox

以下のリポジトリを追加してsynaptic パッケージ・マネージャからインストールします。

deb http://linux.getdropbox.com/ubuntu intrepid main
deb-src http://linux.getdropbox.com/ubuntu intrepid main 

Virtualbox

以下のリポジトリを追加。

deb http://download.virtualbox.org/virtualbox/debian intrepid non-free

virtualboxのリポジトリのアクセスに必要なので端末で実行します。

$ wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add -

参考:http://www.virtualbox.org/wiki/Linux_Downloads

VMware server 2.0

rpmをdabに変換してインストールしたらアンインストールもできなくなり、結局面倒でOSごと再インストールするはめになったのでおとなしくtar.gzバージョンのvmware-install.plでインストール。 ubuntu8.10 amd64 とVMware-server-2.0.0-122956.x86_64.tar.gzの組み合わせでは特にエラーも出ずにインストールできました。注意点としてはfirefoxでダウンロードすると何度か全部ダウンロードが完了する前にダウンロードが終了してファイルができていた時があるのでmd5sumでちゃんとダウンロードできてるか確認した方が良さそうということ。あとはinstall.plで管理者を変えるか聞かれたときにrootのないubuntuではユーザーを変えておかないと管理画面にログインできなくなってしまうということでしょうか。

The current administrative user for VMware Server  is ''.  Would you like to
specify a different administrator? [no] 

Opera 9.6

debパッケージで追加。あいかわらずデフォルトのフォントがおかしいのでツール→設定→詳細設定→フォントでかたっぱしから好みのフォントを設定。

Skype 2.0 for Linux

公式サイトでは64bit版のダウンロードリンクがみつからなかったのでフォーラムとかで紹介されていたパッケージでインストール。skype.comドメインだし大丈夫かと。

Firefox Flash Player 10 Plug-in for 64bit Linux

先日 64bitのFlash Playerのアルファ版が公開されたのでこれを利用することに。以下からDownload 64-bit Plugin for Linux (TAR.GZ, 3.54 MB)をダウンロードします。

解凍するとlibflashplayer.soというファイルが1ファイル出てきたので/usr/lib/mozilla/plugins/にコピー。Firefoxを再起動すると普通にFlashが見れるようになっていました。32bit版を既に導入している場合はコピーだけではインストールできないかもしれません。

]]>
http://blog.kyosuke.jp/2008/11/24/63/feed
Concrete5をxamppにインストール http://blog.kyosuke.jp/2008/11/18/62 http://blog.kyosuke.jp/2008/11/18/62#comments Tue, 18 Nov 2008 12:22:32 +0000 Kyosuke http://blog.kyosuke.jp/?p=62 MOONGIFTで紹介されていたConcrete5を試すため、xamppにインストールしたのでメモを残しておきます。 すでにxamppはインストール済みだったのでその次のステップから書いていきます。

Concrete5のファイル一式ダウンロード

まずは必要なファイル一式のダウンロードです。Concrete5公式サイトからDownloadボタンを押してSourceForge.netからダウンロードできました。(僕がダウンロードした時点では5.1.0RC1)

c5.localhostでアクセスできるように

ほかのサイトと分けるため、localhostのサブドメインのような形でアクセスできるように設定します。まずhostsファイルに追記して、c5.localhostでアクセスした際、自分のPCを指し示すようにします。 hostsファイルはVistaだと C:\Windows\System32\drivers\etc\hosts にあります。

127.0.0.1       localhost
::1             localhost
127.0.0.1       c5.localhost

次に、ドキュメントルートを作ります。僕はxamppでつかうlocalhostのサブドメインはC:\wwwの中にドキュメントルートを用意していますのでC:\www\c5\htdocsという風にフォルダを作成しました。 フォルダを作成したらダウンロード済みのConcrete5を解凍して展開しておきます。(index.phpがある場所がhtdocs直下になるように展開しました)

ファイルが展開できたらApacheの設定に移ります。C:\xampp\apache\conf\extra\httpd-vhosts.confというファイルがありますのでここにサブドメインを設定します。19行目付近、NameVirtualHostの設定がコメントアウトされている場合はコメントを外して有効かします。

 ~略~
 #
 # Use name-based virtual hosting.
 #
NameVirtualHost *:80
 ~略~
<VirtualHost *:80>
  DocumentRoot "C:/xampp/htdocs"
  ServerName localhost
</VirtualHost>
<VirtualHost *:80>
  DocumentRoot "C:/www/c5/htdocs"
  ServerName c5.localhost
</VirtualHost>

また、httpd.confのほうにセキュリティのためC:\xampp\htdocs以外を表示できなく設定されていますのでC:\www以下を表示できるように追加します。203~231行目の<Directory "C:/xampp/htdocs">が閉じた後に以下を追記しました。

<Directory "C:/www">
  Options Indexes FollowSymLinks Includes ExecCGI
  AllowOverride All
  Order allow,deny
  Allow from all
</Directory>

confファイルをいじったので忘れずにApacheを再起動しておきます。(コントロールパネルのApacheを停止→開始でOK)

MySQLの準備

データベースの準備です。Concrete5は空のDBを一つ用意しないといけないようです。まずはphpMyAdminにアクセスします。(http://localhost/phpmyadmin/)

ついでにユーザーも作ってしまいたいのでトップページから「特権」→「新しいユーザーを追加する」で

  • ユーザー名:c5
  • ホスト:すべてのホスト(空)
  • パスワード:{任意}
  • 同名のデータベースを作成してすべての特権を与える

として一気にユーザーとデータベースを作ります。権限は SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER だけあればよいようなので気になるようなら修正してください。

また、日本語を使うために「c5データベース」の「操作」タブから照合順序を utf8_general_ciに変更しておく必要があります。(1度ここを忘れて日本語が????になってしまいインストールしなおしました)

URLにアクセスしてインストール

あとはhttp://c5.localhost/にアクセスすればサイト名、MySQLのID,PASSなど聞かれますのでここまでで作成した情報を入力すればインストール完了です。

すぐにUsersに入りadminを検索、ユーザー名、パスワードを任意のものに変えておくとよいかもしれません。

]]>
http://blog.kyosuke.jp/2008/11/18/62/feed
ubuntuのメモリを6GBに増設 http://blog.kyosuke.jp/2008/07/30/59 http://blog.kyosuke.jp/2008/07/30/59#comments Tue, 29 Jul 2008 18:09:56 +0000 Kyosuke http://blog.kyosuke.jp/?p=59 家のデスクトップであるubuntuのメモリを増設しました。元の2GBに+4GBして合計6GBです。 4GBを越えると32bit OSでは通常認識できません。さしただけでは3GB程度しか認識されませんでした。

そこでPAE(Physical Address Extension)を使います。PAEを使うとアドレスを拡張して32bit OSでも64GBまでのメモリを認識することができます。

ubuntuでPAEを有効にするにはカーネルをPAEを有効にしたものにする必要があります。ubuntuではserver用カーネルでPAEが有効になっているようなのでこちらを使うことにします。書くブログを参考に以下をSynapticでインストールしました(不要なものも含まれてるかもしれません)。

  • linux-image-server
  • nvidia-kernel-source
  • linux-headers-server
  • module-assistant
  • linux-restricted-modules-server
  • linux-restricted-modules-2.6.24-19-server

これらをインストールすることでPAEが有効なserverカーネルで起動することができます。

ここまでですべて完了したかに見えたのですが、なぜか5GBしか認識してませんでした。BIOS画面で確認したところBIOS時点で5GBしか認識されていないようです。メモリの不具合かと思い、いろいろ試してみました。

  • 元の状態(1GB+1GB)-> 2GB
  • 元+新しいメモリ(1GB+1GB+2GB+2GB)-> 5GB
  • 新しいメモリ(2GB+2GB)のみで起動 -> 3GB
  • 新しいメモリ単体(2GB)-> 2GB
  • スロット変えてみる(2GB + 2GB)-> 3GB

という感じで、どうやら新しいメモリ2枚を同時に使うと1GB分どこかへ消えているようです。

BIOSをアップデートしたり、マザーボードの型番 ASUS P5B で検索していると、どうやらメモリリマップという機能を発見。メモリリマップをBIOSで有効にしたところ無事、6GB認識することができ、ubuntuからも普通に6GB認識されました。

いままで32bit OSでは4GBまでしかメモリを載せられないと思っていましたが、予想以上に簡単に認識させることができました。これでVMwareのWindowsに3.6GBのメモリを割り振るとか贅沢な設定にすることができます。メモリも安いですし32bitだからとメモリ増設を諦めていた方はぜひお試しください。

参考

]]>
http://blog.kyosuke.jp/2008/07/30/59/feed
JavaScriptでの1文字変数名の慣習 http://blog.kyosuke.jp/2008/07/24/58 http://blog.kyosuke.jp/2008/07/24/58#comments Thu, 24 Jul 2008 12:47:33 +0000 Kyosuke http://blog.kyosuke.jp/?p=58 プログラム言語には仕様にはないけど、多くのプログラマーが同じように書いている慣習があります。その中で1文字の変数名とその意味を集めてみました。(間違っていたり、これが抜けてるよ!などありましたらコメントでご指摘いただけるとうれしいです)

  • a: 一時的な配列(Array)
  • e: イベント [thx:javascripterさん]
  • i: ループの中のカウンター(indexの頭文字)
  • j: ループを2重、3重にする場合、アルファベットを順番でj,k..とiの代わりに順番に利用
  • k: ループを2重、3重にする場合、アルファベットを順番でj,k..とiの代わりに順番に利用
  • n: 一時的な数字(Number)
  • o: 一時的なオブジェクト(Object)
  • s: 一時的な文字列(String)
  • x: x座標
  • y: y座標
  • $: document.getElementById()に相当する機能を持つfunction

おまけ

  • hoge: 適当な名前の変数を宣言したいときに使われる何の意味もない名前
  • foo: 適当な名前の変数を宣言したいときに使われる何の意味もない名前(英語圏版)
  • bar: 適当な名前の変数を宣言したいときに使われる何の意味もない名前(英語圏版)
]]>
http://blog.kyosuke.jp/2008/07/24/58/feed
OR演算子を使ったデフォルト値の設定 http://blog.kyosuke.jp/2008/07/07/57 http://blog.kyosuke.jp/2008/07/07/57#comments Mon, 07 Jul 2008 12:26:14 +0000 Kyosuke http://blog.kyosuke.jp/?p=57 コメントでe–reiさんより以下のようにOR演算子(||)についての質問をいただいたので解説してみます。

JQuery,MooTools,他多数ライブラリ内部で (例) 1 :var SomeClass = Class.create(); 2 :SomeClass.prototype = { 3 : initialize: function(options){ 4 : Object.extend( 5 : this, 6 : Object.extend({ 7 : property1: 1, 8 : property2: 2 9 : }, options || {}); 10: ); 11: } 12:}; の様なソースがあったとして、 9行目の”options || {}”様な書き方がされているのをよく見るのですが、 これはどの様な読み方なのでしょうか。

OR演算子(論理和演算子・Logical OR Operator)は通常、if文の中で左右のどちらかがtrueであればtrueと判定したい場合に使います。

if (a < 1 || b > 2) {
  //aが1未満、またはbが2より大きい場合に実行されるスクリプト
}

質問のような使い方をする場合は||の動作について知っておく必要があります。||があった場合以下のように処理されます。

  1. まずは左側の式がtrueかどうか調べる
  2. 左側の式がtrueの場合は左側の式をそのまま返す
  3. 左側の式がfalseの場合は右側の式がtrueかどうか調べる
  4. 右側の式がtrueの場合は右側の式をそのまま返す
  5. 両方ともfalseならfalseを返す

この性質を利用すると特定の変数がundefindなど設定されていなかった場合、他の値を使うということができます。

var foo = bar || 0;

このように書くとbarがtrueの場合(つまり値が設定されているなどの場合)はbarの値を、undefindなど設定されていない場合は0を使うことになります。デフォルト値を設定する際に使うと便利です。もちろん同じ式をif文を使って書くこともできますが、だいぶ長くなってしまいます。

var foo;
if (bar) {
  foo = bar;
} else {
  foo = 0;
}

質問でいただいた”options || {}”はoptionsがあればそれを使い、なければ空のオブジェクトを使うという意味になります。

参考:オライリー JavaScript 第5版 5.7.2 論理和演算子(||)

]]>
http://blog.kyosuke.jp/2008/07/07/57/feed
yuga.js 0.6.3 - 優雅なWeb制作のためのJavaScript http://blog.kyosuke.jp/2008/07/07/56 http://blog.kyosuke.jp/2008/07/07/56#comments Mon, 07 Jul 2008 09:52:34 +0000 Kyosuke http://blog.kyosuke.jp/?p=56 主にコメントでいただいた不具合を修正したyuga.jsの0.6.3を公開します。0.6.0からの差分は以下の通りです。

  • 0.6.3 :thickboxのクラスが付いていても2重に設定されないように調整、ストライプがテーブルでうまく動作しない不具合の修正
  • 0.6.2 : ロールオーバーセレクタで#nav li imgなどの指定とselfリンクが合わせて使えなかった不具合を修正
  • 0.6.1 : ロールオーバーセレクタカスタム時に複数指定に対応、#のみの仮リンクにするするスクロールを適用しないように

基本的には特定環境におけるバグフィックスです。0.6.0でも問題がないかたは無理にアップデートする必要はありません。

yuga.js 0.6.3 ダウンロード

不具合などありましたら、この記事にコメントしていただけると助かります。

]]>
http://blog.kyosuke.jp/2008/07/07/56/feed