SlideShare a Scribd company logo
静的サイトどこにする?
@ogawatti
tottoruby #37 online
⾃⼰紹介
Ruby on Railsからは遠のきました
またJavaScript(Vue.js)の世界へ?
結局Rubyネタを話すことのないまま
痛⾵実績解除しました
1ヶ⽉以上たっても炎症残ったまま...
某静的サイトのパフォーマンス改善してました
今⽇はこれに関連した話をします
2
リモートワークに際して買ったものたち
せっかくtottorubyもリモート開催なので
mono ¥
Apple Magic Trackpad2 14,800
Vinpok Taptek (Keyboard) 14,500
HP 27f 4K Display 35,000
Okamura Shift (Chair) 77,330
Dyson pure hot+coollink HP03 '17 42,900
3
静的サイトを配信するのはどこがいいのか?
4
静的サイト
Nuxt.js で nuxt generate した静的サイト
dist ディレクトリをデプロイ
今回はサンプルとして画像ファイル1枚貼ってあるだけ
Nuxt.js使った意味は特にないです、たまたま⼿元にあっただけ
5
6
https://github.com/ogawatti/nuxt-sample
7
⽐較対象
1. Netlify
2. Google Firebase
3. AWS S3
4. AWS Amplify
8
Netlify
9
10
Netlify
静的コンテンツのホスティングサービス
公開簡単
CDN、独⾃ドメイン、SSL対応
無料(※⽉100Gまでの通信量と300分までのBuild)
Functions, Identity, Form, etc
11
Netlify Setting (New site from Git)
12
Netlify Setting (Create a new site)
13
Netlify Setting (Deploy)
14
Netlify First Deploy
15
Netlify Setting (Site Name)
16
https://watti-nuxt-sample.netlify.app/
17
Netlify Settings (Deploy previews)
18
Netlify Deploy (Github Pull Request)
19
Netlify Deployes (CD)
20
Netlify まとめ
シンプル・簡単
サイト・CD構築数分
PR作成・更新をPreview環境へデプロイ可
basic認証をかけたりもできます
privateでも当然問題なし
CDN無料
名前も⼀応付けられる
21
Google Firebase
22
23
Firebase Setting (Create Project)
24
Firebase Setting (Create Project)
25
Firebase Setting (Create Project)
26
Firebase Project
27
Firebase tools install & setting
$ npm install firebase-tools
$ firebase login
$ firebase init
Hosting を選択
Use an existing project でWebで作成したプロジェクトを選択
公開するディレクトリを dist に変更
SPAは No を選択
dist/index.html の上書きは No を選択
28
Firebase deploy
$ firebase deploy
=== Deploying to 'sample-image-8901e'...
i deploying hosting
i hosting[sample-image-8901e]: beginning deploy...
i hosting[sample-image-8901e]: found 201 files in dist
✔ hosting[sample-image-8901e]: file upload complete
i hosting[sample-image-8901e]: finalizing version...
✔ hosting[sample-image-8901e]: version finalized
i hosting[sample-image-8901e]: releasing new version...
✔ hosting[sample-image-8901e]: release complete
✔ Deploy complete!
Project Console: https://console.firebase.google.com/project/sample-image-8901e/overview
Hosting URL: https://sample-image-8901e.web.app
29
https://sample-image-8901e.web.app
30
Firebase まとめ
こちらも簡単
サイト・デプロイ数分
CDはGithub Actionsとか
CDN無料
31
AWS S3
32
33
AWS S3 Setting
$ aws s3api create-bucket 
--acl public-read 
--bucket watti-nuxt-sample 
--region ap-northeast-1 
--create-bucket-configuration LocationConstraint=ap-northeast-1
$ aws s3api put-bucket-policy 
--bucket watti-nuxt-sample 
--policy file://bucket-policy.json
$ aws s3 sync ./dist s3://watti-nuxt-sample
$ aws s3 website s3://watti-nuxt-sample --index-document index.html
http://watti-nuxt-sample.s3-website-ap-northeast-
1.amazonaws.com/
34
S3 まとめ
よくあるやつ
ドキュメントが溢れているので困らない
AWSの他のサービス使う場合は良いかも?
CDNはCloudFront
CDはGithub Actionsとか
35
AWS Amplify
36
37
AWS Amplify deploy setting
38
AWS Amplify deploy setting
39
AWS Amplify deploy setting
version: 1
frontend:
phases:
preBuild:
commands:
- npm ci
build:
commands:
- npm run generate
artifacts:
baseDirectory: /dist/
files:
- '**/*'
cache:
paths:
- node_modules/**/* 40
AWS Amplify deploy setting
41
Amplify app
42
https://master.d29jonr543ipnj.amplifyapp.com/
43
Amplify
Netlifyと同じくらいの⼿軽さ
サイト構築・CD
カスタムドメインはR53連携
プレビュー機能もある
CDN無料(CloudFront?)
44
サービス⽐較
45
サービス⽐較- 機能
Service
Github
連携 CDN その他
Netlify ◯ △ Functions, Identity, Form, etc
Google
Firebase
× ◯ Authentication, DB, Storage,
Functions, Machine Learning
AWS S3 × × AWS各サービス連携
AWS
Amplify
◯ ◯ Backendサービス構築
46
サービス⽐較- 速度
Service CDN Edge IMG DL
Netlify ⾃動 Singapore 10~15s
Google Firebase ⾃動(Google CDN?) Tokyo? 1.0~2.0s
AWS S3 ⼿動(CloudFront) Tokyo 1.0~1.5s
AWS Amplify ⾃動(CloudFront?) (〃) 0.8~1.2s
※ watti⾃宅環境: 29Mbps
※ Is there a list of where Netlify's CDN pops are located?
47
サービス⽐較- 料⾦
Service 料⾦
Netlify 無料(通信量・ビルド制限あり)
Google Firebase 無料(通信量・ストレージ制限あり)
AWS S3 有料(通信量・ストレージ)
AWS Amplify 有料(通信量・ビルド・ストレージ・デプロイ)
AWSは無料利⽤枠あり(1年)
48
所感
静的サイトだけならGoogle Firebaseで良さそう
速度のこと気にしなくて良いならNetlifyの⼿軽さはあり
本番運⽤を考えると有料プランになるので料⾦よりは機能性?
機能性を重視するならAWS?
他の機能の連携を考えて選ぶのが良さそう
49
参考
Netlify へデプロイするには?
File-based configuration(Netlify)
Nuxt.jsで作成したWebサイトをFirebaseでホスティングする
AWS CLIを使って、Amazon S3で静的ウェブサイトをホスティング
したい
AWS CLI Command Reference
Firebase Hosting
Cloud CDN ロケーション
50
おまけ
51
Functions
52
Netlify Functions
53
Netlify Functions
AWS Lambdaを簡単に構築して叩けるよ
125,000 リクエストor 実⾏時間100h まで無料
Deploy AWS Lambda functions without configuring API
gateways, coordinating deployments, or setting up an AWS
account.
“
“
54
Netlify Functions Init
$ npm i netlify-lambda
$ code netlify.toml
### netlify.toml (追記)
[build]
functions = "dist/api"
$ mkdir api
$ code api/hello.js
55
api/hello.js
exports.handler = function(event, context, callback) {
callback(null, {
statusCode: 200,
body: JSON.stringify({
message: 'Hello, world!'
})
});
};
リクエスト情報はevent, ユーザー情報とかはcontext
イベントをトリガーとすることもできそう(deploy, test, identity)
https://docs.netlify.com/functions/build-with-javascript/#format
56
package.json
すでに dev , build はあるので別名で追加。
{
...
"scripts": {
...
"serve": "netlify-lambda serve api",
"build-api": "netlify-lambda build api"
},
...
}
57
Netlify Functions Local Serve
$ npm run serve
netlify-lambda: Starting server
...
Built at: 2020/09/23 22:27:33
Asset Size Chunks Chunk Names
hello.js 1.06 KiB 0 [emitted] hello
Entrypoint hello = hello.js
[0] ./hello.js 169 bytes {0} [built]
Lambda server is listening on 9000
$ curl -s http://localhost:9000/.netlify/functions/hello | jq '.'
{
"message": "Hello, world!"
} 58
Netlify Functions Setting & Deploy
Netlify > watti-nuxt-sample > settings > Build & deploy > build を
npm run generate && npm run build-api に変更。
masterへpushしてdeploy。
11:43:44 PM: ┌────────────────────────────────────────────────────────────┐
11:43:44 PM: │ 2. onPostBuild command from @netlify/plugin-functions-core │
11:43:44 PM: └────────────────────────────────────────────────────────────┘
11:43:44 PM:
11:43:44 PM: Packaging Functions from dist/api directory:
11:43:44 PM: - hello.js
11:43:44 PM:
11:43:44 PM: (@netlify/plugin-functions-core onPostBuild completed in 79ms)
11:43:44 PM:
59
60
Netlify Function Endpoint
ホストは静的サイトと、パスはローカルと同じ。
$ curl -s https://watti-nuxt-sample.netlify.app/.netlify/functions/hello | jq '.'
{
"message": "Hello, world!"
}
61
Firebase Functions
62
Firebase Functions
Cloud Functions for Firebase
Serverless Fremwork
JavaScript / TypeScrit
Admin SDKを利⽤してFirebaseの機能を利⽤できる
63
Firebase Functions Init
firebase-tools はインストール済みなので以下のみ実施。
$ npm install firebase-functions
$ firebase init functions
今回は javascript を選択, ESLint は No を選択
今依存パッケージをインストールするかを聞かれるので Yes
$ ls functions/
index.js node_modules package-lock.json package.json
64
functions/index.js
下4⾏だけアンコメント。
const functions = require('firebase-functions');
// Create and Deploy Your First Cloud Functions
// https://firebase.google.com/docs/functions/write-firebase-functions
exports.helloWorld = functions.https.onRequest((request, response) => {
functions.logger.info("Hello logs!", {structuredData: true});
response.send("Hello from Firebase!");
});
65
Firebase Functions Local Serve
$ firebase emulators:start
$ curl -s http://localhost:5001/sample-image-4c899/us-central1/helloWorld
Hello from Firebase!
66
67
Firebase Function Deploy
$ firebase deploy --only functions
=== Deploying to 'sample-image-4c899'...
i deploying functions
i functions: ensuring required API cloudfunctions.googleapis.com is enabled...
i functions: ensuring required API cloudbuild.googleapis.com is enabled...
⚠ functions: missing required API cloudbuild.googleapis.com. Enabling now...
✔ functions: required API cloudfunctions.googleapis.com is enabled
Error: HTTP Error: 400, Billing account for project '224982070776' is not found.
Billing must be enabled for activation of service(s) 'cloudbuild.googleapis.com,containerregistry.googleapis.com' to proceed.
従量課⾦プランにしろと⾔われたのでここまで...。
本来ならURLが発⾏されるらしいです。
Function URL (helloWorld): https://us-central1-foobar-d0c13.cloudfunctions.net/helloWorld
68
AWS Lambda
69
AWS Lambda (紹介不要?)
Serverless Framework
$ sls invoke local -f hello
$ sls deploy --stage prod --profile prod
AWS SAM
$ sam local invoke
$ sam deploy
ruby使える!
70
参考
Netlify Functins
File-based configuration
Configure and deploy Functions
Firebase Functions
はじめに: 最初の関数の記述、テスト、デプロイ
71
おわり

