TypeScript は本質的に自分に型が付与されていると思っているだけの JavaScript です。 いくら型を付与しようが、それが実行時に影響を与えることはありません。 コードレビューをしているとここを誤解している人が本当に多いです。何度も解説しているのですが、なかなか浸透しないので、TypeScript におけるバリデーションという視点で記事を書くことにしました。 あと TS でバリデータ使って色々作ろうとしている友人と、プログラミング始めたてで zod と openapi を使っいる友人がいたので、彼らが想定読者です。 型と値の名前空間 TypeScript 上での名前空間(スコープ)は2つに分類できます。 値: 実行時にランタイム上のメモリに存在するもの 型: 静的解析時にのみ参照可能なもの。コンパイル時に完全に消滅する。 TypeScript は基本的に JavaScript
はじめに こんにちは、マイグレーションチームの寺嶋です。 本記事では、ZOZOTOWNのマイクロサービスにおけるデータベースを参照したユニットテストの改善で得られた知見や工夫について紹介します。 背景と課題 ZOZOTOWNでは、数年前からリプレイスプロジェクトが実施されており、いくつものマイクロサービスが誕生しました。初期にJavaで作られたマイクロサービスのユニットテストが開発環境のデータベースを参照しており、テストで利用しているデータが更新・削除されてしまうとテストに失敗してしまうことが度々起きていました。また、接続しているデータベースがオンプレのSQL Serverを利用しており、CI上でユニットテストを実施できない状況でした。 そのため対象のユニットテストは次の問題を抱えていました。 ローカルPC上でしか実行できない 実データを利用しているので今日通ったテストが明日落ちる(可能性
こんにちは、 ast-grepの作者Herringtonです。 正規表現でコードを検索したことがある方なら、複数行のマッチングや入れ子構造の処理、コメントの無視などに苦労したことがあるかもしれません。 そこで、ast-grep VSCodeという新しい拡張を紹介します。これは、構造的検索と置換(SSR)という技術を利用して、より正確で効率的な検索と置換を実現するツールです。 構造検索は? テキスト検索と置換の限界 例えば、JavaScriptコードをリファクタリングして、lodash の _.filter 関数をネイティブの Array.prototype.filter メソッド に置き換えたいとします。単純なテキスト検索と置換は次のようになります: これは一部のケースではうまくいくかもしれませんが、いくつかの問題があります。 一行の式しかマッチングできません。コードが複数行にまたがってい
イントロダクション jscodeshift という codemod ツールキットを使って JavaScript / TypeScript コードをリファクタリングするための基礎テクニックをご紹介します。 codemod とは AST に変換したコードに何かしらの手を加えて別のコードに変換する技術の通称です。grep 置換や IDE を駆使した置換はあくまでコードを文字列のままで書き換えますが、codemod は構造体に変換してから書き換えるというステップを踏むため、非常に複雑なコード変換が可能です。 ちなみに codemod は JavaScript 特有のものではなく、Ruby や JVM 系などさまざまなプログラミング言語の世界にも存在します。 AST とは 正式名は Abstract Syntax Tree (抽象構文木)。簡潔に言うと、構文構造をデータ構造に書き起こしたものです。お
Webを構成する重要な要素の1つであるHTTPは、その最新仕様で2層構造となり、バージョンに関係なく使えるSemanticsと、特徴の異なる通信仕様を定めたHTTP/1.1、2、3に分割されました。 さらに現在では、HTTPの上にあらためてUDPやIP、イーサネットなどのプロトコルを実装する提案が行われており、まさにHTTPは通信の全てを飲み込む勢いで進化しつつあります。 こうしたHTTPの最新動向の解説が、大手CDNベンダでエッジクラウドなども展開するFastlyが2023年11月8日開催したイベント「Yamagoya 2023」で同社シニアプリンシパルエンジニアの奥一穂氏が行ったセッション「HTTPが全てを飲み込む」にて行われました。 本記事ではこのセッションをダイジェストで紹介していきます。記事は以下の3つに分かれています。 HTTPが全てを飲み込む(前編)~HTTPの2層構造と、H
GraphQL + TypeScript Done Right. nitrogql is a toolchain for using GraphQL in TypeScript projects. It can generate TypeScript types from your GraphQL schema and queries, and also provides static checking for your queries. ✨ Available FeaturesStatic Checks for GraphQLnitrogql CLI can perform static checks for your GraphQL schema and operations. They are helpful for catching GraphQL-related errors b
Two universal facts about user documentation: Documentation is really important. We are really bad at writing it. We don’t have good theories on what makes for useful documentation. That is except for the four document model, or Diátaxis.1 I’m glad that people use it. I’m also a little frustrated that people use it even when its inappropriate. My problem is that it’s not a universal or comprehensi
「今ここ何番地?」は地理院タイルに法務省地図(公共座標)などを重ねたシンプルなWebGISです。 「軽い」・「早い」・「使いやすい」をコンセプトにオフィスでも現地でも使えるツールとして開発しております。 ユーザーデータ(ベクトル)、ユーザーデータ(ラスタ)を表示できるようになりました。メンバーデータ(ベクトル)につきましては、開発中となります。ご了承願います。 <注意事項> ・地図データを読み込む際の通信料は利用者負担となります。 ・1ユーザーでPC・タブレット・スマートフォンのどれでも利用できます。 ※接続数は1つ(複数デバイス同時ログイン不可)で、後からログインしたデバイスが優先となります。 ・法務省地図のデータ 令和5年8月31日公開データ 最新の公図は法務局、インターネット登記情報提供サービスで確認ください。 ・各種地図データは精度の違いなどから現地と相違する箇所があります。 ・現
この記事は IPFactory Advent Calendar 2022 の 1 日目の記事です。 qiita.com こんにちは、futabatoです。 WSL2をメインの作業場にしているのですが、ストレージがパンパンになって不要な docker image などを削除してもスペースが空いてくれない問題があったので解決策のメモを残しておきます。 ストレージの余裕は心の余裕 pic.twitter.com/r3DdID3nXY— ふたばと (@01futabato10) 2022年10月7日 github.com まずは管理者権限で PowerShell を開いて WSL をシャットダウンします。 PS: > wsl --shutdown 次に、WSL の .vhdx ファイルの Path を確認します。 WSL2はファイルシステムを .vhdx ファイルに格納しているようですが、WSL内
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く