Posts Tagged ‘Git’

gistページにraw masterへのリンクを追加するGreasemonkey

gistに置いたファイルの最新版を常に参照するraw masterなURLが最近変更されたり、昔使えた方法が使えなくなっています。

詳細は以下を参考に

  • Gist の raw ファイルの URL が変わった: 「わ」の日記もどき
  • 以前はURLに.txtとつければよかったので、特に何もしなくても不便はしなかったのですが、2011年6月15日現在はraw masterなURLへのURLにするにはちょっと書き換える量が多いのでGreasemonkeyを書きました。

    gistのページのファイル名の横にraw master URLへのリンクを追加するGreasemonkeyです。
    Scriptishの場合は、リンクをクリックするだけでクリップボードにURLをコピーします。

    2011-06-14-ss1

  • gist: raw master URL for Greasemonkey
  • この仕様変更により、Greasemonkeyで.txtでrequireしてたりするスクリプトは新しくインストールすると死んでいると思うので確認が必要になるかもしれません。

    Windowsでのコマンドライン環境はConsole2+nyaosで

    この記事は主にConsole2の紹介とnyoasのLua拡張についての話です。

    Windowsのコマンドプロンプトはとても使いづらいので、コマンドプロンプト代替ツールとしてckwと拡張性が優れたNYAOS(昔はnyacus)などのシェルを合わせて使ってる人もいると思います。
    自分も少し前まではckw-mod+NYAOSを使っていました。

    現在はタイトル通りConsole2+NYAOSにしています。
    ckwやConsole2はターミナルに該当するソフトウェアで、nyaosやgitbashなどはシェルに該当するソフトウェアです。

    Console2でnyaosを使うのは簡単で、Settings>ConsoleのShell(またはタブ毎の設定)にnyoas.exeのパスを入れるだけで完了です。

    image

    Console2の機能紹介

    タブ

    Console2の特徴してはタブを持っていることがあげられると思います。
    image

    また、タブ毎に設定を行う事ができ、色や背景画像の設定やシェル(nyaosなど)に使うソフトウェアの指定をタブ毎に決定することができます。

    image

    日本語表示

    以前は日本語がダメだったようですが、現在ver2ではフォントを日本語のものにすれば、日本語の表示も問題なく行えます。(フォントによってはおかしくなるけど)

    ウィンドウの透過

    ckwでよく紹介されてる機能としてウィンドウの透過機能があると思います。
    Console2でもウィンドウの透過機能があります。

    image

    この透過機能はアクティブ、インアクティブの時それぞれの透明度を設定できるので、フォーカス外れているときだけ透過するなどもできます。

    image

    マウスやホットキーの設定

    Console2はホットキーだけではなくて、マウスの動作、左クリックや修飾キーとマウスの組み合わせなどの挙動も設定できるので、結構細かい動作を決められると思います。
    WIndowsのデフォルトであるようなCtrl+Cでコピー、Ctrl+Vでペーストなどの設定もできるので便利です

    imageimage

    これで簡単なConsole2の機能紹介は終わりです。設定はかなり豊富なので自分好みにできると思います。
    まあタブがあるだけでもかなり魅力的なターミナルです。

    nyoasの設定

    nyaosはUNIXライクな日本語拡張コマンドラインシェルで、とても軽くて、作者さんは日本人(@zetamatta)の方なので日本語の扱いも問題ありません。

    キーバインドやコマンドのエイリアスなどを設定して、入力履歴を残せるを保持できるようにするだけでも十分使い勝手がよくなります。

    それに加えて、nyaos 3.xの特徴としてLua言語でのカスタマイズ機能あります(シェルスクリプトが書ける)

    Lua拡張は_nyaのconfigファイルにもLua_eを使って書くこともできますが、拡張と設定は別ファイルに分けた方がいいと思います。(エスケープの問題とか面倒だし)

    自分の場合は_nya_git.luaという感じで拡張毎のluaファイルを作成して、_nyaコンフィグファイルからsourceコマンドで読み込んで使っています。(拡張のテストするときもsourceで再度読み込めば適応されるのでデバッグしやすい)

    source D:\Software\nyaos\_nya_git.lua
    _nya_git.luaの内容は名前のようにgit関係のコマンドやgitコマンドの補完を作ったものを入れています。
    gitのサブモジュールの削除が一発でできるようにgit submodule rmというコマンドを勝手に足したり、NYAOS 3000でいろんなコマンドのサブコマンドを補完する – メモ@wantoraにgitコマンドを追加したものなどが入っています。

    image

    Lua自体はコンパクトな言語で、若干JavaScriptに似てる感じもあるので調べながらやればなんとか書けるものだと思います

    nyaosのLua拡張の書き方は以下を参考にしました。

    これでConsole2+NYAOSの紹介は終わりです。

    Windowsのコマンドライン環境自体はこんな感じで比較的いい感じにできると思いますが、実行できるコマンドの方が貧弱なのでそっちでVMでLinuxを使うみたいな事もあるかもしれません…(まさに自分…WindowsからVM上のLinuxをSSH経由で利用する開発環境の構築 | Web scratch)

    WindowsからVM上のLinuxをSSH経由で利用する開発環境の構築

    VirtualBox orVMWare PlayerでLinux環境をWindows 7×64に構築するメモ
    今回はVirtualBoxTurnkey Linux coreを使って構築した。

    と見せかけて、最終的にはUbuntu Server使う事にしたので途中まで飛ばしていいです。

    なんでVMを使ってまでやるかというと
    WIndowsでのCUIはConsole+NYAOSでコンソールとしていいのですが、node.jsなど実行できないものが出てきたので、VM上に環境を作ることにしました。
    Cygwin : 食わず嫌いでしたが、食ったら嫌いでした。
    coLinux : 64 bitが非対応でした。

    必要なもの

    • VirtualBox(仮想化ソフトウェア)
    • TurnKey Core(サーバー、そこら辺の便利なソフトが入ってる感じのディストリビューション)
    • RLogin(SSHクライアント)

    Turnkey Linux coreはVM向けにovf形式でも配布してるので、OVFと書かれてるリンクからturnkey-core-バージョン-lucid-x86-ovf.zipをダウンロードして使う。

    2011-04-20-ss11

    VirtualBoxを起動してメニューの仮想アプライアンスのインポートから、先ほどのovfをインポートすると自動でTurnKey Coreが仮想マシン一覧に並ぶ。(設定するのは仮想マシンの名前ぐらい)

    2011-04-20-ss8

    起動するとパスワードの設定などがあって、パスワード以外はEnter押してればいいと思う。
    設定が終わると起動して下のようなメニュー画面が表示される。

    2011-04-20-ss12
    メニューを終了させると、CUIで操作できるけどキーやマウスの関係で扱いにくいのでSSHからアクセスして操作する。

    RLoginを起動して、サーバの接続から新規追加して、プロトコロルにSSH、アドレスにはLinuxサーバーのIPアドレス、ユーザーはrootで、パスワードは最初の起動時に設定したものを入力して接続する

    2011-04-20-ss13

    2011-04-20-ss9

    こっからはサーバー{ゲスト側(Ubuntu)}の設定

    まずはrootだとあんまりよくないので、ユーザー(azuという例で)を追加、そのユーザーのパスワードを設定する。

    root@core ~# useradd -m -s /bin/bash azu
    # ユーザーazuを追加する。mオプションがないとHOMEディレクトリが追加されなかった
    root@core ~# ls /home/     
    azu/
    # HOMEディレクトリがあるのを確認
    root@core ~# passwd azu
    # パスワードの設定
    Enter new UNIX password: 
    Retype new UNIX password: 
    passwd: password updated successfully
    useraddの-sオプションでログインシェルを決めないとかなり不自由な感じになります。
    後からログインシェルを決める場合はchsh -s /bin/bash などとする。
    と、このままTurnkey Linuxを使おうと思っていたんだけど、ファイル共有でどうしても上手くGuest Additionsのインストールが上手くできないのと、なんかroot前提なような環境で他とは少し違った感じで躓く事がありそうだったので、Ubuntu Serverに切り替えました。
     

    Ubuntu Serverを使って環境構築(改めて)

    (ちょこちょログにTurnkeyが出てくるのはそのときの名残です。プロンプトの文字は無視してください)
    (Turnkey Linuxの事は忘れてください)
    必要なもの

    ホストOS

    ゲストOS

    Windows 7 64bit

    Ubuntu Server

    で環境を作っていきます。
    Ubuntu Serverのisoをダウンロードしてきて、新規仮想マシン作成から適当な配分で仮想マシンを作りますが、ネットワークをブリッジ接続に変更しないとUbuntu ServerのIPアドレスが10.0.2.25とかいう感じになってSSH接続できなかったので、ネットワークをブリッジ接続に変更して作成しました。
    image
    追記: ネットワークがNATでもポートフォワーディングすればSSH接続できました(こっちの方がいいかも)
    ネットワークの設定をNATにしてから、高度の設定でポートフォワーディングにホストには任意のポート、ゲストにはUbuntu側に設定したSSHのポート番号(デフォルト22)を設定します。
    2011-04-23-ss1
    この状態で、RLoginに接続IPアドレスに127.0.0.1 or localhost で、ポート番号にはホストに設定したポート番号を入力すればSSH接続できます。
    任意のポートだけを開く感じで使えるのでこっちの方がいい気がします。同様の方法でWebのポートである8080もポートフォワーディングに設定しました。

     

    仮想マシンを起動したUbuntu Serverのインストール画面でユーザーアカウントの作成ができるので、下のガイドに従って入力していくだけで先ほどのTurnkey Linux でのユーザーアカウント追加までと同じ事ができます。

    注意点としては18.サーバーソフトウェアの選択画面でOpenSSH SERVERを選択してSSHでつなげるようにしておくと楽でいいです(スペースキーで選択チェックが入る)

    忘れた場合でも

    sudo apt-get install openssh-server
    とすればいいだけなので、そこまで問題ないです。
    Ubuntu Serverはそのまま使うと文字化けして扱いにくいので、RLoginを使ってアクセスすれば文字化け対策をしなくてもいいので、最初からRLoginを使って作業します。
    サーバのIPアドレスは
    ifconfig

    で、わかると思います。
    初期設定なら、インストール時に入力したアカウントとパスワードでログインできると思います。


    SSHで鍵を使って接続

    セキュリティ的にパスワードではなく鍵でSSHをつなぐのが普通だと思うので、SSHの鍵設定をします。

    root@core ~# cd /home/azu/
    # ユーザのHOMEへ
    root@core /home/azu# mkdir .ssh
    root@core /home/azu# cd .ssh
    # .sshディレクトリを作って移動
    root@core azu/.ssh# ssh-keygen -t rsa
    # 鍵を生成する
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): turnkey # ファイル名は適当に
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in turnkey.
    Your public key has been saved in turnkey.pub.
    root@core azu/.ssh# ls
    turnkey  turnkey.pub
    # .sshディレクトリに秘密鍵と暗号鍵が生成される
    root@core azu/.ssh# mv turnkey.pub authorized_keys
    # turnkey.pub を authorized_keysにリネームする
    root@core azu/.ssh# ls
    authorized_keys  turnkey
    鍵は生成して公開鍵(authorized_keys)の登録ができたので、秘密鍵をホスト側のPCに転送します。
    RLoginにファイル転機能がついてるので、.sshディレクトリにある秘密鍵(turnkey)をホスト側に移動させます。
    ゲスト側(Ubuntu)に秘密鍵は置いておく必要はないので、秘密鍵(turnkey)は転送したら削除します。
    2011-04-20-ss15
    次にSSHの設定で、鍵以外でのログインはできないように/etc/ssh/sshd_configを書き換えます。
    # それぞれをnoに書き換える 
    PermitRootLogin no  
    PasswordAuthentication no  
    UsePAM no
    # 面倒だったので一度rebootした

    自分はportも22から適当なものに変更しました。

    後はRLoginに秘密鍵を登録してSSHログインするだけです。
    SSH Identity keyに転送した秘密鍵をセットして、ポートを変えた場合はポートも任意のものに設定してから接続します。
    共有フォルダの設定
    Ubuntu Server にはGUIがないので、Guest AdditionsのインストールもCUIで行わないといけません。
    ここで結構はまりました

    が大変参考になった。

    まずは適当な共有フォルダを設定しておく。

    image

    そして、起動してるVMのメニューにある”Guest Additionsのインストール”を押しておく。
    何にも起きてないように見えるが、CDドライブにCDが入った感じになる。

    sudo apt-get install build-essential linux-headers-`uname -r`
    sudo apt-get install xserver-xorg xserver-xorg-core
    #必要なものを先にインストールしておく
    ###################
    # ここまでにGuest Additionsのインストールを押してマウントの準備が必要
    ###################
    mkdir /tmp/cdrom
    sudo mount /dev/sr0 /tmp/cdrom
    # Guest Additionsのディスクをマウントする
    cd /tmp/cdrom
    sudo bash VBoxLinuxAdditions.run  --nox11
    sudo addgroup --system --quiet vboxsf
    sudo usermod -a -G vboxsf azu # ユーザーをvboxsfグループに加える
    sudo reboot
    # リブート
    
    azu@ubuntu:/media$ ls
    cdrom  sf_azu
    自動マウントするためにはユーザーをvboxsfグループというグループに加える必要があることに注意。
    リブートすると/media以下にsf_フォルダ名が現れてアクセスできるようになる。
    大体ここまで基礎的な環境ができあがるので、後は好きなソフトを入れていく感じになると思います。(一応スナップショットをとっておきました)
    Ubuntu Server + VirtualBox GUIありでメモリ使用量は45MBぐらい、VBoxHeadless.exeで画面表示なしで起動させると30MBになって結構メモリ使用量は少ない。
    VirtualBoxをタスクトレイに入れて管理するにはVBoxHeadlessTrayがおすすめ。ヘッドレスモードやシャットダウンとなどの操作もタスクトレイで行えるのでとてもいい。

    ついでにNode.jsの環境も作ってみる
    Node.jsは直接入れるよりもバージョン管理するツールから入れるのがいいらしいので、naveかnvmを使う事にした。
    naveは何かインストールが面倒だったので、nvmを使う事にした。
    nvmは自動でnpmもインストールしてくれるので便利。

    azu@ubuntu:~$ sudo apt-get install build-essential libssl-dev git-core 
    azu@ubuntu:~$ sudo apt-get install curl
    # 必要なものを先にインストールしておく
    azu@ubuntu:~$ git clone git://github.com/creationix/nvm.git ~/.nvm          
    azu@ubuntu:~$ cd .nvm/
    azu@ubuntu:~$ bash ./nvm.sh
    azu@ubuntu:~$ nvm install latest
    # 最新のnodeをインストールする
    azu@ubuntu:~$ node -v           
    v0.4.5

    毎回 bash ./nvm.sh 実行するのは手間なので。
    .bashrc を編集して、

    . ~/.node/nvm.sh
    nvm use latest

    を書き加えておきます。

    雑記

    VMWareはスタートアップにいろんなもの生やすし、ダウンロードも登録必要で面倒なので、VMWareよりもVirtualBoxの方が好みでした。

    目標としては、Cygwin HereみたくWindowsのエクスプローラー上のコンテキストメニューから、SSHクライアントを開いてそのときに同時に共有フォルダのsf_azu以下にある同じフォルダまで移動したいのだけど、お客様の中でよい方法をお知りな方がいらしゃったらお願いします。
    e.g)
    windows : C:\Users\azu\Downloads のコンテキストメニューからSSHクライアントを開く
    Ubuntu   : 渡されたパスを元に /media/sf_azu/Downloads をカレントディレクトリにする

    SSHクライアントのマクロみたいので実現するのかな。

    Turnkey Linuxの

    今使っているWebStormプラグイン

    PHPStorm/WebStormプラグインはまだ余り数がないので拡張性はそこまで高くないのですが(JetBrains製IDEで互換性があれば良いのに)、幾つかプラグインを入れてるので紹介
    プラグインはSetting->Pluginから検索すれば全部出ると思います

    • Markdown
      名前の通りMarkdown記法のシンタックスハイライトに対応するプラグイン。
      WebStorm内でプレビューも行えるため、Githubのreadme.mdを書くときにものすごく便利
      デフォルトだとFile Typeに*.mdがないため(今は入ってるかもしれない)、mdファイルを開いても有効にならないことあるので、File Typeで*.mdがを追加すると有効になる。
    • FavoriteFolders
      WebStormはJava製なためかファイルダイアログがOS標準とは違うため、目的のフォルダまで移動するのが面倒くさい。
      FavoriteFoldersはファイルダイアログに任意のフォルダまでのショートカットを付けてくれるプラグイン。
    • Scratch
      Alt+C, Alt+Cで一時的に何か書いておけるtxtファイルを開いてくれる。
      わざわざファイルを追加するのは面倒だし、そこにファイルが残ってしまうので地味に便利
    • CoffeeBrew
      CoffeeScriptに対応してくれるプラグイン
      シンタックスハイライトなどは対応してるけど、補完などはできないのでちょっといまいち
    • Pomodoro-tm
      Pomodoro Technique的なタイマープラグイン。
      25分タイマーで計って5分Breakタイムのような設定ができるぐらいで普通のタイマーと変わらないです。
      時間忘れていじってしまうのを防止

      設定画面

    今のところこれぐらいです。 (あまり数がないのもあるけど)デフォルトでもかなり機能的に優秀なのでそこまで不便はしないですね。

    おまけ

    WebStormが今春のキャンペーン中で半額で購入できるようになってるみたいです。(今回は他のIDEはなってなかった)
    是非この機会に触ってみるといいかもしれません。

    WebStorm & PhpStorm Blog » Blog Archive » 50% OFF personal WebStorm licensesi
    http://blogs.jetbrains.com/webide/2011/04/50-off-on-personal-webstorm-licenses/
    JetBrains

    WindowsでV8 JavaScriptエンジンをコンパイルする

    Windows VistaでV8を使いたかったのでビルドしたときのメモ

    準備編

    1. Pythonをインストール(ActivePythonでもいいけど)
    2. SConsをインストール(PythonのMakeみたいなものらしい)
    3. Visual C++ 2010 Expressをインストール(本当はSConsだけでもいいけど、必要なWindows SDKが内蔵されてるので楽)
    4. git か svnがあるとV8のダウンロードが楽

    実践編
    (X / _ / X <は$みたいなプロンプトです)
    バージョンの確認コマンドも打ってますが、How to Download and Build V8 – V8 JavaScript Engine – Google Codeでソフトウェアの必要なバージョンが載っています。

    多くの例ではsvnで

    svn checkout http://v8.googlecode.com/svn/trunk/ v8

    としてv8をダウンロードしているみたいですが、githubに公式ミラーがあるので今回はそれを利用しました。

    X / _ / X < git clone git://github.com/v8/v8.git v8
    Initialized empty Git repository in D:/Software/v8/.git/
    remote: Counting objects: 53075, done.
    remote: Compressing objects: 100% (7672/7672), done.
    remote: Total 53075 (delta 46205), reused 51859 (delta 45179)
    Receiving objects: 100% (53075/53075), 25.18 MiB | 749 KiB/s, done.
    Resolving deltas: 100% (46205/46205), done.
    Checking out files: 100% (1426/1426), done.
    X / _ / X < python -V
    Python 2.6.4
    X / _ / X < scons --version
    SCons by Steven Knight et al.:
     engine: v2.0.1.r5134, 2010/08/16 23:02:40, by bdeegan on cooldog
    Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation

    ここまでで準備は終わり、次はビルドとテスト
    sconsの引数はよく分からなかったのでBuildを見てscons d8としました。

    X / _ / X < cd v8
    X / _ / X < scons d8
    #ビルド
    X / _ / X < tools\test.py
    #テスト
    [13:26|% 100|+ 4599|-   3]: Done
    

    特に環境パスの引数なしでも通ったのでシンプルにしていますが、手動でパスを通す場合は大変なので”C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat”などのbatファイルを使うとよいかもしれないです。

    最後にベンチマークを取ってみて終了

    X / _ / X < cd benchmarks\
    X / _ / X < ../d8 run.js
    Richards: 7311
    DeltaBlue: 9098
    Crypto: 8762
    RayTrace: 6707
    EarleyBoyer: 12664
    RegExp: 1440
    Splay: 2193
    ----
    Score (version 6): 5521

    これで、Windows上で使えるV8(d8)のバイナリ作成ができたので終わり
    毎回d8.exeまでのパスを入力するのは大変なので、バイナリの場所までRedmond Pathを使ってパスを通しています。

    BPStudy#41のアウトラインメモ

    BPStudy#41に参加してきたのでメモってた内容。
    TwitterはTogetter – 「BPStudy#41 まとめ」にまとまっています。

    ^文殊堂

    第一部 – RequireJSeventUIコンポーネント

    BPStudy#41 RequireJSとeventとUIコンポーネント – 文殊堂

    RequireJS実践編

    jQuery カスタムイベント応用編

    粗結合のUIコンポーネントの作成について

     

    RequireJS実践編

    RequireJSとは何か?

    AMDのブラウザ向けの実装

    RequireJS moduleについて

    defineでモジュールを定義する。

    requiremain関数みたいなもの。

    define – 第一引数に依存してるモジュール、第二引数に中身
    (第一引数に関数オブジェクトを渡すと関数の返値になってしまう)

    moduleの用途

    関数を返すmoduleを定義すれば、関数として使えるmoduleが作れる。

    副作用
    何も返さないmoduleも有効利用できる

    jQueryextendしてるmoduleを作れば、requireしたときにその拡張してるという保証が存在するため有用になる。

    RequireJS本体の前にrequireというグローバル変数があると、RequireJSの設定として認識される

    baseurl

    module名はpathから拡張子をのぞいたものだけど、pathの基底を変更できる

    paths

    pathを探す場所をkey-valueで決められる

    urlArgs

    読み込むjsファイルに指定したパラメーターをつけることができる。(キャッシュ対策)

    deps

    最初から読み込んでおきたいファイルを決めておける

    text plugin

    文字列として取得できる
    テンプレート的な利用

     

    jQuery カスタムイベント応用編

    カスタムイベントはブラウザ定義ではなく独自定義のイベント

    jQuerytrigger,triggerHandlerなどで、イベントの発火ができる(dispatch event)

    カスタムイベントは豊かな表現が行える

    jQuerybindでイベント名とイベントハンドラをくっつける

    trigerの第二引数に配列を渡すと展開されて渡した状態でイベントハンドラを実行する

    data(“属性” , ““)をつけられる

    イベントハンドラの$(this)==evt.target

    カスタムイベントでClassを定義する

    liveを利用する。
    liveは要素ではなくて、CSSセレクタに紐づけることができる。

    カスタムイベントでmixin

    liveを使ってるので、classを追加するとメソッドを生える

    カスタムイベントでcallback

    liveを登録して、callbackcallする代わりにtirgerでイベントを発火させる。

    カスタムイベントでmixout

    classを追加することでmixinになるため、classを除去すればmixoutできる。

    カスタムイベントで同名の関数を呼び出す

    存在しない関数も呼んで大丈夫

    好きなだけ定義できる

     

    第二部

    マスタリング非同期読み込み – os0x

    マスタリング非同期読み込み BPStudy#41

    Twitterでも非同期処理やってるけど、本文が表示されるのが最後なので遅い感じがする。

    LAB.js

    部分的な導入が難しい。
    全体を書き換える必要がある。

    ControllJS

    <script type=”text/cjs”></script>としてtypeを変えて読み込む。

    Controll側で評価する

    RequireJS

    依存がネストすると非同期にできない。

    依存関係が複雑だと、読み込み待ちが発生する。

    解決方法として、テキストとして読み込んでおいて評価する。とか

    whatwgのwikiにいろいろな手法が乗っている。

     

    第三部

    gitの歴史改変について神速

    BPStudy#41で発表しました #bpstudy – アジャイルSEを目指すブログ

    分散SCMの基本的なこと

    ネットワーク環境がなくても作業できる

    誰かが壊しても問題ない

    歴史改変でできること

    不要な変更のコミット修正

    コミットメッセージの修正

    作業途中のコミット

    適当なコミットを行える

    git add -p

    部分変更を記録するコマンド

    対話式で部分コミットを行える

    git rebase -I

    コミットの変更、結合、削除とか

    歴史改変の実践編

    bisect テストが失敗してるところを2分探索するコマンド

    デモ

    間違いを打ち消す git revert

    過去のコミットを打ち消す

    改変世界からの復帰 – reflog

    コミットを移動させたり

    歴史を変えてはいけないコミット

    人のは変えてはいけない

    自分の黒歴史だけ

    感想

    椅子オンリーだったので、膝上PCつらい。
    途中でキーボードがトラブった
    カスタムイベントは何か冗長だけど、今後よく使う方向になりそうな予感がするのでいろんな使い方がでてきそう。
    また機会があったら参加したいですね。

    Node.jsで動作するHTML5+JavaScript製のIDE「Cloud9」

    Node.jsで動作しブラウザから使用できるJavaScript IDEである「Cloud9 IDE」 alpha版が公開されました。
    ブラウザから使用できるので、クラウドとかありきたりな名前が付いてる気がします。(+Plan9?)
    Win/Linux/Macで動作するようです。

    インストール方法(Windows)

    詳しい使い方はajaxorg’s cloud9 at master – GitHubに書いてあるので読むといいです。
    まずはダウンロードですが、githubではzipでソースをダウンロードできますが、それではなくgit cloneしてダウンロードする必要があるみたいです。
    というわけで、gitをインストールした状態でコマンドプロンプトから

    $ git clone git://github.com/ajaxorg/cloud9.git
    

    するとcloud9のディレクトリができるので、binフォルダに入っているcloud9-win32.batを実行すると必要なファイルをどんどんダウンロードしてくれます。(インストーラーみたいで面白い)
    ダウンロードが終わってもう一度cloud9-win32.batを実行すると http://localhost:3000 にアクセスするように促されるので、FirefoxやChromeなどでhttp://localhost:3000にアクセスすればCloud9 IDEが使用できます。(別途にNode.jsをインストールしてなくても動作した)

    まだα版なので、ファイル管理とエディタとコンソールぐらいしかありませんが、ブラウザ上でこういうものが動いてるのは面白いです。エディタはBespinとかと同じく日本語入力が残念仕様です。
    最近BespinはSkywriterというプロジェクトへと移行したので、そのうちエディタに変化が起きるかも知れませんね。
    入力したコードはNode.js上で実行されてるような気がします。JavaScriptを書いてその場で実行やデバッグができるのは普通のIDEとしてはよくありますが、JavaScriptなIDEとしては面白いですね。

    通常のソフトウェアとしてのJavaScript IDEを使いたい人はJavaScript対応のIDEをまとめてみた | Web scratchを参照するとよいと思います。(今WebStorm凄いよ状態でいろいろ試しています)

    gistへGreasemonkeyを貼るときに自動でファイル名を入力するスクリプト

    GistにGreasemonkeyスクリプトをペーストする時に、自動でファイル名を入力してくれるGreasemonkeyを書きました。
    入力されるファイル名は@nameの要素+.user.jsとなるので、コードをペーストするだけでRawからインストールできるようになります。

    // @name           gist fill in fileName automatically

    という感じで書いてあったなら、gist fill in fileName automatically.user.jsというファイル名が勝手に入力されます。

    Add another file…で追加したテキストエリアにも対応させてあります。

    gistのトップページ( http://gist.github.com/ ) と編集ページで動作します。

    gist fill in fileName automatically for Greasemonkey
    http://userscripts.org/scripts/show/71914

    Read the rest of this entry »

    Gitでレポジトリのclone

    前回Gitを導入できたのでどのように使うのかをメモっておく。

    Gitを始めるまでにやったことのまとめ | Web scratch
    http://efcl.info/2009/0919/res1311/

    レポジトリのclone

    gitでforkなどを経験してみた(またはwassr2twitterを導入) – ただのにっき(2009-05-14)
    http://sho.tdiary.net/20090514.html

    gitで他人のレポジトリをcloneするには”fork”ボタンを押してforkをする必要がある。
    そうしたらこんな感じでYour Clone URLというのが表示されるので、そのコマンドを実行すればローカルにcloneできる。
    sshot-2009-09-19-[15-47-24]

    たとえば最新リビジョンだけを取得したい場合、「–depth 1」と指定する。
    $ git clone –depth 1 <複製したいリポジトリのURL>

    Gitを使いこなすための20のコマンド – SourceForge.JP Magazine

    depthを決めることでリビジョン(今までにコミットされた更新履歴)の深さを指定できる。
    ここでcloneしたもののpush先は自分のレポジトリが設定されているので、自由にpushできる。
    元々のレポジトリの管理者に自分のパッチを取り込んでもらうなら、自分のリポジトリページから「pull request」をおしてリクエストするという仕組みらしい。

    他人とのやりとりは以下のが参考になる。

    アリスとボブのコラボレーション、gitをちゃんと理解したい! – ザリガニが見ていた…。
    http://d.hatena.ne.jp/zariganitosh/20080908/1220881938


    Gitを始めるまでにやったことのまとめ

    Gitをというよりバージョン管理システム自体をちゃんとやった事がなかったのでGitを導入してみることにした。
    Gitは分散型バージョン管理システムで最近流行っているそうだ。

    Read the rest of this entry »

    プロフィール: azu(アズ)
    Firefoxの事やソフトウェアの紹介や使い道、Greasemonkeyの作成
    • OS:Windows Vista, 7
    • ブラウザ:Firefox
    • Twitterのアカウントはこちら
    • azu_re
    • メールアドレス(Twitterの方が確実)
    • info@ドメイン名
    リンク