ブックマーク / www.na3.jp (11)

  • 高次元ベクトルデータの近傍検索を「NGT」で試してみる - 元RX-7乗りの適当な日々

    三国志のゲームの武将データを(サンプルに)使った近傍検索を、検索ライブラリ「NGT」を使って、試してみた話です。 ひょんなことから、久しぶりに高次元(多次元)ベクトルのデータを扱うことになりました。(もとい仕事で扱うことにしました。) というのも、15年以上前の話ですが、私、学生の頃は情報検索に関する研究をしていまして、いわゆる大容量ファイル等の類似検索で扱えるような高次元なベクトルデータ向けの効率的なインデックスに関することをテーマとしてやっていたんですよね。 ・・・閑話休題。 で、良さげな検索ライブラリがないかなー、と探してみたら、Yahoo!様が「NGT」というドンピシャなライブラリをオープンソースとして公開してくれていたので、早速試してみました。 NGTと高次元ベクトルの検索について 「NGT」は、GitHub の README によると "Neighborhood Graph a

    高次元ベクトルデータの近傍検索を「NGT」で試してみる - 元RX-7乗りの適当な日々
    yag_ays
    yag_ays 2019/05/27
  • デブサミ2017「グランブルーファンタジーを支えるインフラの技術」講演メモ #devsumi - 元RX-7乗りの適当な日々

    CAを離れて1年半。最近はどんな感じか知りたかったので聞いてきました。面白かったです。 グランブルーファンタジーを支えるインフラの技術 (株)Cygames 佐藤太志 氏 グランブルーファンタジーについて 特徴 スマホのRPG ブラウザゲーム 協力プレイ、マルチプレイ システム規模 登録ユーザ数1400万人 月間300億PV 100万query/sec 8万req/sec トラフィック12Gbps (CDN除く) システム構成 LBはBIG-IP CDNはAkamai HTTP/WebSocketがフロントインターフェース Web: Apache + mod_php + mysqli Node: Node.js + twemproxy DB: MySQL + MHA オンプレミス、仮想化環境は使っていない ネットワーク通信量が非常に多い 低レイテンシを求められている ハイパフォーマンスを実

    デブサミ2017「グランブルーファンタジーを支えるインフラの技術」講演メモ #devsumi - 元RX-7乗りの適当な日々
    yag_ays
    yag_ays 2017/02/17
  • サイバーエージェントを退職します - 元RX-7乗りの適当な日々

    私事ですが、タイトルの通り、(株)サイバーエージェント退職します。昨日8/31が最終出社でした。正確に書くと退職日はもう少し先です。 入社日が2010/09/01だったので、ちょうど丸5年が経ちました。在籍中は、社内外の皆様に多くのご協力を頂き、様々なことにチャレンジすることができました。当にありがとうございました。 5年もやっていると、それはもう毎日飽きないくらい良い事も悪い事も色々ありましたが、エンジニアとして技術面、および人間として考え方の幅が大きく広がったと思っていて、良い成長機会を頂けたと思っています。 会社として伸び盛りの重要な大規模サービスやプラットフォームサービスに大きく関われた事、様々な技術的挑戦をさせてもらえた事、その上でそれなりの事業貢献ができた事、そして多くの優秀なメンバーと共に刺激を受けながら仕事ができた事、その全てが素晴らしい経験となりました。 私がやってき

    サイバーエージェントを退職します - 元RX-7乗りの適当な日々
    yag_ays
    yag_ays 2015/09/01
  • pipで管理しているパッケージを一括でアップデートする - 元RX-7乗りの適当な日々

    StackOverflowのウケウリです。これ。 python - Upgrading all packages with pip - Stack Overflow やり方を大きく分けると、以下の2通り。 pip-toolsを使う ワンライナーを書いて実行 個人的には、動作保障的な意味で、全パッケージのバージョンを一括でアップデートすることはそうないのですがwそれぞれ、メモがてらやり方を書いておきます。 pip-toolsを使う (追記有り) まず、pipを使ってサクっとインストールします。 $ sudo pip install pip-tools 2015/11/30 追記 下記の pip-review コマンドは、既に pip-tools から削除された機能となっています。 https://github.com/nvie/pip-tools/issues/185 現在は、そこから派生・

    pipで管理しているパッケージを一括でアップデートする - 元RX-7乗りの適当な日々
    yag_ays
    yag_ays 2013/12/18
  • Linuxサーバがディスク容量不足になった!何か消さねば!ってなった時にどう対処するか - 元RX-7乗りの適当な日々

    とりとめもなく書いてみる。主にルーキー向けです。 サーバの運用とかやっていると、不定期ではあるが、たまにタイトルのようなディスク容量が逼迫する話題に直面します。 まぁ、それが起こるのは一旦良いとして、みんなこういう時、どうやって調べているのだろう? とりあえず、僕がどうやってるか書いてみます。 何はともあれ現状確認 みんな大好き"df"コマンドです。細かい説明は省きますが、各パーティション・ファイルシステムごとにディスクの使用状況を確認。 # df -h Filesystem サイズ 使用 残り 使用% マウント位置 /dev/sda3 130G 88G 36G 72% / /dev/sda1 494M 23M 447M 5% /boot tmpfs 12G 0 12G 0% /dev/shm正確とは言いませんが、だいたいどのパーティションにどのくらい容量が空いているかが確認できます。 ど

    Linuxサーバがディスク容量不足になった!何か消さねば!ってなった時にどう対処するか - 元RX-7乗りの適当な日々
    yag_ays
    yag_ays 2013/07/29
  • 複数のtarファイルを一気に展開する - 元RX-7乗りの適当な日々

    特定のディレクトリ内に存在する複数のtar.gzファイルを一括して解凍・展開したい場合のメモ。 xargsコマンドの"-n"オプションがポイント。(追記あり) $ find ./ -type f -name "*.tar.gz" | xargs -n 1 tar zxftarコマンドは展開(抽出)の際に、同時に複数のファイルを引数に渡せないので、xargsコマンドの"-n"(--max-args)オプションを利用します。このオプションを使うと1コマンドにつき、最大でオプションにて指定した数だけ引数を使うようになります。↑の場合だと1個しか引数が渡らないようになるということです。 $ find ./ -type f -name "*.tar.gz" -print0 | xargs -0 -n 1 tar zxfちなみに厳密にちゃんと書くと↑な感じですかね。 追記 早速、ご指摘いただきました。

    複数のtarファイルを一気に展開する - 元RX-7乗りの適当な日々
    yag_ays
    yag_ays 2013/06/05
  • 噂の高速SSDを積んだAmazon EC2インスタンスのI/Oベンチマークをとってみた - 元RX-7乗りの適当な日々

    先日、Amazon EC2で使える、2TB分のSSDを積んだ新しいインスタンスタイプ(High I/O Instances / High I/O Quadruple Extra Large Instance)が発表されました。 ディスクI/O性能が高速なインスタンスは初登場なので、I/Oがシビアに要求されるデータベース等の利用においては、期待を寄せちゃいますよねー。 http://aws.typepad.com/aws_japan/2012/07/aws%E7%99%BA%E8%A1%A8-new-high-io-ec2-instance-type-hi14xlarge-2-tb-of-ssd-backed-storage.html というわけで、このSSDのディスクI/Oパフォーマンスがどのくらい速いのかを試してみちゃいました。厳密なベンチマークではないですが、参考になれば幸いです。 ・

    噂の高速SSDを積んだAmazon EC2インスタンスのI/Oベンチマークをとってみた - 元RX-7乗りの適当な日々
    yag_ays
    yag_ays 2012/07/27
  • わずか2時間で出来た!無料でDropboxの容量を8GB増やせるチュートリアル - 元RX-7乗りの適当な日々

    先日、Dropboxの追加ボーナスを「Google Adwords」(アドワーズ)の無料お試し券で増やす話を読んで、なるほど!この発想はなかった!と思ったので、実際に自分でもやってみることにしました。 http://matome.naver.jp/odai/2132892778665913601 8GBの追加容量をもらうためには32人に紹介しなければならない 一般人が達成するのは不可能に近い人数ですよね。 http://matome.naver.jp/odai/2132892778665913601 無料お試し券があればタダで広告が出せます もらったまま放置していたアドワーズのお試し券があるなら、使うのは今だ! http://matome.naver.jp/odai/2132892778665913601 つまり、このエントリは実際にやってみて、どうやったのか、どんな感じで増やせたのかを詳

    わずか2時間で出来た!無料でDropboxの容量を8GB増やせるチュートリアル - 元RX-7乗りの適当な日々
    yag_ays
    yag_ays 2012/07/19
  • Amazon EC2でサーバを起動したらアタックされた!ので、運用前にチェック・対策しましょうという話 - 元RX-7乗りの適当な日々

    クラウドを使っていたら、こんなことがありました。(実話) Amazon EC2用の固定IPアドレス(Elastic IP Address)を取得する Amazon EC2でサーバ(インスタンス)を起動する 先ほど取得した固定IPアドレスを、EC2のサーバに割り当てる EC2のサーバでApacheを起動する Apacheのプロセス数がいきなり250個オーバーになる(MaxClientsの値にぶつかる) Apacheのログを見ると、常識を超えた連続HTTPアクセス(DoSアタック)を受けていることが判明 EC2で、別の固定IPアドレスを取得する 取得した別の固定IPアドレスを、(アタックを受けている)EC2のサーバに割り当てなおす 静けさを取り戻す ← imkk いやー、噂には聞いていましたが、何気に初めて遭遇しました。 クラウドサービス(IaaS等)では、別のユーザが以前に利用していたIPア

    Amazon EC2でサーバを起動したらアタックされた!ので、運用前にチェック・対策しましょうという話 - 元RX-7乗りの適当な日々
    yag_ays
    yag_ays 2011/08/11
  • Linuxのサーバをリモートから強制的にOSリブートする - 元RX-7乗りの適当な日々

    先日、諸々の都合で遠隔にあるテスト環境のサーバ(Linux)のカーネルパラメータを弄っていたのですが、ちょっと設定(メモリまわり)がイキすぎてしまいw、コマンド実行というかforkできなくなってしまった(Cannot allocate memory...)。 んで、shutdownコマンドも実行できなくなったので、直そうと思ったのですが、色々弄った&時間がなかったこともあり、一旦OSを再起動しちゃいたいな、と(汗 が、遠隔にあるサーバなので、物理的な電源スイッチON/OFFができない(厳密には出来る環境ではあったのですが、このサーバはそこに入ってなかったw)。ので、SysRqキーを送ることにした。 やり方 少し無理矢理感はありますが、 # echo b > /proc/sysrq-triggerを実行すると、強制的にリブートがかかります。 ただし、ファイルシステムのsyncとかumount

    Linuxのサーバをリモートから強制的にOSリブートする - 元RX-7乗りの適当な日々
    yag_ays
    yag_ays 2011/04/26
  • irbでシンタックスハイライトやキー補完を実現するWirble - 元RX-7乗りの適当な日々

    今更なRubyネタですが、irbでシンタックスハイライトやキー補完を使うには、以下のようにWirbleをgemでインストールすればよい。 $ sudo gem install wirble 次に、"~/.irbrc"を編集して以下を追記します。 require 'rubygems' require 'wirble' Wirble.init Wirble.colorize これだけで、以下のように、irbでのシンタックスハイライトやTabによるキー補完が実現できます。 プロンプトをデフォルトに戻すには Wirbleデフォルトのちょっと味気ないプロンプト(">> ")をデフォルトのものに戻す方法は、コチラで紹介されていました。 "~/.irbrc"の"Wirble.init"の部分を以下のようにオプション指定した形で編集すればOK。 Wirble.init(:skip_prompt => :D

    yag_ays
    yag_ays 2010/11/22
  • 1