This domain may be for sale!
![ko-hey3809.com](https://cdn-ak-scissors.b.st-hatena.com/image/square/30dc765bd036d9ea449b1068d2a57a53eac2a03b/height=288;version=1;width=512/https%3A%2F%2Fko-hey3809.com%2Fwp-content%2Fuploads%2F2014%2F06%2Fb1229c2307552f6b75ed0963eeebb83c.png)
三度の飯よりエラー処理。古橋です。 大変好評をいただいた序章リトライと冪等性のデザインパターンの続編です。 前回はほぼ前置きでしたが、今回は冪等でない操作を冪等にする具体的なテクニックもまとめていきます。 パターン2:エラーを区別してDELETEを冪等にする リソースに常に一意なIDが振られていれば、Deleteを冪等にするのは難しくない。そもそも同じリソースを2度削除することはできない。 一つ注意するべきなのは、削除されたリソースのIDが再利用されるケースでは、Deleteの冪等性は保証されない。例えば、kill -KILL <pid> コマンドはDelete系のAPIと考えられるが、pidは再利用されるので、何度も繰り返すと意図しないプロセスを殺してしまう可能性がある。 一般にIDの生成は非常に難しい問題だが、Deleteに関してのみ言えば再利用されなければいいので、単調増加する整数(
リトライを肴に一晩酒が飲める古橋です。 大規模なデータに触れることが日常茶飯事になっている今日この頃。この分野のおもしろいところは、いつまで経っても終わらないプログラムを簡単に作れてしまうことかもしれません。エラー処理、リトライそして冪等性*1の3つを抑えていないプログラムは、小規模なデータなら問題ないが、データ量が多くなると使い物にならなくなる可能性が大です。 大規模データをバッチ処理するケース以外でも、リトライは一般にプログラムの信頼性に関わる重要な問題です。 そんなわけで、リトライに関わるいくつかのデザインパターンを、連載でまとめておこうと思います*2。 では、第1回は背景から: なぜリトライが必要なのか プログラムは色々な理由で失敗する。例えば、 A) 通信先のプログラムが高負荷すぎて応答できなかった B) メモリを消費しすぎてメモリ確保に失敗した。またはOOM KIllerに殺さ
せっかく活気づいてきたベンチャーの生態系に、冷や水を浴びせる法案が突如持ち上がり、ベンチャー業界周辺は今、騒然となっています。 金融庁から5月14日に公表された「適格機関投資家等特例業務の見直しに係る政令・内閣府令案」がそれです。ここには、悪徳業者による詐欺被害を抑え込むためのファンドなどの規制の改正案が組み込まれていますが、今、これがそのまま施行されてしまうと、今後、日本の成長戦略の成功に大きくかかわる独立系ベンチャーキャピタルファンドの新たな組成・発展を著しく阻害しかねません。 また、これは一部のファンド業者のみの話ではありません。後述しますが、ベンチャーの生態系のみならず、日本経済にも多大な影響を与えかねないのです。 まじめなファンドも組成できなくなる 今回の改正を理解する前提に、2007年の金融商品取引法の改正があります。このとき、多くの人から資金を集めるファンドの募集については、
Reference documentation CLI reference docker (base command)docker builddocker build (legacy builder) docker builder docker builderdocker builder builddocker builder prune docker buildx docker buildxdocker buildx bakedocker buildx builddocker buildx createdocker buildx debugdocker buildx debug builddocker buildx dudocker buildx imagetoolsdocker buildx imagetools createdocker buildx imagetools inspe
先日、ホームビデオを作っていた時のこと。 NASからローカルに動画ファイルをコピーしようとしたら、「残り6時間」とか言われてしまいました。...
このように独立したポートが必要なとき*3に $PORT を利用することで汎用性が保たれます。 $PORT の開始番号を指定する(-p, --port) 標準では $PORT は 5000 から始まります。しかし、以下のように指定すると 6000 から始まるようになります。 foreman start -p 6000 foreman は、主に Web アプリケーションと非同期/定期処理とを並列動作させる目的で使われます。 その場合、Procfile の先頭に Web アプリケーションを書くという慣習があります。それは Web アプリケーションが利用するポート番号がわかりやすいからです。 foreman を止める foreman を正式に止めるには、foreman のプロセスに SIGTERM を送信してください。 foreman は起動した個々のプロセスに対して SIGTERM を送信し、全
と書いてある。この環境変数 DEBIAN_FRONTEND って何だろう? これは、インストーラで使うユーザインタフェースを制御するものらしい。 DEBIAN_FRONTEND=noninteractive のときは、インタラクティブな設定をしなくなる(=入力待ちでブロックしなくなる)ので、自動インストールの際には便利だとか。 http://www.debian.org/releases/sarge/s390/ch05s02.html.ja この辺とかに載っていた。他にも、textとかgtkとかncursesがある。よく見かけるいきなりババッとターミナルでncursesが立ち上がるやつの設定は DEBIAN_FRONTEND=ncurses なんだろう(その辺の詳しいところを説明しているページを見つけられなかった...)。 Register as a new user and use Qi
Linuxの起動処理は、これまでinit/upstartと呼ばれる仕組みで行われていました。Red Hat Enterprise Linux 7 (RHEL7)では、これが、systemdと呼ばれるまったく新しい仕組みに置き換わります。Fedoraでは、すでに先行してsystemdが採用されていますが、この連載(?)では、Fedora 17での実装をベースとして、systemdの考え方や仕組み、利用方法を説明していきます。今回は、systemdの動作の基礎となる「Unit」の概念を理解します。 systemdを採用したFedoraでLinuxの基礎を学びなそう!という方には、「「独習Linux専科」サーバ構築/運用/管理――あなたに伝えたい技と知恵と鉄則」がお勧めです。(^^/ systemdの考え方 参考資料 ・Rethinking PID 1:systemdの開発者であるLennart
docker の Web UI を比較してみました。 対象は以下の3種類の Web UI です。 検索すると DockerUI 以外が見つけにくいようなので、 まとめて紹介します。 Shipyard Dockland DockerUI 対象バージョン 先月末頃にも試したのですが、 その時にはこんなに docker が流行るとは思っていなかったので、 ちゃんとまとめていませんでした。 そこで改めて新しいバージョンを試しつつ比較したいと思います。 amd64 の Ubuntu 13.04 (raring) docker 0.7.1 Shipyard version 0dc558 Dockland 5a02db9d20 DockerUI v0.3 (5094acc024) Shipyard インストール QuickStart の説明を参考にして /etc/default/docker を作成して
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く