タグ

ブックマーク / wyukawa.hatenablog.com (11)

  • シェルスクリプトのパスとパイプ - wyukawa's diary

    考えてみるとここ1年はJavaのコードはほとんど書いていなくてそれよりはシェルスクリプトを書いている機会の方が多かった。 なのでここら辺でシェルスクリプトを書いていてハマったところというかちょっとしたTipsをメモっておこうと思う。前提としてBashである。 まずはパスについての話。 シェルスクリプトでパスをべた書きしているとポータビリティが失われてしまい別のマシンに移行する場合に困るケースが多い。 なのでこれをスマートに解決したいわけである。 かといって単純に相対パスを使っていると困るケースがある。 例えばある基準となるディレクトリ${BASE_DIR}があってその下にシェルスクリプトをおくディレクトリscriptsとログをおくディレクトリlogという構成にしたいとしよう。 scripts/ log/この場合にシェルスクリプトの中で echo ... > ../log/log.txt と

    シェルスクリプトのパスとパイプ - wyukawa's diary
  • ミドルウェアの設定ファイルをどのようにバージョン管理すべきか - wyukawa's diary

    僕は最近インフラ屋さんになりつつあるのでミドルウェアの設定ファイルをどのようにバージョン管理すべきという話をちらほら考えてます。あ、実際に何かを試した訳ではないです。あしからず。 開発したアプリケーションのソースコードをバージョン管理しないというのは今時あり得ないでしょう。バージョン管理ツールに何を使うかは置いといて。 でも一方ではミドルウェアの設定ファイルをバージョン管理している現場は少ないのではないかと思います。少なくとも僕は見たこと無いです。 まあ僕自身がアプリ屋経験しか無いのでインフラ屋現場ではひょっとしたら違うのかもしれませんが、ここでは少ないという前提で話を進めます。 バージョン管理しないとどうなるかっていうと、例えば「○○サーバをDNSの設定に追加する」とかいうタスクがあってそれを完了したとして、後に振り返って見たときに具体的に何をしたのかわかりませんよね。実はその後も設定フ

    ミドルウェアの設定ファイルをどのようにバージョン管理すべきか - wyukawa's diary
    hokorobi
    hokorobi 2011/11/05
  • シェルスクリプトのテスト - wyukawa's diary

    以前シェルスクリプトのテストについて少し書きました。 シェルスクリプトの開発環境 - wyukawa’s blog 最近実際にテストを始めたのでどうやっているかを書いてみたいと思います。 やりたいことはHiveQLをキックするシェルスクリプトのテストです。 ブラックボックステストでテストの粒度はSIerでいう?単体をイメージしてます。 1ファイルのシェルスクリプトをテストするシェルスクリプトは1ファイルでその中にテストメソッドが観点ごとに複数存在するイメージです。 またブラックボックステストなのでシェルスクリプト内の分岐を網羅するようなテストは想定していません。もっと粒度は大きいです。そうじゃないとメンテナンス大変だし。 テスティングフレームワークはshunit2を使います。 テストコードのディレクトリ構成はこんな感じです。テストケースごとにテストデータ、テスト結果置き場、期待値データがあ

    シェルスクリプトのテスト - wyukawa's diary
  • 技術書の写経 - wyukawa's diary

    写経を「しゃけい」と読んでいたwyukawaです。こんにちは。正しくは「しゃきょう」です。恥ずかしいのでみんな間違えないようにw さて開発者のみなさんはしゃきょうしてますか? ちなみに僕はほとんどしてません。 ですが、 TDD Boot Camp福岡 - Togetter によると、 @t_wadaさんはテスト駆動開発入門を3回写経したそうです。 また写経の仕方も興味深くて 技術書の「写経」の方法。 1.ローカルで使える SCM を用意 2.「ほんたった」などで対象のを固定 3.ひたすらサンプルコードを写して実行 4.実行するたびにコミット(コミットログにページ番号を含める) 5.疑問点があったらコミットログやに書き込む 6.章ごとにタグを打つ 2010-02-12 17:06:50 via P3:PeraPeraPrv という方法を取っているようです。 これだとブランチは使いませんが

    hokorobi
    hokorobi 2011/03/25
  • hgflow - wyukawa's diary

    GitにはA successful Git branching modelと言われるブランチ運用フローが知られています。 内容の詳細はこちら 原文 A successful Git branching model » nvie.com 翻訳 見えないチカラ: A successful Git branching model を翻訳しました でこのフローを補助するツールとしてgit-flowというのがあります。 GitHub - nvie/gitflow: Git extensions to provide high-level repository operations for Vincent Driessen's branching model. git-flowの使い方はこちらが詳しいです。 A successful Git branching model を補助する git-flow

    hgflow - wyukawa's diary
  • 分散バージョン管理勉強会で発表してきました - wyukawa's diary

    meeting/13 - Shibuya.trac Wiki - Shibuya.trac - OSDN 12月17日 分散バージョン管理勉強会(東京都) いつもながらですがスタッフ、発表者、また見に来ていただいた皆様に感謝します。ありがとうございました。m( )m あといちご大福うまかったです。^^); 当たりのわさび大福が出た後に大福取りにいったのは内緒だw 今回のShibuya.trac勉強会はいつもと異なり分散バージョン管理に特化したせいか?初参加者が2/3を占めました(過去2回は1/3)。 ちなみにアンケート結果を見る限り大半がSVNユーザでその次がGitでした。 Togetterはこちら http://togetter.com/li/80257 僕の発表スライドはこちら Dvcs studyView more presentations from Wataru Yukawa.

    分散バージョン管理勉強会で発表してきました - wyukawa's diary
  • MercurialとGitのブランチの違い - wyukawa's diary

    MercurialのブランチというのがどういうものでしかもそれがGitと同じなのかどうかもいままでよくわからなかった。 その辺のモヤモヤがこれを読んで理解できた(気がする)。 experimentalworks » Blog Archive » Mercurial bookmarks A Guide to Branching in Mercurial / Steve Losh まずMercurialでは以下の4種類のブランチがある。 リポジトリをcloneしてつくるブランチ hg bookmarkで作るブランチ hg branchで作る名前付きブランチ 名無しブランチ リポジトリをcloneしてつくるブランチは hg clone test-project test-project-feature-branch というように単純にcloneして新機能を開発してあとでマージなりリベースなりする

  • 今のプロジェクトでの構成管理 - wyukawa's diary

    とりあえずSVNのフォルダ構成はこんな感じ。単一リポジトリ複数trunk型ですね。僕がこのプロジェクトに入った時点でこうなってた。僕は単一リポジトリ単一trunk型がいいと思っていたんだけど、こっちのほうがいいかも。プロト置き場は必要だけど別にドキュメントとかと同期させる必要無いしね。 http://.../svn/ProjectA/ | |---prototype/ プロトタイプソース置き場 |---trunk/ |---tags/ |---branches/ |---doc/ ドキュメント置き場 |---trunk/ |---tags/ |---branches/ |---src/ 番用ソース置き場 |---trunk/ |--sample-project/ | |--build.properties |--build.xml |--build-common.xml macrodef

    今のプロジェクトでの構成管理 - wyukawa's diary
  • Shibuya.trac 第7回勉強会で発表しました - wyukawa's diary

    発表スライドはこちら Hudson tanabata.tracView more presentations from Wataru Yukawa. 私の勤めている会社のようにslideshareとかはてなフォトライフとか見れないんじゃい!っていう方のためにPDFも下記に置きました。ちょっと重いですがw http://dl.dropbox.com/u/8494587/Hudson-Tanabata.pdf まず会場を貸していただいた @tomohn さん、会場面でおもに調整していただいた @kanu_ さん、スイーツとか諸々手配していただいたちょびさん、企画していただいた @LightningX さん、司会していただいた@ikikkoさん、Ustしていただいた@nekotankさん、はじめ全てのスタッフ、発表者、また見に来ていただいた皆様に感謝します。ありがとうございました。m( )m S

    Shibuya.trac 第7回勉強会で発表しました - wyukawa's diary
  • RedmineとTracの比較 - wyukawa's diary

    これまた今更感のあるネタですが少し調べてみたので書いておきます。比較対象バージョンはRedmine 0.9.4とTrac 0.11.7です。 あと僕は基的にTracユーザです。といっても使い倒しているわけではありません。Redmineに関しては実戦投入したことはありません。 1. インストール これは前提条件を明確にしておかないと比較にならないので、OSはLinuxでtracdやMongrelのような開発サーバではなくApahceに連携させるという前提にします。なのでTracLightningはのぞきます。あとSubversion使う前提にします。 この前提にたつとインストールはどっちも面倒だと思います。結局体とは別にTracならmod_pythonやmod_wsgiと連携させますし、Redmineならpassengerに連携させるのでその辺が面倒だなと。 Redmineだとさらにマイ

    RedmineとTracの比較 - wyukawa's diary
  • Tracのトップページに書くこと - wyukawa's diary

    僕は2006年ぐらいからTracを使い出していて、周りもTrac利用者が多いので画面を見させてもらったりして参考にしたりしてます。ちなみにTrac 0.10系で環境が作られていて共用なのでTrac 0.11ならではの使い方?はよくわかりません。 普通に考えて、Tracをたててアカウントつくって「さあ使ってください」といわれもどうしていいかわからないと思います。 なので、今までいろいろ見てきたTracサイトを参考にこうしたらいいのではというのを書いてみます。 プラグイン周りは下記が参考になると思います。上にあるものが新しいエントリです。 かおるんさんのエントリはTrac 0.11系のようです。 Trac のプラグインをまとめてみた - Natural Software http://www.ryuzee.com/contents/blog/716 Tracおすすめプラグイン - 見ろ!Zがゴ

    Tracのトップページに書くこと - wyukawa's diary
  • 1