2018-01-01から1年間の記事一覧
はじめに 分散ストレージであるCephについての論文を読んだので紹介します。 最近CybozuのNecoプロジェクトが始まり、面白そうなことをやっているな、と思っていたたところ、Cephについてのブログが出ました。 これを読んで、「Ceph読んでみたいな」と思った…
はじめに この記事は設計・アーキテクチャ Advent Calendar 2018の1日目の記事です。 大きなサービスを支えるのは一筋縄では行かず、考えることは多くあります。しかし、ありがたいことに巨大な企業の中にも自社のサーバー構成やそれを支えるツールを公開し…
はじめに 以前Dynamoの論文を読んだので、ついでにGoogleのF1についての論文読んだ。 Dynamoは古かったが、こちらは2018年発表と新しい。 以下のリンクから手に入る。 https://ai.google/research/pubs/pub47224 F1はSpannerと一緒の文脈に居ることが多くSpa…
yarn add から webpackがimportを解決するまでを追う Javascriptでは、Yarnとwebpackを使うのが主流なので、それらがどのような動きをしているかを追った。 事前準備 動きを追うために以下を用意した コード Verdaccio コード コードの配置は以下 . ├── buil…
はじめに AmazonがDynamodbを紹介した論文を読んだ。 2007年のもので、NoSQLブームの走りとなったものだったと思う。 コンピュータ・サイエンス関係の「おすすめの論文」のようなもので、よくおすすめされるので読んでみたが、意外と面白かったので、面白か…
GitHubのを眺めていたら、ORYのoathkeeperを見つた。 これがGoogleが社内で使用している「BeyondCorp」を参考にしているということが書いてあったので、その論文を読んだ。 BeyondCorpとは GoogleがVPNの代わりに使用している、認証・認可のシステム。 人・…
gh-ostとは gh-ostは、binlogを利用したmysql用のデータベースマイグレーションツールです。 大抵のマイグレーションツールがtriggerを使いつつ移行するのに対して、gh-ostはbinlogを使うことで、負荷制御やテスト可能性を実現しています。 githubはここ。 g…
Web業界で働いていて、普段はRubyを書いているエンジニアがVRに手を出して、なんとか自分がしたかったことが形になりました。 その経験から、「VR開発ってこんな感じ」というのを伝えられればと思います。 結論を言えば、「Webエンジニアにとってはブラウザ…
gVisorが面白そうだったので、どんな風に動いているか書きます。 使用したコミットは、 GitHub - google/gvisor at c400a0356b856e71fd30e3fe10372d7bb94356cb です。 gVisor概要 gVisorは、先日googleが公開した、アプリケーションとホストの分離を目指した…
JS記号プログラミング入門 - Qiita で紹介されていた記号プログラミングがとてもおもしろかったので、chromeで作ってみました コンソールに大きめの文字で「hello crazy hacker」と出力するコードです。 綺麗な書き方は、 console.log('%chello crazy hacker…
データベースのスキーマを変更するということはデータをいじる行為であり、最悪の場合データが消えます。 最悪の事態にはならなくとも、思わぬ場所に影響が起きたり、データの不整合が発生する恐怖と戦う必要が有ります。 テストや切り戻しを含めて計画し、…
grpcがどんな風に動いているかを覗いてみます。 grpcとは 下の画像のようにgoogle製のrpcフレームワーク言語をまたいで扱えるのが特徴です。 クライアントは言語ごとに作られていて、grpcのリポジトリに直接入っているものと、別リポジトリに分けられている…
Dapperとは googleが社内で利用している、分散トレーシングツール https://research.google.com/pubs/pub36356.html この論文から出来たOSSとしてはtwitterによるzipkin(github)、uberによるjaeger(github)が有る。 内容 マイクロサービスだと1つのリクエス…
サービスを海外展開したり日本にいる外国人にアピールしたくなった時、国際化対応が必要になります。 この記事を通して、「国際化対応したい」という話が出た時に「どこをどのように」対応することになるのか、対応範囲や見積などがなんとなく伝わればと思い…
Webサイトを多言語化する 最近多言語化に関する仕事をしている関係でi18n(l10n)用のライブラリを色々と見たので、 i18nライブラリによくある使い方を紹介します。 とは言ってもほとんどのライブラリは同じような書き方をするのでJavaScriptを例にします。 ラ…