忍者ブログ

忘れじのWEB用語

備忘録として綴るなり

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Next.js 14リリース

10月26日、ReactベースのWebフレームワークNext.jsの最新版「Next.js 14」がリリースされ、ソースコードがGitHubに設置されています。

Next.js

開発環境の改善に取り組んできたNext.jsは、コードのリアルタイム反映を行うホットリロードなども備える開発モードnext devコマンドの--turboオプションで起動するRust製のモジュールバンドラーツールTurbopackエクスペリエンスを向上させ、同社クラウドvercel.comで重ねてきた大規模なNext.jsアプリケーションでの統合テストでは、ローカルサーバで53.3%のコード更新で94.7%の高速化を実現しているのだそうで、今後、試験を重ねることで安定版をリリースする予定になるようです。

PR

Turbopack

Rust製の高速なバンドルツール「Turbopack」が発表されました。

バンドルツールというのは、多数のJavaScriptやTypeScriptなどのコードを1つにまとめる機能を備えたツールで、多数のライブラリやコンポーネントなどを用いてチームで開発する大規模なWebアプリケーションの開発には欠かすことのできないもので、今回発表されたTurbopackは、どうやらWebpackの後継となるようですよ。

特徴は、Rustで記述されたネイティブアプリケーションで、一度実行された内容は再利用される仕組みを備えているのだそうで、これにより大規模なアプリケーションでも高速な起動と実行を実現してくれるようで、Next.js 13ではこのTurbopackが標準のバンドルツールとなるのだとか。

なんでも大規模なアプリケーションでは、TurbopackはViteよりも10倍速く、Webpackの700倍も高速で、さらに大きなアプリケーションであれば、もっと差は開くようです。

Git

Gitとは、バージョン管理システムと呼ばれるソフトウェアで、システム開発などでファイルを作成する途中の段階を記録することでソースコードを効果的に管理するために開発されました。

git

主要な機能として、「適切な段階で保存する」という機能があり、以下のことができるようになる。

  • 各バージョンごとに「作成者、日付、作業メモ」などの付加情報を記録
  • 作りかけのファイルを破棄し、前のバージョンに戻る
  • さらに過去のバージョンのファイルも取り出すことができる
  • トラブルなどがあった場合に、付加情報を振り返りながら追跡できる
  • 2つのバージョンを比較して変更箇所を調べられる

開発を一人ですべて行うのであれば、そこまで重要ではないかもしれないが、大きなプロジェクトともなると多数の人が関わるためファイル構成が煩雑化しやすい傾向があり、このようなバージョン管理システムを導入することで、問題解決への近道となる。

Gitは、Linuxを開発したリーナス・トーバルズによって始められたようで、LinuxとGitという2つの発明があること自体、恐ろしくすごい人だということがわかる。

Gitには、大きく分けて2つの使い方があり、一つは自分のPCだけで利用する方法と、複数の人と共有して使う方法で、共有する場合は、Gitサーバをネットワーク上に立てるか、Gitサービスを利用することになるが、ほとんどはGitサーバを使うことになるはず。

とはいえ、いずれの場合にせよ、利用するPCにGitをインストール必要がある。

分散型のGit

バージョン管理システムには、「分散型」と「集中型」があり、Gitは「分散型」になる。

「集中型」の場合、データの置き場所はひとつであり、ネットワーク上のサーバ上に置かれ、自分のPCに保存されるのは、自分が作業に使うものだけであり、過去の履歴を調べるためには、サーバへアクセスする必要がある。

そして、恐ろしいのはサーバ上のデータになにかあったら、すべてを失うことになるので、サーバ管理者は常にバックアップを作成する必要がある。

それに比べ、「分散型」の場合、最終的にデータが集まる場所はひとつだが、参加しているメンバーのPCにも原則として同じデータがコピーされる。

そのため、通信環境のない場合であってもファイルを操作したり、履歴を調べたりすることが可能で、修正したものは、次回ネットワークに接続したときにデータ更新すればいい。

また、参加者全員がデータを持っているということで、メインのサーバになにかがあったとしても、復旧しやすい。

最新記事

(11/28)
(10/28)
(02/03)
(01/27)
(01/21)

プロフィール

HN:
ffend
性別:
非公開

P R

最古記事

(01/21)
(01/27)
(02/03)
(10/28)
(11/28)