Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
業務駆動OSS開発 / Job Driven OSS Development
Search
Yoshiki Iida
August 18, 2021
Programming
1
690
業務駆動OSS開発 / Job Driven OSS Development
Yoshiki Iida
August 18, 2021
Tweet
Share
More Decks by Yoshiki Iida
See All by Yoshiki Iida
QA経験のないエンジニアリング マネージャーがQAのカジュアル面談に出て 苦労していること・気づいたこと / scrum fest niigata 2024
yoshikiiida
2
490
ログラスにおけるコード品質でビジネスに貢献する仕組み・カルチャー / A system and culture that contributes to business through code quality in Loglass
yoshikiiida
11
1.8k
エンジニア採用責任者と人事の邂逅 / Engineer hiring manager meet HR
yoshikiiida
1
430
EMのスケールとマネジメントがチームになるということ / Team Building And Scaling Engineering Managers
yoshikiiida
5
2.5k
チームビルディングの始め方 / How to start team building
yoshikiiida
0
74
エンジニア採用責任者のしごと / Job of engineer hiring manager
yoshikiiida
3
3.3k
エンジニアリングマネージャー業の抽象度マッピング / Abstraction mapping of engineering manager's job
yoshikiiida
13
15k
スタートアップ1人目EMになって 最初にやったこと / The first step of EM
yoshikiiida
3
2k
強くてニューゲームなプロダクト開発 / Product development in new game plus
yoshikiiida
12
16k
Other Decks in Programming
See All in Programming
Try creating your own orderedmap
kazamori
1
280
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
10
840
2 週間で Twitter Bot を作ってみた
contour_gara
0
830
Effectで作る堅牢でスケーラブルなAPIゲートウェイ / Robust and Scalable API Gateway Built on Effect
yasaichi
7
1.1k
Direct Style Effect Systems The Print[A] ExampleA Comprehension Aid
philipschwarz
PRO
0
390
ペパボOpenTelemetry革命
pyama86
2
210
AppRouter Panel Talk
yosuke_furukawa
PRO
1
520
Escolhendo (ou não) o melhor ORM para o seu projeto
andreiacsilva
1
110
TypeScriptコードの漸進的改善 / Progressive Improvement of TypeScript Code
medley
1
370
Going beyond Apache Parquet's default settings
xhochy
0
150
Domain-Driven Transformation
hschwentner
2
1.5k
仕様と実装で学ぶOpenTelemetry
drumato
2
180
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
What's new in Ruby 2.0
geeforr
338
31k
Building Effective Engineering Teams - LeadDev
addyosmani
33
1.9k
It's Worth the Effort
3n
180
27k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
117
18k
Documentation Writing (for coders)
carmenintech
60
4k
Building Applications with DynamoDB
mza
88
5.7k
Mobile First: as difficult as doing things right
swwweet
217
8.6k
How to Ace a Technical Interview
jacobian
273
22k
Designing on Purpose - Digital PM Summit 2013
jponch
111
6.5k
The Invisible Side of Design
smashingmag
294
49k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
Transcript
仕事ではじめるOSS 2021/08/18 #osscontributelt Yoshiki Iida 業務駆動OSS開発
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だと、一つ選択しているときは1 selection、二つ以上選択しているときは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