ブックマーク / jp.quora.com (17)

  • データベースでユニークキーにUUIDを使うメリットは何ですか?連番やタイムスタンプまたは複合などではいけないのでしょうか?どうも視認性が悪く使いにくく感じますし連番でも衝突しない気もします。

    回答 (7件中の1件目) まずはUUID及びその対案として用いられる連番(自動採番)のメリット・デメリットを整理します。 (タイムスタンプキーや複合キーなどもその効率性から設計上有用なシーンはありますが、比較から除外します。) * UUIDを使うことのメリット * * データベースにSQLを送信する前からアプリケーションレイヤーでIDを生成できる。 * * トランザクション処理を実装しやすい場合がある。 * IDを推測しにくい。リソースが列挙可能ではない。 * UUIDを使うことのデメリット * * レコード・インデックスサイズが増加する。 * * ...

    データベースでユニークキーにUUIDを使うメリットは何ですか?連番やタイムスタンプまたは複合などではいけないのでしょうか?どうも視認性が悪く使いにくく感じますし連番でも衝突しない気もします。
    turanukimaru
    turanukimaru 2024/05/16
    この説明は正しいんだけどUUIDの「真面目な」記事はだいたい分散DBの話をしてるのでそこはくんであげて欲しい。私としては例えばゲームのアイテムに雑にIDを振るときとかはUUIDのが軽いと思う。人との紐づけは人のIDだし
  • プログラマーですがなぜキャッシュメモリは早いのかといった物理的なことがネットで調べてもしっかり理解できません。どのような順番で何を勉強していけばハードウェアからソフトウェアまで体系的に理解できますか?

    回答 (19件中の1件目) 非常に単純化して説明しますね。 キャッシュメモリにはSRAMというタイプのメモリが使われます。SRAMは原理的には単純なデジタル回路でして、高速に動作しますが、容量を大きくするには向いていませんし、仮に大容量のものを作ると高価になります。 メインのメモリにはDRAMというタイプのメモリが使われます。DRAMは静電気を充放電することで記憶していますが、この充放電のプロセスに時間がかかるため低速ですが、大容量のものを安く作ることができます。 つまり、電子回路として考えると、キャッシュメモリに使われるSRAMが高速というよりは、メインメモリに使われるDRAMが...

    プログラマーですがなぜキャッシュメモリは早いのかといった物理的なことがネットで調べてもしっかり理解できません。どのような順番で何を勉強していけばハードウェアからソフトウェアまで体系的に理解できますか?
    turanukimaru
    turanukimaru 2024/01/31
    大学の電子工学科へ行け、と言いたいところだがDOS/V POWER REPORT 最終号を買ってバックナンバーのCPU関係記事を創刊号から順に読むのが安いのでは(宣伝)。創刊号の頃は2次キャッシュが別売りで手で積んでたんだぜ。
  • あなたが見た中で最も有用なコードコメントは何ですか?

    回答 (25件中の1件目) 有用なコメントはどれも有用で、どれが一番、としづらいです。 無いと困るという視点でみると、特定のデータ構造を処理するコードのコメントです。例えば、パーサーがどういう構文を処理しているのか?といったコードはどんな構文なのか説明がないと、何を処理しているのか構文を知らない人には解りません。 postgres/postgres 手続き型言語の場合、構造体への値設定にどのような意味があるのか?は代入からでは解りません。(OOの場合はエンカプスレーションしているので、メソッド名で概ね解るようにできる) postgres/postgres コードから処理が判って...

    あなたが見た中で最も有用なコードコメントは何ですか?
    turanukimaru
    turanukimaru 2023/12/03
    ログや printf を消すと動かなくなるコードはだいたいメモリを破壊してるか未定義動作を呼び出しているか。ログや printf のメッセージ文字列が代わりに破壊されたりしてる。銀行間システムも printf があれば生きていたかも
  • 近年リリースされる静的型付けなプログラミング言語は、戻り値が後置型のものが多くなっている印象があるのですが、後置型のメリットは何でしょうか?

    回答 (5件中の1件目) 型推論に任せるために型を省略しようとすると [code]a:int = 10; b := 20; [/code]としたほうが、 [code]int a = 10; auto b = 20; [/code]とするよりも簡潔だからではないかと推測します。言語によっては「auto」ではなく、「var」かもしれませんが、前置だと型名が存在しないと解釈が難しいのでなんらかのマーカーとしての予約語が必要になる点は同じでしょう。

    近年リリースされる静的型付けなプログラミング言語は、戻り値が後置型のものが多くなっている印象があるのですが、後置型のメリットは何でしょうか?
    turanukimaru
    turanukimaru 2022/03/20
    プログラマ側としては最近は高階関数とか記述の長い型が多いので後置のほうが読みやすい。例えば var f func(func()int)int は関数を受ける関数を格納する変数だけど 型の func~を先に書くと変数名が遠いし一見関数にも見える
  • なぜ物理学で実数を使うことに疑問を感じる人は少ないのですか。現実世界は実数で表すのに適切なのですか?つまり、量子論でも何でもいいのですが、空間にせよ時間にせよ、その"連続性"は担保されているのですか?

    回答 (7件中の1件目) 先人の回答にほぼ尽きているのですが補足を一応しておきます。少し雑多な文章になることをお許しください。 1 まず疑問を感じる人は少なくありません。統一理論への時空を離散化するアプローチ(後述するように単純に格子で離散化するわけではない)はループ量子重力と言います。しかし、現在のところの最有力候補、超弦理論がAdS/CFTという一つ大きな理論(予想?)へのアプローチを産んだのに比べて、これは私の知る限りそんなにうまくいってません。さて、当てずっぽうで離散化したら面白いんじゃないかなぁといって離散化したわけでなく、歴史的には明確なモチベーションがあります。2はそのモ...

    なぜ物理学で実数を使うことに疑問を感じる人は少ないのですか。現実世界は実数で表すのに適切なのですか?つまり、量子論でも何でもいいのですが、空間にせよ時間にせよ、その"連続性"は担保されているのですか?
    turanukimaru
    turanukimaru 2022/02/13
    物理学は現実世界を実数で表してるわけではない。数学的に正しいモデルを作ってそれが現実を十分に説明できるかを検証しているだけ。というか現実の連続性とは具体的に何だ?「具体的に」なにかは誰も知らないのでは
  • 一般にガラスの単レンズでは色収差や球面収差などが強く生じますが、人間の目のレンズである水晶体では、なぜそのようなことが生じないのでしょうか?脳の方で補正しているのでしょうか?

    回答 (9件中の1件目) 網膜の視細胞には、三原色の色を見分ける3種類の「錐体細胞」と、色は見分けられないが暗い所で感度が高い「桿体細胞」があります。色を見分ける錐体細胞は視野の中心部に密集しており、周囲はほとんど桿体細胞が分布しています。すなわち、網膜では中心部(すなわち水晶体レンズの光軸)付近でしか色を捉えていません。したがって、レンズの光軸から外れた所で生じる、色収差による色ずれは、網膜で捉えられていません。 これは信じがたいことだと思われるかもしれません。私も子供の頃は信じがたいと思いました。我々が周囲の光景を見る時、視線の先だけがカラーでその周囲はモノクロだとは見えず、光景の...

    一般にガラスの単レンズでは色収差や球面収差などが強く生じますが、人間の目のレンズである水晶体では、なぜそのようなことが生じないのでしょうか?脳の方で補正しているのでしょうか?
  • 信教の自由が保証されているはずなのに、なぜ創世論や疑似科学は否定されるのですか?単に信じる宗教の違いでは?「科学的に正しい」と「(私が信じる)神はそう仰っている」の違いは何ですか?

    回答 (15件中の1件目) 宗教は真実(Truth)を求める原初の科学。そしてあらゆる学問の祖です。 私は宗教はその役割を終えたとする立場にいますが、信仰の自由まで迫害する気は毛頭ありません。その視点でお答えします。 科学のそれに比べて、宗教の体系というものは非常に歴史が古く、例えば聖書の記述に関して言えば、ローマ帝国がキリスト教を公認(A.C.313年)して以来約1,700年人類の知恵を取り入れてません。コーラン(A.C.650年頃?)も同様です。一方の科学は17世紀のデカルトに基礎を置き、今日までアップデートされ続けています。 現代科学は事実(Fact)のみを求めます。問題とな...

    信教の自由が保証されているはずなのに、なぜ創世論や疑似科学は否定されるのですか?単に信じる宗教の違いでは?「科学的に正しい」と「(私が信じる)神はそう仰っている」の違いは何ですか?
    turanukimaru
    turanukimaru 2021/01/23
    「科学的に正しい」は「誰がいつどこで実験をしても同じ状況なら理論的に正しい結果が出ると推測されることに合意する」の省略でしかないので信じると比べられても困る。合意してるだけで信じてるわけではない。
  • 全ての機械学習の論文は新しいアルゴリズムを提案しているのですか?

    回答 (2件中の1件目) 悲しいことにその通りです。そしてこれこそがこの分野の最も深い問題です。私の推定では、機械学習では毎年10,000以上の論文が発表されています(一日に30程度)。2020年は私が機械学習で活発に論文を発表してから35年目の年なので、私も機械学習の研究者と同じようにこの罪を犯しています。 なぜそれが問題なのかを理解してみましょう。警告:以下の議論は、MLの研究者や実践者として、あなたに深い不安を与えてしまうかもしれません。私の推論に少しでも我慢していただければ、私が得られなかった大きな利益を得ることができるかもしれません。私は40年間機械学習について考えてきまし...

    全ての機械学習の論文は新しいアルゴリズムを提案しているのですか?
    turanukimaru
    turanukimaru 2020/09/15
    仮に有る問題に最適なアルゴリズムが存在するとして世の中には無限の問題があるので無限のアルゴリズムが存在する。逆に無限の問題を解決できる一つのアルゴリズムは存在しえない。賽の河原の石積を一生やる気か?と
  • Lispはなぜ覇権を握らなかったのでしょうか?

    回答 (9件中の1件目) 広く普及しているとは言い難いですが、今でも新しい製品に採用されることはあります。 数年前、私はあるiOSとAndroid向けのゲーム開発に携わっていました。中でもAIの出来が面白さに大きな影響を与える種類のものでした。 プログラマーの同僚が1人、Lispに大変に強い思い入れがあり、そのAIは同僚の作ったLispインタプリタで動作しています。構文解析が簡単で、ゲームデザイナーのあーしたい、こーしたいの要望にもインタプリタの拡張で対応できる柔軟さがありました。 また別の同僚は、Lisp方言のClojureでゲーム開発の効率を高める特別なコンパイラを書いていまし...

    Lispはなぜ覇権を握らなかったのでしょうか?
    turanukimaru
    turanukimaru 2020/09/04
    JavaScriptはLisp方言の一つと言える(過激派)。と思ってるのでLispは既に覇権を取ってる。
  • 国際比較に使える唯一の指標「超過死亡」で明らかになる実態 - 新型コロナウイルス情報室 - Quora

    今回取り上げるのは、フィナンシャル・タイムズからの「死者数は報告されているよりも60%高い可能性がある」というレポートです。 Global coronavirus death toll could be 60% higher than reported | Free to read ここで、論に入る前に、少し前置きです。 アウトブレイクが現在進行形で起きているときに、異なる国での政策の良し悪しを議論するのに使える、信頼できる統計データとは何でしょうか? 感染者数は、検査の性能・件数・方針などに強く依存するため、もっとも信頼性の低い指標です。一方、死亡者数は、相対的には信頼できる指標ですが、検査を受けないままに死亡してしまったケースについてはアンダーレポート(過小報告)となります。 特にいったん医療崩壊を起こしてしまうとあらゆる報告が追いつかなくなり、感染者数も死亡者数もきちんと管理できな

    turanukimaru
    turanukimaru 2020/05/05
    どこの国だって検査は十分ではないから信用できるのは結局死体の数だけ。なお補足されてない孤独死は有りそうだが火葬場が普段通りなのでごまかされた死体はない。一方欧米では土葬・火葬場が臨界を超えてしまった…
  • 世の中ではプログラマーが足りず人手不足だと言われているのに仕事がありません。フリーランスの人はどうやって仕事を取っているのですか?に対する浅見 幸宏 (Asami Yukihiro)さんの回答 - Quora

    turanukimaru
    turanukimaru 2020/01/28
    プログラマは足りないがそれ以上にフリーのエンジニアに発注できるクライアントがレアという話を期待してたのに違った。日本のITの最大の問題は誰にどう依頼すればいいのか分からないってクライアント企業ばかりな話
  • Webプログラマーも低レベルなプログラミングを勉強すべきだと思いますか? - Quora

    不要です。しないで下さい。とても有害ですから。 以下理由。 私のウリは「ハードウェアに至る低レベルなところから、第7層に至る高レベルまで一気通貫で扱える」ことです。そのニッチにいろいろ入って来られたら迷惑です。アドバンテージがなくなるじゃないですか。有害なのでしないで下さい。 もうちょっとマトモな答えをすると、勉強することそれ自体は悪くないです。てゆーか、やった方が良いとは思います。でも、「Webプログラマ」としての軸がある限り、それよりも下のレイヤは 素人に毛が生えたもの に過ぎません。だから、その辺を専門にやっている人達と勝負するのは容易じゃないし、それで相手になるようになれば「Webプログラマ」としての軸ではなくなっているでしょう。 いろんなレイヤを学ぶのは良いことです。でも、プログラマとしての「軸」も大事にするべきだし、他の人達には他の「軸」があります。だから、「どこまでやるか」の

    turanukimaru
    turanukimaru 2020/01/13
    プロフェッショナルであることと教養を知っていることは違う。「プロフェッショナルの力を借りるとき」に教養は役に立つ。別領域の言葉が分かれば自学でなんとかなったりググったりプロに相談したりできる。
  • ほとんどのプログラミング言語で関数のreturnが1つしか出来ないのはなぜですか?

    回答 (12件中の1件目) 多くの言語で多値のリターンができない理由ですが、昔のC言語(Sys V以前のC)が単一レジスタに格納できる値しかリターンできなかったのを引きずってるだけだ、という意見を見つけました(勝手な読み取り)。 多値について気で考えてみた - ぐるぐる~ この先に書かれていることを自分なりにまとめると、 * 多値返しがファーストクラスではないという意味でタプル返しの劣化版なのは認めよう。しかし考えを進めよう。タプルの劣化版としての意味を。 * 多引数関数があるのと同様に多値関数があってもいい * スタックマシンではむしろ自然に実装できる(レジスタ返しに縛ら...

    ほとんどのプログラミング言語で関数のreturnが1つしか出来ないのはなぜですか?
    turanukimaru
    turanukimaru 2019/12/30
    例えばある関数が true と false を同時に返した場合、それは結局 true なのか?という問題が発生する。多値には必ず構造があるが、構造はバグとか勘違い・取り違えの元になるので避けたい。人間は多値を正しく扱えない。
  • プログラマーの方に質問です。正直、1日8時間も集中力続かなくないですか?

    回答 (43件中の1件目) 若いころですが、1つの哲学の問題を起きてる間中、トイレでもバスを待ってるときでも事中でもずっと考え続けることを半年間続けたことがあります。その甲斐あってその問題は(自分なりに)片付きましたが、これは正に若いからこそできたことでしょう。またこういう頭の使い方は考えながらひらめきを待っている状態で、プログラミングとはちょっと違うかもしれません。 今は中年ですが、1日4~5時間が限度になってしまいました。朝起きてすぐ2~3時間プログラミングし、朝ごはんをべてまた2時間、これで1日の作業は終わりです。ただしひらめきを必要とする作業は、プログラミングと違い、ひらめ...

    プログラマーの方に質問です。正直、1日8時間も集中力続かなくないですか?
    turanukimaru
    turanukimaru 2019/07/23
    楽しいプログラミングは何時間でもできるが問題は楽しい作業ばかりとは限らないことだよな…趣味でシミュレーションゲーム作ってるけど編成画面作りたくねぇ…
  • なぜ安倍首相がここまで首相を続けられるのでしょうか?

    回答 (43件中の1件目) 簡単です。使いやすいからです。 5つの理由をあげます。 * 学歴が低い * 血統が良い * 自民党内に彼より強い敵がいない * 野党が弱い * 日国外での波乱が大きすぎる 学歴については相当の劣等感があるようです。国の根幹で働くとき、学歴というのは極めて大きな影響を及ぼします。また働く人たちの間に高いヒエラルキーを生みます。これは良いとか悪いとかの問題ではなく、それによる学歴マウンティングが組織階層化や組織内戦略で極めて有効であるからです。 かつての民主党の首相であった鳩山由紀夫氏はスタンフォード大学博士課程卒です。これは並み居る官僚たちには...

    なぜ安倍首相がここまで首相を続けられるのでしょうか?
    turanukimaru
    turanukimaru 2019/05/31
    幻想というが、言い方を変えれば「現状を維持しようと努力している」(ようなふりだけはしている)。だが野党にはそれすらできない。今必要なのはきっとポピュリズム左派なのだろう。
  • 日本人はどうして理由を聞いただけで面倒くさがるのですか?

    回答 (18件中の1件目) 様々な説明の回答が既に並んでいるので、ザッと拝見した限りでまだ指摘されていないポイントを一つだけ。 日人が、特に面倒くさがっているように見えるのは、理由を聞かれて、困惑や狼狽から閉口してしまうから、ですね。この困惑や狼狽はダブルバインドに起因していると見受けます。 日人の中にも理由の説明に慣れていて立て板に水で答える人があるように、理由を聞かれて面倒くさがる人は、日人以外でも決して少なくありません。 しかし、そこに大きな違いがあるとすれば、答えられる理由が見つからない/思いつかない時に * 自分は知らない/知らされていない * 答えられない...

    日本人はどうして理由を聞いただけで面倒くさがるのですか?
    turanukimaru
    turanukimaru 2019/05/03
    我々プラトン学徒の理由とは「なぜそうであると言えるのか」だが、国語とか作文では理由とは「なぜそうするのか/そう思うのか」なので理由という言葉の意味は人により違う。そして思いを言語化するのは面倒。
  • オブジェクト指向とは何ですか?

    回答 (8件中の1件目) 英語では「object-oriented」で「OO」と略され、1960~1980年代のプログラミング手法(OOP)から始まり、その応用としてソフトウエアの設計・分析の手法(OOD/OOA)、近年はユーザーインターフェース・エクスペリエンスのデザイン(OOUI/OOUX)、オブジェクト指向存在論(OOO)なる哲学分野にまで、広く使われる用語です。ここではOOPについて説明を試みます。 オブジェクト指向の「オブジェクト」は、1967年に発表されたSimula 67 [1] というプログラミング言語に組み込まれた当時としては新しい同名の言語機能(あるいはそれに準ずる...

    オブジェクト指向とは何ですか?
    turanukimaru
    turanukimaru 2019/02/17
    データとそれに対する操作をまとめるという点では両者はそんなに違わない。私は今は「オブジェクトとはデータか?データ以外も含む何かか?」というのが問題かと思う。同一性を真面目に説明したけど誰も読まなかった
  • 1