WebRTC Is TLS Fast Yet? It can be. Making TLS fast(er)... the nuts and bolts. TLS all the tubes! +Ilya Grigorik @igrigorik
2014-06-22 Dockerfileの RUN, CMD, ENTRYPOINT について docker 投稿内容自体はググれば良い情報がQiitaやブログで見つかります。 この投稿は自分用のメモです。 実際に試していないところが数箇所あるので、 投稿内容やTシャツについて何か指摘してもらえると嬉しいです。 2ヶ月ほど前の僕はこんな経験しました Docker流行ってんな、便利そうだしやってみよう Dockerインストールした。 docker のコマンドでいろいろやってみるか docker image を自動構築したい時はDockerfileを用意すればいいんだな。 コンテナ側で実行したいコマンドをDockerfileに書きたいんだけど、RUNとCMDとENTRYPOIT ってどれ使えばいいの? CMD, RUN, ENTRYPOINTについていくつかのサイトで調べました。 各リ
My talk for BayLISA, Oct 2013, launching the Systems Performance book. Operating system performance analysis and tuning leads to a better end-user experience and lower costs, especially for cloud computing environments that pay by the operating system instance. This book covers concepts, strategy, tools and tuning for Unix operating systems, with a focus on Linux- and Solaris-based systems. The bo
まつもとゆきひろさん監修の角川インターネット講座2 ネットを支えるオープンソース ソフトウェアの進化 角川学芸出版全集に「ハッカー精神とは何か」を寄稿した。 第一部、プログラミングがすべてを作った 序章、インターネットはソフトウエアでできている。まつもとゆきひろ インターネットを支えるソフトウェアを知る。法林浩之 プログラミングとは何か。久野靖 プログラミングと教育。阿部和広 ハッカー精神とは何か。吉岡弘隆 第二部、オープンソースが高めたネットの価値 ライセンスというプロトコル。やまねひでき オープンソース化が生んだ変化。瀧田佐登子 企業とオープンソース。鵜飼文敏 久しぶりの執筆だったので、七転八倒しながら書くことになった。 わたしのところは、60年代のハッカー達から70年代を経て、Richard StallmanのGNU Projectなどを紹介しつつ、OSSへの流れを歴史とともに解説し
Linuxでサーバーを運営したりあれこれしていると普通にぶつかるのが「viの壁」だと言われたりする。 他に選択肢がないということもあって仕方なく使うモノだという印象もある。 とりあえずviの基本となる本(オライリーのやつ)は買ったがあまりピンとこないでいた。 まあ最低限覚えて最低限の範囲で使っていたわけだ。 そんな中、下のような題名の本を見かけた。 実践Vim 思考のスピードで編集しよう! アスキー書籍 「思考のスピードで」というのがなんともソソる。 いやはや読んでみると面白い。 よく見てみればvimとは私が昔頭の中で考えていた「究極のエディタ」に一番近いでは無いか。 そんなことにもこの本を見るまで気がつかなかった自分のバカさ加減には呆れる。 それでもその思考パターンを知り、実際に指が覚えるのはなかなか時間がかかる。 とりあえずWindows環境にはgVimをいれて、Linuxの入っている
はじめに 2014年11月13日(木)-14日(金)で開催されたRubyWorld Conference 2014に参加し、喋ってきました。発表者として参加するのは2年連続、カンファレンスに出るのは4年連続。年間イベントの一つとなっています。 喋る経緯 喋る事になったのは、上司の軽い「ゆー、喋っちゃいなよ」という軽い一言から。採択されたら旅費も出してくれるし、ちょうどいいかと思い応募資料を書きつつ、関係各位にOKを取り、応募資料を提出。ありがたいことに採択されました。 応募について RubyWorld Conferenceという場は半分以上がスーツな人なので、その人向けに話すことを前提にすると良いのかなと思っています。例えば、RubyGemsの詳細な使い方を説明してもあまり響かず、それよりかは「Rubyを使ってこんなシステムを作りました」という事例紹介のほうが響くような気がします。ただ、R
今日 2014/11/24 に放送された Rebuild.fm の ep. 68 で ISUCON の話題があって、興味を持ったので解いてみようという気になりました。 ISUCON についてはもともと知っていたし、全く興味がないというわけではなかったけど、忙しかったり得意分野とか意識の問題とかでなんとなく足が遠のいていて、参加経験はありません。 AMI も公開されていますが、ベンチマークとか動かしてものすごい額課金されたら辛いので、とりあえずローカルで動かしたりベンチマーク取ることを目標にしてみます。 過去問の取得 GitHub 上に公開されていたので適当な場所に clone します。 データベースの準備 先ほど取得したプログラム中にデータベースをセットアップするスクリプトが含まれているようです。 データベースは MySQL で、事前にインストールしているものとします。 (ちなみに私の M
グローバルからwebサイトの状態を監視するのにhubotが使えそうだったので使ってみた http responseのstatusが200以外だったらslackに通知する様にした サンプルはモバイルhttpsのサイト用 scripts/monitor.coffee # Description: # Monitoring https = require 'https' cron = require('cron').CronJob module.exports = (robot) -> https_health_check = (host, path) -> https.get {host: host, path: path, port: 443, headers: "User-Agent":"iPhone xxx Bot", method: 'GET'}, (res) -> msg = "ht
% docker version Client version: 1.3.0 Client API version: 1.15 Go version (client): go1.3.3 Git commit (client): c78088f OS/Arch (client): darwin/amd64 Server version: 1.3.0 Server API version: 1.15 Go version (server): go1.3.3 Git commit (server): c78088f 構成 今回は fig を使って以下の3つのコンテナを作成して連携させる。 コンテナ名: web Apache fluentd コンテナ名: elasticsearch Elasticsearch コンテナ名: kibana Apache Kibana webコンテナがフロントエンドの
実現したいことはタイトルの通りです。使いどころとしては、例えばお昼や就業時間の定時になったらチャットルームに通知、とかでしょうか。 もしくは開発プロセスにおいて、もし定期的に実施するタスクがあれば通知するとか。タスク自体を Hubot にやらせてもいいですね。 これらは Node.js の node-cron を利用すれば簡単に実現できます。 Hubot の作り方や環境まわり(Heroku や Yeoman)については、以前に書いた投稿を参考にしてください。 ⇒ Hubot を Twitter の公開タイムラインに住まわせる ⇒ Yoeman で Hubot を作成して Heroku へデプロイし Slack と連携する cron は、Node.js 用のこれを使います。現時点のバージョンは 1.0.5 です。 ⇒ https://github.com/ncb000gt/node-cron
私はいつも Vagrant を使って boot2docker や CoreOS をローカルマシンに VM として立てて、いろいろテストしています。 で、テストの度に VM を再構築して、テストで使う Docker のイメージを Docker Hub からダウンロードすることになるんですが、遅い回線だと大変イライラします。 まあ、ローカルマシンは回線もメモリも制約があるから、クラウド使えよって話なんですが。。。 他の案としては、ローカルに Docker Registry を立てて、そこに置けばいいんじゃないのってことですよねー が、最近 Docker Registry Mirror の存在を知って、これは! ってなったので、使ってみることにしました。 Docker Hub のイメージをそのまま使いつつ、一度ダウンロードしたイメージはミラーにキャッシュされるので、次回からは超速で docker
hubotでgithub上のユーザやトークンを上手く取り扱うためのライブラリ、hubot-github-identifyの紹介です。 前提条件 以下が必要です。 Redis(永続ストアに使用) hubotがデプロイされているURL hubot-github-identifyとは 以下の機能を提供します。 チャット上のユーザ名とgithubアカウントを紐付ける機能 github上のアカウント名に対して、APIトークンを保持・管理する機能 例えば、hubot上からgithubにアクセスするときにhubot自身に登録されたトークンを使うのではなく、ユーザ固有のトークンを使うことができます。 また、チャット上のmitsukuni というアカウントがgithub上のkeyというアカウントである場合、githubにアクセスする際はmitsukuniからkeyへの変換も行うことが出来ます。 hubot-
3連休中ですがボッチなので、せめてボットと戯れようと Twitter の公開タイムラインを監視&応答ツイートする Hubot のアダプターを試してみました。 ちなみに、Hubot のアダプター一覧はここで参照できます。 ⇒ https://github.com/github/hubot/blob/master/docs/adapters.md 今回の大まかな方針としては、次のとおりです。 Hubot は Heroku で動かします。 どれくらい CPU を使うか未検証なので、無料枠に収まるかは分かりませんw ただ今回のもの程度であれば、私の環境では無料枠で動いています。 ボットは Twitter の 公開タイムライン を監視します。 よって、とりこぼしがあっても仕方なし、とします。 ボット用の Twitter アカウントを用意します。 Twitter へのアプリケーション登録もします。 ボ
docker_registry構築@boot2docker - Qiita Dockerのプライベートリポジトリをちょっとだけ使いやすくしてみる - Qiita を読ませて頂いた後、docker-registry-frontend っていうのを Docker 公式ドキュメント Docker Registry API Client Libraries の中で発見しましたので、試してみました。なかなか良さそうです。 VAGRANTFILE_API_VERSION = "2" DOCKER_REGISTRY_HOST = "docker-registry" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.define "docker-registry" config.vm.box = "yungsang/boot2
はじめに serverspecでユーザーを一時的に変更してコマンドを実行する方法を解説します。 spec_helper.rb 次のメソッドを追記します。 def user_command(user, cmd) command("su -l #{user} -c '#{cmd}'") end require 'spec_helper' describe user_command(:alice, 'rbenv versions') do its(:stdout) { should match /system/ } its(:stdout) { should match /\* 2.0.0-p353/ } its(:stdout) { should match /2.1.3/ } end
My talk for BayLISA, Oct 2013, launching the Systems Performance book. Operating system performance analysis and tuning leads to a better end-user experience and lower costs, especially for cloud computing environments that pay by the operating system instance. This book covers concepts, strategy, tools and tuning for Unix operating systems, with a focus on Linux- and Solaris-based systems. The bo
My talk for BayLISA, Oct 2013, launching the Systems Performance book. Operating system performance analysis and tuning leads to a better end-user experience and lower costs, especially for cloud computing environments that pay by the operating system instance. This book covers concepts, strategy, tools and tuning for Unix operating systems, with a focus on Linux- and Solaris-based systems. The bo
gem "therubyracer" gem "less-rails" #Sprockets (what Rails 3.1 uses for its asset pipeline) supports LESS gem "twitter-bootstrap-rails" ・twitter-bootstrap-railsはLESSを使用するため、therubyracerが必須 ・LESSのスタイルシートを使うにはless-railsというgemが必要 ・JavaScriptのエンジンであるv8*3をRubyから使えるようにするgem (謎) ということで上記3つのgemを入れます。 追記し終わったらgemの更新 $ bundle install それが終わったらbootstrapジェネレータを使ってassetsへincludeファイルをインストール $ rails generate boot
はじめに RSpecは難しい、よくわからない、といったコメントをときどき見かけます。 確かにちょっと独特な構文を持っていますし、機能も結構多いので「難しそう」と感じてしまう気持ちもわかります。 (構文については僕も最初見たときに「うげっ、なんか気持ちわるっ」と思った記憶がありますw) しかし、RSpecに限らずどんなフレームワークでも同じですが、慣れてしまえばスラスラ書けますし、実際僕自身は「RSpecって便利だな-」と思いながらテストコードを書いています。 そこでこの記事では、僕が考える「最低限ここだけを押さえていれば大丈夫!!」なRSpecの構文や、僕が普段よく使う便利な機能をまとめてみます。 具体的には以下のような構文や機能です。 describe / it / expect の役割 ネストした describe context の使い方 before の使い方 let / let!
Googleで分散システムの開発をてがけ、現在はソーシャルメディア mttr.toを立上げ中のBen Sigelmanが、Goを分散システムの開発に利用する場合の、メリットおよびチャレンジについて講演しています。 分散システムのあるべき姿 分散システムの勘所は、最上位ビットをパフォーマンス的にも構造的にもうまく扱うことができるかというのがポイント。その効果が一番大きい。スループットの改善のような詳細は、自分もGoogleでそれに取組んだけれども、9ヶ月くらいたつとハードウェアの性能で解決される可能性が高い。また、構造的にというのは、なるべく小さなコンポーネントを組み合わせたシステムにできるかという意味。 Goのよいところは、 両方、とくに後者によい。Railsだとアプリを複数個用意して並列処理するのは大変だったけど、Goだとシンプルにできて、標準ライブラリも読みやすいとかなどなど。パフォー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く