タグ

ブックマーク / blog.yappo.jp (7)

  • YappoLogs: xlsx ファイルを git diff しやすくする為の天才的な wrapper script を書いた

    皆さんはプロジェクトのリソースとしてエクセルの xlsx ファイルを使う事があると思います。 何てったって事務職の人ですら楽々使えるスーパー優れた UI なので、 web の管理画面とかを作り込むよりもエクセルでシート作ってもらってしまった方が早いケースも多いんです。現実の世界では。 で、普通の人は TSV にするだの CSV にしてもらうだのすると思うんですが、一方的にデータ貰うだけなら良いんだけど、相手とやり取りする時にはどうしても xlsx ファイル経由とかにしないと相手がこまる!やっぱりエンジニアのエは優しさのエだから相手に優しくしないとだめです。 で、 xslx ファイルでエンジニア以外の人とデータやり取りするとやっぱり、バージョン管理したくなるのが人情です。 でも xslx ファイルはバイナリファイルなので git diff とかが残念です。。。 って事で作っちゃいました。 h

    KoshianX
    KoshianX 2014/06/20
  • YappoLogs: TokyoCabinetがPerlのHASHより遅いわけがない!

    TokyoCabinetPerlのHASHより遅いわけがない! こんにちわ!金曜日担当・Shibuya内フェアリーことYappoです。 mixi Engineers’ Blog » PerlRubyで省メモリなハッシュを使おうにて 100万件のレコードを格納した場合のメモリ使用量と処理時間を測ってみましょう。Perl(5.8.8)でテストコードを動かしたところ、以下の改善が確認できました。標準のハッシュに比べて、メモリ使用量がTCのオンメモリハッシュだと約61%、TCのオンメモリツリーだと約37%になることがわかります。処理時間に関しては157%ほどになっていますが、まあ許容範囲ですよね。といった事が書かれており、その文面の上の解説で、tieしたので、tieしてるからおせーんじゃねーの?とテストコードも見ないで呟いてたらmikioさんからtie使わないでやってるよ!とつっこんでいただき

  • YappoLogs: CodeRepos障害のお知らせ

    CodeRepos障害のお知らせ 最近もitkzに心配されてたのですが、CodeReposを置いてる物理サーバのディスクが壊れたのが原因で朝方からアクセス出来なくなってました。 現在は仮の物理マシンにイメージをコピーして動かしていて無事動いているようです。 移した先のマシンはリソースが弱めなので、明日にでも新しいHDDを買ってきて(何買えばいいの?)ディスク入れ替えとイメージのコピーをやって復旧させる予定です。 なのでイメージのコピー中(約30分くらいかかる)の間は使えなくなります。 作業する前にiirで告知するです。 今回はたまたまイメージが無事っぽい感じで復旧が楽だったので良かったのですが、今後も突然死に備えて真面目にバックアップする仕組み作ります>< 具体的にはsvnリポジトリとtracのデータをrsyncdできる場所にコピーしといて、みんなにrsyncしまくりしといて家が破壊され

    KoshianX
    KoshianX 2009/02/11
  • YappoLogs: List::Rubyish - hatena の DBIx::MoCo から fork した

    List::Rubyish - hatenaDBIx::MoCo から fork した DBIx::MoCoというhatena謹製のO/Rマッパは有名ですが、DBIx::MoCo::ListというRubyっぽいリスト操作を行ってくれるモジュールがあります。 概要はPerl のリスト操作を Ruby 風に - naoyaのはてなダイアリーが詳しいです。 DBIx::MoCo::ListはautoboxじゃないのにList::UtilやList::MoreUtilsを活用して実装してあります。 ちょっとしたリスト操作には使い勝手が良さそうなのですが、最大の欠点があります。 それはDBIx::MoCoに含まれるモジュールだという事です。DBIx::MoCoごと入れろと言われたらおしまいですが>< 実はDBIx::MoCo::ListはDBIx::MoCoの他のモジュールに依存する箇所がどこ

  • YappoLogs: Perlで数有る$selfを取る手法をベンチマーク取った

    Perlで数有る$selfを取る手法をベンチマーク取った PerlでOOなコード書く時のコンテキストを取る方法は色々あります、最近audreyがselfvarsをリリースしたので、gugodのself.pmとingyのSpiffyそして、既存のmy $self = shift;やshift->や$_[0]->で$selfを取る方法それぞれのベンチマークを取ってみました。 テストコードのモジュール名は、それぞれのモジュールの作者名から取り、既存の手法はYAPC::Asiaでプレゼンした事のある日を代表するPerlな企業のCTOからモジュール名を取らせていただきました。 コードは以下の通りです。 package Audrey; use strict; use warnings; use selfvars; sub new { bless { count => 0 }, shift } sub

  • YappoLogs: PowerEdge SC440をQuad Core + 8GBメモリで動かす

    PowerEdge SC440をQuad Core + 8GBメモリで動かす はてなのnaoyaさんの日記でQuad CPUでxenを動かしてるという事が書いてあったので、自宅でもはてなのサービスをまねた構成をしたくなったので人柱やってみました。 タイトルの通り、1万5千円で買ったSC440をDELL公式のスペックよりもオーバースペックな事をして動かしました。 まずは、メモリから。 ミラクルリナックスの中の人曰くマザーボードの仕様的には8Gまでいけて、8Gちゃんと認識したという事で、以前から買い漁ってたTranscendの1GB DDR2 667MH ECC メモリの 2GB 番の TS256MLQ72V6U 4枚買って来て刺した所 BIOSでは8G認識してるのにOS上げたら3.5Gにも満たなかった、よく考えて64bit番のCentOS入れたら無事8G認識しました。 次はCPU、SC440

    KoshianX
    KoshianX 2007/12/10
    「これくらいの環境おいとかないと」っていくらなんでも無茶だろwwwとか思ってふとうちのPC棚を見たら、似たような感じでしょんぼりした。もっと古くてしょぼいけどね
  • YappoLogs: CodeReposにうpする事は恐くないよ

    CodeReposにうpする事は恐くないよ ユーザ避けとしてのSubversion - blog.fuktommy.comのミラー だから早いうちからソースを公開するのはいいことだと思うんですけど、 問題もあるんですよね。 ソースはできるだけ早くから公開したいんですけど、 実際にユーザが使うのは「ひととおりできあがった」あとにしてほしいんです。 早くから使われると、当然完成度も低いですし、 仕様の変更だってちょくちょくあるから、 「完成度は低いし、バージョンアップのたびに互換性なくなるし、つかえねー」 という評判が立ってしまう。 これは二つの問題を混ぜて考えてしまっている。 ソースを公開する=将来のユーザになる層に告知するという考え方がまず間違っています。 そりゃ2chとかでスレ立ててやっちゃえば、混ぜこぜになっちゃうのもしょうがないかもしれないすけど、ひげぽんとかの成功例もあるからプロジ

    KoshianX
    KoshianX 2007/12/01
    こっそりファイルおいて日記に書いたくらいじゃ誰も見ないもんな。svnにほうりこんだくらいじゃホントに誰も気付かないんじゃないだろうか
  • 1