サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
円安とは
orangehat.hatenadiary.org
一昔前に (function(){})() とか new function() {} とか function() {}() とかは何やねんという記事が流行った??時期がありました。 あの時は、いくつか記事を読んでも正直もう何が何だかわからなかったのですが、久しぶりに紐解いてみるとちょっとはわかったような気がしたのでメモ。 まず、(function() {})()とかnew function() {}の違い これに関しては、ココが非常に単純明解です。 こちらも参照。 つまり、 (function(){})() 無名関数を今すぐ実行 最後の () が今すぐ実行するということ ロード後1度だけ実行 // 無名関数をすぐに実行 (function(){ // 初期化処理などを行う alert('test1'); })(); new function() {} 無名オブジェクトを作成して、その場で
Suvbersionには属性というのが指定でき、これが結構興味深かったので。 属性とは ディレクトリとファイルのバージョン管理に加えて、Subversionはバージョン化されたファイル、ディレクトリに付随したバージョン化されたメタデータの追加、修正、削除のためのインターフェースを用意しています。 このようなメタデータを属性と呼びます。 はい意味ワカラン。 まあ言葉なんてものはどうでもよくて、使い方を理解していればいいわけです。 使い方 その1 svn:ignore まず一つ目。 Subversionのバージョン管理下に置くには、svn importコマンドを使いますが、その時に余計なファイルがimportされてしまうことがあります。 そんなときは、 $ svn propset svn:ignore *.txt . property 'svn:ignore' set on '.' これはカレ
いわゆるファイルロック File lockFile = new File("pid.lock"); lockFile.deleteOnExit(); while (lockFile.createNewFile()) { try { // ロックを取得している場合の処理 ... } finally { lockFile.delete(); } } else { throw new RuntimeException("ロックを取得できませんでした."); } 上記はいわゆるファイルロックと言われるものです。 マルチスレッド環境の際に同じ処理が並列に実行されるとマズい場合、ファイルロックにより同じ処理が並列に実行され内容に制御します。 File#createNewFile() は、ファイルが存在しなければ新規にファイルを作成しTrueを返し、既にファイルが存在すればFalseを返します。 ただし
vimの補完とは行ってもctagsとかの補完じゃなくて、:e とかでファイルを開くときのコマンドラインモードのファイル補完です。 まあ、現状のままでも便利だとは思うんですが、ファイル名を一覧表示してれないので見にくかったりします。(set wildmenu の状態) あのグルグル回るやつは、探しているファイルがなかなか出てこなかったりするとイライラするので。笑 そこで、ココによると、 set wildmode=list:longestこれで補完候補が一覧表示されて、いい感じになります。 でもファイル名がユニークになるまで文字列を打ちつづけなければ、最終的なファイル名までの補完が効きません。 ということで、それすら面倒くさいので、:h wildmodeを見ると Examples: :set wildmode=full Complete first full match, next match
サーバ構築時とかにリモートのサーバを制御する必要があるとき、xhostを使うと便利なのでメモ。 というかUbuntuはセキュリティ上少し設定しないとリモートからのXを許可しないっぽい。 環境 Xサーバ リモートのXアプリケーションを表示する側 Ubuntu8.10 IP:192.168.1,10 Xクライアント リモートでXアプリケーションを起動する側 Red Hat IP:192.168.1.21 Xサーバ側の設定 X11のポートフォワーディングを許可しているか確認 X11Forwardingがyesになっているかどうか $ less /etc/ssh/sshd_config ... X11Forwarding yes ... Xサーバの6000番ポートを開ける $ sudo vi /etc/X11/xinit/xserverrc ... exec /usr/bin/X11/X -nol
Mayaa + SAStrutsのEclipseプロジェクト作成メモ. Mavenを使用する SAStrutsのアーキタイプ作成 mvn archetype:generate -DarchetypeRepository=https://www.seasar.org/maven/maven2 \ -DarchetypeGroupId=org.seasar.sastruts \ -DarchetypeArtifactId=sa-struts-archetype -DarchetypeVersion=1.0.4-sp5.0 \ -DgroupId=com.example -DartifactId=mayaa_project -Dversion=0.0.1 pom.xmlにMayaaを追加 <dependency> <groupId>org.seasar.mayaa</groupId> <arti
急にさくらインターネットに入れてるTracが動かなくなった。 本日すでにがんばって2週間目くらい。泣 現象 ブラウザからアクセスすると、Internal Server Errorで何が原因かもわからず。 とりあえずバックアップだけでも取ろうと $ trac-admin /path/to/trac hotcopy trac.dmp すると、Segmentation faultというメッセージのみ。 という感じで何が原因か全くわからず。 問題点1 python2.4 -> 2.5 さくらインターネットがpythonのバージョンを2.4から2.5にあげていたことが発覚。 それに伴い、python2.5で全てコンパイルし直したけどダメ。。。 問題点2 OSのバージョンアップ FreeBSD7.1へ いろいろ触っているとどうもsqliteのモジュールをインポートするところでこけている様子。 以下のよ
Ubuntuでは最初に使えるlocaleが決まってるようです。 PostgresでEUC-JPのデータベースを作ろうとすると、EUC-JPなんてねえよ、と言われたので。 $ locale -a C POSIX en_AU.utf8 en_BW.utf8 en_CA.utf8 en_DK.utf8 en_GB.utf8 en_HK.utf8 en_IE.utf8 en_IN en_NZ.utf8 en_PH.utf8 en_SG.utf8 en_US.utf8 en_ZA.utf8 en_ZW.utf8 ja_JP.utf8という感じで確かにEUC-JPとかは標準では使えません。 locale-gen で、locale-genというやつがあるのでそれを使うとlocaleを追加できるらしい。manを読むと、 多くのユーザはごく限られたロケールしか使用しないにも関わらず、コンパイルされたロケール
ググると山ほどUbuntuにnvidiaドライバをインストールする方法があってどれが正解かわからないのですが、個人的にこれがいいかな思ったやり方をメモ。 各種インストール nvidia-glx-xxxって感じで順次ドライバが新しくなっているようなので、今回は最新のものを。 $ sudo apt-get install nvidia-180-kernel-source nvidia-glx-180 nvidia-settings xorg.confを書き換える 下記コマンドにて勝手に書き換えてくれます。 $ sudo nvidia-xconfig /etc/X11/xorg.confが自動で書き換えられて、元のファイルも同じディレクトリに自動でコピっといてくれます。 コンソールに切り替え Ctrl + Alt + F2 Xを再起動 $ sudo /etc/init.d/gdm stop $
Ubuntuでポスグレを入れたときにはまったのでメモ。 EUC_JPのデータベースが作れない ポスグレのインストールはすごく簡単で、 $ sudo apt-get install postgresqlインストール、起動までやってくれます。 で、最初はUTF-8のデータベースばっかり作っていて気づかなかったのですが、いざEUC_JPのデータベースを作ろうとすると下記エラーが出ます。 $ createdb -E EUC_JP -U hoge testdb createdb: database creation failed: ERROR: encoding EUC_JP does not match server's locale ja_JP.UTF-8 DETAIL: The server's LC_CTYPE setting requires encoding UTF8.先日のエントリにも
gvimがなきゃ始まらないということで、gvimをいれたときのログを残します。 gvimインストール $ sudo apt-get install vim-gnomeこれだけでOK。なんちゅう楽なんやろう。Ubuntuは人をダメにする気がする。笑 VIMスクリプト これはWindowsのときに使っていたkaoriyaさんのをそのまま使います。 kaoriyaのフォルダの中にあるruntimeというフォルダを$HOME/runtime/にコピります。 で、環境変数をセット。 $ vi .zshrc export VIMRUNTIME=$HOME/runtimetcshとかなら $ vi .cshrc setenv VIMRUNTIME $HOME/runtime で、これだけじゃ使えない場合があります。 理由はWindowsの改行コードであるCRLFが入っているVIMスクリプトがあるようで、
せっかくいいパソコン使ってるので、VMwareを使わない理由が無いってことでVMwareを入れます。 ただ、VMware2.0系はすこぶる評判が悪いので、1系の最新バージョン1.08をインストール。 VMware まずVMwareのLinux版tarをダウンロード。 $ wget http://download3.vmware.com/software/vmserver/VMware-server-1.0.8-126538.tar.gz $ tar zxvf VMware-server-1.0.8-126538.tar.gz プラスして最新カーネルに対応していないため、インストールができないので、修正ファイルをダウンロード。 $ wget http://www.insecure.ws/warehouse/vmware-update-2.6.27-5.5.7-2.tar.gz $ tar z
UbuntuにOracle XEをインストール。 楽過ぎて泣けた。笑 インストール libaioが必要ですが、依存関係で勝手にインストールされます。 $ sudo vi /etc/apt/source.list deb http://oss.oracle.com/debian unstable main non-free $ sudo wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle -O- | sudo apt-key add - $ sudo apt-get update $ sudo apt-get install oracle-xe-universal パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の特別パッケージがインストールされます: libaio 以
「窓使いの憂鬱」というWindows用のキーバインド変更ソフトがあります。 http://mayu.sourceforge.net/ それは素晴らしいソフトで、Vi使いやEmacs使いのような如何に楽してプログラムを打つかを考えている人にはもう最高のソフトです。 で、Windowsではそれを使っていて超快適でした。 ただ最近Ubuntuを使うことが多くて、Ubuntuでもキーバインドを変えたいと思ってました。ていうか変えないとやってられん... キーバインドをgconfdでEmacsには変えられたりするのですが、Viには変えられなくてうーんどうしようかと思っていたら、何と有志の方が窓使いの憂鬱のLinux版を作っておられるではありませんか!! http://members.at.infoseek.co.jp/hattoushin_uma/ で、早速それを使ってみたのですが、CentOSはち
JDK1.6 準備 Sun の JDK は、wget などのコマンドでとってくることができないので、Web ブラウザでこちらのページからたどって入手。 http://java.sun.com/javase/ja/6/download.html ちなみに下記がJDKアーカイブ http://java.sun.com/products/archive/ JSpackage JPackage の枠組みで JDK をインストールするのに必要なユーティリティをインストール。 # yum install jpackage-utilsSun の JDK のインストールパッケージを JPackage の枠組みにフィットさせるためのパッケージを取得 http://mirrors.dotsrc.org/jpackage/1.7/generic/non-free/RPMS/ # cd /usr/local/sr
パソコンをUbuntuで使う機会が多いので、さらばWindowsという意味も込めてWindowsで僕が使っていた便利ソフトを紹介したいと思います。まあメジャーなものが多いと思いますが... Vi派というよりは、コマンドライン派って感じかもしれません。 gvim なんといってもこれははずせません。 Windowsであれば香り屋さんが有名ですし、最初から使い込めるのでお薦めです。 窓使いの憂鬱 http://mayu.sourceforge.net/ Windows用キーバインド変更ソフト。 これがマジで最高です。これがないとキーボード叩く気が起こりません。笑 ちなみに僕は mod alt += !無変換 key A-H = Left key A-J = Down key A-K = Up key A-L = Right ってのが特に気に入っています。これでいつでも無変換 + H,J,K,Lで
[id:orangehat:20080419]のエントリのままではCSSやJavascriptファイルのような静的ファイルもCGI経由で取得してしまう。 そのせいで、tracの表示が異常に遅くなっているとのこと。 でもイマイチCGIをわからず使っているので今回でちょっと学習してみる。 CGIとは? CGIって何の略? Common Gateway Interfaceの略らしいです。 で、なんでそれが使えるのかというと、ApacheにCGI機能が標準搭載されているからだそうです。 CGIでできること 本来のWEBサーバの本分は、要求されたページをブラウザに出力することにあるかと思います。 逆に言うと、要求されたページしか出力できない。 CGIを使うとまあPHPやRUBYみたいな双方向のやり取りが「お手軽」にできるということらしいですね。 実際の仕組み 今回CGIを調べて一番知りたかったのはこ
最近さくらのレンサバをあまり触ってなかったので、暇つぶしにtracでも入れてみることに。 subversionに関しては[id:orangehat:20071014]で導入済み。 また、sqlite3もインストール済みですが、こちらはさくらにデフォルトでインストールされているものを使っても問題ないようです。 準備 $ mkdir -p $HOME/local/src $ cd $HOME/local/src $ mkdir -p $HOME/local/lib/python2.4/site-packages $ ln -s ~/local/lib/python2.4 ~/local/lib/python $ vi $HOME/.cshrc //下記追加 setenv PYTHONPATH $HOME/local/lib/python:$HOME/local/lib/python/site-
LIKE文でのエスケープ処理 正規表現の中で一番使うんじゃないかなあと思う。以下、「#」がエスケープ文字指定。 test_\(testは任意文字)というユーザがいたとしてそれにマッチさせたい場合。この「\」(エンマーク)がクセモノ。 SELECT * FROM user_table WHERE user_name LIKE '%#_\\' ESCAPE '#'; というようにいくらESCAPE文字を指定しても「\」は特殊文字として扱われる。 で、ESCAPE句を使わないとすると以下のようになる。 SELECT * FROM user_table WHERE user_name LIKE '%\\_\\\\'; もう、めっちゃ違和感あるけど「\\\\」(エンマーク4つ)で「\」(エンマーク一つ)にマッチする。 PostgreSQL8.3.0のドキュメントによると、 アンダースコアやパーセント
Vim <=> Windows コピーの違い Vimを使い始めてから少し経つとめっちゃ不便やん、と思うことがありました。 それがVimとWindowsのコピーの違いです。 Windowsでは、コピーというのはCTR + C(以下)でコピーし、で貼り付けをします。 ワードやエクセル、Firefoxでの文字列のコピーなど全てそれで済んでしまいます。 正式な名前は「クリップボードへコピー」というやつで、OSの共有メモリ?に書き込むことでコピーをしているようです。 しかーしVimは違います。Vimではもも使えません。 んじゃ何を使うんやということですが、言わずと知れた「y」です。 まあ、「yy」でカーソルのある行をコピーし「p」で貼り付けるのはVimをほとんど知らない人でも使う機会も多いかと思います。 これはVimのメモリに保存しているようです。 ちなみに、名前も「コピー」ではなく、「ヤンク」とい
仕事でWikiの編集を良く使うのですが、Wikiってのは縦に長い文章を書くと、ひたすら見にくい。 自分がどこを編集しているかもわからんくなる。 ってことでWiki用のエディタがないか探していた。でもどうせならVimで編集したい。 ということであったのがVIKI。 Vimball おそらくkaoriyaさんのVimを使っていらっしゃる方は最初から入ってあるようですが、最新版がいいとのことなので。 http://vim.sourceforge.net/scripts/script.php?script_id=1502から取得。 解凍してautoread, doc, pluginをすべてコピー。 tlib http://www.vim.org/scripts/script.php?script_id=1863から取得。 解凍してできたtlib.vbaをVimで開いてコマンドラインにて:so %と
日々、仕事で疲れるとVimの便利機能を探したくなるこの頃。 以前どこかのブログで最近の楽しみはVimをいじることだ、みたいなエントリーがありましたが、そんな気持ちもわかってきたような気がします。 そして、いつものようにVimについて調べていると一ついいのがありました。 vim で Ruby のリファレンスマニュアルをさくさく検索する - refe.vim なんでもVimのコマンドラインからRubyのリファレンスが見れるらしい。 最近趣味でRubyのコードを書くことが多いため、早速導入。 まずReFeというのを入れないといけないらしい。Windowsのrubyのgemを使うことにする。 gem install refeその後、マニュアルでは、http://rails2u.com/projects/refe.vim/refe.vbaからダウンロードして vim -c 'so %' refe.v
VimバインドでFirefoxが使いたい!!、ということで探すとありました。 その名もvimperator。 http://vimperator.mozdev.net/ ということで早速使ってみたいと思います。 インストールして再起動すると、ツールバーのない状態になりますが、:set guioptions=mTbとコマンドラインに打ってやるといつもの状態になるようです。 設定ファイルを作る vimperatorは何もしなくても使えるのですが、(コピー)などいつもFirefoxで使い慣れているものもあるはず。 ということで、設定ファイルでキーを割り当てることができたりします。 ファイルの名前は、_vimperatorrcまたは、.vimperatorrcです。 windowsの場合、環境変数を指定してやる必要があります。 [コントロールパネル] > [システム] > [詳細設定] > [環境
このページを最初にブックマークしてみませんか?
『World Wide Wonderful』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く