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
PHP で NFC リーダーを実装する
Search
memory
PRO
August 27, 2022
Programming
0
610
PHP で NFC リーダーを実装する
PHP Conference Okinawa 2022
- Implementation of NFC Reader written in PHP
memory
PRO
August 27, 2022
Tweet
Share
More Decks by memory
See All by memory
JVM の仕組みを理解して PHP で実装してみよう
m3m0r7
PRO
1
330
コードゴルファー道
m3m0r7
PRO
0
440
ChatGPT とつくる PHP で OS 実装
m3m0r7
PRO
3
270
事業観点から見る技術的負債の返済
m3m0r7
PRO
4
1.2k
PHP でアセンブリ言語のように書く技術
m3m0r7
PRO
1
240
PHP でアセンブリっぽく書く技術
m3m0r7
PRO
1
150
How to implement a RubyVM with PHP?
m3m0r7
PRO
3
2.9k
二郎系ラーメンのコールで学ぶ AST 解析
m3m0r7
PRO
8
3k
RubyVM を PHP で実装する 〜Hello World を出力するまで〜
m3m0r7
PRO
1
940
Other Decks in Programming
See All in Programming
マイベストのシンプルなデータ基盤の話 - Googleスイートとのつき合い方 / mybest-simple-data-architecture-google-nized
snhryt
0
110
TFLintカスタムプラグインで始める Terraformコード品質管理
bells17
2
490
EMこそClaude Codeでコード調査しよう
shibayu36
0
500
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
990
Temporal Knowledge Graphで作る! 時間変化するナレッジを扱うAI Agentの世界
po3rin
5
1k
三者三様 宣言的UI
kkagurazaka
0
290
Dive into Triton Internals
appleparan
0
270
contribution to astral-sh/uv
shunsock
0
560
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
1.3k
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
390
Swift Concurrency 年表クイズ
omochi
3
190
スマホから Youtube Shortsを見られないようにする
lemolatoon
27
34k
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Practical Orchestrator
shlominoach
190
11k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Visualization
eitanlees
150
16k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Making Projects Easy
brettharned
120
6.4k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
How to train your dragon (web standard)
notwaldorf
97
6.3k
Transcript
ΊΓʔ 1)1Ͱ/'$ϦʔμʔΛ࣮͢Δ 1)1ΧϯϑΝϨϯεԭೄ
@2020 Torana, Inc. @2020 Torana, Inc. ΊΓʔ ࣗݾհ 1)1Ͱ+7.Λ࣮ͨ͠ΓຊΛॻ͍ͯͨΓͯ͠ ·͢ɻೕ༮ࣇ͚ҭ؝۩ͷαϒεΫϦϓγϣϯ
αʔϏεΛఏڙ͢ΔגࣜձࣾτϥʔφͰ$50Λ ͍ͯ͠·͢ɻ !NNS
@2020 Torana, Inc. ͘͡ ͬͯΈΑ͏ͱࢥͬͨϞνϕʔγϣϯ /'$Ϧʔμʔͱ ࣮ํ๏ ·ͱΊ
ͬͯΈΑ͏ͱࢥͬͨ Ϟνϕʔγϣϯ
ͭ͋Γ·͢
ܹ͕ཉ͔ͬͨ͠ʜ
εΫϦϓτݴޠͰϋʔυʹܨ͙ܥ 1ZUIPO͔ΓΘΕͯͯζϧ͍ʜ
ͦ͏ͩɺݟฦͯ͠Ζ͏
/'$Ϧʔμʔͱ
@2020 Torana, Inc. /'$Ϧʔμʔͱ 'FMJ$B3'*%ͳͲΛ͚ۙͮΔͱɺԿ͔͠Βಈ࡞͢Δͷɻ 4VJDB1"4.0 F"NVTFNFOU1BTTͳͲ'FMJ$B
ϢχΫϩ(6ͳͲʹ͍͍ͭͯΔλά3'*% ిࢠ֬ఆਃࠂΛ͍ͯ͠Δํɺ͓ೃછΈ͔͠Ε·ͤΜ ࠷ۙ4POZ͔Β৽͘͠1B4P3J3$4͕ग़·ͨ͠Ͷ
@2020 Torana, Inc. /'$Ϧʔμʔͱ /'$ʹ৭ʑͳن͕֨͋Γ·͢ جຊతͳن֨*40*&$ /'$*1 *40*&$
/'$*1 *40*&$ 'FMJ$B ϚΠφϯόʔΧʔυͳͲ *40*&$ چF".64&.&/51"44 *40*&$ ΩϟογϡΧʔυɾΫϨδοτΧʔυ ͳͲɻ
@2020 Torana, Inc. /'$Ϧʔμʔͱ /'$ʹ৭ʑͳن͕֨͋Γ·͢ ີணܕ ʙNN *40*&$
ۙܕ ʙDN *40*&$ ۙܕ ʙDN *40*&$
@2020 Torana, Inc. /'$Ϧʔμʔͱ
@2020 Torana, Inc. /'$Ϧʔμʔͱ
@2020 Torana, Inc. /'$Ϧʔμʔͱ "NB[POΛݟΔͱ৭ΜͳछྨͷΧʔυϦʔμʔ͕͋Γ·͢ ͕ɺࠓճ4POZͷ1B4P3JΛϕʔεʹτʔΫ͠·͢ ༻͢ΔϋʔυΣΞσόΠε
1B4P3J3$4 1B4P3J3$4
࣮ํ๏
@2020 Torana, Inc. ࣮ํ๏ ͦͦ''*ͱ ࢀর: https://www.php.net/manual/ja/intro. ff i .php
ͭ·ΓɺͲ͏͍͏͜ͱͩͬͯΑʁ
@2020 Torana, Inc. ࣮ํ๏ ͦͦ''*ͱ TPEMM EZMJCͱ͍ͬͨڞ༗ϥΠϒϥϦͷ$ͷσʔλߏؔΛ ϐϡΞͳ1)1ͰΞΫηεͰ͖ΔΑ͏ʹ͢Δͷ
;FOE&YUFOTJPO"1*தؒݴޠΛཧղ͢Δඞཁಛʹͳ͘ɺ؆қతʹ ݺͼग़ͤΔΑ͏ʹͳΔ 1)1͔Βಋೖ ͍࣌ಓ͋Μ·Γͳ͍Μ͡Όͳ͍͔ɺͱ᷿Ͱʹ
@2020 Torana, Inc. ࣮ํ๏ ͦͦ''*ͱ MJC ffi ͕ϕʔεʹͳ͍ͬͯ·͢
IUUQTTPVSDFXBSFPSHMJC ffi ଞʹ3VCZ1ZUIPOͳͲʹಋೖ͞Εͯ·͢
''*ͷαϯϓϧ
@2020 Torana, Inc. ࣮ํ๏ ''*ͷαϯϓϧ ࢀর: https://www.php.net/manual/ja/ ff i .examples-basic.php
ͬͯΔ04ʹΑͬͯมΘΔ͠ɺ ྫ͚ͩݟͯͿͬͪΌ͚Θ͔ΒΜ
ͪͳΈʹ1)1ͷྫNBD04্ͩͱ ಈ࡞͠·ͤΜ
@2020 Torana, Inc. ࣮ํ๏ ''*ͷαϯϓϧ ࢀর: https://www.php.net/manual/ja/ ff i .examples-basic.php
C ͷϔομʔϑΝΠϧʹ͔͔Ε͍ͯΔͷͩͱࢥ͑ OK ݫີʹɺએݴ͞Ε͍ͯΔͷ ڞ༗ϥΠϒϥϦ·Ͱͷύε ྫɺ૬ରύε͕ͩɺઈରύεͰͳ͠
@2020 Torana, Inc. ࣮ํ๏ ''*ͷαϯϓϧ ࢀর: https://www.php.net/manual/ja/ ff i .examples-basic.php
NBDͷ߹ɺڞ༗ϥΠϒϥϦ9$PEFܦ༝ͰΠϯετʔϧ͞ΕΔͷ Ͱɺڞ༗ϥΠϒϥϦͷύεҎԼͰ͢ɻʢࣄલʹ9$PEFͷΠϯετʔ ϧ͕ඞཁʣ "QQMJDBUJPOT9DPEFBQQ$POUFOUT%FWFMPQFS5PPMDIBJOT 9DPEF%FGBVMUYDUPPMDIBJOVTSMJCMJCDMBOHEZMJC ͜ΕΛίʔυʹΈࠐΉͱʜ
@2020 Torana, Inc. ࣮ํ๏ ''*ͷαϯϓϧ ࢀর: https://www.php.net/manual/ja/ ff i .examples-basic.php
࣮ࡍʹ/'$ϦʔμʔΛ ࡞ͬͯΈ·͢
@2020 Torana, Inc. ࣮ํ๏ ϋʔυΣΞଆҎԼΛ༻ҙ 1B4P3J3$4 1B4P3J3$4
1B4P3J3$4ʹ͍ͭͯ NBD04্ͰMJCOGD QDTDMJUFͰಈ͘͜ͱ֬ೝͰ͖͍ͯΔͷͰ͕͢ɺ ॾ͕͋ΓࠓճͷτʔΫͰ͓ݟૹΓͱ͍͚ͤͯͨͩ͞Εͱࢥ͍·͢
@2020 Torana, Inc. ࣮ํ๏ ιϑτΣΞଆͷ࣮ MJCOGD·ͨMJCVTC͕͑ΔεΫϦϓτݴޠΛ༻ҙ ͭ·Γɺ''*͕͑Ε1)1Ͱ(PͰ3VTUͰ࣮Ͱ͖·͢
@2020 Torana, Inc. ࣮ํ๏ 6CVOUV্Ͱಈ࡞֬ೝ͞ΕͯΔํ͕͍Βͬ ͠Ό͍·͢ IUUQTRJJUBDPNTOJUFNT DGBDGBEEC
NBD04.POUFSFZͩͱͳ͔ͥ6*% /'$*% ͕ೝࣝ͞Εͣʜ ͦͦMJCOGDͩͱ'FMJ$Bೝࣝ͞Εͳ ͍ʢ*40"ͩͱೝࣝ͞ΕΔ༷ʣ QDTD@TDBOͩͱೝࣝ͞ΕΔ
@2020 Torana, Inc. ࣮ํ๏ 6CVOUV্Ͱಈ࡞֬ೝ͞ΕͯΔํ͕͍Βͬ ͠Ό͍·͢ IUUQTRJJUBDPNTOJUFNT DGBDGBEEC
NBD04.POUFSFZͩͱͳ͔ͥ6*% /'$*% ͕ೝࣝ͞Εͣʜ ͦͦMJCOGDͩͱ'FMJ$Bೝࣝ͞Εͳ ͍ʢ*40"ͩͱೝࣝ͞ΕΔ༷ʣ QDTD@TDBOͩͱೝࣝ͞ΕΔ
@2020 Torana, Inc. ࣮ํ๏ ιϑτΣΞଆͷ࣮ ͨͩ͠MJCOGD1B4P3J3$4Ͱಈ࡞ͤͣ ͋ͱ"QQMF8BMMFUԠͤͣ
ߋʹ1)1''*ʹόά͕͋Γɺ''*ʹΞλον͞ΕΔ͖ΦϒδΣΫ τ͕Ξλον͞Εͳ͍
@2020 Torana, Inc. ࣮ํ๏
1)1''*ͷόά౿Μͩʜ
@2020 Torana, Inc. ࣮ํ๏ ιϑτΣΞଆͷ࣮ 1B4P3J3$4 1B4P3J3$4Ͱಈ࡞ͤ͞Δ߹ɺMJCVTCΛͬͯ ࣗ࡞͢Δඞཁ͕͋Γ·͢
ͳ͓3$4ͷυΩϡϝϯτɺ͏͢ͰʹखʹೖΒͳ͍༷ 1ZUIPOͷOGDQZͰલྫ͕͋ΔͷͰ1)1ʹॻ͖͠·ͨ͠ IUUQTHJUIVCDPNOGDQZOGDQZCMPCNBTUFSTSDOGDDMGSDTQZ
@2020 Torana, Inc. ࣮ํ๏ ιϑτΣΞଆͷ࣮ MJCOGDͰ؆୯ʹ࣮͍ͨ͠߹3$4 رগՁ͕ߴ͘ஈ͕ΊͬͪΌߴಅ͍ͯ͠·͕͢ʜ
MJCVTCͰ൚༻తʹ࣮͍ͨ͠߹3$4
IUUQTHJTUHJUIVCDPN NNSDBEEBFBGFBFEEFGDC
MJCOGDͰͷ࣮ํ๏
@2020 Torana, Inc. MJCOGDͰͷ࣮ํ๏ MJCOGDΛམͱͯ͘͠Δ NBDͷ߹CSFXJOTUBMMMJCOGD
CSFXQSF fi Y $FMMBSMJCOGD\όʔδϣϯ^MJCMJCOGDEZMJC͕͑ ΔΑ͏ʹͳΕ0, -JOVYͷ߹VTSMPDBMMJCMJCOGDTP͋ͨΓʹ Πϯετʔϧ͞Ε·͢
@2020 Torana, Inc. MJCOGDͰͷ࣮ํ๏ MJCOGDʹαϯϓϧ͕͋ΔͷͰɺݟͳ͕Β''*Ͱ࣮͕Ͱ͖·͢ IUUQTHJUIVCDPNOGDUPPMTMJCOGDCMPCNBTUFSFYBNQMFT OGDQPMMD
@2020 Torana, Inc. MJCOGDͰͷ࣮ํ๏ MJCOGDͷαϯϓϧΛಈ͔ͯ͠ΈΔ ϋʔυΣΞΛͭͳ͍ͩঢ়ଶͰ
CSFXQSF fi Y $FMMBSMJCOGDCJOOGDMJTU CSFXQSF fi Y $FMMBSMJCOGDCJOOGDQPMM ্هΛ࣮ߦͯ͠ΈΔͱɺαϯϓϧ͕࣮ߦͰ͖·͢
@2020 Torana, Inc. MJCOGDͰͷ࣮ํ๏ ''*ʹ༻͢ΔϔομʔϑΝΠϧ OGDJOUFSOBMI IUUQTHJUIVCDPNOGDUPPMTMJCOGDCMPC
CBEDFCFGCDBBCDCFFCGCFMJCOGDOGDJOUFSOBMI OGDUZQFTI IUUQTHJUIVCDPNOGDUPPMTMJCOGDCMPC CBEDFCFGCDBBCDCFFCGCFJODMVEFOGDOGDUZQFTI
@2020 Torana, Inc. MJCOGDͰͷ࣮ํ๏
@2020 Torana, Inc. MJCOGDͰͷ࣮ํ๏ ϔομʔϑΝΠϧͷதΛॻ͍͍ͯ͘ͱɺҎԼͷΑ͏ʹΞΫηε͕Ͱ͖ ΔΑ͏ʹͳΓ·͢
@2020 Torana, Inc. MJCOGDͰͷ࣮ํ๏
@2020 Torana, Inc. MJCOGDͰͷ࣮ํ๏ ͪͳΈʹɺϔομʔϑΝΠϧ1)1ͷ''* ͰఆϚΫϩɺؔͳͲͷఆٛͰ͖ͳ ͍ͷͰखॻ͖Ͱमਖ਼·ͨআͷඞཁ͕ ͋Γ·͢
ࠨਤͷΑ͏ͳίʔυআ͢Δඞཁ͕͋Γ· ͢ɻ ͦͷͨΊɺ೦ͳ͕ΒҰ෦ͷίʔυಈ͔ͳ ͔ͬͨΓ͠·͢
MJCTVCͰͷ࣮ํ๏
@2020 Torana, Inc. MJCVTCͰͷ࣮ํ๏ ൚༻తʹ࣮͢ΔͳΒMJCVTC MJCVTCΛམͱͯ͘͠Δ NBDͷ߹CSFXJOTUBMMMJCVTC
CSFXQSF fi Y $FMMBSMJCOGD\όʔδϣϯ^MJCMJCVTCEZMJC͕͑ΔΑ͏ʹͳΕ 0, -JOVYͷ߹VTSMPDBMMJCMJCVTCTP͋ͨΓʹ Πϯετʔϧ͞Ε·͢
@2020 Torana, Inc. MJCVTCͰͷ࣮ํ๏ ҎԼΛࢀߟʹ࣮ IUUQTHJUIVCDPNOGDQZOGDQZCMPCNBTUFSTSDOGDDMG SDTQZ
IUUQTHJUIVCDPNZTPNFJUFTU@HFUOGDJECMPCNBTUFS HFUEFWJDFJEDQQ IUUQTRJJUBDPNTBUVSEBZJUFNTGDEGCCDC
@2020 Torana, Inc. MJCVTCͰͷ࣮ํ๏ ''*ʹ༻͢ΔϔομʔϑΝΠϧ IUUQTHJUIVCDPNMJCVTCMJCVTCCMPCNBTUFSMJCVTCMJCVTCI
@2020 Torana, Inc. MJCVTCͰͷ࣮ํ๏ ͦͦ64#Ͱଓ͞Ε͍ͯΔͷΛҰཡͰදࣔ͢Δʹ NBDͩͱCSFXJOTUBMMMTVTCΛೖΕΔͱखܰʹ֬ೝͰ͖·͢
@2020 Torana, Inc. MJCVTCͰͷ࣮ํ๏ MJCVTCͰ/'$ϦʔμʔΛ࡞Δલʹɺख࢝ΊʹσόΠεͷҰཡΛऔಘ ͢ΔίʔυΛॻ͍ͯΈΔͷ͕͍͍͔ͳͱࢥ͍·͢ ҎԼΛࢀߟʹ
IUUQTHJUIVCDPNMJCVTCMJCVTCCMPCNBTUFSFYBNQMFT MJTUEFWTD
IUUQTHJTUHJUIVCDPNNNS EBEFEBFCGDGCE
IUUQTHJUIVCDPNNNSOGDGPSQIQCMPC NBTUFSTSD%SJWFST3$43$4$PNNBOEQIQ
@2020 Torana, Inc. MJCVTCͰͷ࣮ํ๏ ൚༻తʹ࣮͢ΔͳΒMJCVTC MJCVTCΛ͑ɺ64#Ͱଓ͍ͯ͠ΔσόΠεͱ௨৴͕Ͱ͖Δ ྫ͑ɺ/'$Ҏ֎ʹ͍ಓͨ͘͞Μ͋Δ
ྫ͑εϐʔΧʔɾϔουϑΥϯͱ͔ɺ64#Χϝϥɺ64#ϚΠΫɺ 64#ΩʔϘʔυɺ64#ϝϞϦ)%%44%ͳͲͱͷ௨৴
%&.0
·ͱΊ
@2020 Torana, Inc. ·ͱΊ ϋʔυΣΞ͕བྷΜͰ͘Δͱϋʔυϧ͕ΊͬͪΌ্͕Δؾ͕͠·͕͢ɺ ҙ֎ͱ؆୯ʹ࣮͕Ͱ͖·͢ ࣍1)1Ͱ#MVFUPPUIΓ͍ͨͳͱࢥͬͯ·͢
ඇಉظॲཧͱ͍͍1)1ͰͳΜͰͰ͖Δ࣌ʹͳ͖ͬͯͨͳͱࢥͬͯ ·͢
@2020 Torana, Inc. ࢀߟ IUUQTXXXKJQEFDPSKQBSDIJWFTQVCMJDBUJPOT+ 1%' IUUQTXXXTPOZDPKQ1SPEVDUTGFMJDB/'$