並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 68件

新着順 人気順

MessagePackの検索結果1 - 40 件 / 68件

  • Fluentdとはどのようなソフトウェアなのか - たごもりすメモ

    Fluentd というソフトウェアがある。日本国内ではそこそこ話題になってきたが、何ができるのか、何に使うと嬉しいのか、何に使えるのか、という点について詳細をよく知らないという人もおそらくまだ多いことでしょう。 なので、簡単にまとめる。 http://fluentd.org/ なお以下の個別項目ごとに書いていくが、その手前にまとめを置いておくので忙しい人はそれだけ読むとよい。インストールや設定については導入部分については日本語の記事はもう多くあるので、触れない。 概要 できること ログの収集 センサデータ等の収集 汎用データ処理プロセッサとして 頻出ユースケース ログの収集 データの集約 簡単なリアルタイム集計 ソフトウェアとしての特徴 コア プラグイン 安定性 性能 開発体制 コミュニティ ぶっちゃけどうなの? まとめ 現時点で、複数の場所に分散したデータや常に増え続けるデータの安全な転

      Fluentdとはどのようなソフトウェアなのか - たごもりすメモ
    • 知っとくと便利なPHPのテクニック9つ:phpspot開発日誌

      9 Useful PHP Functions and Features You Need to Know | Nettuts 知っとくと便利なPHPのテクニック9つが掲載されていました。 初心者の方は勿論、PHPを長年使ってる人にも使えるテクニックが載っていましたので勉強がてらにメモ。 func_get_args() 関数で可変引数 を受け取る 通常、関数といえば、次のように引数と共に定義します。 function hoge($arg1, $arg2) { } のように定義して引数を受け取りますが、好きな個数で引数を受け取りたい場合は、次のようにfunc_get_argsで受け取れます。 function hoge() { $args = func_get_args(); foreach ($args as $key=>$value) { echo "arg{$key} is $value

      • ドラゴンクエストXは「世界は一つ」を実現するためにどのようなサーバ構成にしているのか?

        スクウェア・エニックスの人気RPG「ドラゴンクエスト」シリーズの最新作「ドラゴンクエストX(ドラクエ10)」はシリーズ初のオンライン作品となりましたが、その舞台裏は一体どうなっていたのか。ゲームの世界観を支えるサーバシステムがどのように構成されているのかということや、ドラゴンクエストⅩならではの仕組みや機能から開発の苦労話まで、株式会社スクウェア・エニックス開発部プログラマ森山朋輝さんが語っています。 タイトル | CEDEC 2012 | Computer Entertaintment Developers Conference http://cedec.cesa.or.jp/2012/program/NW/C12_P0040.html 森山朋輝: 皆様、本日はお集まり頂きどうもありがとうございます。このセッションを担当させて頂きます、株式会社スクウェア・エニックス開発部所属の森山朋輝と

          ドラゴンクエストXは「世界は一つ」を実現するためにどのようなサーバ構成にしているのか?
        • 柔軟なログ収集を可能にする「fluentd」入門 | さくらのナレッジ

          複数台のサーバーやクラウド環境を組み合わせてのサービス運用においては、ログの収集方法に工夫が必要となる。こういった場合に有用なのが、さまざまなログの収集手段を提供するfluentdだ。今回はfluentdのアーキテクチャやそのインストール/設定方法、基礎的な設定例などを紹介する。 さまざまな方法でログを収集できるfluentd 今回紹介するfluentdは、Treasure Dataが開発するログ収集管理ツールだ(図1)。オープンソースで公開されており、Linuxや各種UNIXで動作する。 図1 fluentdのWebサイト ログ収集のためのソフトウェアとしてはsyslogdやsyslog-ngなどが有名だが、fluentdがこれらと異なる点としては、以下が挙げられる。 さまざまなソースからのイベントをさまざまな媒体に出力できる fluentdの大きな特徴としては、ログの収集方法やログの記

            柔軟なログ収集を可能にする「fluentd」入門 | さくらのナレッジ
          • Webサービス開発で培った風土でアドテクを手がけ、秒間5万リクエストに挑む! リクルートコミュニケーションズ×はてな座談会 - はてなニュース

            以前に「はてなとそっくり」なWebサービス開発会社として、開発のいろいろをお聞きした「リクルートコミュニケーションズ」が、エンジニアリングの対象を、アドテク分野にシフトし、最先端の分野でWebサービス出身のエンジニアたちがさまざまな工夫をしています。3年前と同じように、はてなチーフエンジニアの大西を交えて座談会を開催し、開発環境からキャリアパスのことまでいろいろとお聞きしました。記事の最後には、MacBook Pro Retinaディスプレイモデルが当たるプレゼントのお知らせもあります。 座談会出席者(上写真、左より):はてな 大西康裕、リクルートコミュニケーションズ 大石壮吾さん、日馬康和さん、阿部直之さん、上田和孝さん (※この記事は、リクルートコミュニケーションズ提供によるPR記事です) 大西 ご無沙汰しています。はてなチーフエンジニアの大西です。以前もこちらのリクルートコミュニケー

              Webサービス開発で培った風土でアドテクを手がけ、秒間5万リクエストに挑む! リクルートコミュニケーションズ×はてな座談会 - はてなニュース
            • 好きなPodcast

              twitterでちょっとつぶやいてたけど,最近自分がよく聴いてるPodcastをまとめてみる.Tech系以外もすこし混じってる.他にオススメあれば教えてください. 日本語 Rebuild - Podcast by Tatsuhiko Miyagawa - Podcastを聴くという習慣はここから始まった.大学院生のころからずっと聴いてる.Liveもできる限り聴いてる.大ファン.取り上げる技術もすごい尖っていて面白い.全エピソード好きだけど,敢えてあげるなら,“3: MessagePack”,“14: DevOps with Docker, chef and serverspec”,“27: Dragon Quest, Docker and AngularJS”,“35: You Don’t Need API Version 2”, “37: N Factor Auth”,“42: When

              • 今さらProtocol Buffersと、手に馴染む道具の話 - Qiita

                Protocol Buffersは別に新しい技術ではない。同時にそれは、未だ知られざる、未だに可能性を秘めた先端のソフトウェア技術基盤である。 新しくないのは事実で、GoogleがProtocol Buffersをオープンソース化したのは2008年のことだし、オープンソース化前に社内で使われ出したのは更に昔に遡るだろう。たぶん。 デザイン的にもJSON対応は後付けで、将来JSONが隆盛を極めることなんか全然想定していなかったのが透けて見えて古くさい。 しかし、同時にどうも情報に聡い人であってもなかなかその真価を実感し得ておらず、ある意味で未知の技術であるらしい。ならば、Protobuf (Protocol Buffersの略)を解説した文書は幾多あれども、それに1を加えるのもやぶさかではない。 Protocol Buffersとは Protobufはスキーマ言語だ! 一般的にはProtob

                  今さらProtocol Buffersと、手に馴染む道具の話 - Qiita
                • PHPを使う上で、どう書けば高速になるか?をその場で試せるベンチマーク結果満載なサイト:phpspot開発日誌

                  PHPを使う上で、どう書けば高速になるか?をその場で試せるベンチマーク結果満載なサイト 2011年05月23日- Benchmarks PHPを使う上で、どう書けば高速になるか?をその場で試せるベンチマーク結果満載なサイトがあるようです。 同じことをやるのに複数の書き方があったりしますが、2つの書き方を並べてそれぞれどちらがどれだけかかったかという結果が記載されていて面白いです。 で、そのいくらかかったか?という秒数も、ページ上でリアルタイムに計算され、リロードすると実行され、実行タイムが表示されます。 サイトの作者環境による比較ではなく、その場で動いて何度も試せるので自分でその差を確認できるのがGood。 個人的には長年PHPをやっているのですが知らなかった物も多々あり、非常に勉強になりました。 1回のロードでは結果が変になることもあるので、サーバの負荷にならない程度に数回確認させてもら

                  • MessagePack: It's like JSON. but fast and small.

                    It's like JSON. but fast and small. MessagePack is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON. But it's faster and smaller. Small integers are encoded into a single byte, and typical short strings require only one extra byte in addition to the strings themselves. Next: MessagePack is supported by over 50 programming languages and environm

                    • LTSV FAQ - LTSV って何? どういうところが良いの? - naoyaのはてなダイアリー

                      LTSV って何? Labeled Tab-Separated Values という、テキストのフォーマットの仕様です。CSV や TSV や JSON そのほかと同じ、テキストデータのフォーマット名。主にログ、特に httpd のアクセスログなどに適用すると便利です。 仕様は http://ltsv.org にまとまっています。随時更新中です。 LTSV は単なるログのフォーマットであって、それ以上でもそれ以下でもありません。 LTSV ってタブ区切りで値に名前を付けただけのもの? はい、そうです。 これが 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 [en] (

                        LTSV FAQ - LTSV って何? どういうところが良いの? - naoyaのはてなダイアリー
                      • Awesome Python:素晴らしい Python フレームワーク・ライブラリ・ソフトウェア・リソースの数々 - Qiita

                        元記事: Awesome Python Awesome List in Qiita Awesome Ruby Awesome Java Awesome JavaScript Awesome Node.js Awesome Go Awesome Selenium Awesome Appium 管理パネル 管理インタフェース用ライブラリ ajenti - サーバ用管理パネル. django-grappelli - Django 管理インターフェースのためのジャズスキン. django-jet - 改良された機能を備えた Django 管理インターフェース用の最新のレスポンシブテンプレート. django-suit - Django Admin インターフェースの代替 (非商用の場合のみ無料). django-xadmin - Django 管理者のドロップイン置換. jet-bridge -

                          Awesome Python:素晴らしい Python フレームワーク・ライブラリ・ソフトウェア・リソースの数々 - Qiita
                        • 騒動の内容と今後について

                          騒動についてはじめに、今回の騒動について語る。ついにスラドに取り上げられたので、以下のスラドを見れば大まかには分かるだろうが、多くの人が事実を誤解していると思うので、釈明したい。 「年功序列などで働きづらい」として転職した元日立社員、転職後「日立のほうが良かった」と後悔して話題に | スラド 現職VA Linuxに入社後すぐ、もう一年前のことになるが、素晴らしい功績をスラドに取り上げられて(第9回日本OSS貢献者賞・奨励賞の受賞者、発表される | スラド)、いよいよ開発者としてキャリアを始めようかという時にこの惨事なので自分の社会不適合性が嫌になる。私は過去にも散々、掲示板やSNSなどでやらかしてきた。しかし私は根っからの異常者ではない。私という人間に興味があって会う人は口々に「ふつうだ」という。ネット社会の私が、完全な異常者なのだ。ちなみにリアルの私は、自己評価になるが、極めて素敵な好青

                            騒動の内容と今後について
                          • ネットワークプログラムのI/O戦略 - sdyuki-devel

                            図解求む。 以下「プロトコル処理」と「メッセージ処理」を分けて扱っているが、この差が顕著に出るのは全文検索エンジンや非同期ジョブサーバーなど、小さなメッセージで重い処理をするタイプ。ストリーム指向のプロトコルの場合は「プロトコル処理」を「ストリーム処理」に置き換えるといいかもしれない。 シングルスレッド・イベント駆動 コネクションN:スレッド1。epoll/kqueue/select を1つ使ってイベントループを作る。 マルチコアCPUでスケールしないので、サーバーでは今時このモデルは流行らない。 クライアントで非同期なメッセージングをやりたい場合はこのモデルを使える: サーバーにメッセージを送信 イベントハンドラを登録;このときイベントハンドラのポインタを取っておく イベントハンドラ->フラグ がONになるまでイベントループを回す イベントハンドラ->結果 を返す 1コネクション1スレッ

                              ネットワークプログラムのI/O戦略 - sdyuki-devel
                            • Awesome Java : 素晴しい Java フレームワーク・ライブラリ・ソフトウェアの数々 - Qiita

                              元記事: Awesome Java Awesome List in Qiita Awesome Ruby Awesome JavaScript Awesome Node.js Awesome Python Awesome Go Awesome Selenium Awesome Appium Bean マッピング Bean マッピングを容易にするフレームワーク dOOv - 型安全なドメインモデルの検証とマッピングのための API を提供します. アノテーション, コード生成, および型安全 DSL を使用して, Bean の検証とマッピングを迅速かつ簡単にします. Dozer - アノテーション, API または XML 設定を使用して, あるオブジェクトから別のオブジェクトへデータをコピーするマッパー. JMapper - 高速コードマッピングのためにバイトコード操作を使用. アノテーシ

                                Awesome Java : 素晴しい Java フレームワーク・ライブラリ・ソフトウェアの数々 - Qiita
                              • Pinterestの急成長を支えてきたアーキテクチャとは? Pythonで開発しAmazonクラウドで運用

                                Pinterestの急成長を支えてきたアーキテクチャとは? Pythonで開発しAmazonクラウドで運用 急速に人気が急上昇するWebサービスでは、どのようにスケールするアーキテクチャを構築し運用していくのかはサービスの成否を分けるほど重要です。Pinterestのように急成長してきたサービスのソフトウェア構成やリソース構成はどうなっているのでしょうか、Web上でいくつか情報が公開されているのでまとめてみました。 Pythonで開発し、Amazonクラウドで運用 1年ほど前なので少し古い情報ではあるのですが、Q&AサイトのQuoraにPinterestのco-founder Paul Sciarra氏が書き込んだソフトウェア構成の説明があります。 PinterestはPythonで開発されており、MemcachedやNginxなど高速なレスポンスに配慮した構成になっている様子がうかがえま

                                  Pinterestの急成長を支えてきたアーキテクチャとは? Pythonで開発しAmazonクラウドで運用
                                • グリー技術者が聞いた、fluentdの新機能とTreasure Data古橋氏の野心

                                  fluentdのほかにもバイナリシリアライゼーションフォーマット「MessagePack」の開発などで知られる古橋氏だが、学生時代からその技術力の高さには定評があり、注目され続けてきたスーパーエンジニアでもある。 今回、fluentdのユーザーでもあり、古橋氏とは旧知の仲でもあるグリー 開発本部 リーダーの森田想平氏がインタビュアーとなり、fluentdにまつわるトピックや、トレジャーデータでの開発、オープンソースへの想いなどを訊いている。本稿では、その模様をお伝えしながら、“エンジニア・古橋貞之”の魅力に迫ってみたい。 fluentd v11の注目ポイント 森田 まずは、グリーでも大変お世話になっているfluentdについて、いろいろ聞かせてください。開発中の新バージョン(v11)では、かなり大きな変更や機能追加があると伺っていますが、注目ポイントをいくつか教えてもらえますか。 フィルタ

                                    グリー技術者が聞いた、fluentdの新機能とTreasure Data古橋氏の野心
                                  • 【前編】トレジャーデータCTOと紐解く。日米で異なるCTOの役割とは?

                                    Twitterでハッシュタグ「#naoya_sushi」が生まれてしまうほど、無類の寿司好きとして知られる伊藤直也氏(@naoya_ito)。そんな伊藤氏をホスト役とし、トップエンジニアをゲストに招いて、寿司をつまみつつホンネで語ってもらおうという、この企画。 第六回のゲストは、弱冠20歳にしてCTOとしてのキャリアをスタートさせ、現在はシリコンバレー発のベンチャー企業『トレジャーデータ株式会社』のCTOとして活躍中の太田一樹氏(@kzk_mover)が登場!日米両方でCTOを務めた経験から、そのギャップや空気感、そしてシリコンバレーから世界を相手に勝負するため起業した真意などをお聞かせいただきました。日米を股にかけるkzk氏だからこその視点で、議論していただきます。お楽しみに! — 伊藤直也(以下「naoya」):久しぶりですね。日本に戻ってくるタイミングだとやっぱり飲み会続きですか?

                                      【前編】トレジャーデータCTOと紐解く。日米で異なるCTOの役割とは?
                                    • JSONで疲弊したら試したい、アプリのデータをSQLiteで受け渡すという選択肢 - アニマネ開発日誌

                                      アニマネの内部ではアプリとサーバー間でどのようにデータを受け渡ししているかという話をしてみます。 一般的にアプリとサーバー間のデータの受け渡しだとJSONやXML、YAMLなどが多いと思います。 ここにSQLiteという選択肢を入れると色々幸せになれるという話です。 もはや何で今までJSONという固定観念が捨てられなかったのかというぐらい、個人的にはコロンブスの卵でした。 あまり事例はなさそうなので、ここで紹介してみます。 アニマネでの問題点 アニメアプリのアニマネでは主にアニメの番組表やニュースをサーバーから受け取って表示しています。 都道府県にもよりますが、一つの都道府県の1週間分の番組表(アニメだけ)をJSONにすると大体750KBぐらいになるんですね。 これを開発初期ではMessagePackに置き換えてました。 話の本筋とは関係ないですが、JSONよりはMessagePackの方

                                        JSONで疲弊したら試したい、アプリのデータをSQLiteで受け渡すという選択肢 - アニマネ開発日誌
                                      • Treasure Data を退職しました - k0kubun's blog

                                        約5年5か月働いたTreasure Dataを7/22に退職した。7/25からShopifyに入社し、RustでJITコンパイラを開発してRubyを高速化する仕事をする。 仕事としてやりたい分野が変わってきて自分は今回転職したけど、とても良い会社なので、この記事がTreasure Data (以下TD) で働くことに興味がある人の参考になれば良いと思っている。*1 5年勤続記念にいただいたトロフィー やっていたこと APIチーム 元々TDにはJavaで分散システムを書きたくて入社したのだが、TD入社前に特にそういう経験があるわけでもなく主にRailsをやっていたこともあり、Railsでプラットフォームを開発するチームに入った。基盤開発をやりたいと思いながらサービス開発者として最初働き、後に基盤開発チームにジョインするみたいな過去の経験があったので、今回もそういう感じでいけると考えていた。実

                                          Treasure Data を退職しました - k0kubun's blog
                                        • MQTTについてのまとめ — そこはかとなく書くよん。 ドキュメント

                                          注釈 MQTT As a Service: sangoをリリースしました 2014年8月に、GitHubアカウントで簡単に登録できてMQTTを使い始められる sango を 時雨堂 がリリースしました。 無料プランもありますので、MQTTを一度使ってみたいという方はsangoを使うことをお勧めします。 最近voluntasさんが 活動 してお り、にわかにMQTT関連が熱くなってきました。たぶん観測範囲が狭いからだと は思いますが。 とはいえ、M2M (Machine to Machine)やIoT(Internet of Things)というバズワー ドもあり、モノがインターネットにつながる時代になってきて、MQTTの価値が 高くなってきている気もします。また、モバイル時代に適したプロトコルとい う意味でも注目されているのかもしれません。 ということ、MQTTについて一旦ここでまとめてみ

                                          • チャットワークの新しい開発言語とフレームワークを決める開発合宿を開催!その全貌を丸公開します。 | チャットワーククリエーターズブログ

                                            みなさんこんにちは、技術部Webチームリーダーの田中佑樹です。 みんなからはたなやんと呼ばれています。猫とVimが大好きです。 さて、今回は先日開催した2泊3日のChatWork開発合宿の全貌についてご紹介したいと思います。 「開発合宿をやってみたいけど、どうすればいいのかよくわからない」という方の参考になれば嬉しいです。 なぜ開発合宿をすることになったのか? チャットワークは2011年3月の公開以来、順調にユーザー数を伸ばし2014年4月時点で世界170カ国42,000社の企業に導入されるまでに成長しています。 そんな中、現在チャットワークのバックエンドで動いているプログラムが今後の運用において最適ではないのではという懸念があり、言語とフレームワークの再選定をしようという声が上がりました。 ただ、なかなか日頃の業務の中で時間を取るのは難しく、今後のチャットワークを左右する重大な選択なので

                                              チャットワークの新しい開発言語とフレームワークを決める開発合宿を開催!その全貌を丸公開します。 | チャットワーククリエーターズブログ
                                            • Fluentdの設定を考えるときはこんなかんじで考えると便利 - Qiita

                                              Fluentdはデータを流すのに非常に便利なツールでそこら中で使われている(個人調べ)。そのため、なんかいろんなところで設定を見るのであるが、タグに情報が付いていたりフィールドに情報がついていたりして、あれ、これどうなってるんだっけ感に襲われることがよくある。 このあたり自分でも混乱しがちなので、普段どのように考えているかだいたいまとまった気がしたところで書いておくことにした。 Fluentdのデータ構造 まずはFluentdのデータ構造を知っておいた方が良い。Fluentdの内部データはMessagePackで符号化されているが、Fluentdのデータ構造は単なるハッシュではなく、時刻(time)とタグ(tag)という属性を持っている。次のような感じだ。 レコード レコード(record)は入力されたデータそのものであり、tailプラグインであれば、tailした1行のデータに相当する。重

                                                Fluentdの設定を考えるときはこんなかんじで考えると便利 - Qiita
                                              • 54行で分散KVSを実装する(レプリケーション機能付き) - Blog by Sadayuki Furuhashi

                                                Ruby と MessagePack-RPC があれば、簡単なkey-valueストレージは簡単に作れます。54行で書けます(レプリケーションと負荷分散機能付き。サーバー38行、クライアント16行)。 簡単なKVSをベースにして、ログ集計や遠隔デプロイ、遠隔管理機能などの機能を追加していけば、ちょっと便利なサーバープログラムをサクサク自作できるハズ。 この分散KVSは、(keyのハッシュ値 % サーバーの台数)番目のサーバーにkeyを保存します。また、サーバーの名前順でソートしたときの「次のサーバー」と「次の次のサーバー」にデータをレプリケーションします。 すべてのサーバーで同じ設定ファイルを使います。サーバーごとの設定は引数を自分のホスト名に書き換えるだけなので、デプロイが容易です。 MessagePack-RPC for Ruby を使うと、分散しないkey-valueストレージ*1は

                                                  54行で分散KVSを実装する(レプリケーション機能付き) - Blog by Sadayuki Furuhashi
                                                • 分散データシステム入門の決定版『データ指向アプリケーションデザイン』をたった30分で学んでみた #DataEngineeringStudy | DevelopersIO

                                                  基調講演「30分でわかるデータ指向アプリケーションデザイン」 ・ スピーカー 斉藤 太郎氏  Twitter:@taroleo / Github:@xerial Principal Software Engineer , Treasure Data 東京大学理学部情報科学科卒。情報理工学 Ph.D。データベース、大規模ゲノムデータ処理の研究に従事。その後、スタートアップであるTreasure Dataに加わり、アメリカ、シリコンバレーを拠点に活動中。日本データベース学会上林奨励賞受賞。OSSを中心にプログラミングやデータ処理を簡単にするためのプロダクトを作成している。 「30分でわかるデータ指向アプリケーションデザイン」最新の論文にも触れながら、分散データシステムの世界の魅力を伝えていきます。後半、@tagomoris https://t.co/TQ2TnsFIOT… — Taro L.

                                                    分散データシステム入門の決定版『データ指向アプリケーションデザイン』をたった30分で学んでみた #DataEngineeringStudy | DevelopersIO
                                                  • Goのロギングライブラリ 2021年冬 - moriyoshiの日記

                                                    この記事はPySpa Advent Calendar 2021の14日目のエントリーとして書かれました。昨日のエントリーは冷凍食品でウキウキ引きこもり生活 でした。ちなみに私も70ℓの冷凍庫を購入しましたが本当にライフチェンジングでした。 総論: なぜログが必要か 可観測性 たとえ目的は自明でも、その動作までが自明なアプリケーションというものはほぼ存在しません。現実の世界のアプリケーションというものは、動作パラメータだったり実行環境だったり、起動時点でのさまざまな要因によって挙動を変えるものだからです。そして、そうしたアプリケーションにはライフサイクルというものがあります。ここでいうライフサイクルは、アプリケーションの処理が実行されるにつれ、アプリケーションの内外との情報のやりとりで生じる大局的な状態の変化のことです。アプリケーションが並行処理を行うようなものであれば、個々の並行処理の単位

                                                      Goのロギングライブラリ 2021年冬 - moriyoshiの日記
                                                    • 突撃!隣の開発環境 パート12【Treasure Data編】 in シリコンバレー | DevelopersIO

                                                      こんにちは!しんやです。今回はおおはしりきたけが書き連ねている人気シリーズ『突撃!隣の開発環境』に乗っかる形で私もこのシリーズエントリを書かせて頂きたいと思います。 突撃!隣の開発環境とは 技術事例やノウハウなどは、ブログや勉強会などで共有されることが多いと思います。しかし、各社の開発環境や開発体制などは意外と共有されていないこと多いと思います。ノウハウの流出になるかもしれませんが、それ以上に、より良い開発を目指している会社さん同士で情報交換を行い、良いチーム、良いプロダクトを作っていくという志の会社さんの為の情報共有のための企画になります。開発環境や開発体制なども技術領域によっても変わってくると思いますが、この突撃!隣のシリーズでは様々な会社さんのイケてるツールの使い方や、仕事が捗る開発体制についてインタビューを行っていく予定です。 Treasure Data社紹介 今回第12回目として

                                                        突撃!隣の開発環境 パート12【Treasure Data編】 in シリコンバレー | DevelopersIO
                                                      • 並列イベント駆動I/Oフレームワーク「mpio」リリース - Blog by Sadayuki Furuhashi

                                                        分散KVS kumofs のコードは、全体で約2万行です*1。 そのうち、ネットワークI/Oやプロトコルに関するコードは約1万行*2で、全体の約半分を占めています。 ロジックは残りの半分*3だけで実装されています。 この実例から分かりますが、kumofsのような分散アプリケーションを開発するにはI/O周りの実装が大変で、とてつもなく大きな障壁になっています。*4 さらに今日では、性能を稼ぐためにマルチスレッド化が必須です。また、多数のクライアントを少ないリソースで効率よく相手にするには、非同期・イベント駆動型のアーキテクチャも必要になります。さらに、究極的な性能を達成すべく GC を利用しない C++ においては、実装のみならず設計も大変です。 これに加えてソケットAPIの難解な挙動に対処にしなければならないため、C言語やC++によるネットワークプログラミングは、vimの使いこなしなどと同

                                                          並列イベント駆動I/Oフレームワーク「mpio」リリース - Blog by Sadayuki Furuhashi
                                                        • 「分散システムのためのメッセージ表現手法に関する研究」 - 筑波大学大学院を卒業しました - Blog by Sadayuki Furuhashi

                                                          このたび筑波大学大学院を卒業し、修士号を取得しました。卒業にあっては本当に多くの方々にご助力いただきました。この場を借りて御礼申し上げます。ありがとうございました。 現在は起業して、12月からアメリカに在住しています。新たな価値を生み出すべく "下から上まで" システムの設計と開発に携わっており、エキサイティングな毎日を送っています。 修論シーズンに日本にいなかったので、修士論文はメールで送って提出し、卒業式にも出席していないというありさまなので、本当に卒業できたのかどうか実感がないのですが、友人によれば「学位記はあった」らしいので、きっと大丈夫でしょう。(写真はカリフォルニア州マウンテンビューにて) さて、せっかく時間を割いて書いたので、修士論文を公開することにしました。 分散システムのためのメッセージ表現手法に関する研究と題して、バイナリ形式のシリアライズ形式である MessagePa

                                                            「分散システムのためのメッセージ表現手法に関する研究」 - 筑波大学大学院を卒業しました - Blog by Sadayuki Furuhashi
                                                          • Re: OSSで世界と戦うために - k0kubun's blog

                                                            yusukebe さんの OSSで世界と戦うために を読んで感銘を受けた。 hono の快進撃もさることながら、OSSで日本のコミュニティの外にリーチしたり、 GitHubスター数を伸ばしたりみたいな話は、 自分も10年くらい挑戦し続けているけどあんまり表に出てこない気がするネタなので興奮した。 僕はいくつかの点で上記の記事とは違う方法でOSSで世界と戦っているのだが、 その中でうまく行っているものや、良くないと思っているものなどについて紹介したい。 GitHubのスター数 OSSを始めたばかりの学生時代、GitHubのスターへの執着がもはや煩悩の域であり、 集めたスターの数を合計するCLIツールを作ったり、 同じ計算方法でランキングを作るWebサイトを作ったりした。 このサイトによると、僕の今のスター数は9000を超えている。 自作したOSSの中では、スター数が1600くらいのものが2つ

                                                              Re: OSSで世界と戦うために - k0kubun's blog
                                                            • YappoLogs: 2014年に向けた JSON API の実装の方向性と X-JSON-Status 改め X-API-Status header のご提案

                                                              2014年に向けた JSON API の実装の方向性と X-JSON-Status 改め X-API-Status header のご提案 追記 2014/11/20 14:00:00 わりと JSON やら XML やら各種フォーマットで API を運用している環境がある場合に JSON API の時だけ X-JSON-Status にすると XML とかの時と整合性取れないし、 X-XML-Status みたいのを量産するのは困る的なレビューを頂いたので X-JSON-Status をやめて X-API-Status にしました。 へたに JSON に限定するから REST とか JSON-RPC とかいわれるんや! X-API-Status にしたら全部解決したし MessagePack な API でも使い回せるって songmu さん言ってた! XML とかからどうやって引っこ抜

                                                              • 面白い課題を解決したいソフトウェアエンジニアへ ── 複数の専門性が交わるところで「今できないこと」をやる - Findy Engineer Lab

                                                                はじめまして、田籠聡(@tagomoris)です。現在はフリーランスのソフトウェアエンジニアとしていくつかの会社で技術顧問をしつつ、個人的なプロジェクトの開発をしたりしています。これまでのキャリアとしてはISPやSIerで働いたのち、livedoor(およびその後のLINE)や、Treasure Dataといった会社で働いてきました。また、みなさんがご存じかもしれないものだと、ISUCONというイベントを始めたり、データ分析基盤関連の技術やFluentdをはじめとしたOSSプロダクトの開発に関わったりしています。 自分のキャリアを振り返ると、これまでいろいろと面白いプロダクトやサービスに関われてきました。一方で、自分にとって面白いプロダクト・面白い開発とは何かということが、経験を積むにつれて変化してきたとも思います。この記事では、何を面白いと思うか? どうやって面白いものに関わり続けていく

                                                                  面白い課題を解決したいソフトウェアエンジニアへ ── 複数の専門性が交わるところで「今できないこと」をやる - Findy Engineer Lab
                                                                • Geekなぺーじ:MessagePackがIETF標準化に巻き込まれてる件について

                                                                  ここ数日、MessagePackがIETFにおける標準化に巻き込まれてザワザワしています。 何が起きているかというと、MessagePackプロジェクトとは関係が無い第三者がIETFで派生物の標準化を進めようとしています(binarypack、Informational RFCとして)。 binarypackは、自らをMessagePackの派生であるとしながらも、MessagePackとの後方互換性が無いものです。 MessagePack is in danger! binarypackのInternet-Draftを提出しているのは、coreと6lowpanのchairです。 Chairであるかどうかが議論そのものに与える影響はそこまで大きくないとも言えますが、少なくともIETFでの話の進め方に精通した人物であることは確かです。 ただ、今回のInternet-Draftは、その人物がC

                                                                  • libevent-1.3b, libmemcached-1.4.4 で固まる? - moratorium

                                                                    libevent-1.3b, libmemcached-1.4.4 で固まる? 2010-08-13 (Fri) 0:56 Uncategorized mixiの件について、nealさんから情報を貰ったので数時間調査してみた。というのも、うちの製品でもlibevent(evhttp)をリクエスト処理に使っているので、これにバグが有ると非常に困る。 Nealさんのつぶやき ひとまず、libevent-1.3b, libmemcached-1.4.4をビルドする。memcachedは、-cで同時接続数を制限できる。で、この同時接続数というのは、実はファイルディスクリプタの数を制限する事で達成されている。memcached.cの以下の部分。 /* * If needed, increase rlimits to allow as many connections * as needed. */

                                                                    • Bootsnapについて

                                                                      Bootsnapに調べたのでメモ。なお、確認した際のバージョンは1.0.0です。 Shopifyが出しているBootsnapというgemがあります。説明に書いてある通り、巨大なRuby / Railsのアプリを高速化する為のgemらしいです。 何をやってくれるかというと、Ruby, Active Support、YAMLのメソッドの呼び出しの最適化、及び、キャッシュをしてくれる、というものらしいです。 なお、1.0.0の時点でサポートしているプラットフォームはMacOSとLinuxだけです。Windowsは未対応。 また、Rubyは2.3.0以上のみサポートしています。 使い方Gemfileにgem 'bootsnap'を追加し、下記設定をrequire 'bundler/setup'の後に定義すればOKです。 require 'bootsnap' Bootsnap.setup( cach

                                                                        Bootsnapについて
                                                                      • Introducing the MessagePack - Blog by Sadayuki Furuhashi

                                                                        高速なシリアライズライブラリ MessagePack の新しいWebサイトをオープンしました! The MessagePack Project Ruby Inside でも取り上げられたようです: MessagePack: Efficient, Cross Language Binary Object Serialization 昨今、効率を重視したシリアライズライブラリが数多く登場しています。特に、大量の処理を行う大規模な基盤システム向けに開発されていることが多いようです。 少し探してみるだけでも、次のような事例が見つかります: BERT(githubで採用:Introducing BERT and BERT-RPC) Thrift(Facebookが開発:Thrift: Scalable Cross-Language Services Implementation) Avro(Hado

                                                                          Introducing the MessagePack - Blog by Sadayuki Furuhashi
                                                                        • 構文のことは忘れて、JSON, S式, XMLのデータモデルを比較する

                                                                          データをシリアライズするには、独自のフォーマットを定めるよりも、基本的な定義済みの構造を組み合わせてフォーマットを作るほうが望ましい場合が多いです。 そのような仕組みとしてJSON, S式, XMLなどが存在しますが、これらは 「基本的な構造」として何を選ぶか、という観点からそれぞれに個性を持っています。 本記事では、具体的な構文のことは基本的に忘れて、各フォーマットが採用するデータモデルの違いに焦点を絞って比較します。 JSON data JSON = Value data Value = -- Compounds Array [Value] | Object (Map String Value) -- Scalars | Null | Boolean Boolean | String String -- UCS-2 | Number IntegerOrFloat -- no NaNs

                                                                            構文のことは忘れて、JSON, S式, XMLのデータモデルを比較する
                                                                          • Norikra+FluentdでDoS攻撃をブロックする仕組みを作ってみた | Developers.IO

                                                                            Norikraとは Norikraとはリアルタイム集計プロダクトです。イベントストリームに対してSQLライクな言語で処理を書くことが出来ます。 例えば、ApacheのアクセスログをNorikraに流し込み、1分あたりのアクセス数やレスポンスタイムの最大値をリアルタイムに集計することが出来ます。 Norikraの利用例は作者であるtagomorisさんのブログで紹介があります。 今回は、Norikraを使ってDoS攻撃をブロックする仕組みを作ってみました。 DoS攻撃ブロックの仕組み アクセス元はApacheのアクセスログから取得し、ログの受け渡しにはFluentdを利用しました。 ブロックの手順は以下のようになります。 アクセスログをFluentdのin_tailプラグインで取得。 Fluentdのout_norikraプラグインで、アクセスログをNorikraに流し込み。 Norikra

                                                                              Norikra+FluentdでDoS攻撃をブロックする仕組みを作ってみた | Developers.IO
                                                                            • バイナリシリアライズ形式「MessagePack」 - Blog by Sadayuki Furuhashi

                                                                              Googleが公開したバイナリエンコード手法であるProtocol Buffersは、クライアントとサーバーの両方でシリアライズ形式を取り決めておき(IDL)、双方がそれに従ってデータをやりとりするようにします。 この方法では高速なデータのやりとりができる反面、IDLを書かなければならない、仕様を変えるたびにIDLを書き直さなければならない(あらかじめしっかりとIDLを設計しておかないとプログラミングを始められない)という面倒さがあります。 ※追記:Protocol BuffersのデシリアライザはIDLに記述されていないデータが来ても無視するので(Updating A Message Type - Protocol Buffers Language Guide)、仕様を拡張していっても問題ないようです。 一方JSONやYAMLなどのシリアライズ形式では、何も考えずにシリアライズしたデータ

                                                                                バイナリシリアライズ形式「MessagePack」 - Blog by Sadayuki Furuhashi
                                                                              • 今話題のマイクロサービス・アーキテクチャについて、本格的に実践中のビズリーチさんに聞いてみた!

                                                                                今話題のマイクロサービス・アーキテクチャについて、本格的に実践中のビズリーチさんに聞いてみた! 馬場 美由紀(HTML5 Experts.jp編集部) 巨大化・複雑化したモノリシックなアプリケーション開発から、サービスを小さい単位に分割し、開発のスピードを上げようとするマイクロサービスが注目されています。アプリ開発のアーキテクチャとして関心はあるのものの、実際にはどのようなメリット・デメリットがあるのかは気になるところ。 そこで、マイクロサービスアーキテクチャを採用して新サービスをリリースしたという株式会社ビズリーチ・CTO室チーフアーキテクトの竹添直樹さんに、お話を伺ってきました。 聞き手は、HTML5 Experts.jp編集部・岩瀬義昌(@iwashi86)さん、HTML5 Experts.jp編集長・白石俊平さんです。 そもそもマイクロサービスって何ですか? 岩瀬:そもそもマイクロ

                                                                                  今話題のマイクロサービス・アーキテクチャについて、本格的に実践中のビズリーチさんに聞いてみた!
                                                                                • Go言語でWebAppの開発に必要なN個のこと - Qiita

                                                                                  元ネタ あるプログラミング言語で実際にWebAppを開発できるようになるまで、何が必要だろうか。言語仕様の習得は終えているとしよう。おそらく、最低限以下のような知識が必要だと思われる。とりあえずGo言語について知っていることを書いた。 パッケージマネージャ 標準でついてるgoツールを使おう。必要なライブラリはリポジトリから、go getで取ってこよう。 http://golang.org/cmd/go/#hdr-Download_and_install_packages_and_dependencies アプリケーションサーバ 標準パッケージのnet/httpパッケージを使えばhttpサーバを動かすことができる。apacheやnginxで動かしたかったら、標準パッケージのnet/http/cgiパッケージやnet/http/fcgiパッケージを使えばいい。 http://golang.or

                                                                                    Go言語でWebAppの開発に必要なN個のこと - Qiita