ふと意識した途端、クラスをnewしたときにプロパティへ何を初期値として入れるべきなのかが段々分からなくなってきました。 自分の中で考えられうる実装のバリエーションを分類した上で、どう使い分けるべきなのか現状の考えをメモします。 A. 初期値はnullだよ派 nullとのユニオン型を定義し、コンストラクタ内でnullをセットする実装。 メリット 意味のある値がセットされている状態か、そうでないかが区別できる 懸念 プロパティを使用する際、nullの場合の分岐も実装しなければならない class MyEntity { public name: string | null; public num: number | null; public date: Date | null; public messages: string[] | null; public subEntity: SubEnti
BigQuery(BQ) is very useful for data analysis or processing. It is good at handling huge data. It returns summary result in short time. But data is not always clean. Sometimes it contains NULL in specific column. In that case we should use another value. Then how can we use alternative value ? So today I introduce about "How to use alternative column value instead of null in BigQuery".
Created at: 2019-09-25 .NET Core 3.0 のリリースとともに C# 8.0 がきて、null 許容型 (nullable reference types) を使えるようになったので使ってみたメモです。 未初期化だけど後で初期化するパターンコンストラクターではまだ初期化しないのだけど、いずれフレームワークから初期化するので API を利用する側はほぼ null を扱わない、けど内部の初期状態は null なのを許してほしいというケースはまあよくあります。Kotlin の lateinit や TypeScript の definite assignment assertion みたいなやつですね。 C# ではズバリそれっぽいものはないので default! を初期値として代入しておけばよいです。 This file contains bidirectional
特殊作戦部隊の隊員となって任務を遂行する、ホラー系アクションアドベンチャーゲーム「10-103」の続編。 破損により宇宙ステーションから切り離され、北極海の離島に墜落したモジュールの状況確認のため現地に向かいます。 異変を発見した際などはTabキーでオペレーターに無線連絡。 どこにも進めない場合は、あやしい場所をEキーで調べます。 火災などのダメージを受ける地点や、敵の攻撃はローリングで回避できます。 (情報:名無しさん) このゲームはこちら またはこちら 前作の記事はこちら Author: Nerdspartan Run game⇒ロード終了後、Tabキーで無線でのやり取り後に開始 (セーブ機能はありません) ※WebGL対応のブラウザが必要 【 操作 】 [ ← ][ → ] or [ A ][ D ] : 左右移動 [ ↓ ] or [ S ] : ローリング [ Shift ] :
NULL制約の追加には change_column_null を使います。 引数にはテーブル名、カラム名、null falseかtrueか、変更後のデフォルト値 class ChangePointColumnOnPost < ActiveRecord::Migration[5.2] def change change_column_null :posts, :point, false, 0 end end これだとちょっと問題が… ここで設定されるdefaultは現在nullのカラムを変更するためだけのもので、テーブルの制約にdefault値が設定されるわけではないので、nullでレコードの追加をしようとした際にコケてしまいます。 そのため別でデフォルト値の設定が必要になります。 NULL制約追加+デフォルト0を設定するコード postsテーブルのpointカラムがNULL制約なし、デフォ
はじめに TypeScript 4.0 Betaが2020/07/07にリリースされました。 この記事はリリースノートの中で個人的に気になった機能、Null合体代入演算子について共有するためのものです。 おことわり この記事はBeta版に関するものです。正式リリース時に内容が変更になる可能性があります。 TypeScript 4.0が2020/08/20に正式リリースされました。Null合体代入演算子も予定通り導入されました。 Nullish Coalescing Assignment Operator TypeScript4.0では、Null合体代入演算子(Nullish Coalescing Assignment Operator)が導入される予定です。 Announcing TypeScript 4.0 Beta この演算子を議論しているIssueはこちらです。 issue #372
Security researcher Joseph Tartaro thought NULL would make a fun license plate. He's never been more wrong. Joseph Tartaro never meant to cause this much trouble. Especially for himself. In late 2016, Tartaro decided to get a vanity license plate. A security researcher by trade, he ticked down possibilities that related to his work: SEGFAULT, maybe, or something to do with vulnerabilities. Sifting
apacheのaccess_logを構築した集約サーバへ収集する必要があり、そのついでに解析しやすいようjson化設定したのでメモ。 apacheログをjson化する要件が発生した場合汎用性がありそうなので、調査・対応を下記へ記載しておく。 以下構築要件 apacheのaccess_logを集約サーバへ収集する 集約サーバで解析しやすいようjson形式で送信 td-agentを使用し、送信時でのformatで正規表現指定しない apacheのconfファイルにjsonフォーマット指定追加 # vi http.conf // フォーマット指定 LogFormat "{\"timestamp\":\"%{%Y-%m-%dT%H:%M:%S}t.%{msec_frac}t%{%z}t\", \"remote_ip\":\"%a\", \"port\":%{local}p, \"local_ip\
日本でよく使われる言葉の中には、英語由来のものがたくさんあります。ところが実際には意味は同じでも、英語だと発音が違うというケースも少なくありません。そこで今回は、「null」や「jewelry」など会話でも文章でもよく使う単語の正しい発音をご紹介します。知っておくと一目置かれるかもしれません。必見です。 「ゼロの・無効な・無価値の・空値」という意味を持つnull。 表計算ソフトのExcelに入力しているときに見かけたことがある方も多いかもしれませんね。ところがこちらの単語、「ヌル」と読みがちですが実際には「ナル[nʌ́l]」と発音します。 ちなみにnullは、プログラミングや解析・電子工学などの分野でよく使う言葉です。日常会話では同じ意味の「void」や「invalid」などが使われることが多いので、覚えておきましょう。 宝石や宝飾品を表す「jewelry」。 日本でも「ジュエリー」という
Varnish6.0.4/6.2.1が公開されました。 今回の更新はセキュリティ上の問題の修正(VSV00003/CVE-2019-15892)です。 Varnishに存在するヘッダのパース処理の問題により細工されたHTTPのリクエスト(keep-alive)によりassertを引き起こさせ結果としてVarnishを再起動させることが可能です。 影響を受けるバージョンについてと修正 6.1.0~6.1.1および6.2.06.2.1で修正6.0.0~6.0.36.0.4で修正 なお6.0.0未満のバージョン(以前のLTSだった4.1も含む)についてもパース処理に同様の問題はあるもののassertがなかったため影響を受けません。 VCLによる緩和策について すぐにアップデートできない環境向けにVCLでの緩和が可能で公式で紹介されています。 実際のコードは公式を参照してください。 単純な緩和策
Learn what some of the unexpected costs of GraphQL non-null fields are. In the GraphQL type system all types are nullable by default. This means that a type like Int can take any integer (1, 2, etc.) or null which represents the absence of any value. However, the GraphQL type system allows you to make any type non-null which means that the type will never produce a null value. When using a non-nul
この記事は、主にDebian Administrator's Handbookを眺めて書いたものです。 対象はDebian 10 (buster)です。 Part 1 : Debian Administrator's Handbook Part 2 : 用語 APT ソースパッケージとパッケージソース Part 3 : /etc/apt/sources.listの説明 1番目のフィールド 2番目のフィールド 3番目のフィールド (比較) リポジトリの構成とsources.listの記述 Part 4 : /etc/apt/sources.listの設定例 Debian10(buster)用の設定例 各リポジトリに含まれるパッケージ 非公式のリポジトリは最後に記述する Security updatesリポジトリ Stable updatesリポジトリ Stable backportsリポジト
Generic Method 内部で null 比較を行ったら、はたして boxing するんでしょうか? たとえば以下みたいな関数があったとします。 // 参照型の null と、Nullable<T> の null の数が知りたい。 public static int CountNull<T1, T2, T3>(T1? value1, T2? value2, T3? value3) { int count = 0; count += value1 is null ? 1 : 0; count += value2 is null ? 1 : 0; count += value3 is null ? 1 : 0; return count; } この関数はコメントにあるように、参照型の null と、Nullable<T> の null の数が知るためのものです。 なので、参照型と値型の両
TypeScript 4.7 の optional variance annotations の挙動を若干勘違いしていたのでメモ. 例 1 (Playground): type Extends<A, B> = A extends B ? true : false; type Bivariant<T> = {}; type Bivariant_A0 = Extends<Bivariant<"foo">, Bivariant<"foo" | "bar">>; // true type Bivariant_A1 = Extends<Bivariant<"foo" | "bar">, Bivariant<"foo">>; // true type Bivariant_A2 = Extends<Bivariant<"foo">, Bivariant<"bar">>; // true type Cov
string や int など、プリミティブな型は、それがゼロ値なのか、意図してその値になっているのかわからない時がある。 それを判別するために database/sql pkg などでは、NullString などの独自型を用意して、ゼロバリューなのかどうかを判定できるようにしている。 それをジェネリクスを使って、汎用的に書いてみたものが以下。 package main import ( "fmt" ) type NullValue[T any] struct { value T valid bool } func NewNullValue[T any](v T) NullValue[T] { return NullValue[T]{ value: v, valid: true, } } func (nv NullValue[T]) Value() (T, bool) { var noo
「無駄の定義と期間と感謝」 アルチュウはメンタルが弱く儚い存在だ。 それゆえに、 何かしらの理由があって アルコールと幻覚の世界に 逃げ込んだわけだ。 しかし本人は、 酒に逃げ込んでいるという自覚はないし、 呑んでいる時は常にイケイケの状態を キープできるからそれに気づかない。 本当はアルコールによる 急なアップダウンのメンタル躁鬱の境界線を 危うく毎日綱渡りしているわけだ。 何度も何度も休め!、 止めろ!、 無理をするな! SOSのサインは出ているが、 全て無視。 結果、気づいた時には ココロもカラダもボロボロだ。 頑張りすぎで やり過ぎのキャパオーバー状態。 その頃にはガッツリと 依存状態なので泥沼から抜け出せない。 何があっても酒だけは手放せない。 「それは鬱病患者の思考と似ている」 アルチュウの思考の傾向は、 アルコール性の鬱状態ともいわれて、 ●自己評価がとてもとても低い ●人生
The Apache Software Foundationが提供するApache HTTP Web Serverのhttpd coreには、NULLポインタ参照の脆弱性(CWE-476, CVE-2021-34798)が存在します。
ファンクラブへアップグレードすると、ショップへ戻すことはできません。 ショップをファンクラブにアップグレードすると、ファンクラブの機能が利用できるようになります。 アップグレードすることでできること・プランの開設 ファンクラブでは、無料プランのほか、ご希望の会費でファンの方に限定特典を提供する「有料プラン」を作成できます。また、商品に対してプラン限定で販売することが可能です。 ・投稿機能 誰でも自由に見ることが出来る「公開コンテンツ」と、ファンにならないと見ることができないように設定出来る「限定コンテンツ」を作成できます。 ・コミッション機能 ファンのリクエストに答えて納品することで報酬が得られる仕組みです。条件に合ったリクエストのみ引き受けることができるため、空き時間を利用して無理なくはじめられます。 詳しくはこちらをご覧ください。
TeraTermマクロって便利ですよね(2017-03-03、追記:2020-01-04) 特に今回の課題だった 画面の「背景の色」は設定ファイルを分けるのが一般的なようですが、 以下は設定とマクロを1ファイルにまとめたい偏屈(It's me.)向けの例です。 ログインして、背景色変えて、画面サイズも変えるマクロ† 以下をテキストにコピペして、変数は書き換えて、 拡張子を「.ttl」に変更して、 ttpmacro.exeで実行します。 username2 への切り替えは要らなければ、後半は削除すればOK。 ; ; username1 でログインして、username2 へ切り替える(su -)までのマクロ ; 背景色だけ、デフォルト設定を上書きする ; ;--- ホスト名、ID、パス、ファイルの場所を設定する ------------------- ; 各変数を自環境に合わせて変更してくだ
オフィス狛 技術部のJoeです。 データベースで複数カラムを組み合わせたユニーク制約の設定が可能ですが、データベースによって、NULL値を重複として扱うかどうかが違っています。 例えばMySQLは、NULL値を重複として扱いませんが、SQL Serverは、NULL値を重複した値として扱います。 今回は、SQL ServerでNULL値を含む複数カラムの組み合わせで、ユニーク制約を設定する方法をご紹介したいと思います。 ※下記の内容はSQL Server 2017で確認しています まず、下記のようなテーブルを作成、データを追加します。 【テーブル作成】 CREATE TABLE fish ( id bigint IDENTITY(1,1) NOT NULL, name nvarchar(10) NOT NULL, code varchar(2) NULL, PRIMARY KEY CLUS
Unityでは動作していたのに実機で動作しなくなった場合に、確認すべき箇所 unityで問題なく動作していたゲームをビルドし、実機でテストを行なった場合に動作しなくなることがありました。 その際の原因となった箇所、対処法をメモ。 原因は、foreachで回す値にnullが含まれていることでした。 ... しかしながら、nullの判定が行えず、除外できずにいました。 例えば、以下のような形です。 � public Sprite[] images = new Sprite[5];foreach(var image in images ?? Enumerable.Empty<Sprite>()){ if(image != null){ Debug.Log(image); } } この場合、images配列変数にセットされた画像名だけが出力され、nullは出力されないはずでした。 しかし、null
This post originated from an interesting conversation had on the Rust community Discord the other day, in which a user asks: Does 'static have an opposite? Zero lifetime that’s shorter than anything? Details of the question are not relevant, but intuitively the question does make sense. After all, Rust already has 'static, representing a lifetime that is longer than or equal to all other lifetimes
Next.js から static export した HTML を S3 に配置して CloudFront から配信する, というのはそこそこよくある構成なんじゃないかと思います. 知らんけど. ところで素朴に CloudFront の origin に S3 を指定するだけでは, ページのパスの解決がうまくいきません. 例えば /pages/about.tsx というページコンポーネントがあった場合, 通常の Next.js であれば /about というパスでこのページにアクセスできますが, 素朴な構成の場合は static export されたファイル名と完全一致する /about.html というパスでないとページにアクセスできません1. この問題を解決するための方法としては以下のようなものが知られています. S3 の static website hosting を使ってパスを
簡単に書くよ NOT NULL制約(読:ノットヌルセイヤク、ノットナルセイヤク 英:NOT NULL constraint)とは 「空っぽの値(NULL)は入れちゃダメだよ」制約のこと。 もう少し具体的に書くと データベースの項目に付ける制限(制約)のひとつ であり 「この項目に入れる値はNULLではダメですよ。入れようとした値がNULLだったら怒りますからね」な制約のこと です。 最初に注意事項です。 専門外の方がイメージしやすいように「データベースの項目」と表現していますが、正確には「データベースのテーブルの項目」です。 こだわり派な人は適当に読み替えてください。 それでは本題です。 まずは予備知識として ・NULL ・データベース ・テーブル について簡単に説明します。 「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。 NULLは「何もないよー」な意味をあら
この記事はUniposアドベントカレンダー2022の5日目の記事です! はじめに Uniposのサーバサイドエンジニアの周東です。 以前投稿したSpannerのパフォーマンスチューニングの記事を書いていてNull Filtered INDEXについて理解が浅かったなーと思ったので、いい機会なので深ぼって考えてみようと思います。 Null Filtered INDEXの基本的な知識についてはさらっとしか触れないので、詳しくは前回の記事を先に見ていただければと思います。 NullFilteredINDEX NullFilteredはキー値のいずれかにNULLを含むレコードをINDEXの作成対象から除外するという性質を持ったCloud Spannerが提供するINDEXの仕組みです。 公式docが言うには、STORINGと組み合わせることで実質マテリアライズドビューを実現できるとのこと。 STO
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く