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
今さら聞けない!Webデザイナーのためのプログラミング講座
Search
Toshiyuki TAKAHASHI
May 20, 2016
Programming
330
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
今さら聞けない!Webデザイナーのためのプログラミング講座
2015.1.25 に開催した「今さら聞けない!Webデザイナーのためのプログラミング講座」のスライドです
Toshiyuki TAKAHASHI
May 20, 2016
More Decks by Toshiyuki TAKAHASHI
See All by Toshiyuki TAKAHASHI
第11回 AED-LABO 解説用スライド
gautt
1
620
今さら聞けない!デザイナーのためのGit超入門
gautt
2
300
10倍ラクするアピアランス入門
gautt
2
660
Other Decks in Programming
See All in Programming
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
270
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
570
React本体のコードリーディング
high_g_engineer
1
160
リアルな遅延を測る仕様
kota_yata
1
130
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1.1k
書籍「プロフェッショナルAI駆動開発」紹介スライド
juntaromatsumoto
0
780
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
530
Press start. Python's next generation.
willingc
PRO
3
250
MySQLとPostgreSQLって何が違うの?
akagami
0
150
Flow は今どうなっているか
mizdra
PRO
0
760
tsc.rip を支える技術 / Kyoto.なんか #8
susisu
0
3.8k
高専、大学編入、そして未踏へ〜プロダクト開発とキャリアの歩み - Technical College, University Transfer, and On to “Mitou” / My Journey in Product Development and Career
pkmiya
0
100
Featured
See All Featured
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
500
Large-scale JavaScript Application Architecture
addyosmani
515
110k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
300
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
750
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Become a Pro
speakerdeck
PRO
31
6.2k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Automating Front-end Workflow
addyosmani
1369
210k
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
Ethics towards AI in product and experience design
skipperchong
2
350
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 ΓΛ͏ มͷείʔϓ