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