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
TechBowlのPRレビューで指摘されたこと
Search
shy
December 04, 2024
270
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TechBowlのPRレビューで指摘されたこと
https://techtrain.connpass.com/event/330882/
shy
December 04, 2024
Featured
See All Featured
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
570
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
590
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
500
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
580
How to build a perfect <img>
jonoalderson
1
6.1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
530
Transcript
TechBowlのPRレビューで 指摘されたこと
橋本 創平 / そうちゃん / shy 23年卒の新卒2年目。TechBowlには 2021年よりエンジニアインターンとして join。 2023年3月に就職のため退職、同年8
月より副業として再join。 現在、本業では認証認可基盤周辺 サービスの設計・開発に従事。 素人PHPer。
色々な実装をしたけど、、 この時はなんとなく理解で進め ていましたが、 振り返る目的も持ちつつ、深 掘ってみる (最近MBTIがENFP→ENTPにな りました) 私が 対応したPR
自分が対応した PR を振り返ってみた
date()ではなく、 Carbonを使いたみ PHPの組み込み関数 date() で はなく、 Laravelで広く使われている Carbon ライブラリを使用して欲 しいというレビュー
(現在TechBowlバックエンドチームでは CarbonImmutableを使用)
そもそもCarbonってなんで作られたの CarbonはPHPの標準的な日付 ・時刻操作をより直感的かつ 強力に行うために開発された ライブラリ 昔のPHPは日付や時刻操作が 色々と大変だったらしい https://carbon.nesbot.com/
そもそもCarbonってなんで作られたの CarbonはPHPの標準的な日付 ・時刻操作をより直感的かつ 強力に行うために開発された ライブラリ 昔のPHPは日付や時刻操作が 色々と大変だったらしい https://carbon.nesbot.com/ もうちょっと深掘ってみる
Carbonの実装を見てみる https://github.com/briannesbitt/Carbon 多言語対応 に近い実装
Carbonのマクロ機能を見てみる https://github.com/briannesbitt/Carbon ①macroとして内部で保持される ②macroの登録有無で処理の出しわけ
マクロ機能ってよくあるやつ? https://laravel.com/api/master/Illuminate/Support/Traits/Macroable.html Laravelにも Illuminate\Support\Traits\Macroable というものがあった 柔軟性、拡張性が上がるものの自由 すぎてプロジェクトで採用したら困り そう OSS開発の時には視野に入れると良 さそう
他のレビューも見てみる
declare(strict_mode=1); を入れる PHP7で導入された記述で、 今まで関数やメソッドの引数および 戻り値の型に対して暗黙的に型変 換が行われていたものを strict_mode=1で指定すると厳密に チェックするようになるもの
どこで厳密にチェックされているんだろ? PHPのソースコードを読んでみる! ・・・が、PHPはC言語で実装されてい るためなんとなくで、、 php-srcを読んでみよう
どこで厳密にチェックされているんだろ? 型チェック 引数や型の 情報を保持 暗黙的な 型変換 https://github.com/php/php-src
https://github.com/php/php-src 型変換の流れも考えてみる 配列のkeyで指定された1が ”1”に変換される
事業の状況などを見つつ深ぼるのも必要そう!