-
posts
-
Rebuild.fm #83 のメモ
rebuild.fmの今回のゲストはCoreOS Meetup Tokyoの@deeetさんでした。最近、CoreOS Meetup が話題になっていて、僕もCoreOS Meetup Tokyo #1で発表することになっているから、今回のrebuild.fmに興味深く聴きました。
僕が気になっていたのがこんな感じです。
appcは一つのコンテナに複数のプロセスを実行できる
これは確かにappcとDockerの大きな哲学的な違いだね。複数のプロセスが同じマシンでともに動くというデザインパターンが多いのが複数の関係の強いプロセスをともに動かせるユースケースだと思います。これは確かにそうで、1周間で20億のコンテナを立ち上げるGoogleでは確かにこうパターンをよく使っている。けど、僕はどっちかというとDockerのコンテナとプロセスが1対1のパターンのほうが正しいと思っている。
なぜかというと、一つのコンテナに複数プロセスを入れるとそのプロセス郡に一つのcgroups/namespaceに含まれるため、細かくリソースを管理することができない。プロセスがともに動いているとして...
-
Google Cloud PlatformのDeveloper Advocate になりました!
Googleの新入社員として、 Google Cloud Platform チームで働くことになりました。
Developer Advocateとして、僕は、以前、 GDE としてやっていたことをGooglerとしてできるようになりました。 前のブログポストで、仕事が決まっていないと書いていたが、それは完全に事実ではなかった。この仕事はほぼ決まっていたが、いろいろ決まっていないことがあり、実は仕事を初めてから発表したかったので、そう書いていた。
ということで、日本ではGoogle CloudのDeveloper Advocateはなんと2人になりました! 今までは、クラウドを利用する開発者のアドヴォケートが1人か0人だったが、これで一気に2人になったことで、それなりの責任を持ちながら、日本、そしてAPACの開発者をサポートすることを強く思っています。これからも、GDEにも関わると思いますし、GDG、GCPUGなど、コミュニティの支援をkazさんと共に頑張っていきます!
これからもよろしくお願いいたします!
-
株式会社ビープラウドを退社しました
BPでは6年間、長い期間で勤めた。振り返ってみると、僕がBPに入った時にBPはだいぶ違う会社だった。6,7人の受託開発をする会社でほぼすべての受託案件は常駐だった。最初の1年間が一番忙しかった。そのときに入った案件は4,5ヶ月で終わったけど、他のメンバーとよく頑張ったせいか、その後、次々と案件が入ってきて、仕事がどんどん増えてきてきつくなった。それで、入社してから大体1年経ったところから会社が徐々に大きくなってきた。それとともに会社が信頼されて、常駐開発ではなく持ち帰って会社のオフィスで仕事をできるようになった。
その後、Pythonを持ち上げたり、Connpassという自社サービスもやったり、いろいろおもしろい仕事ができた。
Pythonについて
BPに入社したころ、Pythonで仕事できる会社って相当なかった。ま、あったかもしれないけど、コミュニティもバラバラで、Pythonで仕事したい人はどこで勤めたらいいかがわかりにくくて、苦労した。日本に来てから2年の頃で、その間ずっとPHPやったりして、そろそろまたPython触りたいと思ったとき、ちょうどPython温泉があっ...
-
Kubernetes + Mesos の組み合わせ
この記事は Kubernetes Advent Calendar 2014の19日目の記事です。18日の記事は kazunori279 のGKE+BQがうまく動かなかった話。
Kubernetes (Kubernetes)とMesosがやっていることが似ているように見えて、何が違うかイマイチわからない開発者が多いと思います。それぞれがやっていることと、役割について書いて、その後、組み合わせて使うにはどうしたらいいか少し書いてみたいと思います。
Kubernetesについて
まず、Kubernetesはどこまで何をしてくれるの? という疑問がよくあると思う。コンテナーのクラスターが作れるみたいだけど、自動的にスケールしてくれるのかな?とか、考えてくるよね。
KubernetesはDockerコンテナーのクラスターを管理してくれるものだ。Docker自体はコンテナーを管理してくれるからKubernetesはなんで必要かと思っていしまうかもしれないけど、Dockerはローカルに動かしているコンテナーしか面倒見てくれない。そのため、1台以上のクラスタになってくると、それぞれのサー...
-
NSStudy No. 5 に発表してきました
10月31日に NSStudy No. 5 で発表しました。 テーマはクラウドだったんですが、それぞれの発表 Google Cloud Platform、Force.com、Microsoft Azure (Visual Studio Online)はクラウドの中の違う層を指していて、面白かった。
僕の資料です。焦点は Google Cloud Platform は App Engine だけではなく、Compute Engine, Cloud Storage, BigQueryなど、いろなサービスがあって、組み合わせて利用して、アプリケーションを作れるということでした。
例えば、 App Engine/Compute Engineを使ってアプリケーションのコンピューティングリソースとしてつかって、性的ファイルのストレージとして、Cloud Storageを使う。ログデータの解析として、BigQueryを使う。そういったたくさんのユースケースをカバーできます。
-
PyCon JP 2014 の感想
この記事は大分遅いけど、PyCon JP 2014 が先週末に無事終了しました!
今年は今まで、最大 545 の参加者がいました。とても楽しかった。参加した皆様、
ありがとうございます!
第3回 の運営レポートで
説明しているけど、今年、僕はメディアチームのリーダーとして
務めてきました。 PyCon JP のメディアチームはブログ、
オンライン雑誌の開催レポート記事や、ウェブサイトや、Guidebookアプリなど、
渉外のための外向けの仕事をするチームです。
私自身はウェブサイトとGuidebook担当で、サブリーダーの筒井さんは記事や、
コンテンツ作成の担当をしてもらいました。
僕が担当したウェブサイトやGuidebookの感想について、
運営レポートよりもうちょっと詳しく書きます。
ウェブサイト
ことしは今まで、大きいな変更は、ウェブサイトでした。 今までの
サイトはSphinxベースで、Sphinx用のテーマを作って、それぞれの
コンテンツをRestructured Text で書いて、サイトを構築することを
したんだけど、今年のウェブサイトは Django...
-
require.js + Django 設定の組み合わせ
JavaScriptをよく書いている場合、普通のアプリケーションと同じように設定を
書きたい場合があると思う。たとえば、開発の場合によく DEBUG フラグとか設定するよね?
たとえば、 Djangoを使っている場合、 settings.DEBUG が True と時に、JavaScriptにも
console.log() でデバグメッセージの流したりしたい場合がよくあると思う。
だけど、JavaScriptは静的ファイルなので、どうやって、DEBUGを設定するんだ?
それで、 require.js を使って入れば、便利な config() 機能がある。その機能を使えば、
モジュールの設定を書けるようになる。
Djangoの設定はこんな感じで、JavaScriptに渡せる。
<script src="{{ STATIC_URL }}js/require.js"></script>
<script>
require.config({
// require.js の i18n プラグインにも便利!!!
...
-
プラグインなしで、require.js のテストの順番を保証する
AMD の仕様では、「JSファイルのリストを順番通りに読み込み/実行する」
ということができない。実際何が困ったかというと、分割した mocha
テストケースを順番通りに実行できなくなったということ。結果は変わらなくても、
順番通りに実行されないと結果が見辛いし、問題が起こった時に発見が難しい。
たしかにテストケースは毎回同じ順番に並べたいですね。
実はorderプラグインというのがあって簡単にロード順を制御できたのですが、RequireJS 2.0からはshimがあるんだからそれ使え!っていうことでサポートされなくなってしまいました。そのかわり、stepプラグインで若干設定が面倒ですが順番指定が可能です。テストの順番指定という用途であれば使えそう。
http://teppeis.hatenablog.com/entry/re-requirejs
結構古い記事だけど、最近読んだので、僕がやっていることを書いてみようかなと思った。Connpass では RequireJS ばりばり使っていて、ユニットテストもそこそこ書いています。
mocha はいろいろAP...
-
HTMLサニタイズするライブラリbleachを試してみた
最近にHTMLををサニタイズしてくれる便利なライブラリ bleach を見つけた。HTMLを受け取ってウェブ上に表示したいんだけど、危険なやつをエスケープするもしくは消したいって場合に使うものだ。特にWYSIWYGエディターで入力されたHTMLとか
html5libを使っているから、閉じタグが入ってないような汚いHTMLでもかなり強いらしいけど、どのくらい強いか試してみたかった。
僕は今まで自前で作ったBeautifulSoupベースのHTMLパーサーを使っていた。長い間使っているから、(自慢ではないけど)対応するエッジケースが多くて、結構使えたものでした。bleachは比べるとどんな感じなんだろうかと知りたかった。
例えば、 HTMLでは、以下のようなHTMLを見たことありませんか
<input name=submit type=submit value=検索>
BeautifulSoup は Python 2.x だと HTMLParser ベースで、 HTMLParserがこういうHTMLが入っているとこけちゃいますので、僕のパーサーに以下のようなモ...
-
Google Developer Experts を卒業しました
先週の月曜日(6/9)に公開されて、皆さんは多分見逃している人が多いと思いますが、私は
Google Developer Expert (旧Google API Expert) を卒業しました。私が3年半くらいやっていて、
とても楽しかったです。Google IO に行ったり、地方のプログラマーと接したり、いろな貴重な経験を
させて頂きました。
API Expertになったころ
2010年11月に Google API Expert になりました。
その時は、App Engine がまだプレビューだったごろでした。すこし、
kay-frameworkの開発を松尾さんに手伝ったんですか、API Expert に
なってから、Kay 1.1 の開発を中心でやって、いくつかの機能を組み込みました。
その次の2011年の夏から、App Engineのリリーススケジュールが大体1ヶ月1リリースになったので、どんどん機能が爆発的に増えた。Javaが一番ユーザーが多いんですが、まだPython版が機能追加が速くてうれしかったです。
API Expert の制度の進化
API Ex...