Folioscope

Archive for 2017

  • Kafka Replication Deep Dive

    この記事は Distributed computing Advent Calendar 2017 20日目の記事です。 Kafkaのレプリケーションは、高可用性と高信頼性を実現するための、重要な機能の1つです。 この記事では、Kafkaのレプリケーションの仕組みについて紹介します。 レプリケーションの基礎 Kafkaのデータストリームの最小単位はパーティションです。またレプリケーションもパーティション単位で行われます。 Kafkaのレプリケーションの情報は、ZooKeeper上に保存されてい …

  • Kafkaの管理ツールを読む - kafka-broker-api-versions.sh編

    この記事は Distributed computing Advent Calendar 2017 の13日目の記事です。 Kafkaのブローカー間、あるいはブローカーとクライアント間の通信は、TCP経由のバイナリプロトコルです。 それぞれの通信はAPIとして定義されており、どういうフォーマットのリクエスト・レスポンスなのかが定められています。 APIにはバージョンがあります。 ブローカーがサポートするAPIのバージョンを取得するには、Kafka …

  • Kafkaの管理ツールを読む - kafka-topics.sh編

    この記事は Distributed computing Advent Calendar 2017 の6日目の記事です。 Apache Kafkaにはクラスタの管理ツールが含まれており、ユーザはこれらのツールを使ってトピックやオフセットを管理できます。 コードは規模的にもあまり大きくないので、Kafkaの勉強にはちょうどいい教材です。 Kafkaの内部構造を知ることで、障害発生時に原因を特定しやすくなります。 この記事では、トピック管理用の kafka-topics.sh の、よく使う以下の4 …

  • Vim Vixenの簡単な使い方

    本日Vim Vixen 0.5をリリースしました。 Vim Vixen - Add-ons for Firefox 0.5ではページ内検索も備わって、いよいよまともに使えるプラグインとなってきました。 もちろんこれからも開発は続いてゆきます。 ueokande/vim-vixen Accelerates your web browsing with Vim power!! github.com MUSTな機能は大体実装できたので、ここで日本語による使い方の解説をしたいとおもいます。 基本的な使 …

  • VimConf2017に行ってきた

    VimConf2017に行ってきました。 日頃の感謝の意を込めて、個人スポンサーとして参加しました。 Vim, Me and Community @haya14busaさんによる、Vimを使い始めたきっかけと、Vim/Vim pluginへの貢献についてのお話です。 https://docs.google.com/presentation/d/14pViuMI_X_PiNwQD8nuGRG72GUqSeKDqoJqjAZWS39U 自分もVim歴は5年くらいになるのですが、自分はそこまでは至 …

  • Vim Vixenというプラグインを作りました。

    Twitterでは何度も告知しているのですが、FirefoxでVi 風の操作ができる「Vim Vixen」というプラグインを作りました。 ueokande/vim-vixen Accelerates your web browsing with Vim power!! github.com 背景 FirefoxはこれまでAdd-onsを記述するのに、Firefox独自のAPIを提供していました。 しかしMozillaは従来のAdd-ons APIを廃止することを決定し、代わり …

  • webpack/babelでWebExtensionsの開発環境を整える

    Firefoxはバージョン48からWebExtensionsのサポートを始め、そして2017年11月にリリースされるバージョン57で、旧APIを使ったAdd-onsのサポートを打ち切ります。 この意向に嘆くFirefoxユーザも少なくないでしょうが、Mozillaも脆弱性の温床だった旧Add-ons APIを早く捨てたかったんじゃないでしょうか。 Microsoft EdgeもWebExtensionsをサポートしているそうで、よりWebExtensionsの機運が高まってます。 この記事で …

  • CSSでPDF出力をいい感じに設定する

    CSSには印刷のスタイルを指定できるルール・プロパティが用意されています。 そしてChromiumやGoogle Chromeは標準でPDF出力ができます。 つまり厄介なPDFファイル作成をCSSで簡単にできるようになります。 この記事は、CSSでいい感じにPDF出力する例を説明します。 サンプルはCodePenで公開しています。 https://codepen.io/ueokande/pen/yoBwrq CSSの印刷サポート CSSには、以下のような印刷の設定ができるルール・プロパティが用意 …

  • VagrantでAnsibleを加速させる

    Ansibleなどのプロビジョニングスクリプトを同じホストに何度も適用していると、そのスクリプトが正しく動くのか怪しくなってきます。 新規環境で流すと実は動かなかったりなんて。 この記事ではコンテナを使って高速に環境を再作成することで、いつも正しく動くプロビジョニングスクリプトを記述する方法を紹介します。 Vagrant用が生成するssh_configをAnsibleに渡すので、Ansibleのinventoryファイルを編集せずにデプロイ先をコンテナに切り替えることができます。 …

  • Vagrant Docker providerでSSHができるまで

    Vagrant Docker providerを使うと、VagrantからDockerコンテナを起動できます。 VirtualBoxと違いオーバーヘッドが少ないので、もりもり環境を量産できて便利です。 Docker imageが元に環境が構築されるので、Vagrant Boxと違いvagrant sshをするための設定を行う必要があります。 この記事ではVagrant Docker providerでvagrant sshができるまでの、最小のDockerfileとVagrantfileを紹介し …

Page 1 of 2 >