タグ

node.jsとcacheに関するraimon49のブックマーク (10)

  • node_modulesの問題点とその歴史 npm, yarnとpnpm

    皆さんnpmパッケージのバージョンを上げるときにハマって依存地獄から抜けられなかったことはありませんか? 私はあります。 複雑怪奇な依存関係を調べてみようとnode_modulesを覗いてみて、そのカオスっぷりに臭いものに蓋をしたことはありませんか? 私はあります。 そこでnode_modules以下について調べてみたのですが、node_modulesにどんな問題点があって、npmやyarn, pnpmは何を目指していたのか時系列順に紐解いた方がわかりやすいことに気づきました。 ここでは初期のnpmが抱えていた問題から今に至るまでを順を追って説明します。 するとnode_modulesの仕組みの他に、各パッケージマネージャの方針の違いが見えてくるはずです。 初期の頃のnpm (~2015年以前) この頃はシンプルで、依存関係はそのままnode_modulesのディレクトリ構造に反映されてい

    node_modulesの問題点とその歴史 npm, yarnとpnpm
    raimon49
    raimon49 2023/06/24
    npm --install-strategy=linkedオプションが導入されるまでの歴史。
  • npm install と npm ci って結局どう使うの?2023年版 - Mitsuyuki.Shiiba

    うりうりさんの↓のコメントを見て、そういえばnpm ciって見たことあるけどチェックしてないなぁ。というかnpm installも雰囲気で使ってるなぁ。と思ったので、うりうりさんに教えてもらったことを手がかりに、npm installとnpm ciについて調べた。 これ、node_modulesキャッシュしてたり npm install使ってるけど npmのグローバルキャッシュ(~/.npm)をキャッシュした上で npm ciで早くなったりしないんだろうか GitHub Actions上でテストを約3倍早くした話https://t.co/MpmFktGBxU— wreulicke (@wreulicke) March 14, 2023 ちょこっと検索して見てみたところ、新旧情報があって自分が混乱したのと、公式ドキュメントには概要は書かれているものの詳しい内容は書かれていないので(僕が見つけ

    npm install と npm ci って結局どう使うの?2023年版 - Mitsuyuki.Shiiba
    raimon49
    raimon49 2023/03/16
    Clean Installでciなんだ。言われてみれば確かにそのような振る舞いだ。
  • Next.jsのISRで動的コンテンツをキャッシュするときの戦略

    最近Next.jsのISR(Incremental Static Regeneration)を耳にする機会が増えてきました。Zennでも2021/3/17時点で記事やなどの一部のページでISRを採用しています。 ISRとは何か ISRを使うことで、動的なコンテンツを含むページも静的ページとしてCDNにキャッシュすることが可能になります。Next.jsのISRはドキュメントに書かれているようにstale-while-revalidateという考え方でキャッシュが行われます。 具体的には、リクエスト時にページのキャッシュを作成し、次のアクセスではキャッシュされた古いデータを返します。その裏で次のアクセスに向けてキャッシュが再生成されるというイメージです。 これによりユーザー投稿コンテンツであってもCDNにキャッシュしやすくなるというわけです。 Next.jsでのISRの実装 デプロイ先がVe

    Next.jsのISRで動的コンテンツをキャッシュするときの戦略
  • React ユーザー向けの Next.js ガイド

    最近会社で Next.js のチュートリアルを担当することがあったり、これからもあるので資料として記事をしたためておこうと思う。 対象は、React は知っているけどこれから Next を学ぼうとする人が想定。 つまり React 単体と Next の差分をまとめる。 React そのものから学びたい人は別の資料にアクセスした方が良いだろう。 Next の学習教材 とりあえず公式だけ読めば良い。(これでいまブラウザバックされたら面白いな・・・) 主に二つあり、 ドキュメントや API: https://nextjs.org/docs/getting-started チュートリアル: https://nextjs.org/learn/foundations/about-nextjs を読むと良い。 Next は何を解決しているか、何が嬉しいか 元々は SSR のための煩雑な手続きをしなくてい

    React ユーザー向けの Next.js ガイド
  • Running Yarn offline | Yarn

    For Yarn 2+ docs and migration guide, see yarnpkg.com. Posted Nov 24, 2016 by Konstantin Raev Repeatable and reliable builds for large JavaScript projects are vital. If your builds depend on dependencies being downloaded from network, this build system is neither repeatable nor reliable. One of the main advantages of Yarn is that it can install node_modules from files located in file system. We ca

    Running Yarn offline | Yarn
    raimon49
    raimon49 2021/05/31
    Yarnでパッケージ管理している場合のオフラインモードについて。
  • JavaScript Package Manager 2019

    Node学園で発表した JavaScript Package Manager の話です。

    JavaScript Package Manager 2019
    raimon49
    raimon49 2019/06/28
    npmは関数1つ定義してexportしてるだけの単位でも1つのpkgとして登録されてるから増加も異常なペースになってるように思う。スライドはzero install戦略やEntropicの解決したい課題と目指すゴールが整理されていて分かり易い。
  • Node Express でそこまで取り上げられていないあれこれ

    くまくらです。 私は API サーバを実装する際に Node の Express を利用する事が多いので、今回は使っていて知った事のうち、世間的にはポツポツ程度にしか取り上げられていない事柄をいくつかあげていきます。簡単に Express を利用している初心者レベルを主な対象としています。 前置き 以後の文中にて登場する名称/変数値は、Express API リファレンス を始めとした各種ドキュメント内でも扱われているものと同等に、以下のインスタンスを指すこととします。 app: Application インスタンス req: Request インスタンス res: Response インスタンス routes: Application インスタンスによるURLルート定義にてマッピングされた Middleware app, req, res のライフサイクルについて 当に基的なことです

    raimon49
    raimon49 2014/07/30
    ライフサイクル
  • iOS6 Mobile SafariがAjax POSTでキャッシュする問題を回避する方法 | DevelopersIO

    iOS6出た! iOS6が出来ましたね。社内ではiPhone5を入手した社員がLTEの速度に驚いていました。私はまだiPhone4Sですが、iOS6にして新しい機能を楽しんでいるところです。さて、iOS6にしてSafariの仕様が変わって困ったと言った投稿が海外のフォーラムで挙っています。それも、基的なPOST通信についてです。これは困ったということで、動作を確認して対策方法についてシェアしたいと思います。 どんな時にPOSTをキャッシュする? まずはどんな状況か確認してみたいと思います。 Cache-ControlもExpiresも無い場合 : iOS6 Mobile SafariはPOSTをキャッシュする Cache-Control max-age=0指定 と Expires指定 : iOS6 Mobile SafariはPOSTをキャッシュする Cache-Control: no-

    raimon49
    raimon49 2012/09/24
    >レスポンスヘッダにCache-Control:no-cacheを指定することで回避できる
  • Node におけるスケールアーキテクチャ考察(Scale 編) - Block Rockin’ Codes

    [追記] 途中までは Node での複数プロセス起動、プロセス間通信等について書かれていますが、後半は自分が前回の記事 を書くにあたって自分が考えてたことを少し強引に広げて書いた個人的な妄想が多く含まれ、Node におけると言っときながら、後半は Node 関係ない感じになってしまいました。 正直まだ分かっていないことが多いです。変なところをどんどん指摘していただけるとむしろ嬉しいです。 Node におけるスケールアーキテクチャ考察(SSP 編) - Block Rockin’ Codes の続きです。 もともと何となく結論があって書き始めたんですが、書きながら色々調べているうちによくわからなくなりました。 まだまだ調べたらないことがわかったので、とりあえず今わかっているところまで書きます。 結局何がいいたいのかよくわからない感じかもしれないけど、ゴールは SSP のバックエンドの Nod

    Node におけるスケールアーキテクチャ考察(Scale 編) - Block Rockin’ Codes
    raimon49
    raimon49 2011/07/02
    WebSocketを喋れるサーバをスケールさせた場合、異なる接続を持っているクライアント間でどうbroadcastさせるか。
  • Node におけるスケールアーキテクチャ考察(SSP 編) - Block Rockin’ Codes

    *息抜きがてら書いていたら長くなってしまった。。 *当たり前ですが、あくまで個人的な考えです。 *ころころ変わるかもしれません。 Node の基的な知識についての話は色々なところで出始めて、 じゃあこーいう場合はどうするの? みたいな話が出始めたりもするようになってきた気もします。 正直、自分にもまだ分からないことだらけです。 そもそも自分はそこまでスケールに関するアーキテクチャや、OS の低レイヤに精通しているとは言えないので、 これを期に Node は何が得意で何が不得意なのか、スケールさせるために考えないといけないこと、などを自分なりにまとめて、 ついでに、これまで学んできた周辺のアーキテクチャに関する知識も混ぜて、色々思考実験をしてみたいと思っています。 だから WebSocket にブラウザが対応してないとか、そんな複雑なサーバ群当に運用できるのかとか、 そういう話は無しに、

    Node におけるスケールアーキテクチャ考察(SSP 編) - Block Rockin’ Codes
    raimon49
    raimon49 2011/07/02
    node.jsと相性の良いアーキテクチャ考察。これまでのWebアプリのようにテンプレートエンジンで全ての画面を作成して返すよりも、DOMを構築するための一部をJSONで配信するSemi Single PageがCPUリソースに優しく適している。
  • 1