タグ

ブックマーク / www.clear-code.com (10)

  • WindowsでGroongaのメモリ使用量を記録する方法 - 2022-03-01 - ククログ

    Groongaという全文検索エンジンの開発に参加している橋田です。 Groongaではよくメモリ使用量を測定します。 筆者がWindowsで測定することが多いため、今回はWindowsでおすすめのGroongaのパフォーマンスログの記録方法と設定内容について紹介します。 パフォーマンス モニター(GUI)を使用した方法と、typeperfコマンド(CUI)を使用した方法の2つを紹介します。 メモリ使用量を測定する目的 Groongaでは、メモリを大量に使用するためメモリ枯渇が発生することがあります。 また、開発中の機能でメモリリークが発生することがあります。 このような問題が発生した際に、メモリ使用量に関するパフォーマンスログとGroongaのログを突き合わせて、原因調査をすることができます。 メモリ使用量が増えた時に実行していたクエリーは何で、どのようにメモリが増えたのかなどを調査するこ

    WindowsでGroongaのメモリ使用量を記録する方法 - 2022-03-01 - ククログ
    yyamano
    yyamano 2023/02/22
  • ノータブルコード5 - Lispとシェルスクリプトのキマイラ - 2020-03-10 - ククログ

    今回紹介するコードは、エディンバラ大学が開発した音声合成ライブラリFestivalからのコードです。このライブラリには、テキストファイルを音声に変換する「text2wave」という実行ファイルが付属しています。このファイルの冒頭部分を引用すると次のようになっています。 #!/bin/sh "true" ; exec /bin/festival --script $0 $* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-*-mode:scheme-*- ;; ;; ;; Centre for Speech Technology Research ;; ;; University of Edinburgh, UK ;; ;; Copyright (c) 1996,1997 ;; ;; All Rights Reserved

    ノータブルコード5 - Lispとシェルスクリプトのキマイラ - 2020-03-10 - ククログ
    yyamano
    yyamano 2020/03/16
  • 公開中のソフトウェアがWindows Defenderでマルウェアとして判定された場合の対応 - 2019-03-18 - ククログ

    当社ではIE View WEというアドオンを開発・公開しています。これはFirefox上で閲覧中のページやマッチングパターンに当てはまるURLのページをIEもしくは任意の外部アプリケーションで開くという物で、Firefox法人サポートでの需要を想定して、既存のアドオン「IE View」の仕様を参考にFirefox 57以降で使用できる形(WebExtensionsベース)でスクラッチで開発したという物です。 WebExtensionsではアドオンが直接任意の外部アプリケーションを起動する事はできず、Native Messaging Hostと呼ばれるヘルパープログラムを介する必要があります。Native Messaging Hostは任意の言語で実装することができますが、IE View WEのNative Messaging Hostの場合はGoで開発しており、一般のユーザのためにコンパイ

    公開中のソフトウェアがWindows Defenderでマルウェアとして判定された場合の対応 - 2019-03-18 - ククログ
    yyamano
    yyamano 2019/05/23
  • Ruby用単体テストフレームワークtest-unitでのデータ駆動テストの紹介 - 2013-01-23 - ククログ

    test-unitRuby用のxUnit系の単体テストフレームワークです。2.3.1からデータ駆動テスト機能が追加されていたのですが、2.5.3まではリファレンスに記述がなく、知る人ぞ知る機能でした。 2013-01-23にリリースされた2.5.4ではデータ駆動テスト機能についてのドキュメントが追加されています。 データ駆動テスト自体の説明はUxUを用いたデータ駆動テストの記述を参照してください。 Cucumberのscenario outlinesに似ていると言えばピンと来る人もいるのではないでしょうか。 Cucumberのscenario outlinesも前述のククログ記事の通り、テストのデータとロジックを分離しているのでデータ駆動テストの一種と言えます。 今回は、データ駆動テストを導入した例を見ながらtest-unitでのデータ駆動テスト機能の使い方を紹介します。なお、以降の説明

    Ruby用単体テストフレームワークtest-unitでのデータ駆動テストの紹介 - 2013-01-23 - ククログ
    yyamano
    yyamano 2017/01/23
    データ駆動型テストっていうのか。知らなかった。
  • mrubyのVMのデバッグ方法 - 2015-02-17 - ククログ

    全文検索エンジンのGroongaでmrubyを使っているのですが、たまにCRubyと異なる挙動に遭遇することがあります。このようなときはmrubyに問題があります。特定のメソッドの挙動がおかしいときはmrubyのライブラリーの実装に問題があります。構文の使い方で挙動がおかしいときはmrubyのVMに問題があります。 mrubyの問題に遭遇するときは、なぜかmrubyのVMに問題があるケースばかり1なのですが、久しぶりにmrubyのVMにある問題を直そうとしたらデバッグの仕方を忘れていました。忘れても後から思い出せるようにメモしておきます。 詳細は後述しますが、基的な流れは次の通りです。 問題を再現するスクリプトを作る。 mrubyをデバッグビルドする。 mrbc -vでスクリプトの構文木(?)を確認する。 GDB上でmruby XXX.rbを走らる。 src/vm.cの中で問題のラベルが

    mrubyのVMのデバッグ方法 - 2015-02-17 - ククログ
  • Debianの移植作業用のインフラを借りるには - 2016-02-24 - ククログ

    はじめに Debianプロジェクトでは、移植作業用のインフラが各アーキテクチャごとに用意されています。 それらのインフラはDebian開発者向けに提供されているものですが、開発者だけに限定されているわけではありません。 今回は、移植作業用のインフラをDebian開発者でない人が借りる方法について紹介します。 porterboxとは 移植作業用のインフラのことをporterboxと呼んでいます。それらはdebian.org配下のドメインで提供されています。 どんなものが提供されているかはdebian.org Developer Machinesから一覧できます。 移植作業用に使われるのは、この一覧のうちpurpose欄がporterboxとなっているものです。 しかし、多種多様な目的のマシンが混在しているのでややわかりづらいです。 そこで便利なのがporterboxコマンドです。 これはPy

    Debianの移植作業用のインフラを借りるには - 2016-02-24 - ククログ
    yyamano
    yyamano 2016/03/01
  • Ruby on RailsでMySQLとMroongaを使って日本語全文検索を実現する方法 - 2015-11-10 - ククログ

    MySQLは先日リリースされたMySQL 5.7から標準機能で日語のテキストを全文検索できるようになりました。逆に言うと、現在広く使われているMySQL 5.6以前では日語のテキストを全文検索できません。MySQLにMroonga(むるんが)というストレージエンジンを導入することで日語のテキストを全文検索できるようになります。しかもMroongaは高速です。MySQL 5.7で導入された日語全文検索機能よりも高速です。 MySQLと全文検索エンジンサーバーを組み合わせて日語全文検索を実現することもできますが、管理するサーバーが増える・SQL以外に全文検索エンジンサーバーのことを覚える必要があるなど開発・運用時のコストが高くなります。MySQLだけで完結できた方が開発時も運用時も楽になります。 この記事ではRuby on Railsで作ったアプリケーションからMroongaを使って

    Ruby on RailsでMySQLとMroongaを使って日本語全文検索を実現する方法 - 2015-11-10 - ククログ
    yyamano
    yyamano 2015/11/16
    “MySQL 5.7から標準機能で日本語のテキストを全文検索できるようになりました。逆に言うと、現在広く使われているMySQL 5.6以前では日本語のテキストを全文検索できません。MySQLにMroonga(むるんが)というストレージエンジ
  • Effective Ruby - 2015-02-04 - ククログ

    2015年1月に翔泳社から「Effective Ruby」という中級者・上級者向けのRubyが出版されました。 https://amazon.co.jp/dp/9784798139821 内容 とても主張が強いです。そのため、何でも真に受ける人にはオススメできません。(初級者とか。)他の人の主張を聞いて、自分で咀嚼してよい悪いを判断できるようになってから読むべきです。 「項目5 実行時の警告に注意しよう」で警告を有効にしようと書いているなど、よいことを書いているところはあるのですが、ここでは、著者の主張が気に入らなかったところを紹介します。よいところは自分で読んで確認してください。 「項目2 オブジェクトを扱うときにはnilかもしれないことを忘れないようにしよう」で、「適切なら」と断りをいれていますが、to_sやto_iなどでnilを強制的に型変換しようと書いていることが気に入りませ

    Effective Ruby - 2015-02-04 - ククログ
    yyamano
    yyamano 2015/02/05
  • Rubyのテスティングフレームワークの歴史(2014年版) - 2014-11-06 - ククログ

    2014年12月にRuby 2.2がリリースされる予定です1。 Ruby 2.2にはRuby 1.9.1のときに外されたtest-unitというテスティングフレームワークが再びバンドルされる予定です。Rubyのテスティングフレームワーク周りに詳しくない人にはよくわからない状況でしょう。そこで、Rubyのテスティングフレームワークの歴史を説明することで状況を整理します。 名称の整理 この説明の中ではたくさんのテスティングフレームワークが登場します。似たようなものもあるため、最初にテスティングフレームワークの名称を整理します。この説明の中で登場する名称は次の通りです。 RubyUnit Lapidary rubyunit Test::Unit test/unit test-unit miniunit minitest RSpec 違いがわかりますか?ざっくり説明すると次の通りです。 RubyU

    Rubyのテスティングフレームワークの歴史(2014年版) - 2014-11-06 - ククログ
  • groongaで高速な位置情報検索 - 2011-09-13 - ククログ

    groongaのドキュメントにも位置情報検索について書かれているのですが、情報の更新が追いついていないため情報が不足しています。そこで、ここに現状に合わせたgroongaの位置情報検索についての情報をまとめておきます。なお、ここにまとめた内容もドキュメントに反映させる予定です。 できること groongaには位置情報を用いた検索機能がついています。位置情報を用いた検索では索引を利用するため、全文検索と同じように高速に検索することができます。ただし、PostGISやMySQLのように1線や面などもデータとして保持できるというわけではなく、点のみをデータとして保持できます。よって、groongaにできることは以下の通りです。 指定した四角の中に含まれている座標を持つレコードを検索する。 指定した円の中に含まれている座標を持つレコードを検索する。 座標間の距離を計算する。 ある座標からの距離が近

    groongaで高速な位置情報検索 - 2011-09-13 - ククログ
  • 1