並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 724件

新着順 人気順

msgpackの検索結果1 - 40 件 / 724件

  • Webサイトをgithubで管理してpush時に自動的に同期する方法 - Blog by Sadayuki Furuhashi

    Webサーバに Subversion のサーバを立てておき、HTML や CSS を commit することでWebサイトを更新する方法は、良く知られているテクニック、らしいですね*1。更新の履歴を残すことができるし、ましてチマチマとFTPやsftpでアップロードするよりずっと簡単です。 しかし SVN の代わりに git を使おうとすると、pushしてもリポートリポジトリではファイルを更新してくれません。 また、リポジトリはWebサーバ上に作るよりも、便利な管理インタフェースがある github(や噂のgitosis)に置いておきたいところです。 そこで、github の Post-Receive Hook を使うと、リポジトリに変更を push すると同時に、Webサーバにも同期させることができます*2。 Webサーバに同期する前に、Sphinxでドキュメントを整形したり、SassをC

      Webサイトをgithubで管理してpush時に自動的に同期する方法 - Blog by Sadayuki Furuhashi
    • エラー処理を書いてはいけない

      エラー処理を書いてはいけない田中英行 tanaka.hideyuki@gmail.com 2011/12/08 @PFIセミナー 自己紹介田中英行 (@tanakh, http://tanakh.jp) PFI社でプログラマやってますJubatuspficommon検索エンジンのコアエンジンHaskell愛好家msgpack / rpc / idlpeggy (パーザジェネレータ & QQ w/ AQ)Shu-thing (シューティングゲーム) / (Monadius メンテナ)今気になるパッケージは monad-controlLearn you a Haskell 鋭意翻訳中 (春頃発売予定) エラー処理を書いてはいけない本日の概要エラー処理を抽象化しようというお話です 現在のエラー処理の抱える問題どのように解決するのか実際の例エラーは処理しなければならない エラー処理を書いてはいけな

      • 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

        • 「がんばらないTypeScript」のための現実的な設定を考える ─ 4レベルの厳しさを使い分けてTypeScript疲れを克服しよう!|ハイクラス転職・求人情報サイト AMBI(アンビ)

          ハイクラス求人TOPIT記事一覧「がんばらないTypeScript」のための現実的な設定を考える ─ 4レベルの厳しさを使い分けてTypeScript疲れを克服しよう! 「がんばらないTypeScript」のための現実的な設定を考える ─ 4レベルの厳しさを使い分けてTypeScript疲れを克服しよう! エンジニアHubでは2019年に「がんばらないTypeScript」を紹介しました。JavaScriptに静的型付けなどを提供するTypeScriptは、今では実プロジェクトに採用されるプログラミング言語になっています。そこで現実的なTypeScriptの設定を、藤吾郎(gfx)さんに解説してもらいました。 2021年の現在、TypeScriptの価値はますます広く認められるところとなり、多くのJavaScriptプロジェクトがTypeScriptで開発されるようになってきました。またT

            「がんばらないTypeScript」のための現実的な設定を考える ─ 4レベルの厳しさを使い分けてTypeScript疲れを克服しよう!|ハイクラス転職・求人情報サイト AMBI(アンビ)
          • 騒動の内容と今後について

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

              騒動の内容と今後について
            • 2013年Rubyの話題を一挙に振り返るまとめ | Engine Yard Blog JP

              Chef、 PHPにつづき、Rubyの今年2013年を今年人気を集めた記事をテーマ別にまとめました。はてなブックマークの数と一緒に振り返っていきます。今年の2月24日にRuby20周年を迎え、ruby-2.0.0がリリースされました。他にもRails4のリリース、RubyKaigiの再開など多くのトピックがありました。 目次 Ruby20周年!そしてruby-2.0.0, ruby-2.1.0のリリース 言語実装への興味、ガベージコレクションほか Rubyのひろがり Rails4のリリースとRailsの成熟 テスト、CI 開発環境、手法、デザイン チュートリアル、Ruby, Railsを始める Ruby 話題の本 作りました! 新しいライブラリ ログ・マネージメント fluentd Tips! コーディング クライアントサイドとバックエンド Rubyを取り巻く環境、組織 TwitterがR

              • 新しい言語を触り始めた時に実装してみるもの一覧 - pocketberserkerの爆走

                ajitofm 13に「言語を学ぶ時に練習で何を実装してみるか」みたいな話が出ていた。 で、自分は何やっているかなーと思ったので書き出してみる。 全部やるってわけではなく、目的に応じていくつかやってみる感じ。 parser combinator パフォーマンスを求めないなら数日で実装できる 文字列操作 最適化の練習(文字列編) JSON serializer parser combinatorを使って何かやってみる時の定番? quickcheck的なライブラリを練習するのにちょうど良い binary serializer バイナリ操作 マクロ 最適化の練習(バイナリ編) msgpackが仕様の大きさ的にやりやすい? データ構造 ひとつひとつは小さいので練習しやすい データ構造、アルゴリズムの復習を兼ねる TODOリスト Webフレームワーク DB logging テスティングフレームワーク

                  新しい言語を触り始めた時に実装してみるもの一覧 - pocketberserkerの爆走
                • [Customize.org] Download Skins, Themes, Wallpapers and Icons for Windows from the original skin site!

                  /etc/php/7.1/fpm/conf.d/10-mysqlnd.ini, /etc/php/7.1/fpm/conf.d/10-opcache.ini, /etc/php/7.1/fpm/conf.d/10-pdo.ini, /etc/php/7.1/fpm/conf.d/15-xml.ini, /etc/php/7.1/fpm/conf.d/20-bcmath.ini, /etc/php/7.1/fpm/conf.d/20-calendar.ini, /etc/php/7.1/fpm/conf.d/20-ctype.ini, /etc/php/7.1/fpm/conf.d/20-curl.ini, /etc/php/7.1/fpm/conf.d/20-dom.ini, /etc/php/7.1/fpm/conf.d/20-exif.ini, /etc/php/7.1/fpm/con

                  • node/webosocketによるオンラインゲームの実装を考える / オンメモリ、KVS、RDBMS、圧縮プロトコル、そのゲームデザイン + 就活の話 - mizchi log

                    派手で見栄えがする大規模なプロダクトを作ろう!っていうことで、一人でフルスタックなネトゲを作っている。大きなプログラムを書いても破綻しないようにテスト書きまくってテストファーストを心がけたり、Travis-CIによる継続的インテグレーションで頑張ったり。 というわけで作っているのはMMORPGなんだけど、ここで実装するのはまあ平均的なMMORPGを想像してもらいたい。自分がやろうとしているのは、モダンなOSSとさくらの安いVPSで、独学の学生一人でもフルスタックなネトゲみたいなのが組める、ということの実証。 なんでそんなことをしているかって言うと、一応就活中で、見栄えがするアプリ提出できるとおいしいなーっていう下心。 *追記* ここでは https://github.com/mizchi/wanderer のことを言ってるんだけど大規模リファクタリング中なのでここで言ってることは半分ぐらい

                      node/webosocketによるオンラインゲームの実装を考える / オンメモリ、KVS、RDBMS、圧縮プロトコル、そのゲームデザイン + 就活の話 - mizchi log
                    • 数十台規模のPHP 5.3プロジェクトをダウンタイムゼロでPHP 5.6化した時のまとめ | GMOメディア エンジニアブログ

                      新年明けましておめでとうございます。GMOメディアの流しエンジニア、山田コーダーです。さて、ようやく弊社でもPHP 5.3、5.4系のプロジェクトの5.6化が一段落してまいりました。 PHP 5.6のリリースが2014年ですので今更感がありますが、「レガシーなPHPプロジェクトのバージョンアップに困っている」「使いたいライブラリーが5.3に対応してないからバックポートした」などという悲痛な声を目にしたこともあり、これからPHPのバージョンアップをされる方たちへのささやかな参考資料になればと思い、書かせていただきました。 さて、まずは本題に入る前に結果からお見せしようと思います。以下はNew Relic(アプリケーションのパフォーマンス監視サービス)のレスポンスタイムのグラフです。なおこのプロジェクトでは、ブラウザー表示用HTMLを出力するサーバー(Web 約10台)と、スマートフォンアプリ

                      • 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
                        • なんてこった…CPANモジュールをnode.jsで動かしてしまうライブラリ「node-perl」 - tokuhirom's blog

                          https://github.com/tokuhirom/node-perl/ ここ最近、プログラミング言語同士の壁が徐々に破壊されている気がします。あるプログラミング言語上で別なプログラミング言語を動くようにしたり、置き換えてしまったりするような類です。今回はその一つ、CPAN moduleをnode.js上で動かすという、かなり無茶な気がしなくもない、そんなソフトウェアnode-perlを紹介します。 var Perl = require('../index.js').Perl; var perl = new Perl(); perl.use('LWP::UserAgent'); var ua = perl.getClass('LWP::UserAgent').new(); var res = ua.get('http://mixi.jp/'); console.log(res.as_

                          • 分散データシステム入門の決定版『データ指向アプリケーションデザイン』をたった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
                            • デブハゲ

                              でぶはげ めしくえ

                              • Awesome Ruby : 素晴しい Ruby のライブラリ・ツール・フレームワーク・ソフトウェアの数々

                                Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 元記事: Awesome Ruby Ruby 以外の言語, ソフトウェアについては を参照してください. Awesome List in Qiita Awesome Java Awesome JavaScript Awesome Node.js Awesome Python Awesome Go Awesome Selenium Awesome Appium 抽象化 ActiveInteraction - アプリケーション固有のビジネスロジックを管理します. Cells - Rails のコンポーネントを表示します. Decent Ex

                                  Awesome Ruby : 素晴しい Ruby のライブラリ・ツール・フレームワーク・ソフトウェアの数々
                                • neue cc - ZeroFormatter - C#の最速かつ無限大高速な .NET, .NET Core, Unity用シリアライザー

                                  (現状は)C#専用の、新しいシリアライズフォーマットを作りました。アセットストアには置いてないんですが、GitHubで公開しています。ReadMeが超書きかけですが明日ぐらいには全部書き終わってるはず……。 neuecc/ZeroFormatter 特徴はデシリアライズ速度がゼロなので、真の意味で爆速です。そう、無限大高速。 嘘くせー、って話なんですが、実のところこれは類似品があって、Googleの出してるFlatBuffersと基本的な考えは同じです(他にCap'n Protoというのもあります、こっちも元Googleの人ですね)。デシリアライズ「しない」から速い。つまるところ必要になるときまでパースを先送りするってことです。これは、アプリケーションの作りにもよりますが非常に効果があって、例えばデカいマスタデータをドバッと取得するなんてときに、その場で必要なデータってその巨大データのごく

                                  • 「分散システムのためのメッセージ表現手法に関する研究」 - 筑波大学大学院を卒業しました - Blog by Sadayuki Furuhashi

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

                                      「分散システムのためのメッセージ表現手法に関する研究」 - 筑波大学大学院を卒業しました - Blog by Sadayuki Furuhashi
                                    • Archived: Python Extension Packages for Windows - Christoph Gohlke

                                       Archived: Unofficial Windows Binaries for Python Extension Packages by Christoph Gohlke. Updated on 26 June 2022 at 07:27 UTC. This page provides 32 and 64-bit Windows binaries of many scientific open-source extension packages for the official CPython distribution of the Python programming language. A few binaries are available for the PyPy distribution. The files are unofficial (meaning: inform

                                      • Web Components と Electron でつくる Neovim フロントエンドの未来 - はやくプログラムになりたい

                                        この記事は Vim Advent Calendar 2015 の20日目の記事です. まずはこちらのスクリーンショットをご覧ください. エディタの UI やカーソル移動は Vim っぽいですが,markdown ライブプレビューやカーソル位置での画像ポップアップ,組み込みブラウザなど謎の UI が見て取れます.本記事ではこれについてボトムアップで必要な知識から順を追って紹介します. 長い……三行で Neovim msgpack-rpc API を使って <canvas> と Node.js API で Neovim フロントエンドを作成し Web Component としてラップ して HTML アプリに簡単に組み込めるようにした上で UI プラグインをウェブ技術で構築できる NyaoVim という Neovim GUI エディタを Electron 使ってつくってます. 目次 Web C

                                          Web Components と Electron でつくる Neovim フロントエンドの未来 - はやくプログラムになりたい
                                        • 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

                                          • LedisDB - A high performance NoSQL like Redis powered by Go.

                                            Data structure Rich data structure: KV, List, Hash, ZSet, Set. Various Backend Various backend databases to choose: LevelDB, goleveldb, LMDB, RocksDB, BoltDB or Memory. Expiration & TTL Supports expiration and ttl in all kinds of data structures. CLI Support Redis clients, like redis-cli, are supported directly. Easy Embedding Easy to embed in Go application. Data Protection Replication to guarant

                                            • 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
                                              • Fluentd、Amazon RedshiftとTableauを用いたカジュアルなデータ可視化 | SmartNews開発者ブログ

                                                ゴクロ改め、スマートニュース株式会社の大平です。 巷間では「bigdata」の活用が叫ばれて久しいですが、弊社はまだまだ小さい規模のスタートアップのため少なくともデータサイズとしてhugeなdataの活用が行える環境ではありません。 であればデータの活用に対する要求が低いか、というとそうでも無く、サービスサイドでも自然言語処理や機械学習を中心としたデータ解析処理がサービスの生命線となっていますし、サービスの裏側でも戦略を立てる上で効果測定や諸々のデータの分析は非常に重要な位置を占めています。 本記事では主にサービスの裏側で求められるデータ解析において、いかにカジュアルにデータを解析するか、の一例として、掲題のような組み合わせによるデータ可視化の事例を簡単にですがご紹介したいと思います。 データ解析基盤を作る側の視点からすると、システムとして求められる要件は以下のようなものだと理解していま

                                                • 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
                                                    • GoのスライスとRustのスライス | Wantedly Engineer Blog

                                                      こんにちは、Wantedly のDX Squadでエンジニアをしている原です。 (DXはDeveloper Experienceの略で、開発者が心地よくプロダクトを作れる環境を作ることを目標に頑張る部門です) 本稿は、WANTEDLY TECH BOOK 9 から「GoのスライスとRustのスライス」という章を抜粋し加筆修正を加えたものです。ウォンテッドリーでは WANTEDLY TECH BOOK のうち最新版を除いた電子版を無料で配布しています。ぜひ読んでみてください。 過去の WANTEDLY TECH BOOK を入手する 以下、本文です。 GoのスライスとRustのスライスは大枠では似ていますが、スライスの共有に関する振舞いが微妙に異なり、GoとRustの設計の違いが垣間見られます。本記事ではこの違いを説明します。 配列型とスライス型Go/Rustにおいて「配列」は固定長でスタッ

                                                        GoのスライスとRustのスライス | Wantedly Engineer Blog
                                                      • Protocol Buffersは遅い - Blog by Sadayuki Furuhashi

                                                        Google の Protocol Buffers は、同技術と競合するバイナリシリアライズ形式である MessagePack と比べて、場合によっては 19倍 以上遅く、シリアライズ後のデータサイズは 7倍 以上になることがあります。平均的に見ると MessagePack の方が高速であり、高い性能が必要とされるなら Protocol Buffers より MessagePack を選択するべきです。 …とはいえどちらも非常に高速なので、実際にはそのAPIの違いで選んだ方が良い。Protocol Buffers と MessagePack は重視している点が異なり、使い勝手は大きく異なる。 Protocol Buffers とは何か Protocol BuffersはGoogleが開発したバイナリエンコード手法で、以下のような要素が提供されます: データフォーマットを記述するための言語(

                                                          Protocol Buffersは遅い - Blog by Sadayuki Furuhashi
                                                        • MessagePackが文字列とバイナリをわけないのは問題?

                                                          You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                            MessagePackが文字列とバイナリをわけないのは問題?
                                                          • 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 の組合せが素敵という話 - たごもりすメモ
                                                            • 140行で作る分散リアルタイム検索エンジン(Twitter Streaming API対応) - 古橋貞之の日記

                                                              マトモに使えるRPCライブラリ MessagePack-RPC for Ruby のバージョン 0.2.0 をリリースしました! 新たにコネクションプーリングの機能を追加しました。一度接続したコネクションを共有して使い回すことができます。コネクションを何度も張り直す負荷と遅延を削減でき、リソースの消費も抑えられます。 また、不意に切断されたコネクションを自動的に再接続する機能を導入し、信頼性を向上させています。 これを使って何か作ってみようと言うことで、twitterのリアルタイム検索エンジンを作ってみました。日本語を検索できないなど機能は貧弱ですが、プログラム全体がわずか140行に収まっています(クローラ27行、インデクサ48行、クラスタ管理ノード37行、検索クライアント28行)。 新しいつぶやきを受信するたびに、リアルタイムで転置インデックスを作成していきます。インデックスを作成するノ

                                                                140行で作る分散リアルタイム検索エンジン(Twitter Streaming API対応) - 古橋貞之の日記
                                                              • 新規サーバにPHP7+Nginxの環境を構築する - 魔法使いの卵

                                                                新規サーバに以下の環境を作成する CentOS7.1 PHP 7.0.0 Nginx1.8.0 SELinuxを殺す 一時的に殺しておくsudo setenforce 0 再起動後も殺しておくsudo vim /etc/selinux/config - SELINUX=enforcing + SELINUX=disabled Nginxのyumリポジトリを追加 sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm Nginxをinstallする sudo yum -y install nginx 確認用のファイルを作成する vim /vagrantdev/phpinfo.php <?php echo phpinfo(); バーチャルホス

                                                                  新規サーバにPHP7+Nginxの環境を構築する - 魔法使いの卵
                                                                • #fluentd のためのプラグインをイチから書く手順(bundler版) - tagomorisのメモ置き場

                                                                  前に自分で書いた fluentdのためのプラグインをイチから書く手順 - tagomorisのメモ置き場 はたいへん重宝していたのだが、書いたすこし後になって実は現在すでに bundle gem コマンドを使うやりかたが良さそうだということがわかってしまったがばたばたしてて移行してなかった。 で、またひとつプラグインを書くことにしたのでついでに bundle を使った手順をざっくりまとめておく。以下のエントリをたいへん参考にさせてもらった。 T-POINTを取得するスクリプトをGistから移動, Bundlerを使ったGem作成メモ (自分用) - ただのにっき(2012-02-18) 準備とディレクトリツリーの作成 bundler は必要なので、なにはなくとも入れておこう。 gem install bundler そしてプラグイン用ディレクトリツリーを作成する。今回は DataCount

                                                                    #fluentd のためのプラグインをイチから書く手順(bundler版) - tagomorisのメモ置き場
                                                                  • Treasure Dataを支える技術 - MessagePack編

                                                                    Treasure Dataの基本データフォーマットであるMessagePackと、msgpack-javaでの最適化について紹介します。Read less

                                                                      Treasure Dataを支える技術 - MessagePack編
                                                                    • 型を忘れる静的言語、型を覚えてる動的言語 : 404 Blog Not Found

                                                                      2013年03月01日16:00 カテゴリLightweight Languages 型を忘れる静的言語、型を覚えてる動的言語 召還されたますた。 @dankogaiさんがブログで参入したら面白そう。 「変数に型がないということの利点について考える - サンプルコードによるPerl入門」 (id:perlcodesample / @perlcodesample2) d.hatena.ne.jp/perlcodesample…— r-west (@rwest2112) February 28, 2013 言語設計者たちが考えること Mastermind of Programming Federico Biancuzzi / Shane Warden 伊藤真浩 / 頃末和義 / 佐藤嘉一 / 鈴木幸敏 / 村上雅章訳 [原著:Masterminds of Programming] まず、よくあ

                                                                        型を忘れる静的言語、型を覚えてる動的言語 : 404 Blog Not Found
                                                                      • Blog by Sadayuki Furuhashi

                                                                        MessagePackフォーマット仕様のPull Request #209をマージし、MessagePackにTimestamp型を追加しました。 ※この記事の英語版は XXX にあります(翻訳中) Extension型の型コード -1 として定義されているため、後方互換性が維持されています。つまり、既にExtension型に対応しているデシリアライザであれば、Timestamp型を使用して作成されたデータを、Timestamp型に対応していない古いデシリアライズで読み出すことができます。 新しいTimestamp型には timestamp 32、timestamp 64、timestamp 96 の3つのフォーマットがあり、よく使う値をより少ないバイト数で保存できるようになっています。例えば、1970年〜2106年までの時刻で、秒までの精度しか持たない時刻であれば、合計6バイトで保存でき

                                                                          Blog by Sadayuki Furuhashi
                                                                        • mruby専用クラウドOS「μOSv」を作りました - syuu1228's blog

                                                                          追記:μOSvはOSv本家にマージされました。 こちらのWikiの「OSvをビルドしてより多くのアプリを試す」以下を参照して下さい。 μOSvというものをgithubで公開したので、ここに簡単な説明を書いておきます。 実行イメージ動画: これは何?(OSvを知らない人向けの説明) ローカルマシン上のKVM・Xenや一部のIaaSサービス・VPSなどで走る、mrubyスクリプトを実行する事のみに特化されたOSです。 mrubyインタプリタの実行に汎用OSを必要としないため、とても少ないメモリ使用量(今のところ90MB以上なら動く)・ディスクイメージサイズ(今のところ26MB)・とても速い起動時間(今のところ2秒くらい)で動作します。 mrubyなのでRubyで使えるAPIが全て使えるわけではありませんが、ネットワークアクセスを行う小さなアプリケーションであればLinux上で動作するRubyス

                                                                            mruby専用クラウドOS「μOSv」を作りました - syuu1228's blog
                                                                          • Jubatusにおける機械学習のテスト@MLCT

                                                                            6. 各モジュールの役割 l  サーバー・クライアント l  msgpack-rpcサーバー・クライアントとして振る舞る l  だいたい⾃自動⽣生成される l  ドライバー l  ⽣生データ(⽂文書など)を処理理する層 l  特徴抽出、重み付け、学習を結びつける役割 l  コア l  ベクトルを受け取る⽣生の学習器 l  ベクトルを⽣生成する⽣生の特徴抽出器 l  最近リポジトリを分離離した(jubatus_core) 6

                                                                              Jubatusにおける機械学習のテスト@MLCT
                                                                            • Haskellのビルドツール"stack"の紹介 - Qiita

                                                                              Stackとは? つい先日のことですが、Stackage界隈からstackというツールがリリースされました。リリースされたとはいえ、開発され始めたのがちょっと前のことですし、現在も盛んに機能が追加されているので、絶賛開発中であるとかそういったほうがいいかもしれません。 まだ開発の始まったばかりのツールなのに、なぜこんな紹介記事を書こうと思ったのかというと、このツールがHaskellの開発において極めて有用になることが確定的に明らかであって、すでに荒削りながらも、大変便利に使えているからなのです。そしてここで紹介することで、多くの読者の方に興味を持ってもらって、それで開発がさらに盛り上がっていくと嬉しいなあと、そう思った次第であります。 なお、stackの開発が始まる少し前に、stackage-cliを始めとするいくつかのツールがリリースされましたが、今後開発はstackに一本化されるような

                                                                                Haskellのビルドツール"stack"の紹介 - Qiita
                                                                              • kumofsから学ぶNot only SQLの技術 - Blog by Sadayuki Furuhashi

                                                                                NoSQLを知る〜kumofsから学ぶNot only SQLの技術 と題して、Developers Summit 2010で発表しました。 twitterの#devsumi2010 kumofsを見る限りでは大変ご好評をいただいたようで、ひとまずほっとしています。 プレゼンテーションの資料を公開しました。内容はどれも同じですが、クリックで進むムービー版がオススメです。 クリックで進むムービー(クリック/矢印キーで進む) PDF Keynoteファイル(Keynote '09が必要) NoSQLを知るView more presentations from frsyuki. Consistent Hashingとdouble-hash-spaceアルゴリズムの紹介は、68ページ以降にあります。 第101回 カーネル読書会 2月25日に楽天タワーで行われるカーネル読書会でも、kumofs関連

                                                                                • SION, a data serialization format a little more expressive than JSON - Qiita

                                                                                  [ "array" : [ nil, true, 1, // Int in decimal 1.0, // Double in decimal "one", [1], ["one" : 1.0] ], "bool" : true, "data" : .Data("R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"), "date" : .Date(0x0p+0), "dictionary" : [ "array" : [], "bool" : false, "double" : 0x0p+0, "int" : 0, "nil" : nil, "object" : [:], "string" : "" ], "double" : 0x1.518f5c28f5c29p+5, // Double in hexadecimal "in

                                                                                    SION, a data serialization format a little more expressive than JSON - Qiita