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
実務で失敗しない「GitHub」
Search
Tonoyama
January 10, 2021
Programming
360
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
実務で失敗しない「GitHub」
学内の勉強会で発表したスライド達です。
Tonoyama
January 10, 2021
More Decks by Tonoyama
See All by Tonoyama
LINE Botで「しりとり」を作ろう
tonoyama
0
520
情報特許論「新しいディスプレイ」
tonoyama
0
440
特許「量子ニューラルネットワーク」について
tonoyama
0
83
今年の目標と注目技術
tonoyama
2
170
Other Decks in Programming
See All in Programming
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
1
390
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
9.3k
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
1.6k
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
100
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
520
Foundation Models frameworkで画像分析
ryodeveloper
1
130
광주소프트웨어마이스터고등학교 DevFest 특강 - 바이브 코딩 시대에서 주니어 개발자로 살아남는 방법
utilforever
1
150
継続モナドとリアクティブプログラミング
yukikurage
3
630
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
500
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
170
関数型プログラミングのメリットって何だろう?
wanko_it
0
190
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
330
Featured
See All Featured
Thoughts on Productivity
jonyablonski
76
5.3k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Un-Boring Meetings
codingconduct
0
350
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
750
Building Adaptive Systems
keathley
44
3.1k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
900
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
The Cost Of JavaScript in 2023
addyosmani
55
10k
sira's awesome portfolio website redesign presentation
elsirapls
0
310
Transcript
࣮Ͱࣦഊ͠ͳ͍ʮ(JU)VCʯ ʙޮྑ͘ɺਖ਼֬ʹࣄΛ͜ͳ͢ʙ 1
ࣗݾհ 2 !5POPZBNB 5XJUUFSɿ!ZVEBJUPOPZBNB ژͷ8FCܥࣗࣾ։ൃاۀʹͯओʹ +BWB4DSJQUΛ͍։ൃͷΞϧόΠτΛ ͍ͯ͠·͢ɻ࠷ۙɺ($1ͷ"1*ؔ࿈ झຯɿඒຯ͍͠ྉཧΛ৯Δ͜ͱ
ࠓճͷ࣍ ͡Ίʹ ࣄͰͷ(JU)VCϑϩʔ (JU)VCϑϩʔ͔ΒݟΔʮΒ͔͠ʯ ɾ։ൃͷ४උ ɾ։ൃ։࢝ʂ ɾ࣍ͷ։ൃ (JU)VCΛศརʹ͢Δπʔϧɾখٕ 3
࣍ ͡Ίʹ 1 ࣄͰͷ(JU)VC 1 (JU)VCϑϩʔ͔ΒݟΔʮΒ͔͠ʯ ɾ։ൃͷ४උ 1d ɾ։ൃ։࢝ʂ 1d
ɾ࣍ͷ։ൃ 1d (JU)VCΛศརʹ͢Δπʔϧɾখٕ 1d 4
͡Ίʹ 5
جຊɺ࣮ͷ(JU)VCͰ͍͜͠ͱ͠ͳ͍ 6 جຊతʹਓͰϦϙδτϦʹQVTI͢Δͷͱ มΘΒͳ͍ɻϒϥϯνͷૢ࡞͕ೖΔఔɻ ͔͠͠ɺ ;ͱͨ͠ෆҙΞΫγσϯτͰ Β͔ͨ͠߹ɺ͙͢ʹదʹରॲͰ͖Δ͔ ͰਐͱਓࣄධՁʹେ෯ͳ͕ࠩੜ·ΕΔɻ ॳ৺ऀ ܦݧऀ
ޙ ޙ
࣍ ͡Ίʹ 1 ࣄͰͷ(JU)VC 1 (JU)VCϑϩʔ͔ΒݟΔʮΒ͔͠ʯ ɾ։ൃͷ४උ 1d ɾ։ൃ։࢝ʂ 1d
ɾ࣍ͷ։ൃ 1d (JU)VCΛศརʹ͢Δπʔϧɾখٕ 1d 7
ࣄͰͷ(JU)VC 8
ݸਓͱࣄͰҧ͏(JU)VCૢ࡞ͷ ݸਓ ձࣾ ݸਓ ࣗͷϑΝΠϧ͕ফࣦͯࣗ͠ͷɻ ϦϙδτϦͷ࡞Γͳ͓͠Ͱ͖Δ ձࣾ ਐ͕େ෯ʹΕͯ͠·͏ɻ ࠷ѱɺ͕ফ͑ͨ߹ɺଞͷϝϯόʔ ͚ͩͰͳ͘ɺձࣾશମʹ໎͕͔͔Δɻ
ࣦഊ͠ͳ͍ͨΊͷ͕ࣝඞཁ 9 ˣ
࣍ ͡Ίʹ 1 ࣄͰͷ(JU)VC 1 (JU)VCϑϩʔ͔ΒݟΔʮΒ͔͠ʯ ɾ։ൃͷ४උ 1d ɾ։ൃ։࢝ʂ 1d
ɾ࣍ͷ։ൃ 1d (JU)VCΛศརʹ͢Δπʔϧɾখٕ 1d 10
(JU)VCϑϩʔ͔ΒݟΔ ҙͱΒ͔͠ 11
ීஈͷ(JU)VCϑϩʔ 12 ࣗ ઌഐ νʔϜϦʔμ ϨϏϡʔ ֬ೝ ࠓճϨϏϡʔΛड͚ΔϓϧϦΫ ͷલʢ(JU)VCͷૢ࡞ʣ·Ͱͷ
(JU)VCͰΑ͘͏ίϚϯυΛ࣌ܥྻॱʹհ ։ൃͷ४උ HJUDPOpHcϢʔβʔใΛೖྗ HJUDMPOF<ϦϙδτϦ63->cϦϞʔτϦϙδτϦΛμϯϩʔυ HJUCSBODI<ϒϥϯν໊>cϒϥϯνͷ࡞ HJUTXJUDI <ϒϥϯν໊>cϒϥϯνͷҠಈ ։ൃ։࢝ʂ HJUTUBUVTcมߋ༰ͷঢ়ଶΛ֬ೝ͢Δ HJUBEE<มߋϑΝΠϧ໊>cมߋΛొ͢Δ
HJUDPNNJUNlϝοηʔδz cίϛοτΛ࡞ HJUQVTIPSJHJO<ϒϥϯν໊>cϦϞʔτϦϙδτϦʹ ࣍ͷ։ൃ HJUQVMMcมߋΛऔΓࠐΉ 13
࣍ ͡Ίʹ 1 ࣄͰͷ(JU)VC 1 (JU)VCϑϩʔ͔ΒݟΔʮΒ͔͠ʯ ɾ։ൃͷ४උ 1d ɾ։ൃ։࢝ʂ 1d
ɾ࣍ͷ։ൃ 1d (JU)VCΛศརʹ͢Δπʔϧɾখٕ 1d 14
։ൃͷ४උ 15
ϒϥϯν໊ΛදࣔͰ͖ΔΑ͏ʹ͢Δ 16 $ sudo nano ~/.bashrc 下記のShellをコピペ(Ubuntu, bashの場合) if [
-f /etc/bash_completion ]; then . /etc/bash_completion fi if [ -f /etc/bash_completion.d/git-prompt ]; then export PS1='¥[¥033[01;32m¥]¥u@¥h¥[¥033[01;33m¥] ¥w$(__git_ps1) ¥n¥[¥033[01;34m¥]¥$¥[¥033[00m¥] ' else export PS1='¥[¥033[01;32m¥]¥u@¥h¥[¥033[01;33m¥] ¥w ¥n¥[¥033[01;34m¥]¥$¥[¥033[00m¥] ' fi $ source ~/.bashrc
HJUDPOGJHϢʔβʔใΛೖྗ 17 طଘͷϦϙδτϦΛμϯϩʔυʢίϐʔʣ͢Δ $ git config --global user.name “ࣗͷGitHubϢʔβʔ໊” $
git config --global user.email “GitHubͷϝʔϧΞυϨε” ֬ೝ $ cat ~/.gitconfig [user] name = 自分のGitHubユーザ名 email = GitHubのメールアドレス
ϦϙδτϦΛGPSL͢Δ 18 044ʹϓϧϦΫΛߦ͏߹ɺGPSLͯ͠ϓϧϦΫ (JU)VC5FBNTΛ͏߹ɺDPOUSJCVUPSͱͯ͠ ΞΧϯτΛՃͯ͠Β͍ɺϓϧϦΫ ʮ'PSLʯ Λ ΫϦοΫ
HJUDMPOFʢΪοτ Ϋϩʔϯʣ 19 طଘͷϦϙδτϦΛμϯϩʔυʢίϐʔʣ͢Δ $ git clone [URL]
HJUDMPOFʢΪοτ Ϋϩʔϯʣ 20
HJUCSBODI<ϒϥϯν໊>ʢΪοτ ϒϥϯνʣ ৽͍͠ϒϥϯνΛ࡞͢Δ ϒϥϯνͷ໊લΛؒҧͬͯ͠·ͬͨ߹ $ git branch -m [古いブランチ名] [新しいブランチ名]
ϒϥϯνΛআ͢Δ߹ $ git branch -d [ブランチ名] 21
HJUCSBODI<ϒϥϯν໊>ʢΪοτ ϒϥϯνʣ 22
⚠Β͔͠ҙ ϒϥϯνͷ࡞NBTUFSͰߦ͏ ࡞ۀϒϥϯνͰϒϥϯνΛΔʢ৽ ͍͠ϒϥϯνΛ࡞Δʣͱ มߋ༰ΛऔΓࠐΉͨΊɺ ίϯϑϦΫτʹ͕᷷ͬͯ͠·͏ɻ ˣ มߋ͍ͯ͠ͳ͍NBTUFSϒϥϯνͰ ϒϥϯνΛΔ 23
新しいブランチ ৽͍͠ϒϥϯν͕ લͷϒϥϯνͷมߋ ϑΝΠϧΛ࿈ΕࠐΉਤ
HJUTXJUDI<ϒϥϯν໊>ʢΪοτ εΠονʣ 24 ϒϥϯνΛҠಈ͢Δ $ git switch[ブランチ名]
HJUTXJUDI<ϒϥϯν໊>ʢΪοτ εΠονʣ 25
࣍ ͡Ίʹ 1 ࣄͰͷ(JU)VC 1 (JU)VCϑϩʔ͔ΒݟΔʮΒ͔͠ʯ ɾ։ൃͷ४උ 1d ɾ։ൃ։࢝ʂ 1d
ɾ࣍ͷ։ൃ 1d (JU)VCΛศརʹ͢Δπʔϧɾখٕ 1d 26
։ൃ։࢝ 27
(JU)VCͰΑ͘͏ίϚϯυΛ࣌ܥྻॱʹհ ։ൃͷ४උ HJUDPOpHcϢʔβʔใΛೖྗ HJUDMPOF<ϦϙδτϦ63->cϦϞʔτϦϙδτϦΛμϯϩʔυ HJUCSBODI<ϒϥϯν໊>cϒϥϯνͷ࡞ HJUTXJUDI <ϒϥϯν໊>cϒϥϯνͷҠಈ HJUSFNPUFBEEPSJHJO<ϦϙδτϦ63->cͲͷ63-ʹQVTI͢Δ͔ ։ൃ։࢝ʂ HJUTUBUVTcมߋ༰ͷঢ়ଶΛ֬ೝ͢Δ
HJUBEE<มߋϑΝΠϧ໊>cมߋΛొ͢Δ HJUDPNNJUNlϝοηʔδz cίϛοτΛ࡞ HJUQVTIPSJHJO<ϒϥϯν໊>cϦϞʔτϦϙδτϦʹ ࣍ͷ։ൃ HJUQVMMcมߋΛऔΓࠐΉ 28
HJUTUBUVTʢΪοτ εςʔλεʣ 29 ࠓͷϑΝΠϧͷঢ়ଶΛ֬ೝ͢Δ $ git status ͘؆ܿʹදࣔ͢Δ $ git
status –s ͘දࣔ͠ɺͲͷϒϥϯνͷใͳͷ͔දࣔ͢Δ $ git status -b
HJUTUBUVTʢΪοτ εςʔλεʣ 30
HJUBEEʢΪοτ Ξυʣ 31 มߋϑΝΠϧΛΠϯσοΫεʹՃ͠ɺ ίϛοτରʹ͢Δ $ git add [ファイル名] ϫʔΫπϦʔɿ࡞ۀॴ
ΠϯσοΫεɿ ίϛοτΛอଘ͢Δॴɻ εςʔδϯάΤϦΞͱݴ͏ɻ มߋϑΝΠϧΛΠϯσοΫεʹՃ͢Δ͜ͱΛ εςʔδϯάͱݴ͏ ϩʔΧϧ ϦϙδτϦ ΠϯσοΫε ϫʔΫπϦʔ HJUBEE HJUDPNNJU
HJUBEEʢΪοτ Ξυʣ 32
⚠Β͔͠ҙ HJUBEEΘͳ͍ 33 $ git add . શͯͷϑΝΠϧΛҰؾʹεςʔδϯάͰ ͖Δ͕༨ܭͳϑΝΠϧΛؚΉ߹͕͋Δͨ Ίɺجຊ͠ͳ͍ɻ
͠ΔͳΒ.gitignoreͰ༨ܭͳϑΝΠ ϧ͕ೖΒͳ͍Α͏ʹ͢ΔͳͲྀ͕ඞཁɻ ༨ܭͳϑΝΠϧ͕ ೖΓࠐΈ࡞ۀΛ अຐ͢Δਤ :PV
༨ܭͳϑΝΠϧΛHJUBEE Β͔͠ɿ˒ˑˑ 34 มߋ༰͕ফ͑ΔͷͰɺͲ͔͜ʹιʔεί ʔυΛίϐϖ͠อଘ͓͖ͯ͠·͢ɻ $ git reset HEAD git
initޙͷ߹ɺ $ git rm --cached -r [ファイル名]
HJUDPNNJUʢΪοτ ίϛοτʣ 35 ΠϯσοΫεͷϑΝΠϧΛ ϩʔΧϧϦϙδτϦʹอ͢Δ $ git commit -m “メッセージ”
લͷίϛοτϝοηʔδΛमਖ਼͍ͨ͠߹ $ git commit --amend -m “新しいメッセージ” աڈͷίϛοτϝοηʔδΛݟ͍ͨ $ git log ͜ͷͱ͖ɺίϛοτϝοηʔδ ଞਓ͕͋ͱ͔Βݟ͔ͯΔΑ͏ʹॻ͘ ϩʔΧϧ ϦϙδτϦ ΠϯσοΫε ϫʔΫπϦʔ
HJUDPNNJUʢΪοτ ίϛοτʣ 36
Θ͔Γ͍͢DPNNJUϝοηʔδΛ 37 DPNNJUϝοηʔδɺ ଞਓ͕͋ͱ͔Βݟͯ֓ཁ͕͔Δ Α͏ʹॻ͘ ςετ༷ॻͷهࡌ༰ͱίʔυ͕ҧ͏ɺ ؔ࿈όάͷमਖ਼࣌ͳͲʹ֬ೝ͢Δ߹͕ ଟ͍ɻͦͷͨΊɺόάमਖ਼࣌ैདྷͷ༷ͱ มΘΔ߹ɺ8)Λҙࣝ͠ಛʹ৻ॏʹॻ͘ όάΛमਖ਼
ˣ ސ٬*%͕ͷ࣌ɺूܭ͞Εͳ͍Α͏ʹमਖ਼ ҙຯ ͔ΒΜʂ όάΛमਖ਼ ֬ೝͬͱ
Θ͔Γ͍͢DPNNJUϝοηʔδΛ 38 Մಡੑ ཧੑ ݪࢠੑ దʹখ͍͞ DPNNJU มߋ༰͕ ҙຯతʹ ·ͱ·ͬͯ
͍Δ͔ DPNNJU NFTTBHFͷ ಡΈ͢͞ ݪࢠੑ DPNNJUɺݴͰݴ͍දͤΔมߋ༰Ͱ ͋Δ͜ͱ Մಡੑ ଞਓ͕ޙ͔Βݟͯ֓ཁ͕Θ͔Δ ཧੑ ෳͷมߋ͕͋Δ߹ɺ ಉ͡ࣄΛ͍ͯ͠Δʢҙຯతʹ·ͱ·ͬͨʣ ͷΛDPNNJU͢Δ
༨ܭͳϑΝΠϧΛDPNNJUͨ͠··QVTI ˒˒ˑ 39 มߋՕॴ͕গͳ͍߹ʢίϛοτΛશͯऔΓফͤΔʣ $ git reset -–hard HEAD^ $
git push origin [作業ブランチ名] ͍ͨ͠ίϛοτཤྺ͕ଟ͍߹ มߋΛҙਤ͠ͳ͍ϑΝΠϧͷ༰ΛNBTUFSΛಉ͡ʹ͢Δ $ git switch master $ git pull origin master $ git checkout [作業ブランチ名] $ git checkout master [意図しないファイル名]
༨ܭͳϑΝΠϧΛDPNNJUͨ͠··QVTI ˒˒ˑ 40 ͦΕͰ͏·͍͔͘ͳ͍߹ ৽͘͠࡞ۀϒϥϯνΛ࡞͠ɺݩͷ࡞ۀϒϥϯν͔ΒඞཁͳϑΝΠ ϧ͚ͩΛ࣋ͬͯ͘Δ $ git checkout master
$ git pull origin master $ git branch [新しいブランチ名] $ git checkout [新しいブランチ名] $ git checkout [元のブランチ名] [特定ファイル名] ৽͍͠ϒϥϯνͰ։ൃ͢Δ͜ͱʹͳΔ
HJUQVTIʢΪοτ ϓογϡʣ 41 ίϛοτͷ༰ΛϦϞʔτϦϙδτϦʹө͢Δ $ git push origin [ブランチ名] ؒҧ͑ͯQVTIͯ͠͠·ͬͨ߹ɺ
git revert ͰΓ͠ɻ ྨࣅίϚϯυʹgit reset͋Δ͕͋·Γ͓͢͢Ί͠ͳ͍
HJUQVTIʢΪοτ ϓογϡʣ 42
1VMM3FRVFTUͷ࡞Γํ 43 ϓϧϦΫɺϚʔδͯ͠ྑ͍ஈ֊Ͱ࡞Δɻ ։ൃ్தͰϚʔδ͞Εͳ͍Α͏ʹ͢ΔͨΊɻ λΠτϧɺձࣾʹΑΔ͕ɺϓϩδΣΫτ໊ɾνέοτ൪߸Λઌ ಄ʹͨ͠ޙɺৄ͍͠༰Λॻ͘ ྫɿ UPOPZBNBձܭը໘ͷϝχϡʔΞΠςϜ͕ԼʹͣΕΔ Uސ٬*%͕ͷ߹ɺूܭ͞ΕΔ
ٸᬎɺଞͷϒϥϯνͰ࡞ۀ͢Δ߹ 44 ·ͩ։ൃ్தͰίϛοτ͍ͯ͠ͳ͍ϑΝΠ ϧ͕͋Δ͕ɺϒϥϯνΛΓସ͍͑ͨ߹ɺ ʮHJUTUBTIʯΛ͓קΊ͠·͢ɻ HJUDPNNJU ͰΓସ͑ΒΕΔ͕ɺத్ͳ DPNNJU͕ൃੜ͢ΔͨΊɻ $ git
stash $ git stash apply ͬͪ͜ͷλεΫΛઌ ʹ͓͍ͬͯͯ
࣍ ͡Ίʹ 1 ࣄͰͷ(JU)VC 1 (JU)VCϑϩʔ͔ΒݟΔʮΒ͔͠ʯ ɾ։ൃͷ४උ 1d ɾ։ൃ։࢝ʂ 1d
ɾ࣍ͷ։ൃ 1d (JU)VCΛศརʹ͢Δπʔϧɾখٕ 1d 45
࣍ͷ։ൃʂ 46
HJUQVMM 47 NBTUFSϒϥϯν $ git switch master ϦϞʔτϦϙδτϦͱಉظ $ git
pull origin master ϒϥϯνΛ࡞͠ɺ࠶ͼ։ൃ QVMMͱ GFUDIࣅͯΔ
HJUQVMM ͱ HJUGFUDIͷҧ͍ 48 औಘͨ͠ϒϥϯνใΛϩʔΧϧϒϥϯνʹϚʔδ͢Δ͔Ͳ͏͔ มߋதͷϑΝΠϧ͕͋Δ߹ɺgit fetch ࡞ۀ͕ऴΘ͍ͬͯΔ߹ɺgit pull
࠷ޙʹɿ͍··ͰͷίϚϯυୡ ։ൃͷ४උ HJUDPOpHcϢʔβʔใΛೖྗ HJUDMPOF<ϦϙδτϦ63->cϦϞʔτϦϙδτϦΛμϯϩʔυ HJUCSBODI<ϒϥϯν໊>cϒϥϯνͷ࡞ HJUTXJUDI <ϒϥϯν໊>cϒϥϯνͷҠಈ HJUSFNPUFBEEPSJHJO<ϦϙδτϦ63->cͲͷ63-ʹQVTI͢Δ͔ ։ൃ։࢝ʂ HJUTUBUVTcมߋ༰ͷঢ়ଶΛ֬ೝ͢Δ
HJUBEE<มߋϑΝΠϧ໊>cมߋΛొ͢Δ HJUDPNNJUNlϝοηʔδz cίϛοτΛ࡞ HJUQVTIPSJHJO<ϒϥϯν໊>cϦϞʔτϦϙδτϦʹ ࣍ͷ։ൃ HJUQVMMcมߋΛऔΓࠐΉ 49
࣍ ͡Ίʹ 1 ࣄͰͷ(JU)VC 1 (JU)VCϑϩʔ͔ΒݟΔʮΒ͔͠ʯ ɾ։ൃͷ४උ 1d ɾ։ൃ։࢝ʂ 1d
ɾ࣍ͷ։ൃ 1d (JU)VCΛศརʹ͢Δπʔϧɾখٕ 1d 50
(JU)VCΛศརʹ͢Δ πʔϧɾখٕ 51
ΤΠϦΞε 52 $ sudo nano ~/.gitconfig [alias] 省略名=gitコマンド $ sudo
nano ~/.bashrc $ alias [エイリアス名]=‘コマンド’ $ source ~/.bashrc
(JU)VC$-* ίϚϯυϥΠϯ্Ͱ(JU)VCΛૢ࡞Ͱ͖Δ$-*πʔϧ ϦϙδτϦΛ࡞ $ gh repo create リポジトリ名 ΠγϡʔΛ࡞ $
gh issue create ϓϧϦΫΛ࡞ $ gh pr create 53
(JU(SBQI 74$PEFͷ֦ுػೳɻ (JU͕τϥϒͬͨ࣌ʹࠓͷঢ় گΛ͔Γ͘͢͢Δɻ ਓʹઆ໌͢Δͱ͖ʹ ศརɻ 54
(JU-FOT 74$PEFͷ֦ுػೳɻ มߋ͞ΕͨߦͷมߋΛ؆୯ ʹݟΒΕΔ ରϑΝΠϧΛӈΫϦοΫ ˠʮ0QFO$IBOHFT 1SFWJPVT3FWJTJPOʯΛબɻ 55
࠷ޙʹ࣭͋Γ·ͤΜ͔ʁ 56