タグ

ブックマーク / tagomoris.hatenablog.com (17)

  • Webアプリケーションのベンチマークをとるときに気をつけている10のこと - たごもりすメモ

    10もないかも、と思いながら項目を書き出してみたら10以上余裕であってキリがないので10で収めた。いやあ、あるなあ。 仕事柄よくベンチマークを実行したりしてて色々と思うところが溜まっていたところ、以下のような記事を見掛けたのでなんか書こうと思った。ところでこの記事はベンチマークを実行するための準備作業がループを回して2時間かかるところの待ち時間に書かれている。 sfujiwara.hatenablog.com ISUCONといえば多少縁があるコンテストで、文中でISUCON5のことについても言及されているので、それも含めて。 自分が業務でいじっているのは "Webアプリケーション" というとちょっと違うんじゃないのというものばかりだが、いやー、最近なんでもHTTPで外部APIを作るからベンチマークのコツとしては大体変わんなかったりするよね。 なおこの記事でベンチマークはどのようなものかとか

    Webアプリケーションのベンチマークをとるときに気をつけている10のこと - たごもりすメモ
  • ISUCON7予選で敗退した - たごもりすメモ

    あー、負けたー。「Asakusaの方から来ました」というチーム名で、Asakusa.rbでよくいっしょする @joker1007 さん、および @yancya さんと出た。最終結果は111400くらい? ただし20時*1を過ぎても4〜6万くらいをうろうろしてて、最終的には20:10頃に入れた変更でスコアが倍になり、なんだこれー? と言ってる間にタイムアップした。 去年のISUCON6決勝はやるべきことをやれなくて負けたので素直に悔しかったけど、今年はなんか問題設定の意図がまったくわからなくてそのまま不完全燃焼で手が停まって4時間経過で死んだという感じなので、なんだかなー、という気分。あんま疲れないまま終わってしまった。 なんか、なんで自分があーって思ってるかはわかった。keep-aliveをなかなか切ってくれないエンドユーザクライアントがたまに混ざってくれることはあるかもしれないけど、CD

    ISUCON7予選で敗退した - たごもりすメモ
  • 就職しました - たごもりすメモ

    結局3月からそのまま働くことにしました。 先日のエントリを書いて以来、当に多くの方から声をかけていただきました。ありがとうございました。来なら個別にご報告するべきところですが、ちょっと数が多くて厳しいので、このエントリをもって報告にかえさせていただきます。 またいろいろと話を伺う中で考えたことなどもあるので、そちらについては別途エントリを書くつもりです。 様々な話を聞いた上で、1月末の時点では自分でもわかっていなかったことがわかりました。最終的に重視したのは以下の点です。 技術ベンチャーであること ベンチャー企業として大きな成功を狙っていること、またそれが有望に見えること 優秀なプログラマが同僚に多いこと 退職エントリに書いた観点のほかに、この3点が今回の自分にとって重要だということは後から見えてきたことでした。 ということで Treasure Data に入社しました。Softwar

    就職しました - たごもりすメモ
  • 退職します - たごもりすメモ

    先にまとめ 現在の勤務先を退職することにしました。日が最終出社日です。 次はまだ決まっていません。というか、どことも具体的な話はまだしていない、という段階です。面白そうな職場はどこにあるかなと探している段階ですので、魅力的なところに心当たりがある方はぜひご連絡ください。色々な人と話ができるといいなあと思っています。 現職について 11月半ばくらいまでは転職はまったく考えていませんでした。が、その頃の世間の技術的な流れなどを見ていて、ちょっと技術的に異なることをやろうかなあ、と考えたのが直接的な理由です。今後どうするかを考えたとき、せっかくなら働く環境なども変えてしまった方がこれからの人生が刺激の多いものになりそうだということで、現職を退職することを決めました。 やりたいことを変えるだけなら社内でやればいいだろう、という話を会社側からはされましたし、もっともなことでもあるのですが、同時に前

    退職します - たごもりすメモ
  • 社内ITシステムを構築・運用するのに最重要な3つのポイント - たごもりすメモ

    自社で使用するシステムを開発する、とする。 このとき迂闊にやっていると、気付いたら過去に構築したシステムのメンテナンスにばかり時間をとられ、新しいコードがぜんぜん書けていない、という状況に陥ることがある。 こうなると地獄だ。新規の興味深いコードを書くなんてとんでもない、という状態になる。メンテナンスコストを下げるためのコードすら書けなくて永遠に悲惨な撤退戦を繰り返すことになる。絶対に避けなくてはならない。 ということで、自分が心掛けていることをざっと書く。 全く手を入れずに動き続ける状態を最初に作る もちろんシステムというものは生き物なので、ある程度のメンテナンスコストが必要になる。特に会社というものは生き物なのでシステム周囲の環境は常に変化する可能性がある。データ連携している別のシステムの仕様が変われば、当然そのデータを利用する側も対応しなければならない*1。 ということで、システムには

    社内ITシステムを構築・運用するのに最重要な3つのポイント - たごもりすメモ
  • DISられないUIを作るために最低限守るべき5つの鉄則 - たごもりすメモ

    ぼくらが迂闊にUIを作ると、そこにはユーザの正直な目線があり、非常に様々な、そして真っ当な反応がある。 曰く「わからん」「まさかそこをクリックするとは」「不思議な動作」「独自宇宙」「モリスUI」。 反応がもらえるのは非常に良いことだが、何度も何度も繰り返しているとつらくなってくるので、できれば避けたい。分かっている(いた)ことは最初から対応しておきたいものだ。*1 ということで、ここではブラウザで操作する管理画面等のWebUIを作るとき、真っ先に心得ておくべき5つの鉄則を紹介したい。これを守っていてもDISられなくなるというわけではないが、これを守らないと間違いなくDISられるので注意しよう。 なおこの記事ではオリジナリティというものについては考慮しない。オリジナリティとか犬にわせろ。 クリックできる場所はcursor:pointerを指定しろ これを忘れるとこの世のものとは思えないくら

    DISられないUIを作るために最低限守るべき5つの鉄則 - たごもりすメモ
  • Norikra v1.0.0 - たごもりすメモ

    English article 以前からスキーマレスなストリーム処理をSQLで!というソフトウェアとして作っていたNorikra、このたびあちこち機能改善したりしたので、既にお仕事で絶賛稼働中ということもあるし、区切りとして v1.0.0 としてリリースした。 ついでにロゴとかも作ったので、なんとなくいい感じになりつつある。 https://rubygems.org/gems/norikra/versions/1.0.0-java http://norikra.github.io/ 修正点は リポジトリ のChangesに書いてあるが、curlだけで操作できるようHTTP JSON APIが加わってたり、GCまわりでハマらないようなデフォルトオプションが入ってたり、分析系クエリを書きたい人のために Group-by with Rollup や Grouping sets, Cube などの

    Norikra v1.0.0 - たごもりすメモ
  • tagomorisとDMM.comのはなし - たごもりすメモ

    前にこんなblogエントリを書いた。 dmmのエンジニアと話をしてみたいという話(追記あり) - たごもりすメモ このエントリ、Cassandra Casualという勉強会でCassandraのようなそうでないような話を聞きながら、しかもビール2飲んだ状態で書いたものだった。書いてさっさと公開して放っておいた*1ところ、だいぶ経ってはてブがやたらとついていることにびっくりしたものだった。 正直に言おう。対象はなんでもよかったんだ。世間に知られている大規模インターネットサービスを運営していて、会社としての・中の人としての雑誌記事やイベント登壇やblogエントリがあまり見られない企業であれば。DMMでなくても、たとえばFC2でも楽天でもNTT docomoでもY!Jでもドワンゴでも。 もちろんどんな会社の人でも行くべきところに行けば中の人がいるのは知っているけれども、そういう話じゃない。単に

    tagomorisとDMM.comのはなし - たごもりすメモ
    bojovs
    bojovs 2013/12/20
  • ruby 2.0.0-p195 + fluentd v0.10.35 + msgpack v0.5.5 の組合せが素敵という話 - たごもりすメモ

    fluentd v0.10.35 が出ましたね! https://rubygems.org/gems/fluentd で、端的に申し上げまして fluentd をお使いの皆様は以下の組合せで使うのがおススメです。 Ruby 2.0.0-p195 Fluentd v0.10.35 MessagePack v0.5.5 なぜかというと以下のようなすばらしい利点があるからですね。 Ruby 2.0.0 でfluentdを走らせると大変高速 2.0.0 は each とかを回すときに非常に高速になるような改良が入っている 1.9.3 向けには funny-falcon patch として知られていたもの rvm を使ってビルドしていたrubyだと知らずに当たってるかも これが大量のメッセージに対してループが回りつづけるFluentdに超ハマる 手元計測で生の 1.9.3 の倍ちょっと高速 Ruby

    ruby 2.0.0-p195 + fluentd v0.10.35 + msgpack v0.5.5 の組合せが素敵という話 - たごもりすメモ
  • Node.jsなWebアプリでJobQueueなしにラクラク巨大処理を実行 - たごもりすメモ

    Node.jsでWebアプリを書いてるんだけど別に大量のリクエストをさばくわけでもないしWebSocketも使ってないし、じゃあなんでそんなことしてんの、という話。 まず結論だけ書くと、 並列度が低くてよいが長時間かかることが確定的な処理を非同期的に走らせる必要がある場合、普通はそのような用途でもJobQueue/Workerを使って構成するがそういうのは管理も面倒だしインストールも面倒くさくなるのであんまりやりたくない。Node.jsなら普通のWebアプリケーションフレームワークだけでラクに書けていいんじゃね? というひとつの提案です。 同期実行のケース 普通Webアプリケーションフレームワークというのは、一連の処理はクライアントにレスポンスを返すことで完了する。そしてひとつのプロセス/スレッドはリクエストをディスパッチされてからレスポンスを返すまでがそのリクエストに占有される。 ここで

    Node.jsなWebアプリでJobQueueなしにラクラク巨大処理を実行 - たごもりすメモ
  • いっしょに仕事をしたいプログラマ 5つの特徴 - たごもりすメモ

    ちょっとこんなことを考えるきっかけがあったので、ざっと書き出してみた。Webに公開されている情報からあるプログラマについて見てみたとき、どういう人ならいっしょに働いてもいいかについて。 ここに書く内容はソースコードの品質以前の問題についてのみにしてある。だからこの特徴を満たしていればどうということに直接なるわけではない。ただ、欠けているところがあれば、少なくとも自分はその人といっしょに仕事をしたいとは思わないだろう。 なお自分は現勤務先の採用活動にはかかわっておらず、このエントリの内容は勤務先の採用基準とは全く無関係です。 学生さんなどの場合にはまた話が違うと思います。 あと割と自分のことは棚に上げてます。「お前これできてねえじゃん」という部分については都度ご指摘をいただけますと大変ありがたく思います……。 1. その人が書いたソースコードが公開されている 日語で何を言われてもぶっちゃけ

    いっしょに仕事をしたいプログラマ 5つの特徴 - たごもりすメモ
  • 追記型O/R Mapper "Stratum" を公開した(公開しただけ) - たごもりすメモ

    仕事で作っているアプリ用に書いたO/Rマッパのライブラリ、隠してても何の嬉しいこともないので、社内に置いてたgitのリポジトリをgithubに移した。さすがにもう機能追加の必要もなくなってきたなーという段階になったので。 https://github.com/tagomoris/Stratum ライセンスは Apache License v2.0 としました。なにかしたい方はお好きにどうぞ。READMEとか書き中。 何のためのもの? 世の中にORMなんていくらでもあるのになんで書きはじめたんだ、ということですが、要するに以下の理由です。 誰が、いつ、どのようにデータを追加・更新・削除したのかをすべて残す そのような履歴データに簡易にアクセスする 最近監査とかなんだとかうるさいですからね。 で、こういう条件をきっちり満たしたアプリケーションを普通のORMを使って書くというのは存外に面倒。全デ

    追記型O/R Mapper "Stratum" を公開した(公開しただけ) - たごもりすメモ
    bojovs
    bojovs 2010/11/27
  • appengine の人気が現状微妙だという話。で? - たごもりすメモ

    発端は Google AppEngineについて思うところ - Togetterまとめ で、あんまり関わるまいと思っていたのについつい夜中になって口を出してしまった。それを機にぐちゃぐちゃと脳内に溢れてきたので、とりあえず整理のために書く。明日は寝不足だよチクショウ。 技術的に appengine がどうだという話はとりあえずしません。他人の意見の反駁もできるだけしないつもり、自分の意見だけ書き殴ります。丑三つ時だしね。 appengineが「いまいちブレークしてない」理由 理由なんてただのひとつしかなくて、世の中の(多くの)人が、なにがなんでも使いたい、と思うようなプロダクト/プラットフォームでは現状ない、ということでしょう。技術的な理由なんてそんなところにはない。 iOSアプリは腐るほど出てて開発者も山ほどいるけど、iOS SDK自体が技術的にすばらしいからというのは理由ではなくて、世

  • AppEngine ja night #11 に行ってきたよ - たごもりすメモ

    いま見てみたら ajn10 のときはblogエントリ書き忘れてた……。まあいいや。 YAPC二日目のあと、そのまま AppEngine ja night #11 に移動して参加してきました。感想などをつらつらと。ひとセッションで自分もしゃべりました。 なお遅刻したため最初のセッションは聞けなかった。全文検索の話だったはず。 「appengineを携帯サイトで使ってみた」@yanaginさん ATNDに携帯サイト向けの画像処理とか書いてあってなんのこっちゃと思ってたら、けっこう違っててGAEをCDNがわりに使おうという話だった。資料はどこかに上がるのかな? 簡単にまとめると以下のような感じ。 携帯サイト向けに使ってる今のデータセンタが、回線の帯域が細いのでアクセスが増えたときにサチっちゃいそう 回線帯域を増やしてもいいけど、お金かかる これまで使ってみていたAppEngineを仕事でも使って

    AppEngine ja night #11 に行ってきたよ - たごもりすメモ
  • appengine ja night #8にいってきたよ - たごもりすメモ

    去る6月4日にappengine ja night #8 : ATNDにいってきました。Beer Talkに参加し、その後の二次会にも参加。飲みまくりの夜だった。ていうか最近銀座づいてます。週に3回くらい銀座周辺(有楽町、日比谷)行って飲んでるぞ。大丈夫か。大丈夫じゃないぞ。 内容とか とりあえずshin1ogawaさんのまとめを読むといいんじゃないかな(手抜き 今回は貴重なGAE Python開発者*1による実運用サイトの事例ということで、@najeiraさんのプレゼンが最初に。月間1億PVとか、GAE使う意義がかなり大きそうな感じ。 GAE採用までのあれこれは実際に商売としてやるには大切だろうなーと思いつつ、自分が注目してたのはproxyのあたり。GAEのエラー画面をユーザに見せたくないなーとか、静的データはキャッシュしたいし、とかのあたりはブラウザ向けの普通のサイトをやるには大事なん

    appengine ja night #8にいってきたよ - たごもりすメモ
  • AppEngine ja night #7に行ってきた - たごもりすメモ

    昨夜のappengine ja night #7 : ATNDに行ってきた。AppEngineいじりはじめてからでは前回の#6は申し込みが間に合わず参加できなかったので、今回が初めて。参加者にはhackathonに参加したりそれ以降Twitterであれこれやりとりした人が大勢。 セッション1: appengineアプリケーションの自動テスト - 最新java sdk版 - ひとことで言うと「Javaばっかりいろいろ揃っててずるい!」。なんでPythonは全く無いのにJavaばっかり……。*1 GAE/J sdkのEnvironmentという仕組みはいいなーと思った。データセットをさくさく切り替えて実行できるのはストレスなくていいよね。ちなみにPython版のdatastore_file_stubでもデータを読み込むファイルを切り替えれば同じことはできる。みんなやってるのかなあ。 あとsli

    AppEngine ja night #7に行ってきた - たごもりすメモ
  • GAE/Pythonテスト環境に欲しいもの - たごもりすメモ

    いまPython on GAEのテスト環境の貧弱さをなんとかするべく、あれこれやってる。とにかくテスト環境がショボいんだよね。 App Engine/Pythonはローカルのデータストアのstubの出来が良くないので、ローカルとプロダクションで動きが違うことが結構あり、ローカルでテストできることが限られてしまいます。Javaの方は、Statisticsの機能を除いては、ローカルとプロダクションの動きはほとんど同じです。stubレベルでは、ローカルでプロダクションと違う部分もあったりしますが、Slim3でおなじになるように実装してたりするので、ほとんど違いがないのです。 プロが仕事で使う場合にApp Engineでどの言語を選べばいいのか - ひがやすを blog ぐうの音も出ない! 事実だ! じゃ、プロならJavaを使った方がいいかというとそんなこともありません。好きで慣れている方を使った

    GAE/Pythonテスト環境に欲しいもの - たごもりすメモ
  • 1