はてブログ

はてなブックマーク新着エントリーの過去ログサイトです。



タグ null

新着順 人気順 5 users 10 users 50 users 100 users 500 users 1000 users
 
(1 - 25 / 132件)

JavaScript である値がオブジェクト型であることを判定する変なテク

2024/03/24 このエントリーをはてなブックマークに追加 9 users Instapaper Pocket Tweet Facebook Share Evernote Clip テク JavaScript typeof Object 挙動

TC39の活動で有名なJordan Harbandが作成した下記issueで知ったのでメモ。 前提として、次のコードによって x がオブジェクト型であることを判断できる。JavaScriptにおける null は typeof の結果が "object" になるという有名な変な挙動がカバーされている。 function isObjectA(x) { return (typeof x === "object" &... 続きを読む

TypeScript 5.5で型述語を推論できて最高。配列のfilterも型安全に

2024/03/21 このエントリーをはてなブックマークに追加 16 users Instapaper Pocket Tweet Facebook Share Evernote Clip filter 述語 undefined String 配列

結論を先に言うと、6月リリース予定のTypeScript 5.5で次のようなコードが型安全になります。 従来: TypeScript 5.4以前 function isNumber(value: number | string): value is number { return typeof value === 'number'; } const result = [12, null, 24, undefined, 48] .filter((value): value is number => value ... 続きを読む

ESLint の共有設定を Flat Config に対応させる - Object.create(null)

2023/09/16 このエントリーをはてなブックマークに追加 11 users Instapaper Pocket Tweet Facebook Share Evernote Clip eslint Object.create まえがき 修正案

まえがき こんにちは, 人間 ESLint です. そんな人間 ESLint の私ですが, 私一人があらゆるコードに注意深く目を通して, さらに修正案まで提示するというのは大変です. 多くの問題は機械的に検知できるはずなので, そういった仕事を私の代わりにしてくれるメカ人間 ESLint が欲しくなってきます. そんなわけで, 4 年ほど... 続きを読む

中止ボタンがしいたけに見えて困る - Object.create(null)

2023/05/27 このエントリーをはてなブックマークに追加 115 users Instapaper Pocket Tweet Facebook Share Evernote Clip Object.create Vivaldi しいたけ

令和最新版. Vivaldi でアイコンがカスタマイズできるようになっている テーマ設定画面を眺めていたら, Vivaldi 6.0 からツールバーのアイコンがカスタマイズできるようになっているのに気がつきました. 流石 Vivaldi です (?) vivaldi.com しいたけ復活 こうなっては中止ボタンをしいたけにするしかありません. しいた... 続きを読む

TypeScript 型レベル関数型プログラミング in 2023 - Object.create(null)

2023/03/24 このエントリーをはてなブックマークに追加 78 users Instapaper Pocket Tweet Facebook Share Evernote Clip TypeScript エイリアス true false 関数

ちょっと前に話題になった hotscript の技法の紹介やら, ラムダ計算を TypeScript の型にコンパイルする話やらなんやら. 通常の型レベル関数 TypeScript の型エイリアスはパラメータを取れるので, これは型レベルの関数であるとみなせます. type IsNumber<X> = X extends number ? true : false; type A = IsNumber<42>;... 続きを読む

TypeScript エラー処理パターン - Object.create(null)

2022/11/05 このエントリーをはてなブックマークに追加 96 users Instapaper Pocket Tweet Facebook Share Evernote Clip Object.create

M 年前にも N 年後にも人類は同じ話をしている. まとめ エラーの発生方法は throw と return に大別できる throw には簡潔さ, return には明瞭さと型安全性といった特徴がある どちらの方法がより適しているかはプログラムの規模, エラーの種類, ハンドリングの方法などが判断の材料になる 実際にどちらの方法を使うかは... 続きを読む

JavaScript の undefined と null を完全に理解する

2022/10/17 このエントリーをはてなブックマークに追加 241 users Instapaper Pocket Tweet Facebook Share Evernote Clip undefined ECMAscript 比較演算子 比較

JavaScript で頻出する undefined と null について語ります。 言語仕様上の違い JavaScript (ECMAScript) において、仕様上 undefined と null は当然ながら明確に区別されています。いくつか言語仕様上の扱いについて挙げてみます。 比較 厳密な比較演算子 === において undefined と null は区別されます。ゆるい比較... 続きを読む

令和最新版: PostgreSQLの安全なSET NOT NULL | Wantedly Engineer Blog

2022/09/15 このエントリーをはてなブックマークに追加 59 users Instapaper Pocket Tweet Facebook Share Evernote Clip PostgreSQL 令和最新版

データベースのスキーマを変更するときは、スキーマの変更作業によってテーブルが長期間ロックされてしまわないように注意が必要です。 2019年にリリースされたPostgreSQL 12.0以降では、NOT NULLを安全に追加するためによりよいベストプラクティスができています。まだ知らない人もいるかもしれないので、ここで紹介し... 続きを読む

TypeScript で実行時の入力を含む文字列を型で弾く - Object.create(null)

2022/08/12 このエントリーをはてなブックマークに追加 7 users Instapaper Pocket Tweet Facebook Share Evernote Clip TypeScript Object.create foo

TypeScript (4.7 時点) において, 文字列に付けられる型には以下の 3 つ (とそのユニオン型) があります. 文字列型 string 文字列リテラル型 ("foo" など) テンプレートリテラル型 (`data-${string}` など) これらのうち, 実行時の入力, 特に事前にパターンが想定されていないような任意の入力が含まれるような文字列に... 続きを読む

データベース設計におけるNULL - kawasima

2022/05/20 このエントリーをはてなブックマークに追加 704 users Instapaper Pocket Tweet Facebook Share Evernote Clip kawasima データベース設計

3値論理の話は「3値論理 ―― 神のいない論理」が詳しい。 NULL絶対ダメ論や現実的には無理だから上手く付き合っていくしかないんだよ論など見られるが、せっかくCodd博士が上図の分類を提示しておられるので、これを元にもっと詳細化して考えてみよう。 ここで考えた全体のデシジョンツリーは以下のとおり。 ※ イミュータ... 続きを読む

TypeScript 型レベルプログラミング フリースタイルガイド - Object.create(null)

2022/01/26 このエントリーをはてなブックマークに追加 19 users Instapaper Pocket Tweet Facebook Share Evernote Clip Object.create

TypeScript の型レベルプログラミングのための真面目なスタイルガイドではありません. 型なしラムダ計算で喜ぶような人間が使うための諸刃の剣です. この記事の内容は TypeScript の 2022 年 1 月時点での最新版である 4.5.4 に基づいています. 将来のバージョンでの妥当性は保証しません. 「型〜」「〜型」という用語の... 続きを読む

CloudWatch Logs Insights を使って Mackerel 上にアプリケーションのメトリック監視環境を手早く構築する - Object.create(null)

2021/12/15 このエントリーをはてなブックマークに追加 7 users Instapaper Pocket Tweet Facebook Share Evernote Clip mackerel Object.create susisu

この記事は Mackerel Advent Calendar 2021 の 15 日目の記事です. 昨日は id:kazeburo さんの mkr plugin install 時の403 API rate limit exceededエラーを回避する方法 でした. こんにちは id:susisu です. 普段は Mackerel 開発チームでアプリケーションエンジニアをしています. 先日 mackerelio-labs にて cloudwat... 続きを読む

TypeScript をより安全に使うために その 2: オブジェクトの具体的な形にアクセスするのを避ける - Object.create(null)

2021/11/03 このエントリーをはてなブックマークに追加 22 users Instapaper Pocket Tweet Facebook Share Evernote Clip TypeScript Object.create true

前回はこちら. susisu.hatenablog.com 引き続き環境は以下を前提とします: TypeScript 4.4 (この記事を書いている 2021 年 11 月時点の最新版) strict: true 原則: オブジェクトの具体的な形にアクセスするのを避ける ここで「オブジェクトの具体的な形にアクセスする」とは, 静的な型によらずに, 実行時にオブジェクト... 続きを読む

exactOptionalPropertyTypes によせて - Object.create(null)

2021/07/12 このエントリーをはてなブックマークに追加 13 users Instapaper Pocket Tweet Facebook Share Evernote Clip Object.create コンパイラオブション 立場

TypeScript 4.4 に exactOptionalPropertyTypes というオプショナルなプロパティに関するコンパイラオプションが追加されるのを受けて, そもそもオプショナルなプロパティとは何なのか, どう使うと良いのか, exactOptionalPropertyTypes がどう嬉しいのかを考えてみます. あらかじめ私個人の立場を明らかにしておくと, ... 続きを読む

破産退場のNutsついに事件化、虚偽情報開示による偽計の疑いで元社長らが逮捕 : 市況かぶ全力2階建

2021/06/23 このエントリーをはてなブックマークに追加 13 users Instapaper Pocket Tweet Facebook Share Evernote Clip 偽計 pts nuts 破産退場 市況かぶ全力2階建

nutsからnullへ pic.twitter.com/ANMgD2uGFD — 焼きパイナップル (@BUYANYSTEEL) October 3, 2020 ※破産退場のNuts、外部調査委員会の調査報告書で「ハコ系上場企業」と認定される(2020/09/29) パイナッツプル食べ太郎?@joggingbeer恥を忍んでご報告しますが、ptsでnutsで遊んでたら逃げ遅れました 株辛すぎる 2020/... 続きを読む

HTTPキャッシュ入門の入門 – cat /dev/random > /dev/null &

2021/04/29 このエントリーをはてなブックマークに追加 377 users Instapaper Pocket Tweet Facebook Share Evernote Clip random dev cat 入門

ローカル・経路上のキャッシュを併用しよう キャッシュは再利用されるほどいいものです。 サイトの規模にもよるのですが、ローカルと経路上のキャッシュはそれぞれ性質が異なるため、ブラウザキャッシュだけ適切に設定しておけば経路上では不要というわけではありません。 ローカルキャッシュはキャッシュを持つクライア... 続きを読む

正しいIT用語の読み方

2021/05/04 このエントリーをはてなブックマークに追加 313 users Instapaper Pocket Tweet Facebook Share Evernote Clip 読み方 Hidden Ubuntu nginx Alt

最近の若者は物を知らない。 IT企業に就職したのに、IT用語の読み方を間違える恥ずかしいやつが多くて困る。 新入社員でもこれぐらいは抑えておいてほしい。 nginx: んぎぃぃっんくすhtml: はとむるAlt: あるとhidden: ひでんheight: へいとnull: ぬるUbuntu: うぶんつPHP: ぺちぷUPnP: うぴんぴPPPoE: ぽぽぽえーIEEE: ... 続きを読む

Web配信の技術という本を書きました – cat /dev/random > /dev/null &

2021/03/03 このエントリーをはてなブックマークに追加 155 users Instapaper Pocket Tweet Facebook Share Evernote Clip Twitter random サブタイトル dev cat

twitterでなんどもつぶやいてるので多分知られているとは思うんですが、Web配信の技術という本を書きました。 せっかくなんで、なんでまたこんな本を書いたのかとかどういう流れだったのかみたいなのを簡単に書いてみようかなと そもそもどういう本なのか 非常にタイトルを決めるのが難しい本でした。 サブタイトルに「H... 続きを読む

TypeScriptにはanyが4種類、undefinedが3種類、……

2021/01/02 このエントリーをはてなブックマークに追加 142 users Instapaper Pocket Tweet Facebook Share Evernote Clip undefined aNy TypeScript Never

このツイートの解説をします。 TypeScriptにはanyは4種類、undefinedは3種類、nullは2種類、trueは2種類、falseは2種類、neverは5種類あるのか。普通に使ってる分にはわからないが…… TypeScriptでは表面上は同じ名前でも内部的に異なる型が割り振られている場合がいくつかあります。そのようなもののうち、プリミティブ... 続きを読む

`let h = null`について、TypeScript はどのような型を推論するか - Qiita

2020/12/21 このエントリーをはてなブックマークに追加 15 users Instapaper Pocket Tweet Facebook Share Evernote Clip Qiita TypeScript

Help us understand the problem. What is going on with this article? 続きを読む

Template String Types でパス文字列を解析してクエリする - Object.create(null)

2020/09/01 このエントリーをはてなブックマークに追加 12 users Instapaper Pocket Tweet Facebook Share Evernote Clip Object.create Query foo bar 感じ

※この記事に含まれる内容は TypeScript 4.1 のプレビュー版のものです. 今後仕様が変わり動かなくなる可能性もありますのでご注意ください. 話題の template string types で早速遊んでみます. ゴール .foo[1].bar といった形のパス文字列を型レベルで解析してクエリしちゃいます. こういう感じ: type R1 = Query<{ foo:... 続きを読む

テストの説明に安易に「正しく」とか書かない - Object.create(null)

2020/07/23 このエントリーをはてなブックマークに追加 284 users Instapaper Pocket Tweet Facebook Share Evernote Clip Object.create テスト 説明

みなさんテストは書いていますよね. 書いていなければふりだしに戻る. 例えば関数 add に対して, 以下のようなテストコードがあるとします. describe("add", () => { it("正しく計算できる", () => { expect(add(1, 2)).toBe(3); }); }); よさそうですね? もしよくないと思うのであればここから下は読まなくても大丈夫だ... 続きを読む

NULL嫌いのUPDATEしないDB設計 #DBSekkeiNight / DB design without updating - Speaker Deck

2020/06/04 このエントリーをはてなブックマークに追加 31 users Instapaper Pocket Tweet Facebook Share Evernote Clip update Speaker Deck DB設計

NULL嫌いのUPDATEしないDB設計 #DBSekkeiNight / DB design without updating 続きを読む

TypeScriptの異常系表現のいい感じの落とし所 | Developers.IO

2020/03/29 このエントリーをはてなブックマークに追加 36 users Instapaper Pocket Tweet Facebook Share Evernote Clip TypeScript サーバアプリケーション ロジック 延長

みなさんTypeScriptでサーバアプリケーション(Node.js)のロジックを書く時に、異常系の表現をどのようにされていますでしょうか?ここでいう異常系とは、仕様上想定される異常のことです。準正常系と言ったりもするかと思います。 私はJavaScriptの延長でTypeScriptをはじめたので、最初は null や undefined を返した... 続きを読む

TypeScript で型レベル Brainfuck - Object.create(null)

2020/03/10 このエントリーをはてなブックマークに追加 14 users Instapaper Pocket Tweet Facebook Share Evernote Clip Brainfuck TypeScript チューリング 言語

TypeScript の型システムはチューリング完全ということが知られていますが, 同じくチューリング完全な言語である Brainfuck のインタプリタを実装することで, その計算能力を確認することができます. この記事のコードは TypeScript 3.8.3 で動作確認しています. ゴール 型レベルで Brainfuck のインタプリタを実装しま... 続きを読む

 
(1 - 25 / 132件)