2020年11月9日のブックマーク (3件)

  • Next.js の状態管理 2020

    Next.js といえば、SSG(JAMstack)が最近は特に話題ですね。1年前まではgetInitialPropsを用いて、どう SSR するのかという事が話題の中心でした。Next.js 9.3 以降、SSR をする際にはgetInitialPropsではなくgetServerSidePropsを使用することを推奨すると記載されています。(そして、getInitialPropsを使用することで自動最適化が無効となってしまう旨も)getStaticPropsやgetServerSidePropsを利用することで、私たちは SSG・SSR をページ単位で切り替えることができます。 「SSG・SSR」が共存する可能性がある場合、SSR にはgetServerSidePropsを利用することになります。この変化による影響範囲は多大で、状態管理とデータフェッチについて、再考する必要がでてきまし

    Next.js の状態管理 2020
  • 脱Reduxを試みて失敗した話、その原因と対策について

    さて、年末が近づいてきましたが今年も 「Redux 使うべき使わないべきか」という話で盛り上がりましたね。 僕もずっと悩める人なのですが、@f_subal さんの Tweet や @takepepe さんの Next.js の状態管理 2020 が示すように Read 要件・Write 要件の多さで使い分けるという指針には深く納得をしました。 Redux の代替になるツールやノウハウもより活発に出てきて、Redux 以外の選択肢を考えるにあたって様々な学びがあった 1 年でした。 自分も色々と Redux 以外の選択肢を試していたのですが、その中で「やっぱ Redux を使えばよかった」と思ったときがあったので、これから Redux を剥がそうと考えている人に向けてその失敗談を語りたいと思います。 自分も手探りで正解がわかっていないところなのでアドバイス・反論・指摘などがあれば頂きたいです

    脱Reduxを試みて失敗した話、その原因と対策について
  • puppeteerでスクレイピング - Qiita

    web上の情報を抽出するスクレイピング技術ですが、いままでphantomJSで行っていましたが、chromeがヘッドレスブラウザに対応したとのことで、そのnodeライブラリであるpuppeteerで実践してみました。 環境構築 とりあえずお試しということで、dockerで構築しました。 構成はnode.jsのdockerイメージにpuppeteerを追加するかたちです。 下記2サイトの手順を大幅に参考にさせていただきました。 Docker コンテナ上で Puppeteer を動かす Puppeteer をDockerコンテナで利用する ディレクトリ構成はこんな感じ。 / ├ app/ │ └ script/ │  └ app.js │ └ data/ ├ docker-compose.yml ├ Dockerfile └ Package.json FROM node:9.2.0 RUN a

    puppeteerでスクレイピング - Qiita