LegalOn Technologies Engineering Blog

LegalOn Technologies 開発チームによるブログです。

マルチテナンシーSaaSを支える Elasticsearch Index 設計

こんにちは。株式会社 LegalOn Technologies でエンジニアをしております、勝田(@WinField95)です。この記事は、情報検索・検索技術 Advent Calendar 2022 の 22日目の記事として執筆されました。LegalForce キャビネについて紹介すると共に、社内で運用されている検索システムを作り直したきっかけとなった課題と改善点についてお話します。

続きを読む

外部サービス利用規約の読み方

※ 本稿で紹介している内容はあくまで参考情報です。実際の場面では、自社の法務担当者や弁護士等の専門家に相談ください。

LegalForceの開発本部長(肩書が固いですが、プロダクトマネジャーをやっています)川戸( @kawato_takashi )です。

今回は外部サービスを利用する場合の特にビジネス観点からの留意点を解説します。外部サービスとは、ここでは一般にオープンソースで提供されているライブラリ等ではなく、商用で提供されているサービスを想定しています。OSSの場合にはGNU-GPL, MIT Licenseなど一般的なライセンスを中心に標準化が進んでいるのに対し、商用ソフトウェアの利用規約は会社やサービスごとにスタンスも文言も様々です。

続きを読む

MeCab互換な形態素解析器Vibratoの高速化技法

こんにちは。LegalForce Researchで研究員をしている神田 (@kampersanda) です。

LegalForce Researchでは、MeCab互換の形態素解析器Vibrato(ヴィブラ〰ト)を開発しています。プログラミング言語Rustで実装しており、高速に動作することが主な利点です。Vibratoはオープンソースソフトウェアとして以下のレポジトリで公開しています。

github.com

本記事では、Vibratoの技術仕様を解説します。以下のような方を読者として想定します。

続きを読む

高速な文字列探索:Daachorseの技術解説

こんにちは。LegalForce Researchで研究員をしている神田 (@kampersanda) です。

LegalForce Researchでは現在、高速なパターンマッチングマシン Daachorse(ダークホース)を開発・運用しています。文字列処理の基礎である複数パターン検索を提供するRust製ライブラリです。以下のレポジトリで公開されています。

github.com

本記事はDaachorseの技術仕様を解説します。具体的には、

  • 複数パターン検索に関係する基礎技術(トライ木・Aho–Corasick法・ダブル配列)
  • Daachorseの実装の工夫と性能

を解説します。

以下のような方を読者として想定します。

続きを読む

サービス無停止でElasticsearchのReindexを行うノウハウ

こんにちは。LegalForce でエンジニアをしております、勝田(@WinField95)です。

この記事は、情報検索・検索技術 Advent Calendar 2021 の 21日目の記事として執筆されました。LegalForce と LegalForce キャビネについて紹介すると共に、Reindex の実施に伴い生じた課題と具体的な対応について社内で実践している内容をお話します。

続きを読む

速度の高みを目指す:高速な単語分割器 Vaporetto の技術解説

こんにちは。LegalForce Research でエンジニアをしている赤部 (@vbkaisetsu) です。

今回は、弊チームが開発した新しい高速な単語分割器 Vaporetto(ヴァポレット)の技術解説を行います。Vaporetto はプログラミング言語 Rust で開発されています。想定する読者は、

です。

単語分割器 Vaporetto はオープンソースソフトウェアであり、ソースコードは以下のリポジトリで公開しています。

https://github.com/legalforce-research/vaporetto

続きを読む

新製品を作り、育て続けるための組織デザイン

こんにちは。LegalForce COO 川戸(@kawato_takashi)です。

今回は、LegalForceの開発組織での直近の組織変更について、その意図と背景をお伝えします。読者としては下記の二通りを想定しています。

  • 弊社をご検討いただいている候補者に正しい最新の情報をご共有すること。
  • 複数製品を開発・運営する上での組織課題に関心があるエンジニアリングマネジャーやプロダクトマネジャーに、弊社の経験をご共有すること。

LegalForceでは、タイトルにもある通り、「新製品を作り、育て続ける」ということを開発における大きい課題と捉えています。売り上げの大きい既存製品を優先する力学は、組織の様々なレベルで働きます。組織は放っておけば新規のアイデアを押しつぶしてしまうのです。この罠を避け、新製品の開発・成長や探索にしっかり投資をするには、それができるように組織を設計する必要があります。本稿では製品別組織、カンパニーベット、VPoEの設置、イノベーション推進グループの設置といった各施策が、どのようにこの目的に貢献するのかを説明します。

続きを読む