このページ内容は2022年9月9日以降、再調査・再検証してません。実際に扱う際は最新の情報にアクセスしてください。

link
Core Web Vitalsがパソコン向けの検索ランキングに適用

2022年2月からCore Web Vitals (LCP, CLS, FIDの3要素からなるUXを向上させるための指標) も検索ランキングに影響するようになりましたcore_web_vitals_for_browser。LCP, CLS, FIDのそれぞれの意味や改善方法についてはweb.devのサイトが詳しいですcore_web_vitals

link
Google Analytics UAサポート終了

Google AnalyticsはUAのサポートが終了し、GA4に切り替わりました。GA4からはキーを登録するだけで、ユーザー操作やページが変わったときに自動でログ送信するようになりました。

またUAではユーザーイベントにカテゴリ、アクション、ラベルを付け送信し、集計画面でフィルタリングして表示できてましたが、GA4ではアクション以外はログ送信したとしても記録されない、または表示されないようになりましたga4

link
TypeScript公式のチートシート

TypeScriptが公式チートシートを公開しましたts_cheatsheet。Type, Class, Interface, Control Flow Analysisの全4種についてまとめられています。ちなみに、Figma上で管理してるようなので、こちらでも確認できますts_cheatsheet_figma

link
Vercel マルチテナントアプリケーション開発キット

ログインするユーザーごとにサブドメインを払い出し、ブログ投稿可能なアプリを簡単に作成できるテンプレートが使えるようになりましたvercel_starter_kit

技術スタックはフロントにNext.js, TailwindCSS, DB・ORMにPlanetScale, Prisma, 認証にNextAuth.js, ホストにVercelを使ってます。以下のコードで試すことができます。

1
npx create-next-app --example https://github.com/vercel/platforms/tree/main platforms
link
デザインシステム公開

Vercelvercel_designとAWSaws_designが自社のデザインシステムを公開するようになりました。

link
ショップ公開

Figmafigma_storeとDenodeno_storeが自社のグッズを販売するようになりました。

link
Software Freedom Conservancy (SFC) がGitHubからの移行発表

SFCはFOSS (Free and Open Source Software) プロジェクトの権利を守り、プロジェクトの育成を促進するための非営利団体ですsfc。SFC傘下のプロジェクトとして、GitやHomebrew, Seleniumなどがあります。

今年に入りGitHub Copilotが有料サービスとして公開されたことを受け、GitHubからの移行を宣言しました。今後、傘下プロジェクトの移行を進めていくそうですsfc_announce。ちなみに、この宣言をした背景はGitHub Copilotがコード補完のソースとして団体が管理しているコードを利用していること。また、GitHub Copilotの正式リリース前から意見書などを出していたにも関わらず、無視され続けており改善される予兆がないためだそうです。

link
C++互換の新しい言語 Carbon

CarbonはJavaScriptに対するTypeScript, Javaに対するKotlinのような立ち位置を目指している言語だそうですcarbon。パフォーマンスを落とさず、既存のC++プロジェクトに、ジェネリクス、クラス、継承、メモリ安全性やシンプルな構文などを導入できるようです。

C++とCarbonを共存させて書くこともできるらしく今後のどのようになっていくか気になるところです。以下サンプルコードですcarbon_sample。ちなみに、拡張子はまだ決まってないcpp_extensionようで、試して使うこともできません。

1
// C++ code used in both Carbon and C++:
2
struct Circle {
3
float r;
4
};
5
6
// Carbon exposing a function for C++:
7
package Geometry api;
8
import Cpp library "circle.h";
9
import Math;
10
11
fn PrintTotalArea(circles: Slice(Cpp.Circle)) {
12
var area: f32 = 0;
13
for (c: Cpp.Circle in circles) {
14
area += Math.Pi * c.r * c.r;
15
}
16
Print("Total area: {0}", area);
17
}
18
19
// C++ calling Carbon:
20
#include <vector>
21
#include "circle.h"
22
#include "geometry.carbon.h"auto main(int argc, char** argv) -> int {
23
std::vector<Circle> circles = {{1.0}, {2.0}};
24
// Carbon's `Slice` supports implicit construction from `std::vector`,
25
// similar to `std::span`.
26
Geometry::PrintTotalArea(circles);
27
return 0;
28
}

core_web_vitals: https://web.dev/vitals/
自己紹介
はじめまして Pilefortです。
東京でエソジニアをしてます。
興味のあるスタックは、JavaScript (React, Vue), TypeScript, Rust, WebAssembly, AWS, Pulumi, Serverless Frameworkです。
このブログでは、普段の業務や趣味で気になったことをまとめたり、フロントやAWS, GitHubやTwitterで見かけた面白い記事やニュースをまとめるためのものです。少しでも何かの役に立てば幸いです。
サイトマップ
Notes
業務や趣味での気づき・メモ
Snippets
記事にするまでもないけど、便利なコマンドや豆知識
Works
同人誌一覧