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
The brief seeds of Padrino
Search
aereal
December 10, 2011
Technology
3
720
The brief seeds of Padrino
at 2011/12/10, Padrino Sabbath in Kyoto
aereal
December 10, 2011
Tweet
Share
More Decks by aereal
See All by aereal
盆栽転じて家具となる / Bonsai and Furnitures
aereal
0
3.7k
How to send distibuted traces to Datadog using build own OpenTelemetry-Lambda distribution
aereal
3
240
好きな技術《コト》で、 生きていく技術 / life with what you like
aereal
5
3.2k
qron: Cloud Native Cron Alternativeの今
aereal
2
2.3k
自動作曲入門 / introduction to programatic music composition
aereal
1
530k
はてなブログ タグとCDK / The epic of AWS CDK and Hatena Blog Tag
aereal
3
200k
はてなブログ タグの技術選択 / The technical details of Hatena Blog Tag
aereal
3
200k
ブログサービスのHTTPS化を支えたAWSで作るピタゴラスイッチ / The construction of large scale TLS certificates management system with AWS
aereal
3
400k
AWSではてなブログの常時HTTPS配信をバーンとやる話 / The Epic of migration from HTTP to HTTPS on Hatena Blog with AWS
aereal
14
18k
Other Decks in Technology
See All in Technology
リーダブルテストコード 〜メンテナンスしやすい テストコードを作成する方法を考える〜 #DevSumi #DevSumiB / Readable test code
nihonbuson
11
7.2k
自動テストの世界に、この5年間で起きたこと
autifyhq
10
8.5k
OpenID Connect for Identity Assurance の概要と翻訳版のご紹介 / 20250219-BizDay17-OIDC4IDA-Intro
oidfj
0
270
2025-02-21 ゆるSRE勉強会 Enhancing SRE Using AI
yoshiiryo1
1
270
Data-centric AI入門第6章:Data-centric AIの実践例
x_ttyszk
1
400
ハッキングの世界に迫る~攻撃者の思考で考えるセキュリティ~
nomizone
13
5.2k
組織貢献をするフリーランスエンジニアという生き方
n_takehata
1
1.3k
利用終了したドメイン名の最強終活〜観測環境を育てて、分析・供養している件〜 / The Ultimate End-of-Life Preparation for Discontinued Domain Names
nttcom
2
190
エンジニアのためのドキュメント力基礎講座〜構造化思考から始めよう〜(2025/02/15jbug広島#15発表資料)
yasuoyasuo
16
6.6k
一度 Expo の採用を断念したけど、 再度 Expo の導入を検討している話
ichiki1023
1
160
PL900試験から学ぶ Power Platform 基礎知識講座
kumikeyy
0
130
次世代KYC活動報告 / 20250219-BizDay17-KYC-nextgen
oidfj
0
250
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
550
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
The Cost Of JavaScript in 2023
addyosmani
47
7.3k
How to Ace a Technical Interview
jacobian
276
23k
Typedesign – Prime Four
hannesfritz
40
2.5k
Transcript
THE BRIEF SEEDS OF PADRINO by @aereal, at Padrino Sabbath
in Kyoto
WHO AM I? @aereal id:aereal GitHub: aereal Undergraduate student majoring
(Cognitive) Psychology Part-time (Rails) engineer at Happy Elements K.K. see also: kerare.org/
WORKS Padrino::Validation::HTML5 Add supports HTML5 form validations to Padrino github.com/aereal/padrino-validation-html5
Hated mocking server which can be utilized for Hatena Diary github.com/aereal/hated
TABLE OF CONTENTS The essentials of developing a Web Application
The History of Web Application Frameworks Padrino and Sinatra Padrino and Rails Padrino and Others
THE ESSENTIALS OF DEVELOPING WEB APPLICATION
THE ESSENTIALS OF DEVELOPING A WEB APP. Fast Compact Portable
FAST? Reading Coding Setting-up Loading Deploying
COMPACT? Application Code Framework Code Dependencies Architecture
PORTABLE? Dependencies Hosting Services Size of Application (and Framework)
“Less is more.” Ludwig Mies van der Rohe (1886-1969)
I MEAN Keep developing a web app: Fast Compact Portable
Then you take a delight in!
THE HISTORY OF WEB APPLICATION FRAMEWORK
History repeats itself
DRY = Don’t Repeat Yourself
We should learn from the History
THE HISTORY OF WEB APP. FRAMEWORK (CGI, Common Gateway Interface)
Full-stack (Minimal) Micro-framework
FULL-STACK FRAMEWORK Rails (Ruby) Django (Python) Catalyst (Perl)
FULL-STACK FRAMEWORK Forms the big cultural sphere Relieves your mind
by hiding what you mind You’ll never know them unless you will
MICRO-FRAMEWORK Sinatra (Ruby) Juno (Python) Mojolicious::Lite, Amon2 (Perl) Loli (!)
-> Miku (!!!) (Haskell) Scalatra (Scala)
MICRO-FRAMEWORK Forms small/open cultural sphere Relieves your mind by showing
what you do You should write/know only what you do
!!! Rails vs. Sinatra !!!
IMAGINE!
ੜଘઓུʙ
SURVIVING STRATEGY Rails doesn’t kill Sinatra Rails doesn’t have small
spin-up Sinatra doesn’t kill Rails Sinatra doesn’t have the order
your_desires << small spin-up your_desires << fast spin-up your_desires <<
the order your_desires << scaling
Padrino.include?(your_desire) # -> true
PADRINO AND SINATRA
PADRINO IS BUFFET
PADRINO IS BUFFET Routing (Named, Multiple Format) Helpers Logger Admin
Apps (like Django) Reloader (It’s smart!) see also: www.padrinorb.com/#introduction
PADRINO IS FXXKIN’ SHIT? Extending Sinatra through Public / Safe
API but Padrino::Routing is like a abyss ... use (Rack Middleware) register (Sinatra Extension)
Sinatra’s World?
THE DOMAIN OF SINATRA = HTTP
KEEP IT LESS No DBs No helpers No anything luxurious
LESS IS NOT IMPOSSIBLE DB / ORM View Helpers You
can use it with Sinatra!
ON THE SINATRA Sinatra discovered potential / real needs Sinatra
built them Specifications beat Conventions
PADRINO AND RAILS
PADRINO AND RAILS Rails is full-stack Padrino can be full-stack
This means you can use Padrino as not full-stack
RAILS IS THE INNOVATOR Discovered many important things Spirit of
DRY, or CoC ActiveRecord, ActiveSupport, etc. Sometimes it makes a detour The innovation involves pains
PADRINO IS THE GODFATHER
PADRINO IS THE GODFATHER He glues the components of Web
Applications Test Frameworks ORM etc. He guards Sinatra’s World
ROUTING Rails config/routes.rb resource[s] (>= 3.0) Padrino & Sinatra HTTP
Verbs (get, post, etc ...)
VIEW Rails ActionView Padrino & Sinatara Tilt (>= 1.0)
HERITAGES Architectures and Spirits MVC DRY Luxuoriousness
CONCLUSIONS Padrino is on the Sinatra’s World Rails’ heritages are
behind Padrino, Sinatra, and Rails should be all in harmony
SEE ALSO Padrino Official Web (www.padrinorb.com) Padrino Official Web (ja)
(jp.padrinorb.com) Padrino on GitHub (github.com/padrino/padrino- framework) Padrino Recipes (github.com/padrino/padrino-recipes) Sinatra The Book (sinatra-book.gittr.com)
SEE ALSO @udzura’s Blog (blog.udzura.jp/) and, my blog :) (aereal.hateblo.jp)