タグ

nullとNULLに関するslay-tのブックマーク (12)

  • コンパイラのリミッタが外れつつある今、null安全は必須なのかもしれない - Qiita

    三行で頼む コンパイラが斜め上の最適化をするようになったからnull安全ないと怖いよね 一行で終わっちゃった。 文 最近、ツイッターを見ていると、プログラマの間でnull安全という言葉がバズっていますね。私も次のようなエントリを楽しく眺めていた訳です: null安全でない言語は、もはやレガシー言語だ null安全はいいぞ。だって、型安全はいいぞ。 null安全を誤解している人達へのメッセージ さてそんな中、少しだけ私の心に留まったエントリがこれです: null安全な言語は、当にゼロコストか これを読んで、私がまず直感的に思ったのは、むしろもはやnull安全のない言語はダメかもしれないということでした。こう書くと、このエントリの内容を否定してると誤解されるかもしれませんが、全くそんなことはありません。このエントリの筆者さんもnull安全の有用性を否定しているわけではないですし、私も古いタ

    コンパイラのリミッタが外れつつある今、null安全は必須なのかもしれない - Qiita
  • null安全を誤解している人達へのメッセージ - Qiita

    先日koherが投稿した記事が多く読まれたようです。記事の内容は僕とkoherが普段話してきた内容が多く登場しているため、僕が人々に伝えたい内容とも強く合致しています。しかし残念な事にインターネットの反応を見ていると、誤解しているケースが思ったより多くありました。 そこで、ネットで見られた意見に対して返答を書きました。 特定の実在する意見は指さずに、僕が感じ取った文脈を編集したものを対象にします。それによって、「そんな事言われてないじゃないか」と思うものがあれば、僕としてもそのほうが嬉しいのでそれで問題ないです。 「たしかにそうだ」と思ってnull安全に今一度興味をもってもらえれば嬉しいです。 なお、記事中のコードは特に言及が無ければswiftです。 意見: null安全があっても、ちゃんとやるのを忘れているかもしれないのでは 忘れません。ちゃんとやらないと、コンパイルが通らないからです。

    null安全を誤解している人達へのメッセージ - Qiita
  • [JavaScript] null とか undefined とか 0 とか 空文字('') とか false とかの判定について - Qiita

    [JavaScript] null とか undefined とか 0 とか 空文字('') とか false とかの判定についてJavaScripttips ※家はこちらのブログエントリーになります. 毎日 html, css, js についてのエントリーを公開しているのでよかったらRSS登録してください♪ null とか undefined とか 0 とか 空文字('') とか false とかの 判定について書いてみました. 各型, 値の評価 各型, 値が条件式でどう評価されるのかを見てみましょう. value type result

    [JavaScript] null とか undefined とか 0 とか 空文字('') とか false とかの判定について - Qiita
  • Swiftことはじめ:String?のクエスチョンマークって何? - Shoichi Matsuda's diary

    Swift出ましたね! WWDCで突然の言語発表で驚きです。 無料のドキュメントが提供されており、ざっと読んでみた限り最近の言語のエッセンスを色々と取り込んだ良い意味で特徴のない(かなり書きやすそうな!)言語という印象を受けました。 今回はそんなSwiftの中のoptional valueなどと呼ばれている言語仕様について取り上げていきます。 どれのこと? ドキュメント中に出てくる以下の様な記述です。 var optionalString: String? = "hello" optionalString = nil println(optionalString) このString?、なんのことだかわかりますか? このクエスチョンマーク、どうやって使うの? 使い方を見ていきましょう。 まず普通の変数宣言で以下の様に書いてみましょう。 var normalString = "aaa" nor

    Swiftことはじめ:String?のクエスチョンマークって何? - Shoichi Matsuda's diary
  • VisualStudioでOpenFileDialogを使うとデータが消える?

    2014/02/01追記 http://www.cyphertec.co.jp/news/cymon_revision.html 暫定的なものでなく、ちゃんと修正されたプログラムが配信されました。 DMM用は後日ソフトのアップデートがあるとのこと。 2014/01/17追記 http://www.cyphertec.co.jp/news/cymon_issue.html 改良されるのは望み薄…と書いてたけど、ここ数日Twitter上で話題になったようで、メーカー側から調査結果と、暫定的な対処方法が出ています。 ただあくまで暫定的なもので、一度電子書籍を読んだら再起動しないと同じ事が起きるということです。 (電子書籍リーダーはこの記事書いた時に消したきりなので、自分では試してないです) 2014/01/17修正 メーカーによると問題のファイル名がcymon.dllじゃなくcymon.sysだ

    VisualStudioでOpenFileDialogを使うとデータが消える?
  • MySQL 5.6での、マルチカラムインデックスとカラムごとのインデックスの比較 | Yakst

    MySQL Performance Blogの翻訳。複数のカラムを指定したマルチカラムインデックスを使うべきか、カラムごとに別々にインデックスを作るべきかは悩ましい問題だ。しかし、MySQL 5.6で導入されたIndex condition pushdownの仕組みを理解すれば、マルチカラムインデックスを効率的に使うことができるようになる。 インデックスに関する話をしている時によく出てくる質問と言えば…マルチカラムインデックスを使うべきか、カラムそれぞれにインデックスを張るべきか、ということだ。Peter Zaitevがこれについて2008年に書いていて、その時の結論としては、マルチカラムインデックスが多くの場合においてベストな解決策だ、というこだった。しかし、最近のオプティマイザの進化によって、MySQL 5.6では事情は違ってきてはいないだろうか? 準備 テストのため、以下のような2つ

    MySQL 5.6での、マルチカラムインデックスとカラムごとのインデックスの比較 | Yakst
  • PHPの比較とBOOL/NULL型の話

    (Last Updated On: 2018年8月13日)先日、10年以上勘違いをしていたことがPHPの開発者MLで議論して発覚したので、その大恥を披露します。 PHPの比較とBOOL/NULL型の話です。 ことの発端はmin関数で var_dump(min(-100,-10, FALSE( or NULL), 10, 100); とするとFALSE(またはNULL)が返ってくる、というバグレポートからでした。 PHPのBOOL/NULL型は var_dump(TRUE == 1); var_dump(FALSE == 0); var_dump(NULL == 0); はそれぞれTRUEを返します。TUREは1、FALSE/NULLは0と評価されています。 算術演算の場合、BOOL/NULL型は数値として評価されます。 var_dump(TRUE + 1); // 2 var_dump(F

    PHPの比較とBOOL/NULL型の話
  • SQLアンチパターン - ナイーブツリー

    社内勉強会資料 追記: 2013-10-31 ついったで指摘( https://twitter.com/akuraru/status/395822183777202176 )を受けたので入れ子集合のノード追加の説明の所を修正しました。Read less

    SQLアンチパターン - ナイーブツリー
  • Java8のOptionalがモナドになったよ! - きしだのHatena

    Java8にはOptionalクラスが導入されたのですが、5月にエントリを書いた時点ではモナドではありませんでした。 Java8でのプログラムの構造を変えるOptional、ただしモナドではない それが、5月末にどうもソースにモナドに必要なメソッドが追加されたらしいということになって、いつ使えるようになるか待っていたら、いつの間にか使えるようになっていました。 Optional (Java Platform SE 8 b101) こちらからダウンロードできます。 JDK8 Early Access Releases ― Project Kenai 他にもいくつか便利メソッドが追加されたおかげで、このようなコードが書けるようになりました。 String str = "abcd"; Optional.ofNullable(str) .map(st -> st.toUpperCase()) .f

    Java8のOptionalがモナドになったよ! - きしだのHatena
  • Apacheでreverse proxyするときに、受けのパスに応じて異なるタイムアウト値を設定する方法 - (ひ)メモ

    Apacheでreverse proxyするときに、バックエンドは同じなんだけど受けるパスに応じて別なタイムアウト値を設定しようとしてハマったのでそのメモです。 以下、Apache 2.2.22 でのお話です。2.4でどうなってるか、どなたかご存知でしたら教えてください>< まず思いつくのはこんな設定だと思います。 ProxyTimeout 7 ProxyPass /3sec/ http://127.0.0.1:9999/ timeout=3 ProxyPass /5sec/ http://127.0.0.1:9999/ timeout=5バックエンド (127.0.0.1:9999) は、こんなのを動かしておけば十分です。 $ while true; do echo listen...; nc -l 9999; doneこれでクライアントでアクセスしてみると… $ time curl h

    Apacheでreverse proxyするときに、受けのパスに応じて異なるタイムアウト値を設定する方法 - (ひ)メモ
  • メモリ管理 - かみやんの技術者ブログ

    iPhone開発で、メモリ管理の基礎を社員に伝えることが増えてきたので、エントリとして書こう。 Objective-C基礎 メモリ管理の前にObjCの基礎として、メソッド呼び出しの話。 クラスのインスタンスaがmethodAをコールするときは、 [a methodA] と書く。このとき、aがnilだったときは、エラーではなく、コールされない。methodAに戻り値があるときは、それは、0やnilやNOが返る。ObjCでは、 void dealloc { if(a!=nil){ [a release]; } [super dealloc]; } は、気持ち悪いので、nilチェックはやめましょう。 なお、ObjCでは、動的にメソッドを差し替えることができ、コールの度にメソッドが存在しているかも確認しています。そのため、LL言語(ライトウェイト言語、スクリプト)のように柔軟な記述が可能です。そし

    メモリ管理 - かみやんの技術者ブログ
    slay-t
    slay-t 2011/02/25
    メモリ管理は楽しいれす
  • もうひとつの Scheme 入門

    勾配の緩やかな初心者向け Scheme 入門ページです。 コンピュータは使ったことがあるが、プログラミング経験があまりない人を想定しています。 Scheme の解説はすでに山ほど優れたものがありますが、あえて解説記事を書いてみました。 Scheme のような抽象的な話題は波長が合えばすんなりと理解できますが、あわないと全く理解できません。 他の解説を読んで今ひとつよく理解できなかった人は試しに読んでみてください。 この記事の目標はコンピュータ科学の教科書の決定版である SICP を読める程度の Scheme の知識を提供することです。 目次: 処理系のインストール Scheme を電卓代わりに使う リストを作ろう 関数を定義しよう 分岐 局所変数 繰り返し 高階関数 入出力 代入 文字、文字列 シンボル型 連想リスト、ハッシュ表 ベクトルと構造体 構文の定義 (マクロ) 継続 遅延評価 非

  • 1