ゆるふわ技術日誌

エンジニア見習いの悪戦苦闘日記

json-serverとかいうのもっと早く知っておくべきだった

少しずつやる気を取り戻しているので、今日はいろいろやりました。

研究の件

中間発表以来進捗がどうにもいまいち状態だったのですが、とりあえず手を動かしてみようと思って、仕様策定当時いち早くHTTP/2に対応したH2Oを使ってパフォーマンス測ったりといったことをしてみました。

H2Oをローカルに入れるのは面倒だったので、サクッとDockerを使いました。

lkwg82/h2o-http2-server - Docker Hub

動かすところまではすんなりといったのですが、パフォーマンスに差が現れるケースがいまいち把握できず。

調べようにもHTTP/2の通信がわからなかったので、もう一回該当箇所のRFCを読んでみようかと思います。

フロントエンドのお勉強

今日はちゃんとやった。研究室のPC(Core i7 7700)でビルドするとMacだと1分近くかかる処理がものの数秒で終わって腹が立った。やはり性能の良いMacが欲しい。

フロントエンドだけ勉強したいのに外部のAPI叩いたりするところでどうしてもサーバー的なものを書かないといけないじゃないかと思っていたのですが、json-serverなるものを知った。

typicode/json-server: Get a full fake REST API with zero coding in less than 30 seconds (seriously)

これ。

以下のような感じのjsonを用意して

{
  "posts": [
    {
      "id": "id1",
      "title": "id1 title",
      "content": "id1 content"
    },
    {
      "id": "id2",
      "title": "id2 title",
      "content": "id2 content"
    }
  ]
}

食わせる

$ json-server db.json

以上でモックサーバーが立ち上がる。

叩いてみる。

$ curl localhost:3000/posts
[
  {
    "id": "id1",
    "title": "id1 title",
    "content": "id1 content"
  },
  {
    "id": "id2",
    "title": "id2 title",
    "content": "id2 content"
  }
]

すげえ。(idはFirebase的なのを意識してあえてstringにしてみたけどその辺もよしなにされている)

それだけではなくPOST/DELETE/PUTなどもできる。JSONに対して直接変更を入れてくれる。

これさえあればフロントエンドの開発にだけ集中できるやんけと思ってしまった。もっと早く知りたかった。(というかmockを使って開発するという思考に至っていればすぐ見つけられただろうに…)

これを使ってモリモリやって生きます。いずれはFirebase的なのを使って少しは実用的なアプリケーションを作りたいなぁ。

雑談

明日はこれでLTやってきます。

【さらに増席しました】第1回ゆるはち.it: PWAについてゆるく話す - connpass

サークルとか研究室とかでLTもどきみたいなものはやったことあったのですが、外で知らない人を目の前にやるLTは何気お初なので頑張っていこうと思います。

スライドは作ったけど練習まだやってないんだよなぁ。

f:id:uutarou:20180828232221p:plain

表紙がかわいくできて気に入っている