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
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
200
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
140
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
220
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
670
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
200
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
1.3k
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
580
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
580
FDEが実現するAI駆動経営の現在地
gonta
2
270
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
370
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.6k
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
22k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
170
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
240
A Soul's Torment
seathinner
6
3.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Designing for Performance
lara
611
70k
Code Review Best Practice
trishagee
74
20k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Designing Powerful Visuals for Engaging Learning
tmiket
1
480
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
670
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