あけましておめでとうございます
あけましておめでとうございます。今年もよろしくお願いします。
今年の目標とか
今年はたくさんやらないといけないことがあるのです。
- 東方吸闘紀完成
- Webの技術向上
- 仕事に忙殺されないメンタルを身につける
具体的にはpython、JavaScriptなどなどのWeb系の技術を深めていけたらよいかなと
思っています。
ほとんど個人的なメモですが、せっかくなので世間に公開しておけばモチベーション維持になるかと思って記録しておきます。
それでは今年もよろしくお願いします。
紆余曲折あって
とりあえず、
同人ゲーム作ってると結婚できますよ
— さくらんぼさん (@lambda_sakura) 11月 22, 2012
結婚したらしいです。
挨拶しにいってみたり、引越ししたりといろいろ忙しくて全く更新できていませんでした。
まだまだ引越ししたばかりで家具も何もまだ揃っていない感じですが、これから頑張って新生活を始めていこうと思います。
そんなわけで、最近このblogの更新が全くできていませんでした。
多少は落ち着いてきたので更新頻度を前並みには戻したいですね。
最近は仕事も忙しいという感じですが、念願のAndroidデバイスを手に入れてみたり
Pythonとflaskで遊んでみたり相変わらずです。
それでは。
日本語配列のMacBookProをWindows7上で英語配列として使う方法
Mac OS Xの場合
Mac OS X(Mountain Lion)ではkeyremap4macbook(http://pqrs.org/macosx/keyremap4macbook/index.html.ja)を使えば手軽に日本語配列、英語配列を切り替えることができます。
Windows 7 の場合
Windows 7で同じような設定にするため、以前はレジストリを書き換えて利用していました。概ね満足していたのですが切り替えるたびに再起動が必要だったり、自分がどのような設定を行ったのか記憶してられないので、手軽に切り替えられる方法を探していました。
結論としてはyamy(http://sourceforge.jp/projects/yamy/)を使うことで解決しました。標準で日本語配列(109配列)を英語配列(104配列)として使うための設定もあり便利です。
標準の設定で概ね満足なのですが、~の入力に難があります。MacBookProに標準の設定を適用すると~の入力方法がなくなってしまいます。日本語配列での\と]のキーがどちらも\の入力になってしまっているので\キーを~の入力に当てることにします。
以下の設定を.mayuに追記することで実現しました。
def subst YenSign = $CIRCUMFLEX_ACCENT def subst S-*YenSign = $TILDE
以上で、望みどおりの環境となりました。あとは好みでemacs風の設定(C-pとかC-nとか)を使うかどうかなども設定すると良いかもしれません。
ALCの検索をターミナルでできるようにしたった
プログラミングしていると英語の単語が思いつかなくて悩むとか結構あります。
いちいちブラウザを起動して検索しても良いのですが、検索が頻繁になると面倒くさいです。
そこで、ターミナルからさっくり検索できれば手軽に調べられて捗るかなと思ってpythonでalcを検索するプログラムを作成してみました。
せっかくなのでgithubで公開します。ここ。
使い方はこんな感じ
$ python alc.py --help Usage: alc.py [options] word_for_search Options: -h, --help show this help message and exit -e, --example show examples.
実際に実行してみた結果。
testという単語をalcで検索した結果を標準出力に出力します。
$ python alc.py test test 【名】 テスト、試験 {しけん} 、検定 {けんてい} 、検査 {けんさ} ためすもの、試練 {しれん} 、試金石 {しきんせき} 【自動】 テスト[試験 {しけん} ・検査 {けんさ} ・検証 {けんしょう} ・吟味 {ぎんみ} ・考査 {こうさ} ]を行う テスト[試験 {しけん} ・検査 {けんさ} ]を受ける、評価 {ひょうか} を得る テスト[試験 {しけん} ・検査 {けんさ} ]の結果 {けっか} は~である 【他動】 ~をテスト[試験 {しけん} ・検査 {けんさ} ・検証 {けんしょう} ・吟味 {ぎんみ} ・考査 {こうさ} ]する 《化》~を分析 {ぶんせき} する
オプションとしては、 -eを付けるといろいろ利用例とかでます。
出力が長くなるのであまり使わなそうですが...。
test 【名】 テスト、試験 {しけん} 、検定 {けんてい} 、検査 {けんさ} ためすもの、試練 {しれん} 、試金石 {しきんせき} 【自動】 テスト[試験 {しけん} ・検査 {けんさ} ・検証 {けんしょう} ・吟味 {ぎんみ} ・考査 {こうさ} ]を行う テスト[試験 {しけん} ・検査 {けんさ} ]を受ける、評価 {ひょうか} を得る テスト[試験 {しけん} ・検査 {けんさ} ]の結果 {けっか} は~である 【他動】 ~をテスト[試験 {しけん} ・検査 {けんさ} ・検証 {けんしょう} ・吟味 {ぎんみ} ・考査 {こうさ} ]する 《化》~を分析 {ぶんせき} する TEST 【略】 = Thesaurus of Engineering and Scientific Terms 科学技術用語同意語辞典 = Travel English Standard Test 旅行業英語検定試験 {りょこう ぎょう えいご けんてい しけん} test ~ by experiment 実験によって~を確かめる test ~ for bacteria ~(内)の雑菌 {ざっきん} (の有無 {うむ} [数])を調べる[検査 {けんさ} する] 【表現パターン】 check [test] ~ for bacteria test ~ for defects 欠陥 {けっかん} がないか~を調べる test ~ for endurance ~の耐久試験を行う test ~ for real 実現 {じつげん} に向けて~を試行 {しこう} する test ~ for safety and efficacy ~の安全性 {あんぜんせい} と効能 {こうのう} を検査 {けんさ} [テスト]する test ~ for serologic markers of HBV infection 《医》~のHBV感染 {かんせん} の血清学的 {けっせいがく てき} マーカーの有無 {うむ} を検査 {けんさ} する test ~ for serological markers of HBV infection → test ~ for serologic markers of HBV infection test ~ in the field ~を実地 {じっち} にテストする test ~ on patient after patient ~を次々 {つぎつぎ} と患者 {かんじゃ} に試す test ~ on patient with damaged spinal cord 脊髄損傷 {せきずい そんしょう} の患者 {かんじゃ} に~をテストする test ~ oneself easily ~を自分 {じぶん} で簡単 {かんたん} に試す test ~ out for oneself ~を自分 {じぶん} で試す test ~ through experiment 実験によって~を確かめる test ~ with litmus paper ~をリトマス試験紙 {しけんし} でテストする test ~'s effectiveness ~の効用 {こうよう} [有効性 {ゆうこう せい} ]を試験 {しけん} [テスト]する test a car 【動】 試乗 {しじょう} する test a child's power of observation 子どもの観察力 {かんさつりょく} を試す[テストする] test A for B treatment A薬でB治療 {ちりょう} の(臨床 {りんしょう} )試験 {しけん} [実験 {じっけん} ]を行う[実施 {じっし} する] test a hypothesis against the real world 現実 {げんじつ} に則して仮説 {かせつ} を検証 {けんしょう} する test a hypothesis by conducting ~を実施 {じっし} して仮説 {かせつ} を検証 {けんしょう} する test a machine 【動】 機械 {きかい} を試運転 {しうんてん} する test a meteorite from Mars 火星 {かせい} の隕石を分析 {ぶんせき} する test a microphone マイクのテストをする test a missile with enough range to hit ~を射程(圏)内 {しゃてい(けん)ない} に収めるミサイルの実験 {じっけん} を行う test a missile-defence system → test a missile-defense system test a missile-defense system ミサイル防衛 {ぼうえい} システムの実験 {じっけん} を行う test a new drug 新しい薬をテストする test a nuclear bomb 核実験 {かく じっけん} を行う test a nuclear weapon 核兵器実験 {かく へいき じっけん} を行う[実施 {じっし} する] test a number of different models ありとあらゆるモデルを試す test a phone connection 電話 {でんわ} 回線 {かいせん} [の接続状況 {せつぞく じょうきょう} ]を検査 {けんさ} する test a procedure 手順 {てじゅん} を試す 【表現パターン】 test [practice] a procedure test a profound issue 深刻 {しんこく} な問題 {もんだい} を判断 {はんだん} する test a program 【動】 プログラムをテストする test a prototype 原型 {げんけい} を試験 {しけん} する test a reflex 反射 {はんしゃ} を検査 {けんさ} する test a sample サンプル[見本 {みほん} ]を試験 {しけん} する test a serum 血清 {けっせい} を検査 {けんさ} [試験 {しけん} ・テスト]する test a theory 理論 {りろん} を検証 {けんしょう} する test a water purification device 浄水装置 {じょうすい そうち} の試験 {しけん} を行う test a wide range of clothes いろんな服を試す test accelerator 試験加速器 {しけん かそくき} test accuracy 試験精度 {しけん せいど} test activity 試験活動 {しけん かつどう} test adit 《鉱物》試掘横坑 {しくつ よここう} test agent 検査薬 {けんさ やく} test algorithm 試験 {しけん} アルゴリズム
nodejsで遊ぶのに楽しそうなライブラリまとめ!
最近nodejsで遊んでるのですが、nodejs単体だと面倒な事も多いのでライブラリを色々調べてみました。今回はそのまとめです。
よく見るもの
世間でよく使われてそうで、基本的なものを並べてみます。
- node-dev
- スクリプトが更新されたら、自動的に再起動してくれるライブラリです。
- node-inspector
- chromeとかをnodejsのデバッガとして利用可能にするライブラリです。
- express
- 世間でよく見るフレームワークです。便利。Webやるなら必須な印象です。
- socket.io
- websocketで遊ぶならこれです。。
- connect
- expressも利用しているWebフレームワーク。サーバとか作る機能があるみたいです。
コールバックを何とかする系
nodeはシングルスレッドにもかかわらずマルチスレッドで動作しているかのように見せるため、逐次処理しようとしても想定と違う動きをすることがあります。
これを回避するような書き方は面倒なのでそれを回避するための支援ライブラリ群です。
- async
- 便利。
- fab
- 中身までは見れてません。
CSS生成
CSSをそのまま書くのは面倒です。そこで独自の記法からCSSを自動生成するライブラリです。
- less
- よく見るけど詳細は見ていません。
- stylus
- 便利機能満載すぎて良い感じです。欠点はCSSの書き方と大分離れてしまう点ですかね。
HTML生成
HTMLをそのまま書くのは面倒です。そこで独自の記法(以下略
- jade
- インデントとタグ名の組み合わせでHTMLを記述できます。express標準はこれを利用します。
- ejs
- PHPとかerubyとかみたいな、HTMLの中に一部JavaScriptが使えるようなものです。
デーモン化
nodejsをデーモンとして動作したい場合に利用するライブラリ、ツールです。
- forever
- デーモン化はもちろん、デーモン管理までできて優秀。
マルチプロセス化
いろいろあるようです。sparkがなんとなく良さそう?
- spark
- cluster
- fugue
- multi-node
DB
DBと言えばmongodbをよく聞きます。あとそれを利用するためにmongoose使えばよさそうです。
node.js + express で遊んでみた
最近はやりのnodeで遊んで見ました。
とりあえず、よく見るexpressを使ってみようかと思います。nodeとnpmはインストールされているとして以下のコマンドでexpressをインストール。ついでにexpressがテンプレートエンジンとして利用するjadeのインストールもここで一緒にしてしまいます。
npm install express npm install jade # expressの標準の動作に必要なのでこれもインストール。
これで、expressが使えるようになります。
express TestProject create : TestProject create : TestProject/package.json create : TestProject/app.js create : TestProject/public create : TestProject/public/javascripts create : TestProject/public/stylesheets create : TestProject/public/stylesheets/style.css create : TestProject/views create : TestProject/views/layout.jade create : TestProject/views/index.jade create : TestProject/routes create : TestProject/routes/index.js create : TestProject/public/images dont forget to install dependencies: $ cd TestProject && npm install
こんな感じにファイルが自動的に作られます。
とりあえず実行してみましょう。
cd TestProject && npm install node app.js
これでとりあえず実行されます。
http://localhost:3000/にアクセスするとデフォルトのページが表示されるはずです。
せっかくだから、新しいページをひとつくらい追加してみます。
app.jsに以下の内容を追記。
app.get('/mogeta', routes.index2);
次に、routes/index.jsに以下を追記
exports.index2 = function(req, res){ res.render('mogeta', { title: 'もげた'}) };
最後に、views/mogeta.jadeを新たに作成して追加します。
!!! 5 html(lang="ja") h1= title p Welcome to #{title} p もげた
これで、http://localhost:3000/mogetaにアクセスするとページが見えるはずです。
expressが割りと楽しそうな感じなので、色々調べてみようかと思います。