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
Sinatraでわかる!Webアプリの仕組み
Search
Satoshi Ebisawa
October 02, 2011
Programming
630
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Sinatraでわかる!Webアプリの仕組み
#p4d
第2回デザイナー向けプログラム部にて発表
Satoshi Ebisawa
October 02, 2011
More Decks by Satoshi Ebisawa
See All by Satoshi Ebisawa
kubernetes
satococoa
0
250
Easy AJAX on Rails
satococoa
5
4.5k
API 担当者が知りたい iOS のこと
satococoa
4
3.4k
Web デザイナのための GitHub ハンズオン
satococoa
1
1.1k
RubyMotion について
satococoa
1
2.3k
RubyMotion によるアプリケーション開発の実践
satococoa
0
5.1k
iOS でポエムをつづろう!
satococoa
5
14k
プログラマとデザイナのコミュニティのつくりかた
satococoa
5
7.7k
p4d (PHP Conference 2013)
satococoa
0
860
Other Decks in Programming
See All in Programming
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
5
490
ソフトウェアラスタライザ
fadis
0
160
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
240
VibeCodingからAgenticWorkflowへ
starfish719
0
700
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
220
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
540
プロポーザルを書いてもらう
pvcresin
0
560
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
120
Building a Meta Ray-Ban display app
akkeylab
0
170
実装をデザインガイドラインに追従させるための取り組み / 260731-dip-mosh-design-system
dachi023
0
6.5k
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
340
AWS DevOps AgentのAzure接続機能を検証して見えた活用法/Use Cases Verified for the AWS DevOps Agent's Azure Connectivity Feature
masakiokuda
1
250
Featured
See All Featured
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
210
BBQ
matthewcrist
89
10k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
780
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
210
Technical Leadership for Architectural Decision Making
baasie
3
510
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
73
41k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
250
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
620
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
280
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
380
Building Applications with DynamoDB
mza
96
7.2k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Transcript
2011-08-28 ୈ̎ճσβΠφʔ͚ϓϩάϥϜ෦ SinatraͰΘ͔ΔʂWebΞϓϦͷΈ ւɹ૱ @satococoa
֓ཁ ✤ WebΞϓϦͷΈʹ͍ͭͯɺͬ͘͟Γઆ໌͠·͢ɻ ✤ ࣮ྫͱͯ͠RubyͷγϯϓϧͳWAF*1 Ͱ͋ΔSinatra*2 Λ͍·͢ɻ ✴ 1: Web
Application Frameworkͷ͜ͱɻRailsCakePHPͳͲɻ ✴ 2: http://www.sinatrarb.com/
WebΞϓϦͷΈʢͬ͘͟Γʣ ΫϥΠΞϯτ PC, iPhone, ...etc. Webαʔό Apache, nginx...etc. DBαʔό MySQL,
...etc. 1. 2. 3. 4. 1.ϦΫΤετΛૹΔ 2.DBʹΫΤϦʢߋ৽औಘͷ໋ྩʣΛૹΔ 3.DB͔ΒΫΤϦͷ݁Ռʢ൱ཁٻͨ͠σʔλʣΛड͚औΔ 4.ϨεϙϯεΛฦ͢ʢHTML, CSS, JS, JSON, XML, ...etc.)
ϒϥβ͔ΒૹΕΔͷ ͜Ε͚ͩʂ ϦΫΤετ GET σʔλΛऔಘ POST σʔλΛ࡞ PUT σʔλΛߋ৽ DELETE
σʔλΛআ HEAD σʔλͷใΛऔಘ
* WebΠϯεϖΫλFirebugͰݟΒΕ·͢ɻ ϦΫΤετͱϨεϙϯε ·ͣ୯७ͳGETΞΫηεͷϔομ
* WebΠϯεϖΫλFirebugͰݟΒΕ·͢ɻ ϦΫΤετͱϨεϙϯε POSTͰσʔλΛૹ͍ͬͯ·͢ɻૹ৴ޙɺτοϓϖʔδϔϦμΠϨΫτ͞Ε͍ͯ·͢ɻ
ϓϩάϥϜ͕͖͢͜ͱ ✤ ϦΫΤετʹԠͯ͡ɺϑΝΠϧΛอଘͨ͠ΓɺσʔλΛอଘͨ͠Γ͢ Δ͜ͱ ✤ ϨεϙϯεΛฦ͢͜ͱ ✤ HTMLͩͬͨΓɺCSSͩͬͨΓɺଞͷURLඈʂͱ͍͏໋ྩͩͬ ͨΓ৭ʑɻ ✤
ฦ͢༰͚ͩͰͳ͘ɺϔομॏཁͱ͍͏͜ͱɻ
Sinatraͷಛ ✤ γϯϓϧͰ͋ΓɺϦΫΤετɾϨεϙϯεͷ֓೦͕Θ͔Γ͍͢ɻ ✤ ͖ͳϥΠϒϥϦΛΈ߹Θͤͯ͏͜ͱ͕Ͱ͖Δ ✤ Model: ActiveRecord, DataMapper, Sequel,
Mongoid, ...etc. ✤ View: ERB, HAML, Slim, ...etc. ✤ WebϓϩάϥϜͷೖʹ࠷దʂ
αϯϓϧΞϓϦ ✤ https://github.com/prog4designer/sinatra_bbs ✤ Sinatra + HAMLͰ࡞͍ͬͯ·͢ɻ ✤ σʔλྻʢϝϞϦʣʹೖΕ͍ͯ·͢ɻ※࠶ىಈ͢Δͱফ͑·͢ɻ ✤
ඇৗʹ؆୯ͳ̍ߦνϟοτఔͷػೳ͕࣮͞Ε͍ͯ·͢ɻ
ࠓճΒͳ͔ͬͨ͜ͱ ✤ σʔλϕʔεΛ͍·ͤΜͰͨ͠ɻ ✤ Ϧιʔεʢσʔλʣͷߋ৽ɾআΛ࣮͍ͯ͠·ͤΜɻ ✤ σβΠϯօແͰ͢ɻ Fxxk!! Fork!!