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
I ❤ Virtual Machines 仮想環境をより便利に使うツールたち
Search
Infiniteloop
October 18, 2023
Programming
0
100
I ❤ Virtual Machines 仮想環境をより便利に使うツールたち
【タガヤス その13】ILの日常業務から 発表資料
https://tagayas.connpass.com/event/145290/
Infiniteloop
October 18, 2023
Tweet
Share
More Decks by Infiniteloop
See All by Infiniteloop
俺の PHP プロファイラの話 PHP スクリプトで PHP 処理系のメモリをのぞき込む
infiniteloop_inc
0
330
心理的安全性を学び直し、 「いい組織とは何か?」を考えてみる
infiniteloop_inc
0
420
ゼロからつくる 2D物理シミュレーション ~物理現象をコードに落とし込む方法~
infiniteloop_inc
0
550
詫び石の裏側
infiniteloop_inc
0
420
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
6
26k
リファクタリングで実装が○○分短縮した話
infiniteloop_inc
0
160
ADRという考えを取り入れてみて
infiniteloop_inc
0
150
500万行のPHPプロジェクトにおけるログ出力の歩み
infiniteloop_inc
0
120
アニメーションとスキニングをBurstで独自実装する
infiniteloop_inc
0
270
Other Decks in Programming
See All in Programming
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
170
Внедряем бюджетирование, или Как сделать хорошо?
lamodatech
0
940
ASP.NET Core の OpenAPIサポート
h455h1
0
120
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
940
「とりあえず動く」コードはよい、「読みやすい」コードはもっとよい / Code that 'just works' is good, but code that is 'readable' is even better.
mkmk884
6
1.4k
サーバーゆる勉強会 DBMS の仕組み編
kj455
1
300
Fixstars高速化コンテスト2024準優勝解法
eijirou
0
190
技術的負債と向き合うカイゼン活動を1年続けて分かった "持続可能" なプロダクト開発
yuichiro_serita
0
300
為你自己學 Python
eddie
0
520
AHC041解説
terryu16
0
400
ErdMap: Thinking about a map for Rails applications
makicamel
1
660
chibiccをCILに移植した結果 (NGK2025S版)
kekyo
PRO
0
130
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
We Have a Design System, Now What?
morganepeng
51
7.3k
Why Our Code Smells
bkeepers
PRO
335
57k
It's Worth the Effort
3n
183
28k
Building an army of robots
kneath
302
45k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.2k
How to train your dragon (web standard)
notwaldorf
89
5.8k
Making the Leap to Tech Lead
cromwellryan
133
9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
240
Automating Front-end Workflow
addyosmani
1366
200k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Transcript
I ❤ Virtual Machines ԾڥΛΑΓศརʹ͏πʔϧͨͪ
ࣗݾհ wYDࡀ
੨ݝീށࢢੜ·Ε
ࣗݾհ wYDࡀ w੨ݝീށࢢੜ·Ε wೖࣾϲ݄ͷ υ৽ਓ
ೖࣾͯ͋ͬͨ͋͠Δ
ࠓλΨϠεͰ ͬͯΈͳ͍ʁ
ͦͷͷϊϦ͚ͩͰ Ҿ͖ड͚͍͍ͨͷͷ
😰
˞ݸਓͷภݟͰ͢
😰
˞ݸਓͷภݟͰ͢
ߋʹݴ͏ͱ wೖࣾϲ݄ w్த͓ຍٳΈ wՔಇͯͨ͠ͷͨͿΜ࣮࣭ϲ݄ͪΐͬͱ wۀମݧϕʔεͰޠΕΔ΄Ͳঢ՚ͨ͠ωλෆ
ߋʹݴ͏ͱ wೖࣾϲ݄ w్த͓ຍٳΈ wՔಇͯͨ͠ͷͨͿΜ࣮࣭ϲ݄ͪΐͬͱ wۀମݧϕʔεͰޠΕΔ΄Ͳঢ՚ͨ͠ωλෆ
ߋʹݴ͏ͱ wೖࣾϲ݄ w్த͓ຍٳΈ wՔಇͯͨ͠ͷͨͿΜ࣮࣭ϲ݄ͪΐͬͱ wۀମݧϕʔεͰޠΕΔ΄Ͳঢ՚ͨ͠ωλෆ
ߋʹݴ͏ͱ wೖࣾϲ݄ w్த͓ຍٳΈ wՔಇͯͨ͠ͷͨͿΜ࣮࣭ϲ݄ͪΐͬͱ wۀମݧϕʔεͰޠΕΔ΄Ͳঢ՚ͨ͠ωλෆ
WT
࣋ͪωλͰҰ੮
None
ຊ
ͷલʹ
લఏ
wఆ͍ͯ͠Δͷେͷ෦͕1)1 Ͱॻ͔Ε͍ͯΔ8FCΞϓϦέʔγϣ ϯͷ։ൃͰ͢
w։ൃऀ͕ར༻͍ͯ͠Δීஈ͍ͷڥ w8JOEPXT wNBD04
wຊ൪ڥ-JOVYΛఆ͍ͯ͠·͢
࣍
None
None
None
None
ԾϚγϯʹΑΔ ։ൃڥߏங
ํ๏ͦͷ ۃ
͓ۚͰղܾ
ϓϩδΣΫτ͝ͱʹ·ͬͨ͘ಉڥͷઐ༻ ։ൃαʔό
w࠷ڧ w͓ࡒͱٿڥʹ༏͘͠ͳͦ͞͏ wཧ͡Όͳͯ͘ΫϥυͳΒϫϯνϟ ϯ͋Δ͔
w࠷ڧ w͓ࡒͱٿڥʹ༏͘͠ͳͦ͞͏ wཧ͡Όͳͯ͘ΫϥυͳΒϫϯνϟ ϯ͋Δ͔
w࠷ڧ w͓ࡒͱٿڥʹ༏͘͠ͳͦ͞͏ wཧ͡Όͳͯ͘ΫϥυͳΒϫϯνϟ ϯ͋Δ͔
ํ๏ͦͷ
ݱ࣮తͳͭ
ԾϚγϯ
ԾϚγϯΛ࣮ݱ͢Δ ༏लͳϓϩμΫτ ଟʑ͋Γ·͕͢
ࠓճࣄྫଟ͘ ೖ͍͢͠ 7BHSBOU 7JSUVBM#PYͰ͓ΛਐΊ·͢
7JSUVBM#PY
7JSUVBM#PY w0SBDMFͰݱࡏ։ൃ
7JSUVBM#PY w0SBDMFͰݱࡏ։ൃ w8JOEPXT NBD04-JOVYͷϓ ϥοτϑΥʔϜͰಈ࡞
7JSUVBM#PY w0SBDMFͰݱࡏ։ൃ w8JOEPXTNBD04 -JOVYͷϓϥοτϑΥʔϜͰ ಈ࡞ wख࣋ͪͷ1$ͷதʹԾ తͳ1$Λ্ཱͪ͛ͯ ͘ΕΔ
7BHSBOU
7BHSBOU wԾϚγϯΫϥυ ্ͷϚγϯΛΑ͠ͳʹ ઃఆ্ཱͯͪ͛ͯ͘͠ ΕΔαϙʔτπʔϧ
7BHSBOU wԾϚγϯΫϥυ্ͷϚ γϯΛΑ͠ͳʹઃఆཱͯͪ͠ ্͛ͯ͘ΕΔαϙʔτπʔϧ w7BHSBOUpMFͱ͍͏ 3VCZεΫϦϓτ
7BHSBOU wԾϚγϯΫϥυ্ͷϚ γϯΛΑ͠ͳʹઃఆཱͯͪ͠ ্͛ͯ͘ΕΔαϙʔτπʔϧ w7BHSBOUpMFͱ͍͏3VCZε ΫϦϓτ wଞͷߏཧπʔϧͱ ͷڠௐ
ϝϦοτ
ϝϦοτ wશ͘ಉ͡ͱ͍͏Θ͚Ͱͳ͍͚ΕͲ
ϝϦοτ wશ͘ಉ͡ͱ͍͏Θ͚Ͱͳ͍͚ΕͲ wߏஙͷࣗಈԽ w։ൃऀಉ࢜Ͱखܰʹڞ༗Ͱ͖Δ
ϝϦοτ wશ͘ಉ͡ͱ͍͏Θ͚Ͱͳ͍͚ΕͲ wߏஙͷࣗಈԽ w։ൃऀಉ࢜Ͱखܰʹڞ༗Ͱ͖Δ wؒҧͬͯյͯ͠
σϝϦοτ wͦΕͳΓʹεϖοΫඞཁ
σϝϦοτ w ͦΕͳΓʹεϖοΫඞཁ wͨͿΜ͙͜͜Β͍ͳΒ
σϝϦοτ w ͦΕͳΓʹεϖοΫඞཁ w ͨͿΜ͙͜͜Β͍ͳΒ wཉΛݴ͑ϝϞϦ(#ͰετϨʔ δ44% w ͓ࡒʹ͍͞͠ͱԿͩͬͨͷ͔
͜͜·Ͱ·ͱΊ ઃඋࢿΛ͓͑ͭͭ͞ ීஈ͍ͷڥͷ ΠϯύΫτΛ͑ͨ։ ൃڥΛ࡞Γ͍ͨ ͱ͍͏͜ͱͰ͋Ε Ծڥͷߏங͕͓ ͢͢Ί
7JTVBM4UVEJP$PEF 3FNPUF%FWFMPQNFOU &YUFOTJPOͷհ
ԾڥͰίʔυΛॻ͘ͱ͖ ͥͻͬͯ΄͍͠
ฐࣾͰ1)14UPSN͕ਓؾͷΑ͏Ͱ͢ ͪ͜Β͍͍͢Ͱ͢Α
ࢲ74$PEF͕͖ ͳͷͰ74$PEFͰॻ͍͍͖ͯ·͠ΐ͏
͜ͷ࣌Ͱͷ ։ൃڥͷߏ
None
None
None
None
None
None
͜ͷลʹʮΠέςφΠײʯ ͋Γ·ͤΜʁ ೋॏཧ͍ͬͯ͏͔ɾɾɾ
None
ήετ͔ΒͷΞΫηε͕͍
None
None
ʅɾТɾʆ γϣϯϘϦοΫϦϯΫ
None
͜Ε͡Όҙຯ͕ͳ͍Αͳ͋
None
None
None
None
None
None
None
None
None
None
None
None
None
None
εοΩϦʂ
͜͜·Ͱ·ͱΊ 74$PEF 3FNPUF %FWFMPQNFOU ԾϚγϯΫϥ υͳͲͷϦϞʔτ։ ൃͷਏΈΛ૬Ϩϕ ϧͰܰݮͯ͘͠ΕΔ
τϯωϦϯάαʔϏεΛ ͓͏
։ൃ͕ਐΜͰ͖ͨΒ
$BTF"
։ൃதͷϓϩμΫτʹ͍ͭͯ Կ͔ఏҊ͍ͨ͠ͱ͖ʹ։ൃதͷ ಈ͖Λݟͤͨ΄͏͕खͬऔΓૣ͍ͱ͖ͬͯ͋Γ·ͤΜ͔ʁ
ϓϩμΫγϣϯڥҎ֎Ͱ ಈ࡞ڥΛ࡞ͬͯͦ͜ʹ ։ൃதϒϥϯνΛσϓϩΠ
͏࡞Δͱ͔ͦ͜·Ͱ େࣄ͡Όͳͯ͘ɾɾɾ Ͱݟ͍ͤͨײ
Ұ࣌తͰ͍͍
$BTF#
ϩʔΧϧϚγϯͰϒϥβ͔ΒݟΔ 8FCΞϓϦΛ IPTUTϑΝΠϧΛฤू͢Δ͜ͱͰ ֬ೝ͍ͯͨ͠
ػೳՃ
֎෦"1*ͱͷଓ
ίʔϧόοΫઌʹ IUUQTͰ7BMJEͳূ໌ॻΛ ࣋ͬͨϗεςΟϯά͕ඞਢ
None
ͦΜͳͱ͖ʹͬͯ΄͍͠ OHSPLͳͲͷτϯωϦϯάαʔϏε
τϯωϦϯάαʔϏεͱ wϩʔΧϧϚγϯ͔Β αʔϏεଆͷαʔόʹ ͭͳ͍ͩ44)ίωΫ γϣϯΛͬͯτϯω ϧԽ͢Δ
τϯωϦϯάαʔϏεͱ w ϩʔΧϧϚγϯ͔ΒαʔϏεଆͷ αʔόʹͭͳ͍ͩ44)ίωΫγϣ ϯΛͬͯτϯωϧԽ͢Δ wαʔϏεଆ͔Βϗετ ໊͕ൃߦ͞ΕΔ
τϯωϦϯάαʔϏεͱ w ϩʔΧϧϚγϯ͔ΒαʔϏεଆͷ αʔόʹͭͳ͍ͩ44)ίωΫγϣ ϯΛͬͯτϯωϧԽ͢Δ w αʔϏεଆ͔Βϗετ໊͕ൃߦ͞Ε Δ wͦͷϗετ໊ʹ͔ͬ ͯϒϥβ͕
)551 T ௨৴Λ͢Δ
τϯωϦϯάαʔϏεͱ w ϩʔΧϧϚγϯ͔ΒαʔϏεଆͷαʔ όʹͭͳ͍ͩ44)ίωΫγϣϯΛ ͬͯτϯωϧԽ͢Δ w αʔϏεଆ͔Βϗετ໊͕ൃߦ͞ΕΔ w ͦͷϗετ໊ʹ͔ͬͯϒϥβ͕ )551
T ௨৴Λ͢Δ wαʔϏεଆ͕ϩʔΧϧϚ γϯͷίϯςϯπΛτϯ ωϧܦ༝Ͱऔಘͯ͠ 8FCϒϥβʹฦ͢
MPDBMIPTU͔Β IUUQTʜ ͱ͍͏63-Ͱίϯςϯπ͕ݟͤΒΕΔ
੍ݶ͋Δ wແྉϓϥϯ࣌ؒ͋ͨΓͷ)551ϦΫΤετʹ ੍ݶ͕͋Δ
63-΄΅͍ࣺͯ 44)ͷίωΫγϣϯ͕ ΒΕ͍ͯΔؒͷΈ༗ޮ
ڵຯ͕Θ͍ͨͷͰ
OHSPLҎ֎ʹ ྨࣅαʔϏεΛௐͯΈͨ
TFSWFP IUUQTTFSWFPOFU
ಛ wݻఆͷαϒυϝΠϯಠࣗυϝΠϯ͕ ͑Δ wηϧϑϗεςΟϯά༻ͷαʔόΞϓϦ ఏڙ͞Ε͍ͯΔ wࣗͰαʔόΛͨͯͯಠࣗυϝΠϯͰ ӡ༻Ͱ͖ͦ͏
MPDBMUVOOFM IUUQTMPDBMUVOOFMHJUIVCJPXXX
ಛ wΫϥΠΞϯτOQ̼ wαʔόଆͷΞϓϦOQN wTFSWFPಉ༷ࣗͰαʔό͕ͨͯΒΕΔ w࣌ؒଳʹΑΔ͔͠Εͳ͍͕एׯ͍ ͔ʁ
͜͜·Ͱ·ͱΊ OHSPLͳͲͷ αʔϏεͰ MPDBMIPTUͷ ΞϓϦέʔγϣϯΛ Πϯλʔωοτ্ʹ ެ։Ͱ͖Δ
݁ͼ
ϓϩάϥϚͷࡾେඒಙ ଵଦ -B[JOFTT ؾ *NQBUJFODF ၗຫ )VCSJT
ϓϩάϥϚͷࡾେඒಙ ଵଦ -B[JOFTT ؾ *NQBUJFODF ၗຫ )VCSJT
lશମͷ࿑ྗΛݮΒͨ͢Ίʹ खؒΛ੯͠·ͳ͍ؾ࣭z
͙͢ΕͨπʔϧΛॿ͚Δ πʔϧ͕͞͠ͷཱྀଓ͘
ͨͩ͠
ͨͩ͠ ʮԼखͷಓ۩ௐʯʹؕΒͳ͍ ఔʹ΄Ͳ΄Ͳʹ
ͨͩ͠ ʮԼखͷಓ۩ௐʯʹؕΒͳ͍ ఔʹ΄Ͳ΄Ͳʹ πʔϧͦͷͷͷ༏ल͓͖ͯ͞͞ ࣗͷखʹೃછΉ͜ͱ͕Ұ൪େࣄ
ؒΛ૿ͦ͏
͓͋ͱ͕ΑΖ͍͠Α͏Ͱ