Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
業務で使用したOSSにプルリクを投げてみた話
Search
hiro
December 01, 2021
Programming
1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
業務で使用したOSSにプルリクを投げてみた話
hiro
December 01, 2021
Transcript
20 slides
業務で使用したOSSにプルリクを投げてみた話
突然ですが、皆さんOSSって何か知ってますか?
OSSとは OSS(オープンソースソフトウェア) オープンソースソフトウェア(英: Open Source Software、略称: OSS)とは、利用者 の目的を問わずソースコードを使用、調査、再利用、修正、拡張、再配布が可能なソフ トウェアの総称である 引用元
https://ja.wikipedia.org/wiki/オープンソースソフトウェア
つまりタダで使える&改造できる&再配布できるソフトウ ェアのことです! ※ 細かい決まりはライセンスによりますが今回はそこには触れないです
ある日の出来事 「ログのUAを解析して、ブラウザ仕様割合を見たい」
考えた調査方法 アクセスログの中のUA(ユーザーエージェント)を見ればブラウザが特定できそう こんなやつ→User-Agent: Mozilla/5.0 (<system-information>) <platform> (<platform-details>) <extensions> アクセスログをCSVでダウンロードしてRubyでUAを解析すれば自動化できそう!
課題 UAからブラウザ名を特定しなければならない Rubyで作るのでできればGemが欲しい(Rubyで使えるの便利ツール的なの)
そんなこんなでGemを見つけました
None
browser https://github.com/fnando/browser UA(ユーザーエージェント)をブラウザ名に変換してくれるGem(Rubyの便利機能的 なやつ) トラッキングサーバーへのアクセスログを解析してブラウザの使用割合を計測するため に使用 バンクーバーに住んでるNando Vieiraさんが作った(https://github.com/fnando)
一旦これで解決...だが UAでの解析に対応していないブラウザがある 対応していないブラウザのUAは全て「Unknown」で出力されてしまう
よし、プルリクを送ってみよう!
どんなプルリクを送ったのか yahooブラウザのUAを追加しました
機能を追加した箇所 UA文字列の中にYJAppがあればyahooブラウザだよ〜!
マージされました? されてません!! そもそも定期的に更新されてるGemでは無さそう yahooブラウザがマイナー過ぎて無視されてるかも
今回学んだこと OSSは無料で使えるし、便利だけどその裏で有志による開発が行われている 使う時は開発者へのリスペクトを忘れない! OSSのコードを読むことで勉強になる
バレットグループ 人とテクノロジーで世界をつなぐ テクノロジーの部分でいっぱい使われてるのがOSS SLVRbulletだけでも色々なOSSが使われてる こんな便利なものあるのか〜 こんな便利なものを誰かが作ってくれてる
ただOSSを使うだけじゃ無くて発展に貢献するのもプログ ラマーとして大事だなと思いました!
終わり
None
Other Decks in Programming
See All in Programming
React Native에 현대적인 빌드 도구 더하기: Rollipop 구현기
leegeunhyeok
0
180
Performance Optimization With LLMs
xleitix
0
250
Getting Started with Vibe Coding
miccheng
0
210
Event is what happens
moro
2
4.5k
AmebaブログはKMPから卒業します
kmars0605
0
350
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
230
AI-Powered Domain-Driven Design
ziobrando
0
430
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
2k
はじめてのPLATEAU
nokonoko1203
1
640
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
650
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
380
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
310
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Test your architecture with Archunit
thirion
2
2.5k
Making Projects Easy
brettharned
120
6.9k
Designing Powerful Visuals for Engaging Learning
tmiket
1
650
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Tell your own story through comics
letsgokoyo
1
1.1k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
440
Designing for Timeless Needs
cassininazir
1
560
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
3k
Darren the Foodie - Storyboard
khoart
PRO
5
4.1k
Into the Great Unknown - MozCon
thekraken
41
2.8k