タグ

fileに関するkwryのブックマーク (12)

  • そのファイル、安全に更新できていますか?(アトミックなファイル操作:前編)

    ハートビーツ最年長エンジニアの滝澤です。以前、弊社CTOにシニアおっさんエンジニアから若手エンジニアに向けて何か書いてくれと言われた気がしたので、アトミック(atomic)なファイル操作について3編に分けて紹介します。この内容は弊社の社内勉強会で話した内容をまとめ直したものです。 そのファイル、安全に更新できていますか?(アトミックなファイル操作:前編)←今回 そのファイル、安全に作成できていますか?(アトミックなファイル操作:中編) そのファイル、安全にロックできていますか?(アトミックなファイル操作:後編) 今回は「みなさん、安全にファイルの更新ができていますか?」ということについて、考えてみましょう。 あなたはあるサーバ上のファイルの更新を依頼され、もらったファイルをサーバ上でコピーして上書きしました。しばらくして、データに異常が発生したので調べて欲しいと言われました。さて、何が起き

    そのファイル、安全に更新できていますか?(アトミックなファイル操作:前編)
    kwry
    kwry 2013/11/05
  • 画像Storage System

    画像Storage System - Presentation Transcript 自己紹介  根 英明  1977年7月31日リリース  担当システム 画像ストレージシステム モバイルブログ  HW周りが多少得意 画像システム紹介  2008年10月リリース  当初は鬼の不安定さ!!  障害件数多数  データロストもしました・・・  過去最も夜中に起こされた  過去最もDCにいかされた 画像システム紹介 印象の悪いシステムです 日のテーマ 日のテーマ 高可用性 高可用性  高い可用性(アベイラビリティ)を持つコンピュータシステムのこと  コンピュータシステムの可用性は、システム故障が生じるまででの平均時間「MTBF」(Mean Time Between Failure:平均故障間隔)と、システムに故障が生じてから復旧までの平均所要時 間「MTTR」(

  • Path::Class(::File)のslurp()でバイナリ・ファイルががが

    添付ファイル付きのメールを作成・送信するオレオレスクリプトを作ってて、ファイル名とかの扱いが簡単そうだったのでPath::Classを使ってみた。添付ファイルの読み込みもPath::Class(::File)のslurp()でやろうとしたのだけど、バイナリ・ファイルを添付する時にbinmodeして読み込む方法がわからなくちょっと困った。そしてどうやるのが正解なのかまだわからない……。 Path::Class(::File)のslurp()を含むopen()関連のメソッドはIO::Fileを使っているようなので、こういう風に書けばとりあえず目的は達成できるらしい。 use Path::Class; my $file = file("foo.png"); my $fh = $file->openr(); $fh->binmode(); local $/; my $content = <$fh>

    Path::Class(::File)のslurp()でバイナリ・ファイルががが
    kwry
    kwry 2009/12/23
  • Are Filehandles Objects?

    Perl has a very confusing set of behaviors for treating filehandles as objects. ADHD Summary Globs which contain open handles can be treated as objects, even if though they aren't blessed. Always load IO::Handle and FileHandle, to allow the method syntax. Whenever you are using filehandles, use the method syntax, regardless of whether it's a real handle or a fake one. A fake handle that works with

    kwry
    kwry 2009/10/06
  • ファイルの変更を監視して、任意のコマンドを実行するスクリプト - (ひ)メモ

    d:id:hirose31:20070528:1180326347 のobserve-mtimeは、ファイルのmtimeの変更を定期的に確認してイベントを発火させてたんですが、それをLinuxのinotifyで置き換えてみました。 mtime監視だと調べてスリープしての繰り返しなので、変更してからイベントが起こせるまでちょっとタイムラグがあったんですが、inotifyを使うとファイルが変更された瞬間にぴこっとイベント発火できるのでこっちのほうがいいかも。 http://www.linux.or.jp/JM/html/LDP_man-pages/man7/inotify.7.html rsync + inotify = lsyncd | スラド デベロッパー Linux::Inotify2 CPANにはLinux::Inotifyというのもあったのですが、$Config{archname}が

    ファイルの変更を監視して、任意のコマンドを実行するスクリプト - (ひ)メモ
    kwry
    kwry 2009/09/25
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    kwry
    kwry 2009/09/13
  • Perlの排他制御 (flock,open,symlink,mkdir,rename)

    ファイル操作の排他制御といえば、以下のものが代表的です。 flockとロックファイル(ディレクトリ)式に大きく分けられます。 ロックファイル(ディレクトリ)を使う open関数 symlink関数 mkdir関数 rename関数 古いロックファイル(ディレクトリ)の削除 シグナルトラップ flockを使う flock関数 読込モード 追加モード 上書き・読み書きモード エラー処理 まとめてロックする タイムアウト ■ロックファイル(ディレクトリ)を使う 基は単なる使用中の目印です。目印が無いときに入って、自分で目印を作り、操作が終わったときに消して出るだけですね。トイレみたい(^^) で、使用中なら何回かノックします。(せかすな〜) open関数 ファイルオープン関数でファイル作成。 1.ファイルが存在するか。 2.しなければ作成。 と2段階を要するので、その隙に他のプロセスが

    kwry
    kwry 2009/09/10
  • perl - stat()、-X 演算子、そして _ ファイルハンドル : 404 Blog Not Found

    2008年05月12日13:30 カテゴリLightweight Languages翻訳/紹介 perl - stat()、-X 演算子、そして _ ファイルハンドル こういった場合のTipです。 ファイル演算子「 -s 」で、ファイルサイズを取得する。 - サンプルコードによる Perl 入門 if( -f $file ){ my $file_size = -s $file; print "$file のファイルサイズは、$file_size バイトです。\n\n"; } else{ print "$file は、存在しませんでした。\n\n"; } _ ファイルハンドル 実は、-X演算子は、その演算子に期待された結果を返すだけではなく、その他のファイル情報を特殊ファイルハンドル_にセットします。これを使うと、上のコードは if( -f $file ){ my $file_size =

    perl - stat()、-X 演算子、そして _ ファイルハンドル : 404 Blog Not Found
    kwry
    kwry 2009/09/07
  • 安全に一気にファイルの内容を書き換える - (ひ)メモ

    ファイルを書き換えるときに、単純に open, write, close だと、そのファイルの性格にもよりますが、問題になるケースがあります。 書き込み処理中に異常終了しちゃった 例えば open my $fh, '>', '/foo/bar'; print $fh gen_header(); print $fh gen_section_1(); print $fh gen_section_2(); # ← die print $fh "# EOF\n"; close $fh な処理で、get_section_2 が異常終了してしまうと、その後書き込まれるはずのものが書き込まれずファイルの内容が中途半端になってしまいます。(まぁでもこのケースはエラー処理をちゃんとやれば回避できますね) 書いている途中で読まれちゃった サーバ名一覧のような定義ファイルや、毎回読まれるタイプの設定ファイルの場

    安全に一気にファイルの内容を書き換える - (ひ)メモ
    kwry
    kwry 2009/09/05
  • File-ChangeNotify-0.31 - Watch for changes to files, cross-platform style - metacpan.org

    The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

  • AIR の app-storage:/ はどこに保存される? - てっく煮ブログ

    http://tech.nitoyon.com/ja/blog/2007/06/15/air-application-storage/ に移転しました。

    AIR の app-storage:/ はどこに保存される? - てっく煮ブログ
    kwry
    kwry 2009/06/17
  • http://www.ichikoro.com/webp/bk/00053/

    kwry
    kwry 2008/04/14
  • 1