el-get on Debian

投稿者 okkez 2011-11-12 07:54:00 GMT

Debian GNU/Linux の sid で el-get と使ってみたのでそのまとめ。

あ、emacs23 を使っています。

$ sudo apt-get install el-get

標準のレシピは /usr/share/el-get/recipes/ 以下にあります。 今、数えたら420個くらいレシピがありました。

レシピの書き方は、それらのレシピを見たりすればなんとなくわかるんじゃな いかと思いますが、実際に一からレシピを書くことはそんなにありません。 既存のレシピがダメな場合にちょっと変更したりするくらいです。

自分の .emacs は https://github.com/okkez/dotfiles で公開しています。

https://github.com/okkez/dotfiles/blob/master/emacs-config/config-el-get.el にコメント入りで書いているのでよかったら参考にしてください。

自分の用途では既存のレシピでダメだったのは、依存関係が壊れてる (haml-mode, sass-mode)、アップストリームのリポジトリが移動しているのに 追従していない(yasnippet)、余計なことをしている(ruby-electric) でした。

el-get のいいところは、

  • いろいろな配布形式に対応している
  • レシピを書いて sync するようにしておけば、初回起動時に自動でインストールできる
  • 無理にレシピに設定を書かなくてもいい
    • 既存の資産を活かすことができる

でしょうか。 起動時に入ってなかったら自動でインストールしてくれる点が気にいってます。

el-get を使う前後で ELPA も検討してみたのですが、el-get が ELPA に対応 しているので emacs24 になっても el-get を使うようにしておけば、emacs24 になっても特に問題ないかなーと考えています。

カテゴリ ,  | タグ  | コメントなし | トラックバックなし

Trying to upgrade rurema-search

投稿者 okkez 2011-07-20 16:21:00 GMT

[ruby-list:48219] から始まるスレッドを見て久しぶりに更新してみることにしたら、まだできない。

今晩は諦めて寝てしまうかもしれないので doc.okkez.net/search/ のは止まるかもしれません。

okkez.net が止まっている間は以下のどちらかを利用してください。

  • http://doc.ruby-lang.org/ja/search/
  • http://rurema.clear-code.com/

doc.okkez.net は更新できたっぽいです。(追記)

カテゴリ ,  | タグ  | コメントなし | トラックバックなし

久し振りに本を買った

投稿者 okkez 2011-06-02 15:33:00 GMT

あんまり技術よりじゃない気もするけど、なんか読みたくなったので買ってみた。

カテゴリ  | コメントなし | トラックバックなし

2011-03-11 の帰宅まで

投稿者 okkez 2011-03-12 17:56:00 GMT

記憶をもとにざっくり書いてます。

2011-03-11 は栃木県小山市のオフィスに出社してた。

14:46 地震発生。 まわりに落下してくるものもなかったので、目の前にあったでっかい液晶ディスプレイをささえてた。

弊社では、水道橋のオフィスと Skype で常時つながっているのですが、小山で揺れはじめて数秒後には 東京のオフィスでも揺れはじめていました。 両方で揺れているのがわかるようになってから、十数秒後には停電してしまって Skype による接続は切れてしまいました。

WiMAX のモバイルルータを持っていたのでそれを試してみましたが、つながらず、3G はつながったので twitter 経由で無事をつぶやきつつ、ワンセグで状況確認。一緒にいた人が持っていた b-mobile もつながってたみたい。

近所のコンビニもまどから見ると停電していました。

あとはノートPCのバッテリがなくなるまで仕事してました。

17:00 過ぎに、さいたま方面に帰る同僚の車に乗せてもらいました。

栃木では塀が倒れている家があったり、信号がついていたり、ついていなかったりして危なかったですが、交通事故はありませんでした。 ところどころ、大きな交差点には警察官が立って交通整理をしていました。 停電していない地域では、割と普通にいろいろな店が営業していましたが、24h 営業のコンビニやマクドナルドは閉店してるところもありました。

途中のコンビニはおにぎりやパンは売り切れだったので、どらやきとチップスターを買って食べたり。

23:10 くらいに家に到着。 帰宅する前は、本棚などが倒壊していることを心配していましたが、全くそんなことはなくて綺麗なままでした。 電気、ガス、水道も通じていました。

大阪の実家には翌朝連絡しました。

カテゴリ  | コメントなし | トラックバックなし

git pre commit hook

投稿者 okkez 2010-10-07 08:36:00 GMT

以下のようなコードを .git/hooks/pre-commit として保存し、実行できるようにしておくと、 コミット前にコミットしようとしているファイルの文字コードをチェックできる。

これは、るりまでときどき UTF-8 なファイルをコミットしてしまうので作った。

#!/bin/sh
flag=0
for f in $(git diff --cached --name-only);do
    if [[ `nkf -g ${f}` = 'UTF-8' ]];then
        flag=1
        echo "${f} is UTF-8"
    fi
done
if [ $flag -eq 1 ];then
    exit 1
fi
exit 0

追記

バズ経由で @no6v にコメントもらった。 曰く「nkf 呼びすぎだぉ」