More Related Content

What's hot

Dockerハンズオン
DockerハンズオンDockerハンズオン
DockerハンズオンKazuyuki Mori
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
Daisuke Hiraoka
 
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Naoki Nagazumi
 
Docker Machineを始めるには?
Docker Machineを始めるには?Docker Machineを始めるには?
Docker Machineを始めるには?
Masahito Zembutsu
 
Apache Auroraの始めかた
Apache Auroraの始めかたApache Auroraの始めかた
Apache Auroraの始めかた
Masahito Zembutsu
 
Dockerでデプロイ
DockerでデプロイDockerでデプロイ
Dockerでデプロイ
oshiro_seiya
 
マイクロサービス時代の生存戦略 with HashiCorp
マイクロサービス時代の生存戦略 with HashiCorpマイクロサービス時代の生存戦略 with HashiCorp
マイクロサービス時代の生存戦略 with HashiCorp
Masahito Zembutsu
 
Dockerの改修を一緒にやりませんか
Dockerの改修を一緒にやりませんかDockerの改修を一緒にやりませんか
Dockerの改修を一緒にやりませんか
axsh co., LTD.
 
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会
Yasutaka Hamada
 
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでDockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Ryo Nakamaru
 
Docker超入門
Docker超入門Docker超入門
Docker超入門
Katsunori Kanda
 
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Masahiro Nagano
 
