null 値は null というリテラルです。 null は undefined のようなグローバルオブジェクトのプロパティではありません。代わりに、 null は識別できないことを表し、変数がオブジェクトを指していないことを示します。 API においては、通常はオブジェクトが返されるところで、関連したオブジェクトがない場合に null がよく渡されます。
![null - JavaScript | MDN](https://cdn-ak-scissors.b.st-hatena.com/image/square/aa767575b4232d312d2c5de428f0bf0955805e26/height=288;version=1;width=512/https%3A%2F%2Fdeveloper.mozilla.org%2Fmdn-social-share.cd6c4a5a.png)
null 値は null というリテラルです。 null は undefined のようなグローバルオブジェクトのプロパティではありません。代わりに、 null は識別できないことを表し、変数がオブジェクトを指していないことを示します。 API においては、通常はオブジェクトが返されるところで、関連したオブジェクトがない場合に null がよく渡されます。
質問 command > dev/null 2>&1ってよく書いてませんか? crontabでよく書いてませんか? でもそれ、前のcrontabコピペして書いてませんか? 実は意味を理解せずに書いてませんか? ゴール ファイルディスクリプタを理解する command > /dev/null 2>&1の意味をきちんと理解する 基礎知識 1. ファイルディスクリプタ Unixには、次の3つの入出力があり、それぞれ番号が振られています。 0: 標準入力 1: 標準出力 2: 標準エラー出力 ファイルディスクリプタとは、これら入出力をOSが判別する為に割り当てられた番号の事です。 2. リダイレクト よく>という記号を見ると思いますが、これがリダイレクトです。 例えば、標準出力に出すだけのシェルスクリプトを作ってみます。
cron (クーロン) と言えば定期実行してくれるおなじみのシンプルな機能だがそこには奥行きがあり様々なノウハウがある。 そこで設定するときのガイドラインをまとめた。 深くはあまり説明出来ないので気になる用語機能を見つけたら別途検索していただきたい。 cronの場所 /etc/crontab crontabの書式 意識してここに書く必要は現在あまり無い。 RedHat系は非推奨とか言われてるが根拠はよくわからない。 rootで実行される。 #crontabの書式 # (行頭の # マークはコメント行を示す) # +------------ 分 (0 - 59) # | +---------- 時 (0 - 23) # | | +-------- 日 (1 - 31) # | | | +------ 月 (1 - 12) # | | | | +---- 曜日 (0 - 6) (日曜日=0)
これらは、表中の「リプレース対象言語」に挙げたように、多くのメジャー言語に対する代替手段でもあります。 Java の代わりには Kotlin や Ceylon が、 JavaScript には TypeScript や Flow が、 Objective-C には Swift が、そして PHP には Hack があります。 Python は自身に null 安全 を取り込みました。 Crystal は直接 Ruby と連携して使えるわけではありませんが、 Ruby 風の null 安全 な言語です。 Rust は C++ の代替を目指して開発され、 Firefox の一部で C++ のコードを置き換えるのに使われています [^100] 。 null が引き起こしてきた数々の問題を考えると、僕は、 null 安全 は GC (やその他の安全なメモリ管理手法)に匹敵するプログラミング言語の進
アメリカ人のNullさん、名前のせいでウェブサイトに登録できない事案が発生2016.03.30 16:3526,764 渡邊徹則 だから本名だって言ってるのに! アメリカはバージニア州に住む、一人の女性。旅行サイトでチケットの予約を試みたところ、何度やってもエラーになってしまうそう。そのエラーは決まって「お名前は必須項目です」というものなんです。 でも、毎回きちんと入力しているんですよ。「Jennifer Null」と。 Jennifer Nullさんが航空券を予約しようとすると、ほとんどのサイトでエラーとなってしまいます。彼女は仕方なく電話で予約をし、それは何の問題もなく完了したそうです。 そこで彼女は「なぜ私はサイトが使えないのですか?」と聞いたところ、「申し訳ございません。しかし、どうしようもありません」という回答しかもらえなかったとのこと。 実は「null」というのは、コンピュータ
元ネタ: 僕にとってMaybe / Nullable / Optional が、どうしてもしっくりこないわけ。 - 亀岡的プログラマ日記 OOPの文脈で見ると、元の記事が言っていることもわからなくはないのですが、対象が広すぎていろいろと不正確になってしまっているので、ちょっとまとめてみます。 元の記事が対象にしているのは、Maybe / Optional / Nullableの3つです。 対応する型を持つ言語を見てみると、下記のようになります。 Maybe(Haskell) Optional(Swift/Java) Nullable(C#) これらは、「値がないこと」を表すもの、という見方では同じですが、それぞれ異なる価値観の元に作られています。 Maybe/OptionalとNullable これらはすべて型パラメータを取ります*1。 しかし、この中でNullableだけは型パラメータに
Problem, Solution Cygwinが必要なくなったので、アンインストールしようとしたときに詰まった。 一般的にインストールすると、"C:\cygwin\"にインストールされるので このフォルダごと削除しようとした際に、"C:\cygwin\dev\nul"ファイルが削除できないエラーが出た。 Windows上においてのnulは特別らしく、そのせいで削除が出来なかった。 (補足:Cygwinはアンインストーラーが無いので自分で削除する必要がある) 詳しくは以下のサイトに書かれてる 碧落 - Windows 上で名前が「NUL」のファイルを削除する方法 http://sgry.jp/articles/deletenul.html コマンド 以下のコマンドで削除できる。 C:\> del \\.\C:\cygwin\dev\nul Comment Cygwinをアンインストールした
概要 この記事は Windows 上で名前が「NUL」のファイルを削除する方法について説明します。 そもそも Windows (MS-DOSも) において、NUL や AUX などは特別な意味を持っているため普通はこのような名前のファイルを作れません。 しかし何かの拍子にできてしまう事もあるようです。 私の場合は MinGW の make コマンド中でコマンド表示を消そうと NUL へリダイレクトした時に NUL というファイルができてしまいました。 何にせよ、特殊な名前のファイルは削除したくても普通の方法では削除できません。 もしこういった名前のファイルを作ってしまい、削除できなくなった場合は参考にどうぞ。 手順 まず削除したい特殊な名前のファイルのフルパスを調べておきます。 続いてコマンドプロンプトを起動、DEL コマンドを実行するのですが、 この時削除対象のファイルパスを \\.\
java-jaで例外処理の話をしてきました - 西尾泰和のはてなダイアリー を読んで。 Maybe は値があるかないかを型で表すことができます!そう、直和型なんです!とか言われてもイミフだと思うのです(リンク先のエントリがそう説明してるわけではないですが)。 Java の語彙で Maybe の説明をできたら嬉しい人もいるんじゃないかなぁ、とかなんとか。 ただし、書いてたら結構長くなりました。時間がある人はどうぞ。 Maybe? null より安全に「値がないこと」が扱えるものだよ スタート地点としてはこれでいいでしょう。 以降で、「なんで安全なの?」という全うな疑問に答えてみたいと思います。 問題点 int で説明すると煙に巻いてしまうような気がしたので、User クラスを見てみます。 import java.util.*; class User { final String name;
昨日書いた Java の語彙で Maybe を説明してみる - ぐるぐる〜 に予想以上の反響があってびっくりです。 色々反応もらったので、ちょっと補足を。上のエントリを読んでない人は読んでからどうぞ。 @CheckForNull でいいのでは? はい、確かに FindBugs の CheckForNull アノテーションは便利です。 でも、これが提供してくれるのは null チェックの強制です。 先のエントリは、「null より安全な Maybe」という説明でした。 ですので、それだけを達成するのであれば CheckForNull アノテーションでもいい*1のですが、後半でちょっと見たように「null より便利な Maybe」という側面もあります。 先のエントリでは bind と or だけ追加しましたが、他にも色々と追加してみましょう。 // Java8だよ! package maybe
quick sortの開発などで著名なアントニー・ホーア氏が、「null参照の考案は過ちであった」と考えているとの話が本家/.で取り上げられている。 3月11~13日にロンドンで開催されるQCon London 2009における、ホーア氏のプレゼンテーション概要には次のようにある。 1965年に考案したnull参照の概念は、10億ドル単位の過ちと呼ぶべきものであろう。当時自分は初のオブジェクト指向言語(ALGOL W)のリファレンスの包括的システムを設計していた。全てのリファレンスの使用が全く問題のないことを確認するため、コンパイラによってチェックを自動化することが目標であった。null参照をこれに含めるのは、非常に簡単であり、やらずにはいられなかった。 しかしこれこそがその後40年に渡り、数え切れないほどのエラーや脆弱性、システムクラッシュの原因となり、10億ドル単位の損害や苦労を引き起
今回は、nullの扱いは気をつけようねというお話。特にこれからの人に読んでもらいたい。 nullは変数を初期化する時などに、当たり前のように登場します。Javaではnullがないなんて考えられないわけです。(C#でも同様) しかし、nullの考案者のTony Hoareは「10億ドル単位の過ち」と発言しています。 null参照の考案は10億ドル単位の過ち?(スラッシュドット・ジャパン) - エキサイトニュース nullには、それだけの魔性があって使い方を考える必要があります。nullは”値が存在しない”という状態を表現する時に使われることが多いのですが、そのnullに対する注意が十分に払えずにトラブってしまうことが多いのです。Scalaではその"値が存在しない"という状態をOption型のNoneで表現することでnullを回避する手段が提供されています。JavaではScalaのようにはでき
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く