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
ドラッグ&ドロップを支える技術
Search
高津亘宏
September 16, 2023
Technology
2
1.1k
ドラッグ&ドロップを支える技術
MiroやFigmaのようなWeb上でドラッグ&ドロップ(GUI操作)を実装する技術について深掘りしていきます
高津亘宏
September 16, 2023
Tweet
Share
Other Decks in Technology
See All in Technology
React19.2のuseEffectEventを追う
maguroalternative
2
450
能登半島地震で見えた災害対応の課題と組織変革の重要性
ditccsugii
0
1k
AI時代こそ求められる設計力- AWSクラウドデザインパターン3選で信頼性と拡張性を高める-
kenichirokimura
3
340
LLMアプリの地上戦開発計画と運用実践 / 2025.10.15 GPU UNITE 2025
smiyawaki0820
1
600
ソースを読むプロセスの例
sat
PRO
15
9.1k
フレームワークを意識させないワークショップづくり
keigosuda
0
200
ソフトウェアエンジニアの生成AI活用と、これから
lycorptech_jp
PRO
0
300
CoRL 2025 Survey
harukiabe
1
210
20251007: What happens when multi-agent systems become larger? (CyberAgent, Inc)
ornew
1
310
Dylib Hijacking on macOS: Dead or Alive?
patrickwardle
0
210
プロダクトのコードから見るGoによるデザインパターンの実践 #go_night_talk
bengo4com
1
2.6k
Findy Team+ QAチーム これからのチャレンジ!
findy_eventslides
0
420
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
Automating Front-end Workflow
addyosmani
1371
200k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
What's in a price? How to price your products and services
michaelherold
246
12k
Speed Design
sergeychernyshev
32
1.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Designing Experiences People Love
moore
142
24k
Transcript
None
ࣗݾհ ʲ໊લʳ ߴ ʲॴଐʳ ΦϯϥΠϯαϩϯ։ൃ෦ΞʔΩςΫτνʔϜ ʲྖҬʳ αʔόʔαΠυΤϯδχΞͱͯ͠ೖࣾ ۀͰΠϯϑϥ͔ΒϑϩϯτΤϯυ·Ͱ෯͘ ϑϩϯτΤϯυ7VFKT /VYUKT
ͱ3FBDUKT /FYUKT ͕ॻ͚Δ ʲझຯʳ ϑοταϧ
ͱ͜ΖͰօ͞Μʂ
'JHNB.JSPͷΑ͏ͳ(6*Ͱυϥοά Ξϯυυϩοϓग़དྷΔΑ͏ͳ8FCΞϓϦ Λ࡞Γͨ͘ͳͬͨ͜ͱ͋Γ·ͤΜ͔ʁ
͋Γ·͢ɻ
8FC্ͰυϥοάˍυϩοϓΛ࣮͠Α͏ͱ ͨ͠ͱ͖ʹ·ͣ࠷ॳʹࢥ͍ͭ͘؆୯ͳΓํ
%0.ૢ࡞ ελΠϦϯάͨ͠IUNMΛૢ࡞͢Δख๏
UPQQY MFGUQY υϥοάˍυϩοϓ͢ΔΦϒδΣΫτͷ࠲ඪΛঢ়ଶཧ \Y Z^ EJWλάΛઈରஔͰஔ͠ɺ࠲ඪΛঢ়ଶཧ ઈରஔ
UPQ:QY MFGU9QY $VSTPS $VSTPSͷ࠲ඪΠϕϯτຖʹऔಘग़དྷΔ
ʬυϥοά։࢝ʭ NPVTFEPXO 1$ PSUPVDITUBSU 41 \Y Z^ υϥοά։࢝ ԡ͢
ʬυϥοάதʭ NPVTFNPWF 1$ PSUPVDINPWF 41 ʬυϩοϓʭ NPVTFVQ 1$ PSUPVDIFOE
41 \Y Z^ υϥοάˍυϩοϓ ʬυϥοά։࢝ʭ NPVTFEPXO 1$ PSUPVDITUBSU 41 ͢
EZ EY \Y Z^ \Y EY Z EZ^ ΠϕϯτຖʹϚεͷ࠲ඪ͔Βબ͍ͯ͠ΔΦϒδΣΫτͷ࠲ඪΛߋ৽ ʬυϥοά։࢝ʭ
NPVTFEPXO 1$ PSUPVDITUBSU 41 ʬυϥοάதʭ NPVTFNPWF 1$ PSUPVDINPWF 41 ʬυϩοϓʭ NPVTFVQ 1$ PSUPVDIFOE 41 ϚεͷҠಈڑ EY EZ
αϯϓϧ࣮
%0.ૢ࡞ͰυϥοάˍυϩοϓΛ͢ΔදతͳϥΠϒϥϦ ʲWVFESBHHBCMFSFTJ[BCMFʳʲSFBDUESBHHBCMFʳ
λεΫཧπʔϧͷΑ͏ͳ(6*Λ࣮Ͱ͖ΔϥΠϒϥϦ ɾWVFESBHHBCMF ɾSFBDUEOE ɾSFBDUCFBVUJGVMEOE SFBDUCFBVUJGVMEOEͷHJUIVCϦϙδτϦ IUUQTHJUIVCDPNBUMBTTJBOSFBDUCFBVUJGVMEOE ͔ΒҾ༻
%PNૢ࡞ͷ՝
େྔͷΦϒδΣΫτΛϦΞϧλΠϜڞ༗͢ΔΑ͏ͳෳࡶͳॲཧΛΖ͏ͱ͢Δͱॏ͍
%0.ૢ࡞ߴίετˍݶք ɹɹɹɹ$BOWBTΛ༻͍ͯ͠Δ
-BZFS DBOWBT -BZFS DBOWBT $BOWBTͱ $BOWBTɺΣϒϖʔδʹϐΫηϧϕʔεͷάϥϑΟοΫεඳըΛՄೳʹ͢Δ)5.-ͷཁૉͷҰͭɻ $BOWBTɺ+BWB4DSJQUΛ༻͍ͯϐΫηϧΛૢ࡞͢Δ͜ͱͰɺߴͳඳըػೳΞχϝʔγϣϯɺը૾ฤूͳͲͷػೳΛ࣮ݱɻ $BOWBTͷ-BZFSΛ͚Ε͓ޓ͍ׯবͤͣಠཱੑΛҡ࣋͢Δ͜ͱ͕ग़དྷΔɻ
-BZFS DBOWBT
%0.ૢ࡞WT$BOWBT ʬύϑΥʔϚϯεʭ ɾ$BOWBTϐΫηϧϕʔεͷඳըͰ͋ΓɺେྔͷΦϒδΣΫτಈ͖͕͋Δ߹ͰΦϒδΣΫτͷҐஔঢ়ଶΛΞϓϦέʔγϣϯͷ +BWBTDSJQUͰશʹ੍ޚͰ͖ΔͨΊ%0.ΑΓޮతʹϨϯμϦϯάͰ͖Δ ɾ%0.ෳࡶͳπϦʔߏΛ͍࣋ͬͯΔͳͲͷཧ༝͔Βɺ%0.ૢ࡞ߴίετͳͷͰଟ͘ͷΦϒδΣΫτΛυϥοάˍυϩοϓ͢Δ߹ ϨϯμϦϯάͷԆΫϥογϡ ϋϯά ͢ΔՄೳੑ͕͋Δ ʬελΠϦϯάͷॊೈੑɺಠཱੑʭ
ɾ$BOWBTϐΫηϧϨϕϧͰͷ੍ޚΛՄೳʹ͢ΔͨΊɺҙͷܗ৭ͷΦϒδΣΫτΛࣗ༝ʹඳըͰ͖ɺଞͷDTTͷӨڹΛड͚ͳ͍ ɾ%0.ඪ४ͷ)5.-͓Αͼ$44ελΠϦϯάʹ੍͞ΕɺଞͷDTTͷӨڹΛड͚ΔՄೳੑ͕͋Δ ʬΠϕϯτϋϯυϦϯάʭ ɾϒϥβ%0.ཁૉʹର͢ΔΠϕϯτϋϯυϦϯάΛωΠςΟϒʹαϙʔτ͍ͯ͠ΔͷͰ؆୯ʹ࣮ग़དྷΔ ɾDBOWBTʹΠϕϯτϋϯυϦϯάͷػೳ͕ແ͍ͨΊDBOWBT্ͷ֤ΦϒδΣΫτͷܗঢ়ʹ߹ΘͤͯΠϕϯτϋϯυϦϯάͷॲཧΛ ϑϧεΫϥονͰ࣮͠ͳ͍ͱ͍͚ͳ͍
DBOWBT 3 B C બ͢ΔΦϒδΣΫτ ઌఔͱಉ༷ͳԁܗΦϒδΣΫτ
DBOWBT 3 B C Y Z Ϛε ΠϕϯτϋϯυϦϯάͷϩδοΫυϥοάఆ
DBOWBT 3 B C Y Z Ϛεͱԁͷத৺ͷڑ ΠϕϯτϋϯυϦϯάͷϩδοΫυϥοάఆ
DBOWBT 3 B C Y Z Ϛεͱԁͷத৺ͷڑ Ϛεͱԁͷத৺ͷڑ (x −
a)2 + (y − b)2 ≦ R ԁͷܘ (x − a)2 + (y − b)2 ≦ R2 ΠϕϯτϋϯυϦϯάͷϩδοΫυϥοάఆ
DBOWBT 3 B C Y Z υϥοά։࢝ (x − a)2
+ (y − b)2 ≦ R2 NPVTFEPXOPSUPVDITUBSU
DBOWBT B C Y Z υϥοάதNPVTFͷҠಈڑΛࢉग़ Y Z EY EZ
NPVTFNPWFPSUPVDINPWF
DBOWBT B C Y Z NPVTFNPWF UPVDINPWF ΠϕϯτຖʹΦϒδΣΫτͷ࠲ඪΛߋ৽ˍDBOWBTΛ࠶ඳը 3 Y
Z EY EZ B EY C EZ DBOWBTΛ࠶ඳը ˞ۃྗDBOWBTͷ-BZFSΛ͚Δ͜ͱͰࠩҎ֎ എܠը૾ ࠶ඳը͠ͳ͍Α͏ʹ͢Δ͜ͱ͕ग़དྷΔ
αϯϓϧ࣮ WVF
αϯϓϧ࣮ WVF ΦϒδΣΫτͷܗঢ়ຖʹΠϕϯτϋϯυϦϯάͷϩδοΫΛॻ͔ͳ͍ͱ͍͚ͳ͍🥺
αϯϓϧ࣮ WVF ΦϒδΣΫτͷܗঢ়ຖʹΠϕϯτϋϯυϦϯάͷϩδοΫΛॻ͔ͳ͍ͱ͍͚ͳ͍🥺 ,POWBKT͕ղܾʂ
3FBDU7VFͰ͑Δʂ LPOWBKT SFBDULPOWB WVFLPOWB
,POWBKTͰ͑ΔදతͳΦϒδΣΫτ $JSDMF 3FDU &MJQTF 4UBS 3FHVMBS1PMZHPO "SSPX
αϯϓϧ࣮
%SBHHBCMFΛ༩͢Δ͜ͱͰ؆୯ʹυϥοάˍυϩοϓΛ࣮Ͱ͖Δ
%0.ૢ࡞WT$BOWBTͷ·ͱΊ ʬ%0.ૢ࡞Ͱ࡞Δͷ͕ద͍ͯ͠Δ࣌ʭ ɾ؆୯ͳ6*গྔͷಈతཁૉ͔͠ͳ͍߹ ɾ%0. )5.- ͷػೳΛ׆༻͍ͨ͠߹ FYλεΫཧπʔϧ ʬ$BOWBTͰ࡞Δͷ͕ద͍ͯ͠Δͱ͖ʭ ɾߴͳάϥϑΟοΫεɺେྔͳಈతΦϒδΣΫτɺ·ͨߴසͷ࠶ඳը͕ඞཁͳ߹
ɾDBOWBTͷػೳΛ׆༻ʢը૾ΞχϝʔγϣϯΛ࡞ͯ͠อଘʣ͍ͨ͠Α͏ͳ߹
Ԡ༻ɿେྔͷΦϒδΣΫτΛυϥοάˍυϩοϓ͢Δ࣮ ɾΦϒδΣΫτͷϦετͰঢ়ଶཧ ˠ/P42-Ͱѻ͑Δ ɾDBOWBTͰ࠷ޙʹඳըͨ͠ͷ͕Ұ൪্ʹདྷΔ ˠ࠷ޙʹબͨ͠ΦϒδΣΫτϦετͷඌʹՃ͑ͯ[JOEFYΛ࣮