#!/bin/sh
if nkf -g $(git diff --cached --name-only) /dev/null | grep :UTF-8$; then exit 1; fi

カテゴリ  | タグ  | コメントなし | トラックバックなし

Read "Source code reading technic for programmers"

投稿者 okkez 2010-07-15 15:33:00 GMT

「プログラマーのためのソースコードを読む技術」という本をジュンク堂で見かけたので、買って読んでみた。

わかっている人にとってはものすごく普通の内容でした。 それでも、後半のコードリーディング実践の部分は実際に使われているソースコードを全文掲載していて、 移動中でも読めそうな感じだったのは良いと思いました。実際に、自分も移動中に読んでいました。

個人的にはあまり合わなかったけど、これからプログラマや SE として働く人や、新人教育担当になる予定の人や 来年から後輩ができる人なんかは読んでみると参考になると思います。

カテゴリ  | タグ  | コメントなし | トラックバックなし

Read Perfect Software

投稿者 okkez 2010-06-25 15:06:00 GMT

読んだ。

ワインバーグの最新作なのかな。ジュンク堂で偶然見かけて、購入。

ソフトウェアのテストにまつわる誤解、誤謬、詐欺に関する本。 具体的なソフトウェアテストの技術や知見を知りたい人は別の本を読めばいいと思う。 例えばこの辺。(もちろん本書にも参考文献はいくつもあげられている。)

本文で紹介されている人々の会話も面白いし、実際にありそうな感じだった。いくつかは、自分自身も経験がある内容だった。

で、どういう人がこの本を読むべきかと言うと、ソフトウェア開発に直接、間接に関わるすべての人々が読むべきだと思った。 開発者は、自分の行動やテストに対する考え方や振る舞いを振り返りながら。 テストエンジニアは、開発者から本書にあるような扱いを受けたことがないか振り返りながら。 マネージャは、自分のチームの開発者とテストエンジニアが上手くいっているか気にしながら。あるいは、部下の報告を無視したり、 曲解したり、勘違いしていないか振り返りながら。 その他の人々は、いつか自分が当事者になるかもしれないのだから、当事者になったときのために。

カテゴリ ,  | コメントなし | トラックバックなし

Working Effectively with Legacy Code

投稿者 okkez 2010-06-13 13:39:00 GMT

「レガシーコード改善ガイド」の読書会に行ってきた。今回で最終回だった。 全体的に著者の経験に基づいた実用的なテクニックが多かった。

著者の「テストコードが無いコード」== 「レガシーコード」という考え方には同意できる。 本書では、そういったレガシーコードに対するシチュエーション別の考え方が多数紹介されている。 難を言えば、サンプルコードに C++ と Java が節ごとに切り替わって、少し戸惑うことがあった。 「レガシーコード」 == 「テストコードが無いコード」に悩んでいる人は読んでみるといいと思う。

合わせて読みたい

カテゴリ ,  | コメントなし | トラックバックなし

now can add your comment to doc.okkez.net

投稿者 okkez 2010-04-10 02:27:00 GMT

Ruby reference manual (beta) の BitClust 版にコメント機能が付きました。

デザインとかちゃんと出来てないけど、動くようになっているので「一言、言いたいけどチケットを起票するのはちょっと。。。」という人はコメントしてみてください。

カテゴリ ,  | タグ  | コメントなし | トラックバックなし

using jQuery in Rails

投稿者 okkez 2010-02-20 02:00:00 GMT

最近 Rails で作っているウェブアプリケーションでは jQuery を使うようにしている。 なんとなくこうすれば良さそう、というのがわかってきたので書いておく。

google の jsapi を使う。 どこかのブログで見つけたコード片をちょっと変更したやつ。

module ApplicationHelper

  def google_jsapi_tag
    '<script type="text/javascript" src="http://www.google.com/jsapi"></script>'
  end

  def google_load_tag(name, version)
    %Q|<script type="text/javascript">google.load("#{name}", "#{version}");</script>|
  end

end

layout では以下のようにする。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
  <head>
    <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
    <meta http-equiv="Content-Script-Type" content="text/javascript" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <%= google_jsapi_tag %>
    <%= google_load_tag 'jquery', '1.3' %>
    <%= google_load_tag 'jqueryui', '1.7' %>
    <%= javascript_include_tag 'application' %>
    <%= yield :head %>
    <%- javascript_tag do -%>
      jQuery(function($){
        if (navigator.cookieEnabled) {
          $("#cookie_check").hide();
        } else {
          $("#cookie_check").show();
        }
        <%= yield :script %>
      });
    <%- end -%>
    <%= stylesheet_link_tag 'application' %>
    <%= stylesheet_link_tag 'jquery-ui-1.7.2.custom' %>
    <title><%= @title %></title>
  </head>
  <body>
    <!-- 略 -->
  </body>
</html>

こうしておくと view では以下のように書くことができる。

<%- content_for :script do -%>
$("a#hoge").click(function(event){ /* なんか処理 */});
<%- end -%>

global な名前空間を汚さないし、割と短く書けるし気に入っている。

カテゴリ ,  | タグ , , ,  | コメントなし | トラックバックなし