Skip to content

Instantly share code, notes, and snippets.

View suma's full-sized avatar

Shuzo Kashihara suma

View GitHub Profile
@suma
suma / jubatus_core_api_design.md
Last active December 20, 2015 08:39
Jubatus API設計(coreの分離作業)

jubatus/coreをサーバから独立させたAPI設計・リポジトリ分離

目的

追記(2013/07/29, 17:36以降)

  • Jubatusがどんなフレームワーク・機能を提供するのか明確にする #250
  • 公開API/非公開モジュールの振る舞いや仕様を明確にし、それらを利用・メンテナンス可能な状態にする(一部の人間しか利用・メンテナンスできない状態を避ける)
  • ライブラリのみでJubatusを利用可能にする(ユーザを増やす)
@gintenlabo
gintenlabo / assert.hpp
Last active December 19, 2015 16:19
Assertion macros
#ifndef INCLUDED_ASSERT_HPP_
#define INCLUDED_ASSERT_HPP_
#ifndef ETUDE_DISABLE_ASSERTIONS
#include <glog/logging.h>
// declares expr to be true

assert 使用のガイドライン

大原則

  • assert で示されている条件は,正しくプログラムが書けている場合,必ず成立する
  • 状況次第で失敗する可能性のある条件を assert にかけてはならない
    • 例として,ユーザ入力や設定ファイルの妥当性検証を assert で行なってはならない
  • 例外にするべきか assert にするべきか迷った場合には,とりあえず例外を使うことを検討する
    • どの例外を投げるのが相応しいかを考える過程で,思考が整理されることが期待できる
  • 思考整理ができなかった場合には,その旨をソースコードや pull req. のコメントに残す
@rimms
rimms / 01_Backup_and_Recovery.rst
Last active December 15, 2015 23:49
Backup and Recovery

Backup and Recovery

Jubatus サーバは、メモリ上で機械学習に関するデータを管理しています。 メモリ上でデータを管理するという性質上、Jubatusサーバプロセスの終了とともに Jubatus 上のデータは失われます。

Jubatus では、予期せぬプロセスの終了や誤ったオペレーションに備え、バックアップとリカバリのための機能を提供しています。

現在、Jubatus では、以下の手段を提供しています。

@yuitowest
yuitowest / install_vagrant_vmware_fusion.md
Last active December 15, 2015 20:19
Vagrantが1.1でVMware Fusion向けプラグインを公開したので試した。

Vagrantの最新版をインストール

$ vagrant -v
Vagrant version 1.1.5
@kmaehashi
kmaehashi / gist:5036511
Last active December 14, 2015 05:39
Jubatus RPC 関連の課題整理

RPC 関連の課題整理

  • Jubatus サーバのタイムアウト機能を使用したくないユーザ (--timeout 0) の救済方法を検討する

  • Jubatus サーバのタイムアウト機能を使用したいユーザの救済方法を検討する

    • サーバから timeout で自動切断(サーバから TCP FIN パケット送信)された後に RPC メソッドを呼んだ際に RPC エラーが起きるのが不親切 (C++/Python/Ruby のみ)
  • 解決策の案(松): サーバから受け取った FIN リクエストを正しくハンドリングするように修正 (msgpack-rpc ライブラリを修正)

@y-oda-oni-juba
y-oda-oni-juba / cli_thr-1,serv_thr-2.txt
Last active December 12, 2015 03:08
Jubatus RPC 性能評価 v0.3.4 vs 0.4.0: 2013-02-04 速報値(未加工)
v0.3.4
build/rpc-bench --host 192.168.1.59 --port 9001 --query 1000 --thread 1
#thread: 1
total query: 1000
total time(msec): 92120.9
query/sec: 10.8553
latency(msec): 92.1198
build/rpc-bench --host 192.168.1.59 --port 9001 --query 1000 --thread 1
#thread: 1
total query: 1000
@unnonouno
unnonouno / jubatus-coding-standard.rst
Last active December 11, 2015 20:28
Jubatusコード規約

Jubatusコード規約

原則 Google C++ Style Guide に従います。 但し、以下の点に関して差分があります。

なお、外部から導入された jubatus/server/third_party 以下のファイルは対象外です。

@rimms
rimms / gist:4633358
Last active December 11, 2015 17:18
save/load まとめ

これまでの議論と 進め方 などのまとめ

Jubatus において状態書出/読込機能が必要となるユースケース

save/load という既存機能に関わらず、状態書出/読込機能が必要とされるケースを列挙する。必ずしも、状態書出/読込で実現する必要はない。

  1. 「誤ったデータを学習させた」などのオペレーションミスへの対策