Go Conference 2017Springの発表資料です。 Yahoo! JAPANで開発しているGo製オブジェクトストレージ「Dragon」の紹介と、Dragonで利用している耐障害性向上のためのテクニックについて説明します。Read less
![Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring](https://cdn-ak-scissors.b.st-hatena.com/image/square/2e9d7e969b3ad996df75af9106f7e7d4dd214fdb/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fgocon2017dragon-170327031735-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
(2017/06/02) package-lock.jsonについて追記しました。 昨今のweb開発では、プロジェクト直下に多くのファイルが配置されます。 本エントリーでは、1つ1つのファイルがどんな意味を持つのか、どんな技術で使われているのかをまとめました。ピックアップしたのはGoogleのWeb Starter Kitの一部と、筆者がよく使う技術です。 次のファイルについて紹介します(随時更新中)。 package.json .gitignore webpack.config.js gulpfile.js .eslintrc tsconfig.json tslint.json yarn.lock package.json npmの設定ファイルです。 npmとは、Node.jsのパッケージを管理するためのツール。Node.jsのパッケージとは、Sassを使うためのnode-sassパッケ
RxJS を学ぼう #2 – よく使う ( と思う ) オペレータ15選 というエントリにて『頻出するオペレータ』をご紹介しました。RxJS 5.x系には約90ものオペレータがありますが、いきなりその全てを習得するのは無理がありますし必ずしも全てを知る必要はありません。 今回は前回ご紹介したものほど使う頻度は高くないけど、知っているとなにかと便利なオペレータをご紹介します。前回と今回のを合わせればそこそこのアプリケーションは作れてしまうのではないでしょうか。 Observable.do Observable ソースから流れてくる全ての値に対して任意の処理 ( 副作用 ) を実行します。ただし、do の戻り値は ソースから流れてきた Observable そのままで、副作用の結果は流れません。 const clicks = Rx.Observable.fromEvent(document.q
概要 node.js で静的型チェックをするための実例を紹介します。 本記事の実装は以下の repository にあります。 https://github.com/algas/flow-example flowtype とは? flowtype は JavaScript 用の静的型チェッカーです。 JavaScript に type annotation を記述することで型チェックできるようになります。 メリット 実行前に静的に型をチェックできる JavaScript での厄介なバグを生みやすい、暗黙的型変換やnull参照、undefined is not a functionがチェックできる 必要な箇所だけ型チェックを適用することもできる デメリット type annotation は通常の javascript の文法とは異なるので直接 javascript として実行する場合にはフ
Reset CSSフレンズでは、内容の改善や頒布数の決定を目的にGoogle アナリティクスでアクセス情報を匿名のトラフィックデータという形で収集・解析しています。データの収集を無効化したい場合はこちらのリンクより無効にする事ができます。 本書はReset CSSについて4つの視点から説明する本です。 そもそもReset CSSとは なぜReset CSSを使うのか 各Reset CSSの特徴 各Reset CSSのスタイル宣言 本書の構成 本書は3章から成り立っています。 Reset CSSとは何か(かばんちゃんとサーバルによる解説) Reset CSSの特色(アメリカビーバーとオグロプレーリードッグによる解説) Reset CSSでどのような宣言がされているか(アフリカオオコノハズクとワシミミズクによる解説) お問い合わせ先 本書に関するお問い合わせは[email protected]
導入 最初は RethinkDB社の業務停止 と RethinkDBのライセンスの状況(私の仕事のある部分を阻害するもの) が発端となり、 Hacker Newsでのこのディスカッション に触発されたことで、RethinkDBの代わりにPostgreSQLを使いSageMathCloud(SMC)のリアルタイムとデータベースコンポーネントを全面的に書き直すために、2カ月間必死に働きました。2015年3月からRethinkDBを葛藤しながらも大いに使用していましたが、PostgreSQLも同様に活用しています。本番データを使い両システムで同じクエリを全て書き直しているので、私は自分の使い方のケース(SMCのサイト)を比較するのにちょうど良い立場にいるわけです。 これから話すのは私の経験です。”ベンチマーク”や再現可能なハードデータなどを含まない個人的な比較です。言うなれば、休憩所にいる時に話
真面目な気分出して書いていたらすごい長くて堅苦しくてもったいぶった感じになってしまった... この記事の9割は壮大な前置きですw なにこれ 失敗の表現としてNullObjectパターン(以下楽なので勝手にNOPとします)を使うべきか議論をした際に論理立てて話せなかったので、 持論整理をしてついでにこの場を借りて晒してみようと言う記事です。 全ての状況において必ずEitherだ!と言うよりは、議論になったら僕はこう考えてますって言うためのポエムです。 DDD的な考えも少し この記事は実装都合のみに閉じていますが、DDD的な観点からも考えてみたことがあるのでこんな記事も書いてみました。 先に結論 前置きではない1割の部分だけ先出します。 それで「あ、そうか」とか「は?」とか思える人は以下の長大な前置きは不要ですw NOPは成功と失敗を区別しようとすると破綻する、けど区別したい事が珍しくない。
今回はソケットプログラミングについて。 ソケットというのは Unix 系のシステムでネットワークを扱うとしたら、ほぼ必ずといっていいほど使われているもの。 ホスト間の通信やホスト内での IPC など、ネットワークを抽象化したインターフェースになっている。 そんな幅広く使われているソケットだけど、取り扱うときには色々なアーキテクチャパターンが考えられる。 また、比較的低レイヤーな部分なので、効率的に扱うためにはシステムコールなどの、割りと OS レベルに近い知識も必要になってくる。 ここらへんの話は、体系的に語られているドキュメントが少ないし、あっても鈍器のような本だったりする。 そこで、今回はそれらについてざっくりと見ていくことにした。 尚、今回はプログラミング言語として Python を使うけど、何もこれは特定の言語に限った話ではない。 どんな言語を使うにしても、あるいは表面上は抽象化さ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く