タグ

ブックマーク / cpplover.blogspot.com (7)

  • Chrome 51のV8の興味深いバグ

    以下のコードを実行した結果を予想してみてほしい。 function foo() { return typeof null === "undefined" ; } for ( var i = 0 ; i < 1000 ; ++i ) { console.log( foo() ) ; } typeof nullの結果は"object"なので、"undefined"と===で比較するとfalseになる。したがって、関数fooは必ずfalseを返すはずである。1000回実行しようと常にfalseを返す関数は常にfalseを返すはずである。 では実際に実行して確かめてみよう。 実行(何度かクリック) コンソールにコピペするのとは挙動が違うが、何度もクリックすると、なぜかtrueを返すようになる。おそらく、コンソールにコピペすると毎回JITが走るので、挙動が違うのだろう。 ちなみに、workaroun

    hikobae
    hikobae 2016/06/22
  • Jenkinsの開発者、間違えて一ヶ月前のローカルレポジトリをgit push --forceしてしまう

    Jenkinsの開発者、間違えて一ヶ月前のローカルレポジトリをgit push --forceしてしまう Jenkin developers accidentally do "git push --force" to over 150 repos on github | Hacker News Jenkinsの開発者、Luca Milanesioによって、Jenkinsの多くのgitレポジトリに対してpushが行われた。不思議なことに、pushをしたというのに変更点はほとんどみられない。一体ルカは何をやったのだ。 Dominik Bartholdi やあみんな、とくにルカ。 昨日、GitHub上のJenkinsの多くのレポジトリ(50以上)に、なにか変なことが起こった。 どうやら、Luca Mmilanesioが、何の変更もないのに、たくさんのたくさんのレポジトリにpushしたらしいのだ。

    hikobae
    hikobae 2015/08/18
  • gitの10周年を記念したLinus Torvalsへのインタビューの翻訳

    10 Years of Git: An Interview with Git Creator Linus Torvalds | Linux.com gitの10週年を記念して、リーナス・トーバルズがインタビューに答えている。以下はその翻訳である。 なぜGitを作ったのか? トーバルズ:俺はソース管理ツールなんて作りたくなかったし、コンピューターの業界において最も興味がないものだと見なしていた(データベースは別だが)。それにソース管理ツールなんてどれも嫌いだった。しかし、BitKeeperがやってきてからというもの、ソース管理に対する見方が変わったね。BitKeeperは大抵のことを正しく行っていた。レポジトリのローカルコピーがあることと、分散マージはでかかった。分散ソース管理の何がいいかというと、ソース管理ツールの問題を吹っ飛ばせることだ。「誰が変更を行えるか」といった政治問題があるが、B

    hikobae
    hikobae 2015/06/24
  • D4492: Bjarne StroustrupによるC++17の考察の翻訳

    April 2015 : Standard C++ C++WG内部のMLで議論していた内容が、どこからか外部に流れて、様々なフォーラムで話題になっている。 “What will C++17 be?” -- Bjarne Stroustrup on C++17 goals : programming What will C++17 be? | Hacker News C++ Daddy Bjarne Stroustrup outlines directions for v17 • The Register Forums これを受けて、Bjarne Stroustrupは議論をまとめて標準化委員会の論文として公開することにしたが、それも時間がかかるので、ドラフトがC++財団にあがっている。 [PDF注意] D4492 C++17の考察 Bjarne Stroustrup このドラフトはLexe

    hikobae
    hikobae 2015/05/18
  • 本の虫: 邪悪なC形式のキャストにしかできないこと

    注意:邪悪で汚らわしいC形式のキャストは、いやしくもC++プログラマたる者は、使うべからず C++では、玉虫色のC形式のキャストの機能を、三つに分割した。static_cast、reinterpret_cast、const_castである。しかし、この三種のキャストでは、C形式のキャストを完全に代替できないという声をよく聞く。曰く、「どうしても書けないキャストがある」と。 それはよく聞く話だが、では実際にどのようなキャストなのかということは、誰も審らかにしない。誰も知らないキャストであれば、特に使えなくても問題ないはずだ。ただし、「C形式のキャストならばできるキャストが、新しいキャストを組み合わせてもできない。どんなキャストかは知らないが、とにかくできないと聞いている。故に新しいキャストはクソだ」などという論調で、C++の改良されたキャストを使わぬC畑の外道がしゃしゃり出てくるのも困る。そ

    hikobae
    hikobae 2015/02/19
  • NTFSのAlternate Data Streamとrarアーカイブによるマルウェア隠し

    Why questionable downloads use rar archives : Len Boyette NTFSには、Alternate Data Streamという機能がある。これは、ファイルに複数のストリームを関連付ける機能で、主となるストリーム以外は、基的にあまり表に出ない。Windowsはファイルのメタデータを保存するのにこの機能を使っている。例えば、インターネット上からダウンロードしたファイルに対して警告を発するのも、特別なAlternate Data Streamを付加しているからで、ファイルのプロパティからこれ以上警告しないという設定するのは、このストリームを削除するという事である。 Alternate Data Streamは、ファイル名の後ろにコロンをつけることで使える。例えば、"example.txt"という名前のファイルがある場合、"example.tx

  • Old New Thing: エスパーデバッグ:ファイルをクリップボードにコピーしてペーストしたら、昔のファイルが現れた

    Old New Thing: エスパーデバッグ:ファイルをクリップボードにコピーしてペーストしたら、昔のファイルが現れた Psychic debugging: When I copy a file to the clipboard and then paste it, I get an old version of the file - The Old New Thing - Site Home - MSDN Blogs ある顧客が、以下のような不思議な質問をしてきた。 あるコンピューターから別のコンピューターに、ネットワーク越しにテキストファイルをコピーしたんだけどさ、コピーが終わってネットワークディレクトリーをみてみたら、まあ、たしかに同じ名前のファイルはあるんだけどさ、タイムスタンプがまるで違っているわけよ。不思議に思ってファイルを開いてみると、コピーしたファイルとは違うんだ。何故か

    hikobae
    hikobae 2011/02/23
  • 1