サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
delihiros.hatenablog.jp
どれだけ対策しようとサービスに障害はつきものですが、障害が発生したら損害が出るしユーザに謝ったりしないといけませんよね。 そういう非常につらい状況の中、障害からできるだけ早く復旧し、原因を究明して同じ障害が再び起きないよう対策を実施しなくてはならないわけですが、じゃあどうやったら効率的に調査できるの?という点についてまとめてみました。 障害つらいけどみんなで生きていきましょう。 なおこの記事は所属とか関係なく個人の見解であり云々ということを最初にお伝えさせていただきます。働き始めるとこういうところが心配になっちゃうんですね…。 あともっとこうしたほうがいいんじゃない?というご指摘があれば記事の内容を変更を検討しますのでぜひご連絡下さいませ。 障害は発生します 前提 まず前提としてですが、どれだけ信頼性の高さを謳っているハードウェアを使っても壊れる時は壊れますし、ソフトウェアには不具合があり
追記(2018/3/18) IPFSというプロジェクトが私たちのしたいことを実現しているように見えました。 ipfs.io 大学院時代の友人である森下くんと一緒に未踏事業に出した提案が不採択となりました。 私は今年25歳になり、来年以降は未踏事業の年齢制限に引っかかってしまうため、今回が未踏クリエータになる最後の機会でした。 そして残念ながらそれを活かすことができませんでした。 申請書、二次審査の発表資料及びPMからいただいた不採択理由を公開します。 不採択とはなりましたが、以下に公開する資料が今後未踏事業への提案を考えている方の参考になれば幸いです。 ちなみに形式は年によって結構異なるようです。あくまで参考にどうぞ。 一次審査 drive.google.com 二次審査 drive.google.com 不採択理由(PMのコメント) 技術的に特に新しいところや難しいところはなく、むしろ広
この記事はLisp Advent Calendar 2016 5日目の記事です。 Futhonとは Futhonとは、Pythonが呼べるLispである。 先日作ってみた。 読み方は「ふとん」である。 本記事は、Futhonの内部実装がどうなっているかを簡単に説明する。 すごく小さな実装(ソースコードすべて含んで500行くらい)なので、この記事とコードを合わせて読めば誰でもちょっとしたおもちゃ言語が作れるようになるんじゃないかと思う。 作った動機 最近周りで機械学習がアツい。 Pythonはディープラーニング・機械学習ライブラリが充実していて、モデルを簡単に作ったり試したりすることができる素晴らしい環境になっている。 SciPy scikit-learn Caffe Chainer TensorFlow 一方で、Lispでニューラルネットを組もうと思ってもライブラリがなかったり、あってもド
今日友達とホームセンターに行ったら迷子になってしまった。 いや、はぐれちゃっただけなんだけど、僕は携帯を持ってなかったし、この年で迷子センターに行くのもなーってことでしばらくウロウロして探した。 そこでふと幼い頃「迷子になったらそこから動くな、探される方がウロウロしてしまうと見つけにくくなるから」とママンに言われたのを思い出したんだけど、これって本当だろうかと思って検証してみた。 コードはgistにある。 動作させるとこんな感じ。 迷子になったホームセンターを模したマップを作って、それに対して人を2人だけ用意してランダムに配置し、見つけられるまでに行動した回数をカウントする。 「双方動いた場合」っていうのと「ママンだけが動いた場合」っていう2つの状況を100,000回ずつ試して、その行動回数の分布を見てみる。 このシミュレーションでは、ひとはステップごとに移動と向きを変えることができて、向
この記事はClojure Advent Calendar 2013 - Qiita [キータ]19日目の記事です。 instaparse 本記事ではinstaparseというライブラリを使って遊んでみます。 instaparseはEBNFやABNFで記述された文脈自由文法から自動的にパーサを生成してくれます。 左再帰、右再帰、曖昧性など、いかなる文脈自由文法でも動作します。 生成されたパーサは文字列からenliveまたはhiccup風の木構造を生成します。 今回は型なしラムダ計算を題材にします。 型なしラムダ計算 型なしラムダ計算は、型がない(または型がひとつしかない)ラムダ計算です。 ラムダ計算はとてもシンプルで、すべての計算が関数定義と関数適用だけで実現可能です。 ラムダ計算の構文は以下の3つからなります。 t ::= 項 x 変数 | \x . t ラムダ抽象 | t t 関数適用
Clojure でパースするとき、みんなどうしてるんだろう。 Parsec のようなものがあればいいのに〜、と思って探してみたところ、この Kern が一番よさげだった。 特徴 状態モナドベースのコンビネータ群 C, Java, Haskell, Shell の構文をサポート パースと式の評価をサポート 正確で詳しいエラーメッセージ エラーメッセージは簡単に多言語化可能 パーサの内部状態にクライアントコードからアクセス可能 サンプルあり セットアップ leiningen がインストールされているなら、 project.clj の :dependencies に [org.blancas/kern "0.6.1"] で、コード中に (use 'blancas.kern.core) Haskell の Parsec っぽい HaskellのParsecですねという感じ。というか記号とかもそのま
この記事について この記事は、 Erik さんのを翻訳したものです。 導入 Haskell について知っていればいるほど良いですが、あなたが熱心な Haskeller であるならこの記事は少々退屈に感じるでしょう。 もし Haskell の基本について学びたいのであれば、Learn You A Haskell (邦訳:すごいHaskellたのしく学ぼう)をおすすめします。この本は何度も読みたくなります!また、どのようにプログラムを組んでいくかを詳しく知りたい人は、 Real World Haskell を読みましょう。実践に生かせる練習問題やアドバイスが沢山載っています。私はこのコードを書くとき、この本を頼りに作業をしていました。 Apache はおそらく世界で最も普及しているウェブサーバでしょう。多くのウェブサーバと同じように、様々な情報とともに各リクエストのログをとっています。大きなI
ここまでで、モナドがどういうもので、IOモナドは不純な計算のため、Maybeは失敗するかもしれない計算のために、…というように、どのように使われるのかが理解できたのではないかと思います。 実際の作業の中で、複数のモナドの特性を扱いたい場合があります。もちろん、IO (Maybe a)みたいなことを書いて使うことも出来ますが、それでは値を取り出すとき、doブロックの中でパターンマッチングを行わなくてはなりません。モナドのちからを使えば、それすら回避することが出来ます。 ということで、これからしばらくモナドトランスフォーマーについて書いていきます。これは特別な型で、モナドに適用した時、新たな合成されたモナドを生成します。このモナドはそのどちらの性質も持ち合わせることになります。 IT業界に生きる上で、ユーザーにパスワードを強固なものにするようにすすめるプログラムという、よくある問題を例にして考
面白い記事があったので翻訳してみました。 ライセンスはCreative Commonsです。 しばらくScalaで仕事をして、疑う余地なく以下のことが断言できるようになりました。 ”Scalaは関数型言語ではありません。クロージャを持ち、静的な型を持つオブジェクト指向言語です。” なので、みんなが嘘の売り文句を延々と言うのをやめてくれないかなと思っています。 これがどういうことなのかを理解するためには、ScalaのメーリングリストにJon Harropが流した挑発的な文を見てみてください。そのスレッドで、Martin O.が ”オブジェクト指向こそが唯一の”美しい”解である” と主張しています。のちにMLで、もう少し丁寧にこのことについて述べていて、それによると、アプリケーションの基幹のデータ構造を何度も変更しなくてはならないようなとき、オブジェクト指向が最適な解であると述べてみます。最終
このページを最初にブックマークしてみませんか?
『delihiros.hatenablog.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く