@import url(https://fonts.googleapis.com/css?family=Muli);
@import url(https://fonts.googleapis.com/css?family=Inconsolata);
-body {
+.remark-slide-content {
font-family: 'Open Sans';
+ font-size: 22px;
}
.remark-slide-content h1,
.remark-slide-content h2,
.remark-slide-content h3 {
font-family: Muli;
- font-weight: normal;
+ font-weight: bold;
}
.remark-slide-content h2 {
font-size: 40px;
line-height: 1em;
}
-
.remark-code, .remark-inline-code {
font-family: Inconsolata, monospace;
}
border: 1px solid #ccc;
}
-blockquote {
+.remark-slide-content blockquote {
border-radius: 5px;
border: 1px solid #ccc;
background: #f0f0f0;
quotes: "\201C""\201D""\2018""\2019";
position: relative;
}
-blockquote:before {
+.remark-slide-content blockquote:before {
color: #ccc;
position: absolute;
content: open-quote;
vertical-align: -0.4em;
}
-.col {
+.remark-slide-content .col {
box-sizing: border-box;
display: block;
float: left;
padding: 0;
width: 50%;
}
-.col:nth-of-type(odd) {
+.remark-slide-content .col:nth-of-type(odd) {
padding: 0 1em 0 0;
}
-.col:nth-of-type(even) {
+.remark-slide-content .col:nth-of-type(even) {
padding: 0 0 0 1em;
}
-.col.sep:nth-of-type(odd) {
+.remark-slide-content .col.sep:nth-of-type(odd) {
border-right: 1px solid #ccc;
}
-.col.sep:nth-of-type(even) {
+.remark-slide-content .col.sep:nth-of-type(even) {
border-left: 1px solid #ccc;
}
-.top-right {
+/* fix non-collapsing margin */
+.remark-slide-content .marginfix h3,
+.remark-slide-content .marginfix ul {
+ margin-top: 0;
+}
+
+.remark-slide-content .top-right {
float: right;
margin: 50px 0 0 2em;
}
-.highlight {
+.remark-slide-content .highlight {
color: #7d9726;
}
- New skills make you more marketable.
--
-- So that you it when you see PSGI exposed through your web framework.
+- So that you understand it when you see PSGI exposed through your web framework.
--
- You can do cool things with PSGI!
---
-.col[
+.col.marginfix[
### Request
```http
```
]
-.col[
+.col.marginfix[
### Response
```http
---
-.col[
+.col.marginfix[
### Request
```http
```
]
-.col[
+.col.marginfix[
### Response
```http
---
-.col[
+.col.marginfix[
### Request
```http
```
]
-.col[
+.col.marginfix[
### Response
```http
---
-.col[
+.col.marginfix[
### Request
```http
```
]
-.col[
+.col.marginfix[
### Response
```http
---
-.col[
+.col.marginfix[
### Request
```http
```
]
-.col[
+.col.marginfix[
### Response
```http
---
-.col[
+.col.marginfix[
### Request
```http
```
]
-.col[
+.col.marginfix[
### Response
```http
---
-.col[
+.col.marginfix[
### Request
```http
```
]
-.col[
+.col.marginfix[
### Response
```http
1. Gateway sets information about the request in the environment.
-.condensed[
+.condensed.marginfix[
.col[
- `AUTH_TYPE`
- `CONTENT_LENGTH`
]
]
+???
+- If you've done some web programming before, you're probably familiar with at least a few of these.
+
---
```perl
1. Gateway sets information about the request in the environment.
2. Print response headers to `STDOUT`.
-.condensed[
+.condensed.marginfix[
.col[
- `Content-Type`
- `Location`
---
+class: plack
+
## Plack
- Provides tools for building, running, and testing PSGI apps.
---
-.condensed[
+.condensed.marginfix[
.col[
- `HTTP_ACCEPT`
- `HTTP_ACCEPT_ENCODING`
---
-.condensed[
+.condensed.marginfix[
.col[
- .highlight[`HTTP_ACCEPT`]
- .highlight[`HTTP_ACCEPT_ENCODING`]
---
-.condensed[
+.condensed.marginfix[
.col[
- `HTTP_ACCEPT`
- `HTTP_ACCEPT_ENCODING`
## Thank you
Email me: Charles McGarvey
-<cmcgarvey@bluehost.com>
<chazmcgarvey@brokenzipper.com>
.talkqr.center[