備忘録: 第6回 コンテナ型仮想化の情報交換会@東京

ぅぉぅ、何年ぶりの日記だこれ(^^;

Dockerとか齧りはじめたところに案内を見掛けたので参加してみたら、知らんキーワードがぽこぽこ湧いて出たので備忘録としてリンクとか貼っておく。

その他。

SubversionとRedmineのアカウント共通化(プロジェクト毎にグループ化可能)


※2011-12-26 Redmine-1.3.0 に合わせて改訂。

Redmine-1.2からユーザテーブルにsaltが追加されたが、mod_auth_mysqlRedmineのsaltの掛け方に対応していないので、パッチを当てる必要があった。変更点は以下の通り:

  • mod_auth_mysqlにパッチを当てる指示を追加。
  • 「AuthMySQLSaltField salt」を追加。
  • 「AuthMySQLPwEncryption sha1」を「AuthMySQLPwEncryption sha1-rm」に変更。

SubversionRedmineのアカウントを共通化する事例はいくつかあったが、グループ認証を加えようとしたら、AuthMySQLGroup* の設定方法の詳細も設定例もほとんど無くてえらく試行錯誤したのでメモ。

用意するもの

設定

Apacheの設定に以下の設定を加える。

<VirtualHost ......>
  ......

  ### Subversionの設定
  ###
  ### Redmineのユーザテーブルを用いて認証を行う
  <Location 【Subversionリポジトリパスの基点】>
    DAV svn
    SVNParentPath 【Subversionリポジトリ群を格納するディレクトリ】

    AuthName 【Realmの指定】
    AuthType Basic
    Require valid-user

    AuthMySQLEnable On

    # my.cnfの設定に合わせて変更
    AuthMySQLSocket /var/lib/mysql/mysql.sock

    # Redmineのdatabase.ymlの設定に合わせて変更
    AuthMySQLHost 【MySQLサーバホスト名】
    AuthMySQLUser 【MySQLユーザ名】
    AuthMySQLPassword 【MySQLパスワード】
    AuthMySQLDB 【MySQLデータベース名】

    ### Redmineのテーブルとの紐付け
    # Redmineのユーザテーブル
    AuthMySQLNoPasswd Off
    AuthMySQLUserTable users
    AuthMySQLNameField login
    AuthMySQLPasswordField hashed_password
    AuthMySQLSaltField salt
    AuthMySQLPwEncryption sha1-rm
    # グループの設定。プロジェクト識別子をグループとして扱う
    AuthMySQLGroupTable "users, members, projects"
    AuthMySQLGroupCondition "users.id = members.user_id and projects.id = members.project_id"
    AuthMySQLGroupField "projects.identifier"

  ......
  </Location>

  # リポジトリ毎にアクセスできるアカウントを制限したい場合は以下を追加
  <Location 【個々のSubversionリポジトリパス】>
    # 下記のどちらかを設定
    Require user 【RedmineログインID】
    Require group 【Redimeプロジェクト識別子】
  </Location>

  ......
</VirtualHost>

参考資料

git clone https://ID@HOST/... できない場合の暫定対策

Cygwinにて、ID付きのURLでgit cloneしようとすると、Password:プロンプトが出てもパスワードが入力できない。(入力元がptyを向いていないせい?)

生パスワードをファイルに書くので、対策としてどーよと思わないではないが、以下の方法で対処できる。

  • ~/.netrc に、ホスト/ID/パスワードを書く (以下githubの例)

    machine github.com
    login githubID
    password githubパスワード
    

    ※一応上記に加えて「chmod 600 ~/.netrc」しておく。


  • git cloneを実行するとき、URLには『IDを含めない』。(含めるとパスワードを聞かれるので意味なし)

(Windows|Microsoft)UpdateでのMS-IMEの復活を阻止する

どっかに書いたかもしれないけど忘れたので、ここに再度メモ。

MS-IME以外のIMEを使っていると、(Windows|Microsoft)Updateを実行する度にMS-IMEが復活する場合がありますが、この原因は実はOfficeに付属するMS-IMEにあります。

よって、MS-IMEの復活を阻止するためには、こいつをアンインストールしてやればOKです。以下はOffice 2003でのアンインストール手順です。

  1. 「コントロールパネル」を開く
  2. 「プログラムの追加と削除」を開く
  3. Microsoft Office 2003 の「変更」ボタンを押す
  4. Microsoft Offce 2003 セットアップのメンテナンスモードオプションで「機能の追加/削除」を選択して「次へ」を押す
  5. 「アプリケーションごとにオプションを指定してインストール」をチェックして「次へ」を押す
  6. Microsoft Office」→「Office 共有機能」→「入力システムの拡張」をクリックして「インストールしない」を選択
  7. 「更新」ボタンを押す

Emacs23の日本語関連coding-system一覧

NTEmacs23でのskkの設定でハマったので、とりあえずメモ。

  • EUC-JP系
    • E -- japanese-iso-8bit (alias: euc-japan-1990 euc-japan euc-jp)
    • E -- euc-jis-2004 (alias: euc-jisx0213)
  • その他のISO-2022-*系 (わけわかんねー)
    • iso-2022-7bit
    • iso-2022-7bit-lock
    • iso-2022-7bit-lock-ss2
    • iso-2022-7bit-ss2
    • iso-2022-8bit-ss2
    • iso-2022-int-1
    • iso-2022-cjk
    • iso-2022-cn
    • iso-2022-cn-ext
    • iso-2022-kr

ライトニングトーク

メモってるのだけ紹介。

  • 「平日のこんな時間に仕事もしないで」www
  • App Inventor: プレゼン自体を同ソフトを使ってAndorid端末上でやってるのがインパクト大。
  • GAE/JRuby: JRubyがGAE上で使いもんにならないことだけは理解したw
  • OAuthの話: メモが「後でプレゼン資料が見たい」だけ書いてある(^^;
  • ToriSat: 有料なのは正しい戦略だと思う。
  • 建築物の現場検証に3Dテクスチャ+ARなどなど: 所属もお名前もわからんけど、えらく実用的ですごかった。
  • HTML5デモ: そうか、HTML5でプレゼン資料を作成すると、iframe内でデモできるんだ……。あと、ajaxiPhoneをリモコンにしているのが面白かった。
  • Google Wave本の話(番外編): (-人-)
  • WebSocketサーバ: 商用WebSocketサーバの紹介。コアのコード自体は「しらすプロジェクト」にてOSSとして公開。(でも作ってるのは中の人一人)
  • DevQuizの答え合わせ: しりとりは深さ優先探索で解ける。パックマンは最高得点18.2(補正後)。敵がいない状態の場合「中国人郵便配達問題」相当。敵については、適当にウエイト入れたり、進化的アルゴリズムを使ったり、だそう。

Chrome Extension/WebApps のご紹介とアップデート

GoogleI/Oの時点でアクティブユーザは7千万人。

Chrome Extension

  • Chrome Extensionも1つ1つプロセスが独立している。
  • 以下、Chrome Extensionの話が続くが、Extensionの技術的概要を聞いたことがある人には基本的な話なので省略。
  • ExperimentalにSidebarがある!!

Chrome WebApps

  • Chromeにインストール可能なWebアプリケーション。
  • Bookmarkと同じじゃないの? ⇒ パーミッションが一括指定可能。(利用時ではなく、インストール時に確認が行われる)
  • 2種類のWebアプリがある。
    • Hosted App ⇒ 単なるブックマークと同じようなもの。
    • Packaged App ⇒ 全てのリソースをcrxにパッケージングし、ローカルで動作。必要に応じてAPIアクセスを行う。

Chrome WebStore