Docker入門
Docker入門Docker入門
Docker入門
Keita Midorikawa
 
HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法
Masahito Zembutsu
 
Using LXC on Production
Using LXC on ProductionUsing LXC on Production
Using LXC on Production
Isao Shimizu
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
 
OpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? WayOpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? Way
ロフト くん
 
Introduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing DockerfilesIntroduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing Dockerfiles
Yukiya Hayashi
 
清貧Docker ~個人がDockerを使う理由~
清貧Docker ~個人がDockerを使う理由~清貧Docker ~個人がDockerを使う理由~
清貧Docker ~個人がDockerを使う理由~
harupong
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西
Masahide Yamamoto
 

What's hot (20)

Dockerハンズオン
DockerハンズオンDockerハンズオン
Dockerハンズオン
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
 
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編Dockerのキホンその2 Docker Compose Swarm Machine 利用編
Dockerのキホンその2 Docker Compose Swarm Machine 利用編
 
Docker Machineを始めるには?
Docker Machineを始めるには?Docker Machineを始めるには?
Docker Machineを始めるには?
 
Apache Auroraの始めかた
Apache Auroraの始めかたApache Auroraの始めかた
Apache Auroraの始めかた
 
Dockerでデプロイ
DockerでデプロイDockerでデプロイ
Dockerでデプロイ
 
