Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
zaru sakuraba
1,265 views
パフォーマンス計測Ciサービスを作って得た知見を共有したい
Rails Developers Meetup #5 @zaru
Technology
◦
Read more
1
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 83
2
/ 83
3
/ 83
4
/ 83
5
/ 83
6
/ 83
7
/ 83
8
/ 83
9
/ 83
10
/ 83
11
/ 83
12
/ 83
13
/ 83
14
/ 83
15
/ 83
16
/ 83
17
/ 83
18
/ 83
19
/ 83
20
/ 83
21
/ 83
22
/ 83
23
/ 83
24
/ 83
25
/ 83
26
/ 83
27
/ 83
28
/ 83
29
/ 83
30
/ 83
31
/ 83
32
/ 83
33
/ 83
34
/ 83
35
/ 83
36
/ 83
37
/ 83
38
/ 83
39
/ 83
40
/ 83
41
/ 83
42
/ 83
43
/ 83
44
/ 83
45
/ 83
46
/ 83
47
/ 83
48
/ 83
49
/ 83
50
/ 83
51
/ 83
52
/ 83
53
/ 83
54
/ 83
55
/ 83
56
/ 83
57
/ 83
58
/ 83
59
/ 83
60
/ 83
61
/ 83
62
/ 83
63
/ 83
64
/ 83
65
/ 83
66
/ 83
67
/ 83
68
/ 83
69
/ 83
70
/ 83
71
/ 83
72
/ 83
73
/ 83
74
/ 83
75
/ 83
76
/ 83
77
/ 83
78
/ 83
79
/ 83
80
/ 83
81
/ 83
82
/ 83
83
/ 83
More Related Content
PDF
普通のRailsアプリをdockerで本番運用する知見
by
zaru sakuraba
PDF
新しいOpenShiftのしくみを調べてみた
by
Kazuto Kusama
PDF
runC概要と使い方
by
Yuji Oshima
PPTX
Kubernetesと暮らすRancherな生活
by
Go Chiba
PPTX
マイクロサービスにおける非同期アーキテクチャ
by
ota42y
PDF
KubernetesとOpenShiftの話
by
Kazuto Kusama
PPTX
コンテナ運用基盤 with OpenShift
by
Y K
PPTX
Fcp
by
Naoto TAKAHASHI
普通のRailsアプリをdockerで本番運用する知見
by
zaru sakuraba
新しいOpenShiftのしくみを調べてみた
by
Kazuto Kusama
runC概要と使い方
by
Yuji Oshima
Kubernetesと暮らすRancherな生活
by
Go Chiba
マイクロサービスにおける非同期アーキテクチャ
by
ota42y
KubernetesとOpenShiftの話
by
Kazuto Kusama
コンテナ運用基盤 with OpenShift
by
Y K
Fcp
by
Naoto TAKAHASHI
What's hot
PDF
VSCodeで始めるAzure Static Web Apps開発
by
Yuta Matsumura
PDF
Docker入門 - 基礎編 いまから始めるDocker管理
by
Masahito Zembutsu
PDF
忙しい人の5分で分かるDocker 2017年春Ver
by
Masahito Zembutsu
PPTX
Docker & Kubernetes基礎
by
Daisuke Hiraoka
PDF
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
by
YASUKAZU NAGATOMI
PDF
”30分”ぐらいでわかる「Kubernetes」について
by
Yuya Ohara
PDF
20分でわかるgVisor入門
by
Shuji Yamada
PDF
Cloud Foundryで学ぶ、PaaSのしくみ講座
by
Kazuto Kusama
PPTX
IBM Log Analysis with LogDNAを評価した話
by
Daisuke Hiraoka
PDF
はじめてのCF buildpack
by
Kazuto Kusama
PDF
Docker + Checkpoint/Restore
by
kawamuray
PDF
Docker PaaSとしての OpenShift, Deis, Flynn比較
by
Kazuto Kusama
PDF
Dockerだけではないコンテナのはなし
by
Katsunori Kanda
PDF
Cloud Foundry Container-to-Container Networking
by
Kazuto Kusama
PDF
最近のKubernetesとDocker Machine/Swarmの話
by
Kazuto Kusama
PPTX
Introduction of skippbox
by
Go Chiba
PDF
CNCF Updates 2019 Winter version and Knative
by
Masahito Zembutsu
PDF
Arukas meet Mesos/Marathon
by
Shuji Yamada
PDF
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
by
Kazuto Kusama
PDF
Docker で Deep Learning
by
Takenori Nakagawa
VSCodeで始めるAzure Static Web Apps開発
by
Yuta Matsumura
Docker入門 - 基礎編 いまから始めるDocker管理
by
Masahito Zembutsu
忙しい人の5分で分かるDocker 2017年春Ver
by
Masahito Zembutsu
Docker & Kubernetes基礎
by
Daisuke Hiraoka
Webアプリ開発向け ゆるふわDocker使いがCloud Naive開発に必要そうなetc.
by
YASUKAZU NAGATOMI
”30分”ぐらいでわかる「Kubernetes」について
by
Yuya Ohara
20分でわかるgVisor入門
by
Shuji Yamada
Cloud Foundryで学ぶ、PaaSのしくみ講座
by
Kazuto Kusama
IBM Log Analysis with LogDNAを評価した話
by
Daisuke Hiraoka
はじめてのCF buildpack
by
Kazuto Kusama
Docker + Checkpoint/Restore
by
kawamuray
Docker PaaSとしての OpenShift, Deis, Flynn比較
by
Kazuto Kusama
Dockerだけではないコンテナのはなし
by
Katsunori Kanda
Cloud Foundry Container-to-Container Networking
by
Kazuto Kusama
最近のKubernetesとDocker Machine/Swarmの話
by
Kazuto Kusama
Introduction of skippbox
by
Go Chiba
CNCF Updates 2019 Winter version and Knative
by
Masahito Zembutsu
Arukas meet Mesos/Marathon
by
Shuji Yamada
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
by
Kazuto Kusama
Docker で Deep Learning
by
Takenori Nakagawa
Similar to パフォーマンス計測Ciサービスを作って得た知見を共有したい
PDF
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
by
R S
PDF
クラウド開発に役立つ OSS あれこれ
by
Masataka MIZUNO
PPTX
2019年度 CaaS ワークショップ @ NTTコム
by
TomoyaTakegoshi
PPTX
Rails on GKEで運用するWebアプリケーションの紹介
by
Makoto Haruyama
PDF
GCPで実現するクラウドネイティブアプリケーション
by
Kiyoshi Fukuda
PDF
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
by
Masaya Aoyama
PDF
試して学べるクラウド技術! OpenShift
by
Etsuji Nakai
PDF
はてなにおける継続的デプロイメントの現状と Docker の導入
by
Yu Nobuoka
PDF
成長を加速する minne の技術基盤戦略
by
Hiroshi SHIBATA
PDF
Building production server on docker
by
Hiroshi Miura
ODP
Building production server on docker
by
Hiroshi Miura
KEY
Real world rails
by
Jun Yokoyama
PDF
Rocroにおけるgcp活用事例
by
Kishin Yagami
PDF
Observability, Service Mesh and Microservices
by
Taiki
PDF
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送
by
Google Cloud Platform - Japan
PPTX
fluxflex meetup in Tokyo
by
Kyosuke Inoue
PPTX
Fluxflex meetup 2011 in Tokyo
by
Kyosuke Inoue
PDF
あなたの安心を高速に守る Container-based CI
by
Wataru MIYAGUNI
PPTX
Open stackceilometer
by
Takahiro Shida
PPTX
Azure Container Services and Microservices design pattern
by
Yoshio Terada
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
by
R S
クラウド開発に役立つ OSS あれこれ
by
Masataka MIZUNO
2019年度 CaaS ワークショップ @ NTTコム
by
TomoyaTakegoshi
Rails on GKEで運用するWebアプリケーションの紹介
by
Makoto Haruyama
GCPで実現するクラウドネイティブアプリケーション
by
Kiyoshi Fukuda
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
by
Masaya Aoyama
試して学べるクラウド技術! OpenShift
by
Etsuji Nakai
はてなにおける継続的デプロイメントの現状と Docker の導入
by
Yu Nobuoka
成長を加速する minne の技術基盤戦略
by
Hiroshi SHIBATA
Building production server on docker
by
Hiroshi Miura
Building production server on docker
by
Hiroshi Miura
Real world rails
by
Jun Yokoyama
Rocroにおけるgcp活用事例
by
Kishin Yagami
Observability, Service Mesh and Microservices
by
Taiki
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送
by
Google Cloud Platform - Japan
fluxflex meetup in Tokyo
by
Kyosuke Inoue
Fluxflex meetup 2011 in Tokyo
by
Kyosuke Inoue
あなたの安心を高速に守る Container-based CI
by
Wataru MIYAGUNI
Open stackceilometer
by
Takahiro Shida
Azure Container Services and Microservices design pattern
by
Yoshio Terada
More from zaru sakuraba
PDF
Service workerとwebプッシュ通知
by
zaru sakuraba
PDF
CarrierWaveにちょっと互換あるGCP Storage対応クラス
by
zaru sakuraba
PDF
今さらながらRSpecに入門してみた
by
zaru sakuraba
PDF
Goでこれどうやるの? 入門
by
zaru sakuraba
PDF
GitHub Appsの作り方
by
zaru sakuraba
PPTX
正規表現勉強会
by
zaru sakuraba
PDF
Railsモデル設計ケーススタディ
by
zaru sakuraba
PPTX
社内ネットワーク改善の過程で分かった物理ゆえの闇と脆弱性そしてネットワークの基礎入門
by
zaru sakuraba
PDF
WebAssembly と Rust の入口の向かいにある道路のベンチに腰掛けるレベルのさわってみた感想を共有
by
zaru sakuraba
PPTX
良いプログラマーとは
by
zaru sakuraba
PPTX
スマホフロントエンド最速化手法
by
zaru sakuraba
PPTX
少し未来のコードレビュー
by
zaru sakuraba
PDF
スクラム導入に向けて:スクラムは救世主となるのか?
by
zaru sakuraba
Service workerとwebプッシュ通知
by
zaru sakuraba
CarrierWaveにちょっと互換あるGCP Storage対応クラス
by
zaru sakuraba
今さらながらRSpecに入門してみた
by
zaru sakuraba
Goでこれどうやるの? 入門
by
zaru sakuraba
GitHub Appsの作り方
by
zaru sakuraba
正規表現勉強会
by
zaru sakuraba
Railsモデル設計ケーススタディ
by
zaru sakuraba
社内ネットワーク改善の過程で分かった物理ゆえの闇と脆弱性そしてネットワークの基礎入門
by
zaru sakuraba
WebAssembly と Rust の入口の向かいにある道路のベンチに腰掛けるレベルのさわってみた感想を共有
by
zaru sakuraba
良いプログラマーとは
by
zaru sakuraba
スマホフロントエンド最速化手法
by
zaru sakuraba
少し未来のコードレビュー
by
zaru sakuraba
スクラム導入に向けて:スクラムは救世主となるのか?
by
zaru sakuraba
パフォーマンス計測Ciサービスを作って得た知見を共有したい
1.
パフォーマンス計測CIサービスを 作って得た知見を共有したい Rails Developers Meetup
#5 2017-09-28 @zaru
2.
@zaru 株式会社ベーシックCTO
3.
株式会社ベーシック
4.
最近の活動 ブラウザにプッシュ通知できるライブラリwebpush (gem) 最近マストドンにマージされた URLをQRコードに変換するMacアプリLightningQR GitHubの通知をするMacアプリNotifyHub seedを自動で作ってくれるseedbuilder (gem) スクラムマスター コードを音にしたり、ドット絵にしたり、リズムゲームにしたり
5.
今日話したいこと raysCI について GitHub Apps
について Docker / kubernetes について 個人開発プロジェクトについて
6.
raysCI
7.
個人で開発している パフォーマンス計測をするCIサービス プルリクを作ったら自動でMasterとPRブランチのベンチマーク ベンチマークの種類 ApacheBench ヘッドレスブラウザ First paint DOM content
load assets network (HAR) stackprof (gem)
8.
開発中の画面
9.
Railsのみサポート 将来的には他の言語やフレームワークに対応したい プライベートベータ 近いうちにオープンベータへ 計測に使ったビルド時間の従量課金を予定 その他、予定している機能 Viewレンダリング結果のdiff ステージング環境自動構築 プロダクション環境への定期パフォーマンスチェック
11.
GitHub Apps
12.
OAuth Apps とGitHub
Apps
13.
OAuth Apps (従来のもの)
はユーザに対してインストール ユーザが削除されたりリポジトリへの権限を失うと消える アクセストークンはユーザが取り消さない限り永久有効 GitHub Apps はリポジトリに対してインストール 正確にはリポジトリのオーナー(Organization やUser)に インストールして、配下のリポジトリに付与するようなイメージ アクセストークンの有効期限は1時間 GitHub Apps のOAuth も可能 こちらはユーザ情報を取得するために使う(限定的) マーケットプレイスに出せる
14.
OAuth Apps ではbot
がコメントするためには実ユーザになりすます GitHub Apps は一人格としてコメントできる OAuth したユーザの代わりにもコメントできる
15.
人に依存しないサービス連携! 業務では非常に嬉しい気持ち
16.
マーケットプレイス
17.
GitHub 上でアプリをインストール・決済できる 提供者は売上の25%をGitHub に献上 決済の仕組みを作らなくて済むので楽? でもAPIのコールバックとかで、ある程度開発は必要 登録する条件 250人以上にインストール済み<厳しい セキュリティ審査や申請ドキュメントなど結構たいへんそう… アクセスログとか保持する基盤とか全部そろえて説明できる資料 とか
18.
GitHub Appsの作り方 とても簡単
19.
アクセストークンとAPI 秘密鍵を使ってJWTに署名して生成(有効期限最大10分) JWTを使ってアクセストークンを取得(有効期限1時間) アクセストークンで各種APIにアクセス(一部のAPIのみ)
20.
JWT コード例 private_pem =
File.read(path_to_pem) private_key = OpenSSL::PKey::RSA.new(private_pem) payload = { iat: Time.now.to_i, exp: Time.now.to_i + (10 * 60), iss: <GitHub App ID> } jwt = JWT.encode(payload, private_key, "RS256")
21.
JWTのexpireに注意 最大で10分の有効期限を指定できる なぜか10分ぴったり指定すると、時々未来の日付だよと怒られる 8分にしても怒られる時がある 10分も必要ないと思うので、5分程度で運用したほうが良さ気
22.
GitHub Apps のOAuth
23.
GitHub Apps にもユーザ情報を取得するOAuth
がある 取得できるユーザの情報は限定されている ユーザ名やID・アバター 公開設定のEmail 非公開の場合はnull /user/emails にはアクセスできない 将来的には取得できるようになるっぽいが… インストール済みリポジトリ/ Public リポジトリ インストールしてないPrivate リポジトリは取得できない リポジトリの検索などはできない
24.
ユーザ中心のサービスは向いてない…
25.
GitHub Apps のAPI
26.
現時点で全てのAPIにアクセスできるわけではない 少しずつ解放される様子 9月21日にも66個のAPIが解放されている もし要望があるならフォーラムに投稿すると早くなるかも? Request support for
additional endpoints for Integrations リポジトリ検索ができないのがつらい
27.
GitHub Enterpriseでの利用
28.
GitHub Enterprise v2.11
で利用可能になるアナウンス しかしv2.11 のリリースノートには記載なし…
29.
GitHub Apps で気をつける所
30.
Webhook は取りこぼさないように 取りこぼすとデータをロストしてしまう 一応、設定画面から再送処理は可能だが…現実的ではない タイムアウトや例外などで死なないようにする 例えばsidekiq などに逃がす 将来的にはエラーを通知する仕組みを用意してくれるっぽい パーミッションの変更はなるべくしない 変更後、ユーザが承認しないと反映しない すごく分かりにくいUIなので気が付きにくい…
31.
通知も何もなく、ひっそりとSettingsにあるだけ メールでの通知はしてくれる
32.
GitHub Apps のインストール導線
34.
不親切な流れになってしまう サービスページ(インストール誘導) → GitHubのインストール承認ページ → インストール完了 →
終了(github.comのまま…) インストール後、サービスページに自動で戻らない 理想なのはOAuth Appsのような流れ サービスサイトでちゃんとフローを案内する必要がある(厳しい) 要望は出ていて検討中らしいので改善されるかもしれない マーケットプレイス中心の導線設計なのかも
35.
Privateリポジトリ一覧が取れないので、他のリポジトリに 追加インストールするのもGitHubページ上でないとできない サービスサイトとGitHub App設定画面を行ったり来たり 追加/削除自体はAPIでできるが…
36.
GitHub Apps ローカル開発
37.
ローカルでWebhook 受け取る方法 ngrok で外部に解放 無料だと起動のたびにホスト名が変わるので面倒 nginx
でproxy サーバをたてる ルータでポートフォワーディングが必要 payload の例があるので、curl などで叩く https://developer.github.com/v3/activity/events/types/
38.
upstream http_backend { #
server example.ngrok.io; # ngrokの場合 server 10.0.0.10:3000; # ローカルのグローバルIP keepalive 128; } server { location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $http_host; proxy_set_header X-CSRF-Token $http_x_csrf_token; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; # proxy_set_header Host example.ngrok.io; # ngrokの場合 proxy_redirect off; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_pass http://http_backend/; } }
40.
Docker
41.
CI, どうやってアプリを動かすか
42.
CIは、ユーザのアプリ毎・ビルド毎に分離した動作環境が必要 今ならDockerが良い気がする どうやってDockerビルド/ コンテナ管理しよう? CIサービス自体もDockerで動かしたい Docker in
Docker docker.sock 共有 自前ビルドサーバ+ オーケストレーション kubernetes + GCP Container Builder
43.
Docker in Docker
44.
jpetazzo/dind
45.
マトリョーシカのようにコンテナ内でコンテナを起動 Dockerのprivilegedオプションを利用してDockerを操作
46.
良い点 階層構造なので綺麗で管理しやすい 悪い点 パフォーマンス privilegedオプションで怖い ボリュームが残ってしまう そもそも制作者自身があまり推奨していない Using Docker-in-Docker for
your CI or testing environment? Think twice.
47.
docker.sock 共有
48.
ホストの/var/lib/docker.sock を共有する 階層構造はなく、単にホストのDockerエンジンにアクセスできる
49.
良い点 普通にDockerを使っているようなものなのでシンプル ビルドキャッシュも簡単に使える 悪い点 コンテナ内から他のコンテナが丸見え… 内部利用限定なら良いかもしれない
50.
自前ビルド+ オーケストレーション
51.
つらい
52.
kubernetes + GCP Container Builder
53.
コンテナの管理はkubernetesに全部任せる ビルドはGCP Container Builderに全部任せる
54.
超絶楽
55.
いつどれくらいコンテナが立てられるか予測できない GKE + k8sならコンテナ作成時にリソースが不足していたら自動で ノードを起動してくれる(オートスケール) リトライ処理やライフサイクルなど機能が豊富 複雑になりがちなビルドステップどうしよう… Container
Builder自体が簡易CIみたいなもの 簡単にステップを記述でき、公式で用意してあるイメージが便利 (gitコンテナ・dockerコンテナ・gcloudコンテナなど) 悪い点 Container Builderがビルドキャッシュをサポートしていない 毎回フルビルドなので時間がかかる
56.
ところで GKE + kubernetes
かHeroku か
57.
細かくコントロールとビルドをするならGKE + kubernetes kubernetesだけやってればOKな感じある 小規模/シンプルなアーキテクチャならHerokuオススメ むしろHerokuライクなサービスが主流に…なってほしい 詳しくは普通のRailsアプリをDockerで本番運用する知見を
58.
CI, 計測の仕方
60.
計測の流れ Container Builder にビルド依頼 ビルドコンテナがAppコンテナに計測用のコードを仕込む Gem
le やinitializer / environment など ビルドコンテナがk8s デプロイファイルを作成 k8s にデプロイ 計測コンテナがApp の立ち上がりを待機 計測開始 計測後、CIコンテナにレポート送信 Pod を削除して終了
61.
CIサービスを作るのに使った小技
62.
appコンテナ起動時にDB作成/インポートを行う 正直、力技…どうにかしたい command: - "sh" - "-c" -
> bundle exec rails db:create && bundle exec rails db:schema:load && bundle exec rails db:seed && bundle exec rails db < import.sql && bundle exec rails s -p 3000 -b 0.0.0.0
63.
k8s で、コンテナ起動前と終了時にコマンド実行できる spec: containers: - name:
lifecycle-demo-container image: nginx lifecycle: postStart: exec: command: ["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/sha preStop: exec: command: ["/usr/sbin/nginx","-s","quit"]
64.
k8s で、share dirを作成して各コンテナでファイル共有
65.
k8sのボリュームは以下の3種類 EmptyDir HostDir GCEPersistentDisk / awsElasticBlockStore EmptyDir
とHostDir は永続化されない。Pod 内で一時的に使いたいな らEmptyDir、ホスト側でも使いたいならHostDir、永続化したいのな ら外部ストレージのGCEPersistentDisk。 raysCI ではベンチマーク結果や、設定ファイルなどをEmptyDir に格納 して利用。
66.
resources を指定してリソースを固定する resources: requests: #
最低限 cpu: 200m memory: 512M limits: # 最大 cpu: 200m memory: 512M ちゃんと指定しないとパフォーマンスがかなりブレる 1CPUに対しての割合を指定する。 0.1 は 100m m はミリコアと読んだりする メモリ使用が指定量を超えたらPod が死ぬ(再起動) CPU は指定量を超えたら水平オートスケールする(設定が必要)
67.
環境変数・秘匿情報について env: - name: FOO_KEY
# 普通の環境変数 value: "foo value" - name: SECRET_KEY # 秘匿情報 valueFrom: secretKeyRef: name: secret_name key: secret_key k8sクラスタに接続できるなら誰でも閲覧可能 秘匿情報はsecrets API 経由で取得するようにする
68.
Container Builder のローカル開発 GoogleCloudPlatform/container-builder-local ローカルで動かせる いちいちdocker
push とかしなくて済む 気の済むまでビルドデバッグ可能
70.
個人開発プロジェクトについて
71.
raysCI の開発ステータス 5月15日開発開始/ 約70日間の開発 1日平均2
時間程度/ 累計で約142 時間の開発 業務でやったら1ヶ月くらい?
72.
とにかく 個人開発のプロジェクトは 頓挫しやすい
73.
今のところうまくいってる 僕の開発スタイル
74.
毎日コードを書く 土日にまとめてやると状態を忘れがち 習慣にする まずはPCの前に座る これだけで継続しやすい 自分を甘やかすことも必要 夜ご飯のビール は飲んでもいい(1本まで) 今日はなんにもしないで映画見る、など コードを捨てるのを躊躇しない 作ってみて知見を得たら再度作り直す 妥協を積み重ねたコード、さわるのつらい
75.
モチベーションの作り方
76.
業務とリンクしやすい領域を作る 相互作用で実益があると継続しやすく、お賃金が上る?! 「この問題進研ゼミでやったやつだ」 サービスを作りきるまでの余計な壁を取り払う 新しい技術にふれるのが目的なら離れていても問題ないが… その場合は短期決戦にしぼったほうが良い 小さいミニアプリを大量に作るとか
77.
何のために作るのかを明確にする お金のため 技術習得のため 課題解決のため 目的が明確になると、何を優先して、何を捨てるのか 判断ができてストレスが減る
78.
途中経過をなんでも良いからアウトプットする 完成してからアウトプットでは道程が長い 改善の参考になるフィードバックがあるかも 手に入った知見はその場でアウトプット
79.
「やるぞ」駆動 Twitterにやる気はなくても「やるぞ」とつぶやく 自然とやる気が出てくる
80.
公開に到達するために
81.
ゴールを大きくしすぎない 小さく始めて素早く公開できる仕様にする やらないことを決める 対象ユーザの範囲を限定する なにかを妥協する 例えば完璧なテストコードや管理画面 raysCI はDocker 環境のみに対応、今はRails
だけビルドできるように 制限を加えることで作りやすくなる。ある程度は拡張できるように事前 設計するけど、まだ見えない未来に投資しすぎない。
82.
まとめ GitHub Apps は作るのは簡単だけど、発展途上中 Docker自前でやるならkubernetes ContainerBuilder
が優秀すぎて泣く 個人開発は習慣化と実益をとれるようにする 小さく作って、早く公開できるようにする
83.
ありがとうございました。 docker stop $(docker
ps -a -q)
Download