$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
今さら聞けない!Webデザイナーのためのプログラミング講座
Search
Toshiyuki TAKAHASHI
May 20, 2016
Programming
1
310
今さら聞けない!Webデザイナーのためのプログラミング講座
2015.1.25 に開催した「今さら聞けない!Webデザイナーのためのプログラミング講座」のスライドです
Toshiyuki TAKAHASHI
May 20, 2016
Tweet
Share
More Decks by Toshiyuki TAKAHASHI
See All by Toshiyuki TAKAHASHI
第11回 AED-LABO 解説用スライド
gautt
1
600
今さら聞けない!デザイナーのためのGit超入門
gautt
2
290
10倍ラクするアピアランス入門
gautt
2
630
Other Decks in Programming
See All in Programming
AIコーディングエージェント(Gemini)
kondai24
0
280
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
310
GoLab2025 Recap
kuro_kurorrr
0
780
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
440
TestingOsaka6_Ozono
o3
0
180
JETLS.jl ─ A New Language Server for Julia
abap34
2
460
ゲームの物理 剛体編
fadis
0
370
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
450
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
190
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
7
2.4k
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
300
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
25k
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
89
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
520
The Spectacular Lies of Maps
axbom
PRO
1
400
Rails Girls Zürich Keynote
gr2m
95
14k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
170
Abbi's Birthday
coloredviolet
0
3.8k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Docker and Python
trallard
47
3.7k
Transcript
ࠓ͞Βฉ͚ͳ͍ʂ 8FCσβΠφʔͷͨΊͷ ϓϩάϥϛϯάߨ࠲ AED LABO 2015.1.25. sun. TOSHIYUKI TAKAHASHI (GRAPHIC
ARTS UNIT )
ʠίϯϐϡʔλ͕ߦ͏͖ॲཧΛॱংཱͯͯهड़ͨ͠ͷʡ ग़యɿϓϩάϥϜͱʤίϯϐϡʔλϓϩάϥϜʥʲQSPHSBNʳҙຯղઆઆ໌ఆٛɿ*5༻ޠࣙయʢIUUQFXPSETKQX&&"%&#&"&"IUNMʣ ϓϩάϥϜͱ
ͭΊͷॲཧ ࣮ߦ ͭΊͷॲཧ ͭΊͷॲཧ ͭΊͷॲཧ ʜʜ ࣮ߦ ࣮ߦ ࣮ߦ ͋Β͔͡ΊܾΊΒΕͨॲཧΛ্͔Βॱ൪ʹ࣮ߦ͍ͯ͘͠
ϓϩάϥϜͱ
ͭΊͷॲཧ" ʜʜ ͭΊͷॲཧ" ࣮ߦ ࣮ߦ ͭΊͷॲཧ ࣮ߦ ͭΊͷॲཧ ࣮ߦ ݅
A B ϓϩάϥϜͱ
࣮ߦ ࣮ߦ ͭΊͷॲཧ# ͭΊͷॲཧ# ʜʜ ͭΊͷॲཧ ࣮ߦ ͭΊͷॲཧ ࣮ߦ ݅
A B ϓϩάϥϜͱ
ͭΊͷॲཧ" ʜʜ ͭΊͷॲཧ" ͭΊͷॲཧ ͭΊͷॲཧ ͭΊͷॲཧ# ͭΊͷॲཧ# ʜʜ ݅ʹΑͬͯॲཧΛৼΓ͚Δ ݅
A B ϓϩάϥϜͱ
ྫྷଂݿΛ։͚Δ தΛ֬ೝ͢Δ ڇ͕͋Δ ಲ͕͋Δ ͕ܲ͋Δ ϏʔϑεςʔΩ ϙʔΫιςʔ άϦϧνΩϯ ങ͍ʹߦ͘ ͕͋Δ͔
NO YES ༦৯ͷϝχϡʔΛܾΊΔͱ͖ͷྲྀΕ
ը૾ग़యɿ࡚ࢢɿΧϞஅςετʢIUUQXXXDJUZLBXBTBLJKQQBHFIUNMʣ அνϟʔτ͍νϟʔτҰछͷʮϓϩάϥϜʯͱݴ͑Δ
զʑ͕͢ݴ༿͕ࠃʹΑͬͯҟͳΔΑ͏ʹ ϓϩάϥϜݴޠʹ͍͔ͭ͘ͷछྨ͕͋Γ·͢
Web Design (Front End) JavaScript / PHP … Web Development
Ruby / Python / Perl / Scala … Application Development Java / C++ / Objective-C / Swift … ओͳϓϩάϥϜݴޠͷछྨ ͪΖΜɺ͜ͷଞʹͨ͘͞ΜͷϓϩάϥϜݴޠ͕ଘࡏ͠·͢
ΣϒσβΠφʔతʹೃછΈ͕͋Δͷίί ओͳϓϩάϥϜݴޠͷछྨ Web Design (Front End) JavaScript / PHP …
Web Development Ruby / Python / Perl / Scala Application Development Java / C++ / Objective-C / Swift
ݴޠͷ༷จ๏ͳͲΛ֮͑Δͷେ͕ͩɺ ॲཧͷߟ͑ํʢΞϧΰϦζϜʣΛ֮͑Δํ͕େ ϓϩάϥϜతͳࢥߟΛ͢Δʹ
࠺ʮڇೕΛ̍ύοΫങ͖ͬͯͯɻཛ͕͋ͬͨΒ͓̒ͭئ͍ʯ ͠Βͯ͘͠ɺ͕ʬڇೕΛ̒ύοΫʭങͬͯؼ ࠺ʮͳΜͰڇೕΛ̒ύοΫങ͖ͬͯͨͷΑʯ ʮͩͬͯཛ͕͔͋ͬͨΒʯ ͋Δ࠺͕ϓϩάϥϚʔͷʹങ͍ΛཔΜͩΒʜʜ ͓લҰମԿΛݴ͍ͬͯΔͷͩ
WBSڇೕͷݸ JG ཛ
\ ڇೕͷݸ ^FMTF\ ڇೕͷݸ ^ ڇೕΛങ͏ ڇೕͷݸ ˞+BWB4DSJQUͷ߹ ࠺ͷ͓ئ͍ʹ͜͏ฉ͍͑ͯ͜Δ
ίʔυΛॻ͘͜ͱ ϓϩάϥϜతͳࢥߟΛ͢Δʹ ϓϩάϥϜ
ΞϧΰϦζϜʢΈखॱʣ Λߟ͑Δ͜ͱ ϓϩάϥϜ ϓϩάϥϜతͳࢥߟΛ͢Δʹ
Hands on ͬͯΈΑ͏
࣮ߦڥ w DPOTPMFMPH μΠΞϩάදࣔ w BMFSU w DPOpSN w QSPNQU
ม σʔλܕ ԋࢉࢠ w ࢉज़ԋࢉࢠ w ೖԋࢉࢠ w ൺֱԋࢉࢠ w ཧԋࢉࢠ ؔ w GVODUJPO w Ҿ w Γ w ଈ࣌ؔ w ແ໊ؔ มͷείʔϓ ྻ ࿈ྻʢϋογϡʣ ݅ذ w JG w JGʜFMTF w JGʜFMTFJG w ൺֱԋࢉࢠ w TXJUDI ܁Γฦ͠ w XIJMF w EPʜXIJMF w GPS w GPSʜJO ࠓΓ͍ͨ͜ͱ
Σϒϒϥβ w (PPHMF$ISPNFɺ4BGBSJ ΤσΟλ w ͓͖ͳͷʢ65'Λѻ͑Δͷʣ w σϞ4VCMJNF5FYUΛ༻ ίʔυΛॻ͘ॴ w
)5.-ͷTDSJQUཁૉ w ֎෦KTϑΝΠϧ ݴޠ w +BWB4DSJQU ࣮ߦڥ
DPOTPMFMPH σόοΨͷ8FCίϯιʔϧʹϝοηʔδΛग़ྗ (PPHMF$ISPNFɿදࣔˠ։ൃཧˠ+BWB4DSJQUίϯιʔϧ 4BGBSJɿ։ൃˠΤϥʔίϯιʔϧΛදࣔ 'JSFGPYɿπʔϧˠ8FC։ൃˠ8FCίϯιʔϧ *&ɿʦ'ʧͰ։ൃऀπʔϧΛ։͖ɺʦίϯιʔϧʧλϒΛબ ࣮ߦڥ
Show dialog box μΠΞϩάϘοΫεදࣔ
BMFSU ܯࠂμΠΞϩάΛදࣔ μΠΞϩάϘοΫεදࣔ
DPOpSN ֬ೝμΠΞϩάΛදࣔ μΠΞϩάϘοΫεදࣔ
QSPNQU จࣈೖྗՄೳͳμΠΞϩάΛදࣔ μΠΞϩάϘοΫεදࣔ
Variable ม
Λࣗ༝ʹೖΕସ͑Ͱ͖ΔೖΕ ʁ ͍͋͏ USVF ม ม
มΛ࠷ॳʹ͏ͱ͖ʮWBSʯͰએݴ͢Δ WBSม໊ ม
มͷதʹΛೖΕΔʹʮʯΛ͏ ม໊ ͜ͷΠίʔϧʮೖԋࢉࢠʯͱ͍͏ ೖ ม
Data type σʔλܕ
σʔλܕ σʔλʹʮܕʯ͕͋Δ
σʔλܕ จࣈͷ͜ͱ γϯάϧΫΦʔςʔγϣϯ͔μϒϧΫΦʔςʔγϣϯͰׅΔ 4USJOHܕ จࣈྻ
σʔλܕ ࣈͷ͜ͱ +BWB4DSJQUͰখʢුಈখʣ۠ผ͠ͳ͍ /VNCFSܕ
σʔλܕ USVFʢਅʣɺGBMTFʢِʣͷͲͪΒ͔ ओʹ݅ఆͳͲͰ͏ CPPMFBOܕ ཧ
Expressions and operators ԋࢉࢠ
ͷܭࢉʹ͏ ࢉज़ԋࢉࢠ ԋࢉࢠ
มʹΛೖ͢Δͱ͖ʹ͏ ೖԋࢉࢠ ԋࢉࢠ
ෳͷରΛൺֱ͢Δͱ͖ʹ͏ ൺֱԋࢉࢠ ԋࢉࢠ
݅ͷਅِΛ͢Δͱ͖ʹ͏ ཧԋࢉࢠ ԋࢉࢠ
Array ྻ
ෳͷมΛηοτʹͨ͠Α͏ͳͷ ྻ
ม ม ม ม ม ྻ
࠷ॳʹ͏ͱ͖ʮOFX"SSBZ ʯͰ࡞͢Δ ม໊OFX"SSBZ ྻ
͜ͷΑ͏ʹলུͯ͠ॻ͘͜ͱͰ͖Δ ม໊<> OFX"SSBZ ͱಉ͡ ྻ
Λೖ͢Δͱ͖ม໊ʹʦ൪߸ʧΛ͚Δ ม໊<O> ͜ͷ൪߸ͷ͜ͱΛΩʔͱݺͿ ೖ ྻ
Associative array ࿈ྻ
൪߸Ͱͳ͘ΩʔϫʔυͰཧ͢Δྻ OBNF ࢁాଠ ࿈ྻ BHF TFY IFJHIU XFJHIU ม ม
ม ม ม உ ࿈ྻ
࠷ॳʹ͏ͱ͖ʮOFX0CKFDU ʯͰ࡞͢Δ ม໊OFX0CKFDU ࿈ྻ
ม໊\^ ͜ͷΑ͏ʹলུͯ͠ॻ͘͜ͱͰ͖Δ OFX0CKFDU ͱಉ͡ ࿈ྻ
ม໊<LFZ> ม໊LFZ Λೖ͢Δͱ͖ม໊ʹʦʡΩʔʧΛ͚Δ ·ͨɺม໊ʹυοτ۠ΓͰΩʔΛࢦఆͯ͠0, ೖ ೖ ࿈ྻ
Conditional branch ݅ذ
JG ͬͱجຊతͳ݅ذ ݅ذ
JG ݅ \ ͕݅ਅͷͱ͖ͷॲཧ ^ ݅ذ
JGʜFMTF ύλʔϯΛذ͢Δ ݅ذ
JG ݅ \ ͕݅ਅͷͱ͖ͷॲཧ ^FMTF\ ِ͕݅ͱ͖ͷॲཧ ^ ݅ذ
JGʜFMTFJG ͭҎ্ͷύλʔϯΛذ͢Δ ݅ذ
JG ݅" \ ݅"͕ਅͷͱ͖ͷॲཧ ^FMTFJG ݅# \ ݅#͕ਅͱ͖ͷॲཧ ^FMTF\ ِ͕ͯ͢ͱ͖ͷॲཧ
^ ݅ذ
TXJUDI มͷʹΑͬͯॲཧΛذ ݅ذ
TXJUDI ม \ DBTF" มͷ͕"ͷͱ͖ͷॲཧ DBTF# มͷ͕#ͷͱ͖ͷॲཧ EFGBVMU ͲΕʹͯ·Βͳ͍ͱ͖ͷॲཧ ^
݅ذ
Repeat ܁Γฦ͠
XIJMF ݅Λຬ͍ͨͯ͠Δؒ܁Γฦ͢ ܁Γฦ͠
XIJMF ݅ \ ܁Γฦ͢ॲཧ ^ ͜ͷ݅Λຬ͍ͨͯ͠Δؒͣͬͱ܁Γฦ͞ΕΔ ܁Γฦ͠
EPʜXIJMF ݅Λຬ͍ͨͯ͠Δؒ܁Γฦ͢ʢ࠷ճ࣮ߦ͢Δʣ ܁Γฦ͠
EP\ ܁Γฦ͢ॲཧ ^XIJMF ݅ ແ݅ʹճ͚࣮ͩߦ ͋ͱ͜ͷ݅Λຬ͍ͨͯ͠Δؒͣͬͱ܁Γฦ͞ΕΔ ܁Γฦ͠
GPS ҰఆճͷॲཧΛ܁Γฦ͢ ܁Γฦ͠
GPS WBSJJOJ \ ܁Γฦ͢ॲཧ ^ ͜͜ʹ܁Γฦ͢ճΛࢦఆ͢Δ ܁Γฦ͠
GPSʜJO ྻΛࠪ͢Δʢྻཁૉͷݸ܁Γฦ͢ʣ ܁Γฦ͠
GPS WBSม໊JOྻ໊ \ ܁Γฦ͢ॲཧ ^ ΩʔΛ֨ೲ͢ΔͨΊͷม໊Λࢦఆ ͍ࠪͨ͠ྻ ܁Γฦ͠
Function ؔ
Α͘͏ॲཧʹ໊લΛ͚͍ͭͯͭͰݺͼग़ͤΔΑ͏ʹ͢Δ ʮ)FMMPʯͱ දࣔ͢Δॲཧ ໊ؔʮIFMMPʯ IFMMP )FMMP IFMMP IFMMP )FMMP )FMMP
ؔ
GVODUJPO໊ؔ \ ॲཧ ^ ʮGVODUJPOʯʹଓ໊͍ͯؔΛࢦఆ͢Δ ؔ
Ҿ ࣮ߦଆ͔Βؔʹ͢ ؔ
ؔʹରͯ͠ҙͷσʔλΛ͢ ม ʮNFTTBHFʯ Λදࣔ͢Δॲཧ ໊ؔʮUBML NFTTBHF ʯ UBML )FMMP )FMMP
UBML )FZ UBML ͋ʂ )FZ ͋ʂ ؔ
໊ؔͷ͋ͱͷ ʹҾ໊Λࢦఆ͓ͯ͘͠ GVODUJPO໊ؔ Ҿ໊ \ ॲཧ ^ ͜͜ʹҾ໊Λࢦఆ͓ͯ͘͠ ؔ
ෳͷҾΛࢦఆ͢Δ͜ͱՄೳ GVODUJPO໊ؔ Ҿ Ҿ ʜ \ ॲཧ ^ ΧϯϚͰ۠ͬͯෳࢦఆ ؔ
Γ ͔ؔΒ࣮ߦଆʹฦ͢ ؔ
࣮ߦଆʹର͔ͯؔ͠ΒҙͷσʔλΛฦ͢ Γʹ ʮ)FMMPʯͱ͍͏ จࣈྻΛࢦఆ ໊ؔʮHFU ʯ HFU )FMMP HFU )FMMP
HFU )FMMP ؔ
ʮSFUVSOʯʹଓ͍ͯ͢Λࢦఆ͢Δ GVODUJPO໊ؔ \ SFUVSOΓ ^ ࣮ߦଆʹ͢ ؔ
ʮSFUVSOʯؔΛڧ੍ऴྃ͢ΔͨΊɺҎ߱ͷॲཧ࣮ߦ͞Εͳ͍ GVODUJPO໊ؔ \ ॲཧ" SFUVSO ॲཧ# ^ ॲཧ#࣮ߦ͞Εͳ͍ ؔ
Scope of variables มͷείʔϓ
มʮWBSʯͰએݴ͢ΔҐஔͰ༗ޮͳൣғ͕ҟͳΔ WBSม໊ มͷείʔϓ
WBSOBNF5BSP GVODUJPOUFTU \ DPOTPMFMPH OBNF ^ UFTU DPOTPMFMPH
OBNF ؔͷ֎ଆͰએݴ͞ΕͨมશମͰࢀরͰ͖Δ มͷείʔϓ
WBSOBNF5BSP GVODUJPOUFTU \ DPOTPMFMPH OBNF ^ UFTU DPOTPMFMPH
OBNF มͷείʔϓ
WBSOBNF5BSP GVODUJPOUFTU \ DPOTPMFMPH OBNF ^ UFTU DPOTPMFMPH
OBNF มͷείʔϓ
WBSOBNF5BSP GVODUJPOUFTU \ DPOTPMFMPH OBNF ^ UFTU DPOTPMFMPH
OBNF 5BSP มͷείʔϓ
WBSOBNF5BSP GVODUJPOUFTU \ DPOTPMFMPH OBNF ^ UFTU DPOTPMFMPH
OBNF 5BSP มͷείʔϓ
GVODUJPOUFTU \ WBSOBNF5BSP DPOTPMFMPH OBNF ^ UFTU DPOTPMFMPH
OBNF ؔͷதͰએݴ͞ΕͨมͦͷؔͰ͔͠ࢀরͰ͖ͳ͍ มͷείʔϓ
GVODUJPOUFTU \ WBSOBNF5BSP DPOTPMFMPH OBNF ^ UFTU DPOTPMFMPH
OBNF มͷείʔϓ
GVODUJPOUFTU \ WBSOBNF5BSP DPOTPMFMPH OBNF ^ UFTU DPOTPMFMPH
OBNF มͷείʔϓ
GVODUJPOUFTU \ WBSOBNF5BSP DPOTPMFMPH OBNF ^ UFTU DPOTPMFMPH
OBNF 5BSP มͷείʔϓ
GVODUJPOUFTU \ WBSOBNF5BSP DPOTPMFMPH OBNF ^ UFTU DPOTPMFMPH
OBNF &SSPS มͷείʔϓ
GVODUJPOUFTU \ WBSOBNF5BSP DPOTPMFMPH OBNF SFUVSOOBNF ^ WBSVTFSUFTU
DPOTPMFMPH VTFS 5BSP ΓΛ͏ มͷείʔϓ