マイクロサービス時代の生存戦略 with HashiCorp
マイクロサービス時代の生存戦略 with HashiCorpマイクロサービス時代の生存戦略 with HashiCorp
マイクロサービス時代の生存戦略 with HashiCorp
 
Dockerの改修を一緒にやりませんか
Dockerの改修を一緒にやりませんかDockerの改修を一緒にやりませんか
Dockerの改修を一緒にやりませんか
 
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会
 
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでDockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
 
Docker超入門
Docker超入門Docker超入門
Docker超入門
 
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
 
Docker入門
Docker入門Docker入門
Docker入門
 
HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法
 
Using LXC on Production
Using LXC on ProductionUsing LXC on Production
Using LXC on Production
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
 
OpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? WayOpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? Way
 
Introduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing DockerfilesIntroduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing Dockerfiles
 
清貧Docker ~個人がDockerを使う理由~
清貧Docker ~個人がDockerを使う理由~清貧Docker ~個人がDockerを使う理由~
清貧Docker ~個人がDockerを使う理由~
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西
 

Similar to 静的サイトどこにする?

Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
 
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
Go Sueyoshi (a.k.a sue445)
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
Masahito Zembutsu
 
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
Yukihiko SAWANOBORI
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825hiro345
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
infinite_loop
 
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jgguggriffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggugkimukou_26 Kimukou
 
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
Hiroshi SHIBATA
 
OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾外道 父
 
How to run P4 BMv2
How to run P4 BMv2How to run P4 BMv2
How to run P4 BMv2
Kentaro Ebisawa
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) Akihiro Kuwano
 
今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集
Wataru NOGUCHI
 
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
Shinya Okano
 
LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!
KLab株式会社
 
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
Kazuto Kusama
 
OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -
将 高野
 
近頃のDockerネットワーク
近頃のDockerネットワーク近頃のDockerネットワーク
近頃のDockerネットワーク
Yuji Oshima
 
GMOメディア RHEV-S-事例紹介
GMOメディア RHEV-S-事例紹介GMOメディア RHEV-S-事例紹介
GMOメディア RHEV-S-事例紹介Dai Utsui
 

Similar to 静的サイトどこにする? (20)

Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
 
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
 
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jgguggriffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggug
 
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
 
130412 kayac-cinnamon
130412 kayac-cinnamon130412 kayac-cinnamon
130412 kayac-cinnamon
 
OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾
 
How to run P4 BMv2
How to run P4 BMv2How to run P4 BMv2
How to run P4 BMv2
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
 
今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集
 
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
 
LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!
 
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
 
OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -
 
近頃のDockerネットワーク
近頃のDockerネットワーク近頃のDockerネットワーク
近頃のDockerネットワーク
 
らくちん Go言語
らくちん Go言語らくちん Go言語
らくちん Go言語
 
GMOメディア RHEV-S-事例紹介
GMOメディア RHEV-S-事例紹介GMOメディア RHEV-S-事例紹介
GMOメディア RHEV-S-事例紹介
 

Recently uploaded

エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
Toru Miyahara
 
「VRC海のおはなし会_深海探査とロボットのお話」発表資料
「VRC海のおはなし会_深海探査とロボットのお話」発表資料「VRC海のおはなし会_深海探査とロボットのお話」発表資料
「VRC海のおはなし会_深海探査とロボットのお話」発表資料
Yuuitirou528 default
 
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
Masatsugu Matsushita
 
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHubCompute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
K Kinzal
 
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
miyp
 
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
Toru Miyahara
 
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Toru Miyahara
 

Recently uploaded (7)

エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
 
「VRC海のおはなし会_深海探査とロボットのお話」発表資料
「VRC海のおはなし会_深海探査とロボットのお話」発表資料「VRC海のおはなし会_深海探査とロボットのお話」発表資料
「VRC海のおはなし会_深海探査とロボットのお話」発表資料
 
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
 
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHubCompute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
 
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
 
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
 
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
 

静的サイトどこにする?