タグ

ブックマーク / hiratara.hatenadiary.jp (10)

  • どんな環境でも動くPerlスクリプトを作る時の小道具 - Pixel Pedals of Tomakomai

    cpanmのように素のPerlだけで余裕で動くぜっていう配布物を作る時に便利な小道具×2です。 App::FatPacker App::FatPackerとは、依存モジュールを全て1つのファイルに押し込んでパックしてくれるライブラリです。 1枚のスクリプトに全てをまとめてくれるApp::FatPacker Module::CoreList CGI の配布や、アプリケーションの配布のときに、どのモジュールがどのバージョンから 標準添付になったのかを知りたくなります。 Module::CoreList - 標準添付ライブラリかどうかを調べる 後はHTTP::Tiny だとかText::MicroTemplate とかPurePerl で小粒なモジュールを集めれば、レトロでCPANモジュールがメンテされてない環境でも動作するスクリプトを、割とモダンな構成で作れて大変気分が良くなります。 ちなみに

    どんな環境でも動くPerlスクリプトを作る時の小道具 - Pixel Pedals of Tomakomai
    poppen
    poppen 2011/05/28
  • git rebaseとgit mergeはともだち こわくないよ - Pixel Pedals of Tomakomai

    例えば、以下のようなコミット履歴があるとします。 A---B---C---D masterここで git rebase -i HEAD~3 をして、 コミットB を E に書き換えたくなったとします。このとき、rebase -i によって履歴を書き換えてしまうと、以下のようにリポジトリからB〜Dのコミットは消滅してしまうと思っている人も居るのではないでしょうか。 A---E---C'---D' master確かに、Gitがこのような動作をするのであれば、rebase後に元の状態へ戻すことは到底困難であるように見えます。しかし、正確に書けば、実際のレポジトリの状態は以下のようになります。 E---C'---D' master / A---B---C---D実はコミットA〜Dの一連のコミットは手つかずで残っており、「master」というラベル*1が新たな枝に付け替えられただけなのです。よって、

    git rebaseとgit mergeはともだち こわくないよ - Pixel Pedals of Tomakomai
    poppen
    poppen 2010/06/26
  • Re: 知ってそうで意外と知られていないperlの小技 10選 - Pixel Pedals of Tomakomai

    意外と知られていないperlテクってのが、意外とあるもんですね。 最近身の回りでいくつか話題に上がったものがあったので、ちょっと書いてみます。 知ってそうで意外と知られていないperlの小技 10選 こういうトリビア的なのはなかなか面白いなあと思ったので便乗させて頂きました。 Re: ランダムシャッフル 続いてこれもソートねた。 これは List::Util::shuffle の方がベターでしょう。*1 % perl use List::Util; print join ' ', List::Util::shuffle qw( 0 1 2 3 4 5 6 7 8 9 ); print "\n"; 1 8 6 3 0 2 7 5 9 4 Re: perlとだけ叩いたら そんなあなたは、まずコンソールに向かって「perl」とだけ打ってリターンしてみてください。 ちなみに、perlrunを読めば

    Re: 知ってそうで意外と知られていないperlの小技 10選 - Pixel Pedals of Tomakomai
    poppen
    poppen 2010/06/15
  • Gitで共有リポジトリを作るならgitosisが便利 - Pixel Pedals of Tomakomai

    ちょろっと渡邉さんのエントリに補足を。 実用Git 吉藤 英明 (監訳) ちなみに、には直接関係ありませんが、このの翻訳もGitを使って進められました。 共訳させていただいた「実用Git」が発売になります 原稿はGitで管理しようと言う話は最初から訳者3人の間で出ていたのですが、原稿を管理するとなると当然read権限も含めたパーミッションの管理が必要でした。3人がgit-daemonを立ててお互いにpullしようかとも思ったのですが、git-daemonを使うと匿名で誰でも読めるリポジトリとなってしまいます。HTTP経由だとWEBサーバによってアクセスコントロールはできますが、速度に不安が残ります。ということでsshがベストなんでしょうが、gitのためだけに3人分のアカウントを作るのはちょっと気が引けました。 そこで、今回使ったのがgitosisです。gitosisについては入門git

    poppen
    poppen 2010/03/16
  • git型の共同作業とSVN(CVS)型の共同作業の違い - Pixel Pedals of Tomakomai

    ずっと gitとsvkの違いってなんなのよ? と思ってたんですが、この図とか説明読んでようやくわかりました。 Gitでは旧来のCVS型とGit型の二つの共同作業のモデルが使えます。これが混乱の元でした。 Gitのすごさを当に体感するなら、gitを使うだけでは不十分でGit型のモデルにそって開発することが必須です。 CVS型 従来のSVN(CVS)のモデルです。pullをしてきて、pushで更新を戻します。 1つの公開リポジトリに対し、複数人がpushを行う pushにより他の人と競合するかも メインのリポジトリにpushすることを目指す 能動的 → 悪意のあるpushも可能 → "コミッター"を絞る必要あり Gitgithubっぽいモデルです。pullをしてきて、pullで更新を持って行ってもらいます。 全体がpullでまわるため、pushがプライベートな操作として隠蔽されてるのがポ

    git型の共同作業とSVN(CVS)型の共同作業の違い - Pixel Pedals of Tomakomai
    poppen
    poppen 2009/02/13
  • Yokohama Perl Mongers テクニカルトーク #1 - Pixel Pedals of Tomakomai

    横浜人ですので。例のごとくログとります。 yokohama.pmの成り立ち / clouderさん zigorouさんがCatalystをやろうと言っていた twitterで流してIRC立ち上げた いつのまにかリーダーになっていた DIS られない Catalyst とのつきあい方 / ikasam_aさん Plugin Pluginを作ると・・・「CPANは幼稚園児の砂場じゃない」 Pluginを使うと・・・「多くの人がひどい目にあうものを勧めるのか」 リクエストのライフサイクルでは、必要 ← IRCやMLでネゴるとDISられない Pluginを避けて、Componentsをいじる 拡張Controller Catalyst::Contorller::FormBuilder, Catalyst::Contorller::Resources等 Modelの拡張 ModelはCatalyst

    Yokohama Perl Mongers テクニカルトーク #1 - Pixel Pedals of Tomakomai
  • YAPC::Asia 2008 Tokyo 2日目 - Pixel Pedals of Tomakomai

    いよいよ最終日です。電池切らさないように頑張ってレポートします(笑)。 You're Doing OO Wrong/Michael Schwernさん(9:50〜10:25) スピーカーの到着遅れてたようです。5分遅れでのスタートです。 継承がオブジェクト指向?→違う Howではなく、その操作から何が得られるかに着目する→インタフェース 継承がなぜよくない? 継承はめちゃめちゃになりやすい←ダイヤモンド継承 注意深く継承するのはつまらない 特徴に応じてクラス分けすると、クラスが増え過ぎてしまう Class::DBI → 色々継承している use Moose 少ないコードで書ける→OO部分だけ書けばいい Mooseでも、機能が欲しいだけでextendsを使うと意味がない→hasを使おう Roleはwithで取り込む まとめ: isa ×、hasa ○、Role ○ 自分でOO実装しないで、M

    YAPC::Asia 2008 Tokyo 2日目 - Pixel Pedals of Tomakomai
  • YAPC::Asia 2008 Tokyo 1日目 - Pixel Pedals of Tomakomai

    今日も来ています。コンセントは運良く(?)借りられました。 Welcome to YAPC::Asia 2008/Tatsuhiko Miyagawaさん(9:45〜9:55) YAPC::Europaに人数負けそうだった Perl Mongersに属してない人が多い?→YAPC来た時点でMongers! 仕事で来れない人が多い?→仕事とYAPCどっちが大事だ! TPF Introduction/José Castroさん(10:00〜10:05) Perlファウンデーションについて Perl Mongersのhelpもしてるから、気軽にどうぞ A Standard That Is Meant To Be Broken/Larry Wallさん(10:05〜) Perl6の文法とその拡張についての話だったと思うのですが、最初全然聞き取れませんでした。難しい。。。 Perl6は冗談ではないw

    YAPC::Asia 2008 Tokyo 1日目 - Pixel Pedals of Tomakomai
  • WEB DB PRESS Tech Meeting レポート (っていうか実況?) - a geek

    WEB+DB PRESS Tech Meeting行ってきましたので、レポートです。資料等後日公開されますので、詳細はそちらをご覧下さい≧(´▽`)≦。 六木はわかりにくいですねー。割と迷いました。 会場は机なしですが、無線LAN有です。ニコニコで配信されるっぽいので、映りたくない人は逃げた方がいいみたいです(笑)。 JavaScript Tips & Technique 天野さん JSの10年間の暗黒時代 FlashもJavaScriptも勝利者 2005年まではFlashの独り勝ち→Ajaxの登場 JSでもできること ラスターグラフィックス (canvasの利用) ベクターグラフィックス (svgやvml) アニメーション (GoogleのOSSのサンプル) 今でもJSでできないこと Sound、Movie、Cross-domain通信 video要素、audio要素、XMLHttp

    WEB DB PRESS Tech Meeting レポート (っていうか実況?) - a geek
  • LL魂の実況中継 - Pixel Pedals of Tomakomai

    今年も参加しています。適当に実況します。 (8/8 追記。id:SumiTomohikoさんがすばらしいまとめを作ってます。こちらもぜひ。) 10:30 基調講演 - ハッカー気質について / 和田英一さん hackとは・・・playful 遊び心で hackerとは・・・to be described as a hacker by others (他人にハッカーだと認めてもらう) が better ハックは自己表現。チームで作る互いのものではない。四苦ハックして行う 楕円を書くコンパス・・・円錐を斜めに切ると楕円になることを利用。影絵で説明(笑)。 ケルミンの積分機、兆候予測機、微分解析機*1 Niemanのトルク増幅器・・・Input軸の変位をモーターの力で増幅させる。牛の鼻輪を引くと、痛がって同じだけ牛が動くのと一緒(サーボモゥター) flipflopで音階を出す・・・ビットシフトに

    LL魂の実況中継 - Pixel Pedals of Tomakomai
  • 1