タグ

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

  • 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予選で敗退した - たごもりすメモ
  • Javaのリリースサイクル変更により Oracle JDK が一般ユーザに提供されなくなるのではという話があったけど誤読ではないかという話 - たごもりすメモ

    雑に書くぞ! Faster and Easier Use and Redistribution of Java SE | Oracle Java Platform Group, Product Management Blog このエントリを読む限り、Oracle JDKのダウンロードが商用サポート契約者にのみ限られる、という話は書いていない。 The Oracle JDK will continue as a commercial long term support offering * The Oracle JDK will primarily be for commercial and support customers once OpenJDK binaries are interchangeable with the Oracle JDK (target late 2018) *

    Javaのリリースサイクル変更により Oracle JDK が一般ユーザに提供されなくなるのではという話があったけど誤読ではないかという話 - たごもりすメモ
  • RubyKaigi 2017で広島に行ってきた&しゃべってきた - たごもりすメモ

    いやー、よかったですね。旅行としても楽しかったし、いいカンファレンスでしたね。 rubykaigi.org 自分が出したTalk proposalも通ったことだし、わいわいと広島まで行ってきた。非常によくオーガナイズされて会場では快適に面白い話ばかりえんえん聞けるし、そのへんにいる人達といろんな議論をしていろいろ良いことがあった。すばらしいカンファレンスでした。主催者ならびに運営協力のかたがた、ありがとうございました。前日から最終日まで、夜のパーティーも切れ目なくたくさんあってすごかった。 しゃべってきた (photo by @koichiroo) 自分のトークのスライドはこちら。 Ruby and Distributed Storage Systems from SATOSHI TAGOMORI 動画ももう上がってた、すごい。内容で聞きたければこちらをどうぞ。Youtubeのサムネイルは

    RubyKaigi 2017で広島に行ってきた&しゃべってきた - たごもりすメモ
  • プログラミングを始める動機はどこにあるのか、の話 - たごもりすメモ

    あるいは「高校生からはじめるプログラミング」の話。 こちらのKADOKAWA様からいただきました。ありがとうございます。なぜ自分に……*1などと思わなくもなかったけど、ありがたく眺めさせていただきました。今となってはこういうガチ初心者向けの教を眺める機会なんて皆無だしなあ。 SAOのコンテンツ力が表紙/裏表紙と章立てのページに発揮されてるけど、他のページはごく普通のプログラミング教で、特に中身との連携はなかった。これで売上とか変わるのかな。変わりそうだなあ。 で、ざらっと眺めたあと、タイミングよくプログラミングを始める動機ってなんなんだろうな、と思ったので、それに絡めて書く。 の中身 最近のプログラミングの導入ってそもそも何をやるの、みたいなのがぜんぜん分かってなかったので、ちょっと新鮮だった。思えば技術要素を特定しない「プログラミング入門」のというのは人生で初めて読んだかもし

    プログラミングを始める動機はどこにあるのか、の話 - たごもりすメモ
  • CloudNativeCon Europe 2017に行ってきた&しゃべってきた - たごもりすメモ

    うぎゃあ、これ今年の初エントリなのか。なんてこった。 で、FluentdがめでたくCNCF (Cloud Native Computing Foundation)に加わって初めてのCloudNativeConなので、Treasure DataのOSSチームで都合のつく人みんなで参加してきたというやつ。前夜祭的なところで同僚の Eduardo がKeynoteをやったり、Fluentd Salonという枠がつくられてFluentd関連の話をしたり。 自分はそれとは別にTalk proposalを出していて通っていたので、それを話しに行く、というのが個人的には最大の目的。 しゃべってきた セッションはカンファレンス2日目、全体でいちばん最後の時間枠。正直話すのが終わるまで気が抜けないからあんま好きじゃないんだけど、とりあえず、やるだけはやった。けっこう多い人が来てくれて席がぜんぶ埋まる(70人

    CloudNativeCon Europe 2017に行ってきた&しゃべってきた - たごもりすメモ
  • くもりのち晴れ、ときどき、コストセンター - たごもりすメモ

    直接成果が外に出ない僕らの仕事は大抵、最初は空模様が怪しい。いまいち見通しが悪くテンションも上がらない曇り空が続いたあと、努力が報われれば、ありがたくもそのうちに晴れ間が見えるようになる。たまにとんでもない快晴にめぐりあえることもある。 でも途中で目的地を見失ったり、脚が萎えてその場にくずれおちたりすると、天候はあっという間に変わる。動けないうちに嵐がやってくる。 その嵐には僕の中では、コストセンターというラベルが貼ってある。 http://www.picgifs.com/wallpapers/storm/wallpaper_storm_animaatjes-9-970507/ あまり好きな表現ではないが、コストセンターという言葉がある。この言葉の定義自体いろいろあるらしいというか、明確には定義があるようだというのはこのあたりを読むとふむふむという感じ。 だが、おそらく多くの人の頭には「コ

    くもりのち晴れ、ときどき、コストセンター - たごもりすメモ
    TokyoIncidents
    TokyoIncidents 2017/01/13
    “自分はどこに行きたいのか。そこに行きつけば何があるのか。それは旅の出発点に座り込んでいるよりも、何がどれだけマシなのか。誰にとってどういう物がもたらされるのか。”
  • YAPC::Hokkaido 2016 に行ってきた - たごもりすメモ

    いやあ、雪がすごかった……。 YAPC::Hokkaido 2016 SAPPORO 今年からちょっと趣を変えて復活したYAPCが札幌で行われるとのことで、最近Perl書いてないけど話は面白そうだから旅行ついでに行くかーという感じで。今回は発表もなしで、単純に参加者として楽しんできた。 カンファレンス 色々面白い話があったけど、個人的にはちょっと仕事でこれからやるので気になっていたWeb API関連のトークふたつがすごくよかった。 YAPC::Hokkaidoで「PerlAPIを作る時に僕達が考えたこと」というトークをしました - Masteries YAPC::Hokkaido 2016 - iOS/AndroidアプリにおけるAPIサーバーのいろは どちらも実践的な経験談の話で、ついやってしまいそうな失敗となぜそれが失敗なのかという理由がきちんと述べられているなど、非常に学ぶべきとこ

    YAPC::Hokkaido 2016 に行ってきた - たごもりすメモ
    TokyoIncidents
    TokyoIncidents 2016/12/15
    飯テロ
  • RubyConf Taiwanにいってきた & しゃべってきた - たごもりすメモ

    RubyConf Taiwan 2016 https://2016.rubyconf.tw/#Satoshi Tagomori Proposalを出したら通ったので台湾まで行って参加してきた。3泊4日。旅費は勤務先の Treasure Data に出してもらいました。 日から近いし時差もほとんどないし、台北市内は交通の便がよくて治安もよくて事もおいしい。旅行先にはいいよなあ。 しゃべってきた How To Write Middleware In Ruby from SATOSHI TAGOMORI 内容は、ミドルウェア*1をRubyで書くときに気をつけるべき tips の紹介、という感じ。Linux/Mac/Windows間でスレッドスケジューラの癖とかが違うから、どれかでうっかり通るようなテストを書いても他所ではコケるからね、気をつけてテスト書いて全部でCIを走らせようねとか、JSO

    RubyConf Taiwanにいってきた & しゃべってきた - たごもりすメモ
  • 専門用語を並べてしゃべる専門家は許せない、という人は愚かである、という話 - たごもりすメモ

    ちょっと最近腹に据えかねる記事がネットで散見されるので敢えてアレなタイトルで、よろしくおねがいします。 なおこの記事は、自分はソフトウェアエンジニアリングの専門家であるので、そのような領域を大雑把に想定して書かれております。が、たぶん他の専門領域においても似たような状況なのではないかと推察しております。 専門用語ばかり使って会話するような人は当のプロではない という言説を最近ちょくちょく見ますね。曰く、普通の人に説明できないようではダメだ。曰く、普通の人でも重要性が理解できないように話せないということは、実際にはお前のやっていることは重要ではないのだ。曰く、専門用語ばかりで会話するようでは実際の能力はわからない、専門用語などわからなくても当に能力がある人にはあるのだ。 んなわけねーだろ。 専門家というのは、非専門家には扱えない問題を扱う専門家だから専門家として働けていて、それなりの待遇

    専門用語を並べてしゃべる専門家は許せない、という人は愚かである、という話 - たごもりすメモ
    TokyoIncidents
    TokyoIncidents 2016/12/06
    専門用語の必要性について語っているだけなのになぜこんなに荒れているのだろう…
  • msgpack-inspect を作った - たごもりすメモ

    MessagePackはJSONぽいけどバイナリでデータサイズが小さく抑えられ、またシリアライズ/デシリアライズが比較的高速であるとして広く使われておるところであります。なんか #linedevday にいるせいで口調がおかしいな。 が、バイナリなせいでデータを作ったあとその内容が正しいかどうか確認するのがいまいち面倒くさく、いちいちunpackするスクリプトを書いて中身を見る必要がある。JSONみたいに目で見て思った通りの表現になっているかどうかを判別するのは普通の人間にはなかなか難しい*1。 このため開発時にデータがバグってるのかコードがバグってるのかが分かりづらく、MessagePackを利用したアプリケーションおよびサービスを開発する上で問題になっていた。 ので、MessagePackのバイナリデータをわせると内容を分かりやすくダンプしてくれるツールを作った! のです! msgp

    msgpack-inspect を作った - たごもりすメモ
  • GradleでMaven Centralにライブラリを公開する - たごもりすメモ

    前にこんなエントリを書いたが、このときはmavenから実行してた。今回はgradleから。参考にしたエントリはいくつかあったけど、ずばりというのがなくてつらかった。あれこれ試して組み合わせた。 はじめてのmaven central 公開 - たごもりすメモ あとMaven Central(というかSonaType OSS)もちょっと変わってるのでそのへんも。なお環境は適当なMacに適当にgradleを入れた。以上。 前と変わらないところ GPGのセットアップ パッケージ名前空間を決める アカウント登録 パッケージ名前空間は今回は前のと違ったので、申請は今回もやった。前と同じようにやってさくっと完了。 gradle環境の設定 "$HOME/.gradle/gradle.properties" に行う。 org.gradle.daemon=true signing.keyId=DEADBEEF

  • #ISUCON 6 予選を戦ってなんとか通過した - たごもりすメモ

    今年のISUCONはどうするかなあ、出ないのも寂しいけど同僚や元同僚と出るのもなー……とか考えてたんだけど飲みにいった時に声かけてたらうまい感じのチームが結成できたので @joker1007 @tnmt との3人でチームJingisukan*1として出ることにしました。やった! 事前には一度だけ集まって、Azureをちょっとさわってみたり全体の流れを確認したり、とか。集まってのちゃんとした練習は結局やらなかった。個人的にはalpの使い方とかを事前に学習したくらいかな。 予選参加は2日目にしたんだけど、事前に2日目参加メンバーをidobataで見てゲエッとか思ってた……が、真の恐怖は1日目のトップ3通過チームリストを見たときに訪れたのであった。これシングルプr(ry 予選経過 開始前にちゃんと集まってわいわい。 ひゃくまんえんとるぞー! #isucon pic.twitter.com/ELO

    #ISUCON 6 予選を戦ってなんとか通過した - たごもりすメモ
  • TCP serverをSSL/TLS化するのに nginx の stream_ssl_module/stream_proxy_module が便利 - たごもりすメモ

    最近 Fluentd の通信プロトコルまわりをアップデートするためにあれこれいじっている*1んだけど、これはおおむね fluent-plugin-secure-forward がサポートしていた内容を Fluentd 組込みの forward plugin でもサポートしますよ、というものになる。 んで問題なのが secure-forward は SSL/TLS での接続のみしかサポートしてなかったんだけど forward では生の TCP で通信する*2ので、当に secure-forward と forward それぞれの実装間で互換性が保たれているのか、直接的には確認する手段がない、ということになってしまう。 TCP server の SSL/TLS 化 一方世の中には SSL/TLS ターミネータという機能があって、たとえばロードバランサなんかがこの機能を持っている。何をやるかと

    TCP serverをSSL/TLS化するのに nginx の stream_ssl_module/stream_proxy_module が便利 - たごもりすメモ
  • YAPC::Asia Hachiojiに行ってきた&しゃべってきた - たごもりすメモ

    この週末に開催されていた YAPC::Asia Hachioji に参加してきた。2日目は体調崩してダウンしてたので1日目だけだったのが残念だけど、楽しかったー。 yapcasia8oji-2016mid.hachiojipm.org しゃべってきた 普段あんまりプログラミングテクニックそのものについてはプレゼンをやる機会がないんだけど、Fluentd v0.14で使わざるをえなかったあれこれとか一度しゃべっとくかということで出してたので、やった。主に黒魔術について。なんだろう、使っても許される黒魔術の用途と実践、みたいな感じ? Fighting API Compatibility On Fluentd Using "Black Magic" from SATOSHI TAGOMORI 30分という時間*1で何故そういうハックが必要なのかを説明して実装を説明して、ということになって、また大

    YAPC::Asia Hachiojiに行ってきた&しゃべってきた - たごもりすメモ
  • Hive dynamic partition insertsにまつわるいくつかの問題と対処について - たごもりすメモ

    だいぶ前のHiveの機能準拠で作ってたクラスタを大幅に作り直したので、ついでにETL処理をdynamic partition inserts一発でやればMapReduce 1ジョブで済んで超効率的に! やった! と思ったらいくつかハマったのでメモ。 なおdynamic partition insertsについては説明が面倒なので公式Wikiの該当ページを読むとよい、が、簡単に言うとHiveでパーティションにINSERTするときにINSERT先のパーティション指定をSELECTクエリの出力により行う、というもの。 なお断りがない限りは HDP2.1 with Hive 0.13 の環境で試したものとする。(移行元はCDH4) クエリの書き方 単純に言うと、パーティションとして指定したいカラムは SELECT 句の最後に置かなければならない。 簡単に言うと year=INT/month=INT

    Hive dynamic partition insertsにまつわるいくつかの問題と対処について - たごもりすメモ
  • RubyでMySQLに繋ぐためのruby-mysqlとmysql2 - たごもりすメモ

    このエントリは MySQL Casual Advent Calendar 2011 - MySQL Casual の10日目の記事です。 こんばんは。tagomorisです。さとしです。タゴモリスの s はさとしの s です(実話)。Twitterで #さとし というハッシュタグが流れるたび、ひそかにびくっとしてます。 RubyからMySQLに繋ぐときにどうするの、ととりあえず gem search -r mysql とかやると思います。そして大量にあれこれ出てきてどうすればいいんだ! という気分になると思います。そういう気分になったことがあるので、現状を簡単にまとめてみました。 ruby-mysql 昔からの定番ですね。作者は id:tmtms のとみたまさひろさん。rubygemsとか使われる前から Ruby/MySQL というライブラリ名で知られていました。Googleで検索するとト

    RubyでMySQLに繋ぐためのruby-mysqlとmysql2 - たごもりすメモ
  • ISUCON5の出題をやった - たごもりすメモ

    (11/2 11:03 末尾に追記と得点経過グラフ掲載) 正確にはいままさに決勝のイベント中なのだが、思った以上に順調にイベントが進行していてヒマな上、完徹の後でコードとか書いてる最中に意識が飛んだりするのでコードも書けない。のでつらつらこれを書いている。 9月末にISUCON5予選をやり、10月末のいま決勝をやってます。3年ぶりのISUCON出題側でしたが、いやはや、過去最高にきつかった回だった。ちょっとday jobのほうでもクリティカルなあれこれが重なったのもあるけど。 しかし両方とも、直前までの死ぬ寸前みたいな追い込み状況に対し、イベントとしては*1大きな破綻もなく進み、当に良かったと思っている。このイベントがイベントとして成立したことが当に嬉しい。 そういったあれこれは当に一緒に出題をやってくれた@kamipoさん、そして実装を手伝ってくれた@hydrakecatさん、@n

    ISUCON5の出題をやった - たごもりすメモ
  • java-ja.OSS でOSSの話をしてきた - たごもりすメモ

    自分はべつにOSSの偉い人でもなんでもないのだが、YAPCで話したこととその発展みたいな感じでどうよということがあって、ざらっと話してきた。イベントはこちら。 java-ja.OSS - connpass で、スライドはこちら。YAPCの再演でもいいよってことだったけど自分がそれじゃつまらんので、その後の話なんかも含めて取捨選択した。これまでの話は知ってる人が(会場には)やっぱり多かったので、発展的な話題とか細かいところをひろっていくような話にしたつもり。 How to create/improve OSS product and its community (revised) from SATOSHI TAGOMORI OSSそのものについてどう思うかっていうの、実際に自分に強い意見があるかというとそんなにはなくて、ストレスを感じなくていいケースではいちばんストレスのない方法を淡々と選び

    java-ja.OSS でOSSの話をしてきた - たごもりすメモ
  • 俺の考えるISUCON - たごもりすメモ

    ISUCONというイベントがある。要するに技術コンテストイベントだ。領域はWebアプリケーションにかかわる全てといってよい。 isucon.net これがなんなのか、そろそろ一発説明しておくか、という気分にちょっとなったので書く。実は何を隠すこともなく次の出題者なのでいかに出題内容にひっかからないように書くかがちょっと大変かもしれないが、どうせ出題内容とかまだ確定しているわけでもないので、いいや。 ISUCONとは何か ある日の朝、Webアプリケーションが一式、適当に設定されたサーバごと渡されます。あとベンチマークツールも渡されます。 さて夕方までにこのベンチマークツールの計測するスコアを可能な限り上げてください、そのためなら渡されたサーバ上で何をやっても構いません。ただしベンチマークツールはアプリケーションの動作が変わっていないかどうかチェックするための機構を備えているので、そいつが違反

    俺の考えるISUCON - たごもりすメモ