Upgrade to Pro — share decks privately, control downloads, hide ads and more …

業務で使用したOSSにプルリクを投げてみた話

hiro
December 01, 2021

 業務で使用したOSSにプルリクを投げてみた話

hiro

December 01, 2021
Tweet

Other Decks in Programming

Transcript

  1. 業務で使用したOSSにプルリクを投げてみた話

    View Slide

  2. 突然ですが、皆さんOSSって何か知ってますか?

    View Slide

  3. OSSとは
    OSS(オープンソースソフトウェア)
    オープンソースソフトウェア(英: Open Source Software、略称: OSS)とは、利用者
    の目的を問わずソースコードを使用、調査、再利用、修正、拡張、再配布が可能なソフ
    トウェアの総称である
    引用元
    https://ja.wikipedia.org/wiki/オープンソースソフトウェア

    View Slide

  4. つまりタダで使える&改造できる&再配布できるソフトウ
    ェアのことです!

    細かい決まりはライセンスによりますが今回はそこには触れないです

    View Slide

  5. ある日の出来事
    「ログのUAを解析して、ブラウザ仕様割合を見たい」

    View Slide

  6. 考えた調査方法
    アクセスログの中のUA(ユーザーエージェント)を見ればブラウザが特定できそう
    こんなやつ→User-Agent: Mozilla/5.0 ()
    ()
    アクセスログをCSVでダウンロードしてRubyでUAを解析すれば自動化できそう!

    View Slide

  7. 課題
    UAからブラウザ名を特定しなければならない
    Rubyで作るのでできればGemが欲しい(Rubyで使えるの便利ツール的なの)

    View Slide

  8. そんなこんなでGemを見つけました

    View Slide

  9. View Slide

  10. browser
    https://github.com/fnando/browser
    UA(ユーザーエージェント)をブラウザ名に変換してくれるGem(Rubyの便利機能的
    なやつ)
    トラッキングサーバーへのアクセスログを解析してブラウザの使用割合を計測するため
    に使用
    バンクーバーに住んでるNando Vieiraさんが作った(https://github.com/fnando)

    View Slide

  11. 一旦これで解決...だが
    UAでの解析に対応していないブラウザがある
    対応していないブラウザのUAは全て「Unknown」で出力されてしまう

    View Slide

  12. よし、プルリクを送ってみよう!

    View Slide

  13. どんなプルリクを送ったのか
    yahooブラウザのUAを追加しました

    View Slide

  14. 機能を追加した箇所
    UA文字列の中にYJAppがあればyahooブラウザだよ〜!

    View Slide

  15. マージされました?
    されてません!!
    そもそも定期的に更新されてるGemでは無さそう
    yahooブラウザがマイナー過ぎて無視されてるかも

    View Slide

  16. 今回学んだこと
    OSSは無料で使えるし、便利だけどその裏で有志による開発が行われている
    使う時は開発者へのリスペクトを忘れない!
    OSSのコードを読むことで勉強になる

    View Slide

  17. バレットグループ
    人とテクノロジーで世界をつなぐ
    テクノロジーの部分でいっぱい使われてるのがOSS
    SLVRbulletだけでも色々なOSSが使われてる
    こんな便利なものあるのか〜
    こんな便利なものを誰かが作ってくれてる

    View Slide

  18. ただOSSを使うだけじゃ無くて発展に貢献するのもプログ
    ラマーとして大事だなと思いました!

    View Slide

  19. 終わり

    View Slide

  20. View Slide