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
開発生産性は上がらない - N Ways to Reduce Development Prod...
Search
uzulla
October 19, 2023
Technology
1
260
開発生産性は上がらない - N Ways to Reduce Development Productivity
2023/10/19
uzulla
uzulla
October 19, 2023
Tweet
Share
More Decks by uzulla
See All by uzulla
似たもの同士のPerlとPHP
uzulla
1
170
More Context, Better Code. 既存コードやOAS等をコンテキストとしてLLMに与える事で、よりよいコード生成を行う話
uzulla
1
130
あなたのアプリ、ログはでてますか?あるいはログをだしてますか? (Funabashi.dev用 軽量版)
uzulla
3
210
セッションのトークセッション / Traps for PHP session features in growing web apps
uzulla
2
140
Crafting a Own PHP - ウキウキ手作りミニマリストPHP
uzulla
5
2.2k
例外を投げるのをやめてみないか? あるいは受け入れてみないか? - How to use exceptions other than throwing
uzulla
4
1k
PHPerが ISUCONでやるべき事
uzulla
1
1.1k
test is not a job
uzulla
1
510
あなたのPHPアプリ、ログはでてますか?あるいはログをだしてますか? / Are you writing a log? Or just out a log?
uzulla
17
7.9k
Other Decks in Technology
See All in Technology
生成AIの利活用を加速させるための取り組み「prAIrie-dog」/ Shibuya_AI_1
visional_engineering_and_design
1
140
Datadog APM におけるトレース収集の流れ及び Retention Filters のはなし / datadog-apm-trace-retention-filters
k6s4i53rx
0
310
第13回 Data-Centric AI勉強会, 画像認識におけるData-centric AI
ksaito_osx
0
350
Platform Engineeringは自由のめまい
nwiizo
3
1.8k
自動テストの世界に、この5年間で起きたこと
autifyhq
7
6.4k
20250208_OpenAIDeepResearchがやばいという話
doradora09
PRO
0
170
関東Kaggler会LT: 人狼コンペとLLM量子化について
nejumi
3
400
『衛星データ利用の方々にとって近いようで触れる機会のなさそうな小話 ~ 衛星搭載ソフトウェアと衛星運用ソフトウェア (実物) を動かしながらわいわいする編 ~』 @日本衛星データコミニティ勉強会
meltingrabbit
0
110
事業継続を支える自動テストの考え方
tsuemura
0
280
[2025-02-07]生成AIで変える問い合わせの未来 〜チームグローバル化の香りを添えて〜
tosite
1
280
AWSでRAGを実現する上で感じた3つの大事なこと
ymae
3
990
APIファーストで実現する運用性の高い IoT プラットフォーム: SORACOMのアプローチ
soracom
PRO
0
240
Featured
See All Featured
Designing for humans not robots
tammielis
250
25k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
Typedesign – Prime Four
hannesfritz
40
2.5k
Faster Mobile Websites
deanohume
306
31k
Producing Creativity
orderedlist
PRO
343
39k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
620
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Building Your Own Lightsaber
phodgson
104
6.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Transcript
։ൃੜ࢈ੑ্͕Βͳ͍ — uzulla(͏ͣΒ) — Linkage(ۀ ҕୗ) — LinkageͰϊϕϧςΟ࡞ͳͲΛ୲͍ͯ͠ ·͢
— ϊϕϧςΟ࡞ͷ͓ࣄ͓͍ͪͯ͠·͢ — ͳΜͱʂPHPͱ͔ΣϒΤϯδχΞͷ͓ࣄ Ͱ͖·͢ʂ — ͞ΒʹʂPHPҎ֎ݴΘΕΕ࣮Ͱ͖· ͢ʂ
ॴḨLTͳͷͰ — օ͞Μਅʹड͚ͳ͍Ͱ͍ͩ͘͞ — ࢲԿेΨΠνϡʔɾΪϣʔλΫ(ͭ·ΓϑϦʔϥϯε)ͳͷͰɺಛఆ࣌ ɺձࣾͷͰ͋Γ·ͤΜ — Ͳ͜ͷ͜ͱ͔Ḩࡧ͢Δͱ͔ΊΑ͏(ਅإ) — ࢲʮੜ࢈ੑ্͕͕ΔͲ͏ͤͨ͘͞Μ͞Εͦ͏ʯ
ʮੜ࢈ੑ͕Լ͕ͬͨࣄͰͦ͏ʯ — Ͳ͏ͤࢲωλͰ͋Δ
ෆ׳Ε — ݪҼ: Slack͕େنΞϓσ — ݁Ռ: ීஈͷ׳Εɺମ͕ઌʹಈ͘ͷ่͕յ — ͩΜͩΜͱ׳Ε͍ͯ͘ͱͲ͍͕ͬͯ͘ɺ׳ख़͕͕͞Δͱੜ࢈ੑ͕Լ͕Δ —
ҰܾΊͨ͜ͱΛ͜Ζ͜Ζͱม͑Δͱ͓͡͞ΜͭΒ͍ — 1ʙ2ׂͷਓͦΕΛָ͠ΜͰ͍͚Δͷ͕ͩɺָ͍͠ͷ͍͍ͱͯ͠ɺੜ࢈ੑ Լ͕Δ
όʔϯΞτ — ݪҼ: ظؒɺΊͬͪΌࣄͯ͠ΊͬͪΌόϦϡʔͩͨ͠ — ݁Ռ: ؤுΓΛ͑ͨΒɺௐࢠ͕མͪͬͺͳ͠ʹͳͬͨ — ͍ܰ͏ͭͱ͔ͰΑ͋͘Δ͕ɺ ΊͬͪΌؤுΓ͗ͯ͢ٳΉͱɺٳΈ͔Βൈ͚ग़͠ʹ͘͘ͳΔ
— ΊͬͪΌؤுͬͨޙʹɺΊͬͪΌٳΉͱࣾձ෮ؼ͕େม͗͢Δ — Ώͬ͘ΓԼ͛Δɾ͢ ͍͖ͳΓΊͬͪΌٳΜͰΞϝϦΧͱ͔ʹߦ͔ͳ͍
εʔύʔΰʔϧΩʔύʔ — ݪҼ: ༷͕શ෦Ωϟον͞Εɺʮݕ౼͠·͢ʯ࣋ͪؼΓɺ ͔͠͠εέδϡʔϧ͋Δ — ݁Ռ: ແବͳֻ͕૿͑ΔɺϞνϕ্͕͕Βͳ͍ɺෆ҆ʹͳΔ — ͔ͨ͠ͳ͍ࣄ͋ΔͷͰ͔ͨ͠ͳ͍ͷ͕ͩɺ
ͦΕ͕શମڞ༗Ͱ͖ͯͳ͍ͱ͘͢͝ؾ͕Լ͕Δ — ओʹʮෆ҆ʯ(ධՁͩͬͨΓͳΜͩͬͨΓ)͕ͳͷͰɺ ͦΕΛݮΒ͢ํࡦΛΩνϯͱऔΔඞཁ͕͋Δ
୯ํखॱ૿Ճප — ݪҼ: োͱ͔ɺ͓͜ΒΕͱ͔ — ݁Ռ: खॱ͕૿͑Δ͕ɺཧ༝ͳ͘ݮΒͤͳ͍ — ͠Εͬͱ߹ཧతʹݮΒ͢ਓ͕ඞཁ —
༨Γॻ͘ͱ͓͜ΒΕΔ
E2Eૄ௨ෆྑ — ݪҼ: ͋Δूஂͱूஂʹ͓͍ͯަব͠ͳ͕Β͢͢Ίͳ͚ΕͳΒͳ͍ͱ͖ɺ ͯ͢ͷ௨৴͕૭ޱmtgܦ༝ʹͳͬͯRTT͕ܹʹྼԽ — ݁Ռ: ͍͋ͯ͠·͏࣌ؒʹ΄͔ͷ͜ͱΛΔͷͰɺ͞Βʹ͕ग़ͳ͍ — ͱͬͱͱE2EͰ͠߹͑Δ͕Ͱ͖ΔͱҰؾʹਐΉ͜ͱ͕ଟ͍ɺ
͕ɺੈͷத؆୯ʹͦ͏ͳΒͳ͍ — ఔදΛ͏·͘Ҿ͖ͤΔϓϩ(≒૬खΛ٧ΊΒΕΔϓϩ)͕͍Δͱ େվળ͍͢͠ — mtgͳͲͷલʹʮܾΊΔ͚ͩʯ·Ͱ͍࣋ͬͯ͘ॴʹ࿑ྗΛͬͯΈΔ mtgͷਓΛݮΒ͠ɺʮ͑Δ͚ͩʯʹ͍࣋ͬͯ͘ॴʹ࿑ྗΛͬͯΈΔ
ϕετࢦީ܈ — ݪҼ: ͪΌΜͱ͠Α͏ʂͱٕज़બఆ͔Βؤு͕ͬͨɺ Ԇఆ֎ͷ༷มߋͰԆ — ݁Ռ: ͓͔͍͠ɺ࣌ؒͪΌΜͱ͋ͬͨͣͳͷʹ…ഊઓؾͩ… — ϕλʔͰ͍͍͔Βͬ͞͞ͱ։ൃ͠Α͏
— ΠϚΠνͳઃܭʹରͯ͠ਖ਼ύϯν͕དྷͯʮͳΜͰ͜͏ͳͬͯͳ͍ͷʁʯͬ ͯݴΘΕΔ͚ͲɺૉʹࣗͷೳྗͷෆΛೝΊΑ͏ — ͍ͬͯ͏͔ɺͪΌΜͱؤுͬͯߟ͑ͯɺ ΠϚΠνʹͳΔͱ͖ͳΔΜ͡Όʂʂʂ
൚༻ᘳਖ਼ٛਖ਼ओٛ — ݪҼ: ʮPHPμα͍͔Βgoʹ͠Α͏ʯʮ֦ுੑΛߟ͑ͯ࡞Ζ͏ʯ — ݁Ռ: ʮผʹPHPͰΑ͔ͬͨͷͰʁʯʮYAGNIͰΑ͔ͬͨͷͰʁʯ — ਖ਼ྲྀߦΓͰҰൠతʹʮਖ਼͍͠ʯબΛͨͭ͠Γ͕ɺ ࣮ࡍͷʹϑΟοτ͍ͯ͠ͳ͍έʔε
ྨࣅ: ϚΠΫϩαʔϏεީ܈ɺPkeyʹUUIDཞ༻ — …ͱ͍ͬͯࢥߟఀࢭ͢ΔͱɺͬͺΓμϝͳͷͰ͍͠Ͱ͢Ͷ — ʮӡͰʁʯ
ຫੑϝσΟοΫප — ݪҼ: ʮৄ͍͠ਓʯʹͳΓɺϔϧϓɾׂΓࠐΈ͕υϯυϯ૿͑Δ — ݁Ռ: όϦϡʔΛग़͕࣌ؒ͢࿈ଓͯ͠ͱΕͳ͍ — ࣗಈతʹͳΔɺͳΜͰ࣭͞ΕΔ͠ɺԿͰ͕ࣗͬͨํ͕ૣ͍ ʹͳͬͯ͠·͏
— ਓΛ;͢ͱѱԽ͢Δ — ։͖ͬͯɺʮϝσΟοΫʹͳΔɺόϦϡʔԶ͕ग़͞ͳͯ͘ྑ͍ʯͱ·Ͱ ͢Δͷྑ͍
ଟࡨޡީ܈(͋Δ͍໌ຊؾग़͢ީ܈) — ݪҼ: ׂΓࠐΈɺա৴ɺ͍Ζ͍Ζ͋Δ — ݁Ռ: (༧ΑΓ)όϦϡʔΛग़͕࣌ؒͭͣ͘͢ɺ༧ఆΑΓਐḿ͕Ͱͳ͍ — ਓؒɺूத2ʙ3hour͘Β͍͕ݶɺಛʹϚϥιϯݱͳΒ —
2ʙ3hour/dayఔͷूதͰͪΌΜͱ͖͠Εͳ͍ͱόʔϯΞτ͕ͪ͠ — (ͦΕҎ্͕ग़དྷΔਓΛͦΖ͑ΕΑ͍ɺͱ͍͏ൃڊਓ܉ީ܈) — ϖΞɾϞϒ͢Δͷྑ͍͔ (ͳͥͳΒڧ੍ྗ͕ൃش͞ΕΔͷͰɺ͔͠͠ർ࿑ʹҙ) — ͕ࣗʮҰͰ҆ఆతʹՔಇͰ͖Δ࣌ؒɾྔʯΛ୳Γɺ૬ޓʹଚॏ͢Δ
ෆἧ͍खॱɾπʔϧ — ݪҼ: ͍͢͝ਓ͕͍͢͝πʔϧɾखॱΛؾ·͙ΕʹೖΕΔ — ݁Ռ: ͍͢͝πʔϧΛ͑ͳ͍(Θͳ͍)ਓ͕ΛҾͬுΔ — ͪΌΜͱฒΈΛͦΖ͑ͳ͍ͱɺ݁ہ྆ํʹෛ୲͕͘Δɻ ϋΠςΫ(ʁ)ܭըతʹ
— ϝσΟοΫɾฌɾOpsɾڭҭॏཁ — ݪҼ͕όϦϡʔΛग़ͤΔਓͰ͋Δࣄ͕ଟ͘ɺ͍ͭͯߦ͚ͳ͍ਓ͕མ͢Δ — ʮԕྀແ࣭ͯ͘͠ྑ͍ਓʯΛͪΌΜͱઃఆͨ͠ํ͕ྑ͍
DDoS — ݪҼ: Mention͕ଟ͍(ྫ:άϧʔϓMention) — ݁Ռ: શһͷ࣌ؒΛগͮͭ͠ୣ͏ɺແࢹ͕ԣߦ͠͡ΊΔ — ϚδͰGroup mentionΊͨ΄͏͕Α͘ͳ͍͔ʁ
— શһΞϥʔτଚ͍͕ɺ͓ݟ߹͍ɾৡΓ߹͍Ͱर͍ͦ͜ͶΔ͜ͱ͕ଟ͍ — ϝσΟοΫ͕͍Δͱྑ͍ɺͦͯ͠ϝσΟοΫΛଚॏ͢Δ͜ͱ — ϧʔλʔͱͳΔਓΛ૿͢͜ͱͰղܾ͢Δ߹͕͋Δ
ӊ߹ͷऺҰᎋ — ݪҼ: େྔͷਓһΛϑϥοτʹ(ಛʹ࡞ۀऀ)ೖ͢Δ — ݁Ռ: ࢮ͵ — ܉ୂͱ͔ͷຊΛಡΉͱྑ͍ɺ൴Β໋͕͚ͳͷͰษڧʹͳΔ —
൝ɺୂɺখୂɺதୂɺେୂɺ࿈ୂɺཱྀஂɺࢣஂͳͲ͋Δ — ͳΜΒ͔ͷτοϓμϯɾMutex(ྫ:શମmtg)ɾ།Ұਆɾݸਓؒઓ૪͕͋Δ ͱ͞ΒʹѱԽ͢Δ
ଠ͘͘ݽಠࢮ — ݪҼ: Ұਓʹશ෦͞Ε͍ͯΔ — ݁Ռ: ҰਓͰΔͱͷ͍͢͝εϐʔυ͕ੜ·ΕΔ͕ɺ Ϟνϕʔγϣϯ͕Լ͕ͬͨͱ͖ʹࢮ͵ — ͔ͱ͍ͬͯɺਓΛೖΕΔͱͷ͍͢͝εϐʔυΛϒϩοΫ͢Δ߹
— ͍͢͝εϐʔυͰΔ͜ͱʹରͯ͠ΠϯηϯςΟϒ͕ඞཁͩͱࢥ͏ — (ܦඅਫ਼ࢉͱ͔ͷϖʔύʔϫʔΫͱ͔͕͜ΕʹΑͯ͘·Δw) — ͤͬͭ͘ɾ๙ΊΔਓ͕͍Δͱղܾ͢Δ߹͕͋Δ
ॏཁͳ͜ͱ͕mtgͰਓΕܾͣ·Δʔθ — ݪҼ: mtgͰॏཁͳ͜ͱ͕͖·ͬͨޙɺެ͕ࣔͳ͍ɺ͋Δ͍ࡶ — ݁Ռ: ਓ͕ͼͬ͘Γ͢Δɺͦͯ͠mtgͨ͠ଆΒΕͯͳ͍ࣄʹͼͬ͘Γ͢ Δ — ͪΌΜͱͨ͠γΣΞΛ͢ΔɺॏཁΛͪΌΜͱߟ͑ɺ
ΩʔϚϯʹγΣΞ͢ΔmtgΛΉ — ͭ·Γɺ͜Εʮͨ͜෦ʯͷ࠶དྷͳͷ͕ͩɺ Ҋ֎ͦ͏ߟ͑ΒΕ͍ͯͳ͍ͷ͕ා͍ — ݹདྷɺ͜͏͍͏ͷࡶஊ(Ͱͷδϟϒ)ͰΧόʔ͞Ε͖͕ͯͨɺ ϦϞʔτ࣌ࡶஊ͕ݮͬͨ
·ͱΊ — όϦϡʔΛग़͢ʹϦϦʔε͕ඞཁ — ϦϦʔεʹͪΌΜͱͨ͠ՌɾίʔυΛॻ͘͜ͱ͕ඞཁ — దʹ֬อ͞Εͨ࣌ؒใϒϩοΧʔͷഉআ͕ඞཁ — ʮࠓͷʯࣗಉ྅͕ແཧͳ͘ग़ͤΔੜ࢈ੑΛΔ —
ॻ੶ʮαϘλʔδϡɾϚχϡΞϧʯͷٯΛͤΑ(ʁʁ) — ͕ࣗ৸͍ͯͯੜ࢈͞ΕΔ͕࣌ͨΕΔ