仕事ではじめるOSS2021/08/18 #osscontributelt Yoshiki Iida業務駆動OSS開発
View Slide
Yoshiki Iida (@ysk_118)エンジニアに始まり、スクラムマスター、プロダクトオーナー、マネージャー、執行役員を経験し、現場のチームビルディングから部署を超えた会社全体の改善など、アジャイルな組織づくりの推進を行ってきました。現在は株式会社ログラスにてソフトウェアエンジニアとしてプロダクト開発に携わっています。書籍「Scrum Boot Camp The Book 増補改訂版」コラムニスト。一般社団法人アジャイルチームを支える会 理事。$ whoami
ログラスについて は、事業進捗を可視化することで柔軟で高精度な経営推進を実現するプランニング・クラウドサービスです。
ログラスについて
● Metabaseの紹介● 学びやポイントなどTopic
ログラスとMetabase● 経営ダッシュボード機能でMetabaseをEmbedして利用● お客様でBIツールを用意していなくても、財務データの可視化をログラス上で行える
Metabaseとは● OSSのBIツール○ Cloud版とセルフホスティング版がある○ エンタープライズ版はOSSに加えて認証や埋め込みなどのカスタマイズが可能になる● Clojure, React● Metabase, Inc.が開発
Metabaseとは● https://github.com/metabase/metabase/● 多言語展開していることもあるからなのかIssueがとても多い● 開発は活発でリリースも多い
● ダッシュボードの絞り込みUIで複数選択すると表示がおかしくなるバグ○ 具体的にはプレースホルダが正常に処理されない● 使えなくないが、埋め込みでお客様に提供していてかなり目立つところなので修正したかった今回修正したバグ
Metabaseの多言語対応● POEditorで翻訳プロジェクトを管理している○ https://poeditor.com/join/project/ynjQmwSsGh● poファイルからフロント、サーバーサイドそれぞれの翻訳JSONを生成し読み込んでいる● フロントはttagというライブラリを使っている
● 今回のような複数選択できるUIだと、一つ選択しているときは1selection、二つ以上選択しているときは2 selectionsとなる● 日本語では一つの場合も二つ以上の場合も「n個の選択」なのでpoファイルからJSONに変換する際に言語間の違いを考慮する必要がある言語間の複数形の取扱の違い※Pluralのほうが複数形のプレースホルダ
● 当初は翻訳プロジェクト側だけ修正すれば直ると思っていたがそれだけでは直らなかったJSON生成ロジックの修正↓
● 複数形の文字列に関してもプレースホルダがあれば変換処理が行われるように修正JSON生成ロジックの修正
● 複数言語で検証して修正を確認!JSON生成ロジックの修正
● poファイルからJSONを生成するロジックを追うのが難しかった○ Shell ScriptからClojure Scriptを実行していてjsonファイルを生成しているコードをgrepして追っていった難しかったポイント
● 開発環境構築はDeveloper Guideが整備されており特段つまづくことはなかった○ https://www.metabase.com/docs/latest/developers-guide.html● 関連Issueが多く一気に倒せた(逆に言えば結構放置されていた😇)よかったポイント
● 大きいプロダクトの多言語対応の仕組みを学べた● 大きいプロダクトなので追いついていないIssueも多くあり、貢献感を感じられる機会が結構ありそうということがわかった● 泥臭いコードもあり自信をもらえる● 業務上の必要性が高いところにOSSを利用しているとコントリビュートのモチベーションは高めやすい○ 属人性などのリスクはさておき、一エンジニアの機会創出としてはよい学びとまとめ
https://job.loglass.jp/We are hiring