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
320
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
610
今さら聞けない!デザイナーのためのGit超入門
gautt
2
300
10倍ラクするアピアランス入門
gautt
2
660
Other Decks in Programming
See All in Programming
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
130
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
110
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
170
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
430
共通化で考えるべきは、実装より公開する型だった
codeegg
0
250
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
490
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
520
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
150
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
490
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
1.1k
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.5k
関数型プログラミングのメリットって何だろう?
wanko_it
0
180
Featured
See All Featured
Design in an AI World
tapps
1
260
Facilitating Awesome Meetings
lara
57
7k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
370
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
460
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.1k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
600
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
400
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
150
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
280
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 ΓΛ͏ มͷείʔϓ