Slide 1

Slide 1 text

Sugoi Noteをつくった @juntaki

Slide 2

Slide 2 text

= &Me{ Name: "Jumpei Takiyasu", Company: "M3, Inc.", Github: "juntaki", Twitter: "juntaki", Web: "https://juntaki.com", }

Slide 3

Slide 3 text

情報共有できてますか ● Wiki ● README.md ● Redmine

Slide 4

Slide 4 text

気軽に使えるのは 情報共有ではない

Slide 5

Slide 5 text

https://sugoi-note.net

Slide 6

Slide 6 text

Sugoi 機能

Slide 7

Slide 7 text

ふつうのメモとしての機能 ## メイン画面 ● 1ペイン構成なので広い ● Markdown ● 自動保存 ## 自分のノート一覧 メモ.app風UI

Slide 8

Slide 8 text

共有機能 ## ノートを検索 共有ノートが検索できる ## 共有設定 ノートごとに設定可能 Private/ ReadOnly/ ReadWrite

Slide 9

Slide 9 text

Sugoi 構成

Slide 10

Slide 10 text

概要 シンプル イズ ベスト

Slide 11

Slide 11 text

フロントエンド ● Vue.js w/ TypeScript ● Vuetify:コンポーネントフレームワーク ● Vue-router:画面遷移 ● Simple MDE:Markdownエディタ

Slide 12

Slide 12 text

improbable-eng/grpc-web gRPCをブラウザでも使えるようにする GAEで使うには工夫が必要 参考:https://github.com/k2wanko/gaegrpc 使い方: ● サーバ:普通のgRPCサーバを作って、grpc-webでラップ ● クライアント:ts-protoc-genとgrpc-web-clientを使う

Slide 13

Slide 13 text

GoとGAEでAPIサーバをつくる この程度の規模なら、標準ライブラリだけで作れる Layered Architectureにした ├── gae : Goはinit()だけ、ルーティングとDI │ ├── src : Vue.js │ └── app.yml ├── lib │ ├── application : gRPC Serverの実装 │ ├── domain : repositoryのinterface │ └── infrastructure: datastore向けのimpl └── proto: protobuf置き場

Slide 14

Slide 14 text

Google App Engine バージョン機能  → Blue-Green Deploymentになってる エラーレポート・デバッグ  → Sentryみたいなのが有効になってる コスト  → 安い!!!

Slide 15

Slide 15 text

つかってみて https://sugoi-note.net GAE+GoでサービスをつくるのはSugoiかんたん