タグ

2024年5月18日のブックマーク (15件)

  • Why SQLite Uses Bytecode

    1. Introduction Every SQL database engine works in roughly the same way: It first translates the input SQL text into a "prepared statement". Then it "executes" the prepared statement to generate a result. A prepared statement is an object that represents the steps needed to accomplish the input SQL. Or, to think of it in another way, the prepared statement is the SQL statement translated into a fo

  • なぜSQLiteはバイトコードを使うのか

    以前にデータベースを自作しようとして、SQLiteのアーキテクチャを見てみたらVMだったことに疑問を感じ、それをツイートしたところ作者からリプをもらいました。 作者いわく、次のような背景があったとのことでした。 SQLiteを作った当初はデータベースエンジンのことをよく知らないがコンパイラのことをよく知っていた SQLデータベース・エンジンを書くという問題をコンパイラ構築の問題として扱うのは自然なことだった データベースエンジンのコアの部分をVMにするという発想がまったくなかったので、どんなメリットがあるのか?と気になっていました。 それを作者に聞いたら、詳細な説明ページを作ってくれました。 個人的にVMにしたことで、評価&実行のパフォーマンスは多少良くなると思うが、データベースエンジンのパフォーマンスにそれほど寄与していないんじゃないかな?って思ったりしました。 記事はそのページについ

    なぜSQLiteはバイトコードを使うのか
  • 「敵の敵は味方」であることを数学が証明!人間関係の新理論 - ナゾロジー

    なぜ数学は「敵の敵は味方」の証明をできなかったのか?誰もが一度は「敵の敵は味方」という言葉を聞いたことがあるでしょう。 この理論は人間関係に留まらず、大規模な組織や国家間にも適応されており、人間社会において普遍的な社会理論となっています。 この「敵の敵は味方」理論は必然的に「敵の味方は敵」「味方の味方は味方」「味方の敵は敵」という合計で4つのパターンを内包しており、合わせて「社会均衡理論」と名付けられています。 (※以降はわかりやすさを重視して社会均衡理論を「敵の敵は味方」理論と表記します) この「敵の敵は味方」理論は1940年にオーストリアの心理学者フリッツハイダーによって発表されましたが、それ以前から慣用句としても定着していました。 そのため現在に至るまで数え切れないほどの研究が、この理論をネットワーク理論を用いて数学的に実証しようと試みられてきました。 それらの研究ではヒトを点、関係

    「敵の敵は味方」であることを数学が証明!人間関係の新理論 - ナゾロジー
  • 仕事の進め方がグダグダの会社はどうすればいいのか、「プロジェクトマネジメントの基本が全部わかる本」の著者に聞いてみた

    仕事の進め方がグダグダの会社はどうすればいいのか、「プロジェクトマネジメントの基が全部わかる」の著者に聞いてみた 「プロジェクトマネジメントの基が全部わかる」を執筆し、ご自身もプロジェクトマネージャーやプロダクトマネージャーとして23年経験を積んできた橋将功さん。 橋さんは、セミナーや著書でプロジェクトマネジメントについての知見を発信されていますが、今回 Agend であえてお聞きするのは「専門のプロジェクトマネージャーがいないグダグダになっている職場で、どう仕事を回していくか」。 「うちの会社は仕事を回すのが下手」と感じている方にこそ読んでいただければと思います。

    仕事の進め方がグダグダの会社はどうすればいいのか、「プロジェクトマネジメントの基本が全部わかる本」の著者に聞いてみた
  • PC-8801mkIISRで「漢字BASIC」を制作、大学の研究室ではApple IIを使用… 杜甫々氏が「とほほのWWW入門」を開設するまで

    「とほほのWWW入門」管理人の杜甫々氏が、これまでの経歴と、「とほほのWWW入門」執筆時に気をつけていること、自身の趣味について話しました。全2回。 「とほほのWWW入門」管理人 杜甫々氏 杜甫々氏(以下、杜甫々):どうも杜甫々です。「とほほのWWW入門」というやつを作っています。こういうところに出ることはあまりなくて、2022年の岡山のオープンセミナーも録画でやっていたので、こんなにたくさんの人の前でしゃべるのは初めてだったりします。 まずちょっと、おじさんの紹介をやっていきます。「とほほのWWW入門」の管理人です。1996年から始めたので、もう27年目に突入ですね。ハンドルネームは杜甫々です。途中で漢字を当てはめてみました。名は違いますけどね。 広島生まれの広島在住です。もちろんカープファンです。2023年の観戦成績は6勝1敗で、けっこう良かったんじゃないかなと思っています。 次にイ

    PC-8801mkIISRで「漢字BASIC」を制作、大学の研究室ではApple IIを使用… 杜甫々氏が「とほほのWWW入門」を開設するまで
  • なんとなく言語 (学) に興味がある人のためのブックガイド|長屋尚典

    「なんとなく言語 (学) に興味がある人のためのブックガイド」をつくりました。 「なんとなく言語 (学) に興味があるのでもうちょっと読んでみたい」 「言語学にどんな分野があるのか知りたい」 「専門的に勉強したいというほどではないのだけれど、もうちょっと何か読んでみたい」 という人のために、言語 (学) についての入門的なを紹介します。 これらのを読んで言語 (学) っておもしろいなと思ったら、ぜひ大学などで言語学の授業を受けたり、専門的な入門書を読んだりしてください。 あるいは、以下の記事を参考に自分で言語学を勉強してみるとよいでしょう。 あくまで、なんとなく言語 (学) に興味がある人のためなので、注意点がいくつかあります。 網羅的なリストではありません。まだまだ編集中です。おもしろかったがあったら教えてください。 基的に和書で、一般向けのを紹介しています。 出版年順に並べて

    なんとなく言語 (学) に興味がある人のためのブックガイド|長屋尚典
  • 「頭の回転が速い」を科学する|宮脇 啓輔 / 株式会社unname

    こんにちは、unnameの代表取締役の宮脇啓輔です。 普段から重要だなと感じたことや、自分なりに思考したものを伝えようとXで投稿しているのですが、その中でも反響が大きかった投稿をさらに肉付けして発信しようという試みで記事化しております。 「頭の回転が速い」とは「累積思考量が多い」ことだと思います。「過去に似たようなテーマについて考えたことがある」から、すぐに自分の意見が出てくるし、回転が速く見える。考えたことがないと、その場で思考してしまい、遅く見える。そういうことだと思っています。… — 宮脇 啓輔 / 積極採用中 / unname (@keisuke_unname) March 21, 2024 この投稿がかなりいい反響をいただいたということもあり、投稿をベースに、もう少し肉付けして解説してみます。 「頭の回転が速い」の正体はなんなのか「頭の回転が速い」と見える人は、実際は「累積思考量

    「頭の回転が速い」を科学する|宮脇 啓輔 / 株式会社unname
  • 僕たちがグラフニューラルネットワークを学ぶ理由

    グラフニューラルネットワーク - Forkwell Library #50 https://forkwell.connpass.com/event/315577/ での講演スライドです。 サポートサイト:https://github.com/joisino/gnnbook グラフニューラルネットワーク(機械学習プロフェッショナルシリーズ)好評発売中!:https://www.amazon.co.jp/d/4065347823 連絡先: @joisino_ (Twitter) / https://joisino.net/

    僕たちがグラフニューラルネットワークを学ぶ理由
  • Playwrightを使ったE2Eテストを導入した話 - Uzabase for Engineers

    はじめに こんにちは。ソーシャル経済メディア「NewsPicks」の QA/SET チームの海老澤です。 先日 弊社で E2E テスト実行するために Playwright を導入したため紹介させてください。 E2Eテストとは E2Eテスト(エンドツーエンドテスト)とは、ソフトウェア開発におけるテスト手法の一つで、アプリケーションが実際の運用環境と同様の条件下で正しく動作することを確認するためのテストです。 システムの開始点から終了点までを通じて、ユーザーの視点でアプリケーションのフローを追い、機能全体が連携して期待通りに動くかを検証します。具体的には、ユーザーが行うであろう一連の操作をシミュレートして、データがシステムを通じて適切に流れるかや、最終的なアウトプットが正しいかどうかを確認します。E2Eテストにより、部分的な単体テストや統合テストでは見逃されがちな問題を発見することができます。

    Playwrightを使ったE2Eテストを導入した話 - Uzabase for Engineers
  • 自己対戦で強化学習する三目並べ AI をPyTorchで実装 - Qiita

    PyTorch の社内勉強会の題材にしたいと思い立ち、畳み込みニューラルネットワーク(Convolutional Neural Network, CNN)を用いた自己対戦型強化学習の三目並べ AI を実装したので公開します。見通しの良いシンプルな実装を目指しました。結局、それなりのコード量になってしまいましたが。 動作環境 Google Colaboratory の CPUランタイムにて動作を確認しました。 概略 おおまかな処理フローは次図の通りです。盤面情報を受け取った先攻方策と後攻方策は、○×を書き込む場所を返します。この先攻方策と後攻方策に AI を実装し自己対戦させます。 盤面情報は、空白マスをゼロ、先攻 ○ を+1、後攻 × を-1とした形状 (H,W)=(3,3) の二次元配列とします。 盤面座標は、場合により二次元座標と1次元に展開したフラット座標を使い分けます。 三目並べの

    自己対戦で強化学習する三目並べ AI をPyTorchで実装 - Qiita
  • Ecologists Struggle to Get a Grip on ‘Keystone Species’ | Quanta Magazine

  • Documentation - JSDocリファレンス

    以下のリストは、JavaScriptファイルの型情報を提供する JSDocアノテーションにおいて、現在サポートされている構文の概要です。 以下に明示的にリストに入っていないタグ(@asyncなど)はまだサポートされていないことに注意してください。 @type @param (or @arg or @argument) @returns (or @return) @typedef @callback @template @class (or @constructor) @this @extends (or @augments) @enum class拡張 プロパティ修飾子 @public、@private、@protected、@readonly タグの意味は通常、jsdoc.appで与えられたものと同じか、あるいはそのスーパーセットです。 以下のコードでは、それぞれのタグの違いを説明し、使

  • ベイズ統計学を勉強する参考書のフロー - Qiita

    慶應義塾大学・株式会社Nospareの菅澤です. 今回はベイズ統計学を勉強するための参考書の順番 (私見) について紹介していきます. 3年ほど前に『日語で学べるベイズ統計学の教科書10冊』を紹介しましたが,今回は「どのような順番でどの参考書を読んでいくと比較的スムーズに勉強が進められるのか」に焦点を当て,比較的最近の書籍や英語の書籍まで含めて紹介していきます. まずは全体的なフローのイメージを提示しておきます. 今回の記事では,「ベイズ統計学を勉強すること」のスタートとゴールを以下のように定めます. (スタート) 統計学の基礎的な内容 (統計検定2級程度の内容) は身についている (ゴール) ベイズモデリングに関する最新の論文がある程度理解して読め,自力でモデルを組んだり実装することができる また,このゴールへの道のりとして,大きく2通りのルートを想定します. (ルートA: フルスクラ

    ベイズ統計学を勉強する参考書のフロー - Qiita
  • D&D誌上ライブ ロードス島戦記

    つまりアライメントとは、各主体における正義を示すのだと、私は思っています。 五右衛門はカオティック・グッドであり、法には反するが人間としては善良な心の持ち主という事になります。 悪代官はローフル・イービルであり、法には抵触しないものの私服を肥やすし悪事もするという厄介な人間になる訳ですね。 フォーセリアではベルドなんかがカオティック・グッドっぽいし、ファンドリアの人達はローフル・イービルっぽいですね。 しかしリプレイ編では秩序ではなく正義、混沌ではなく邪悪という表記の仕方をしていました。 これはいかがなものかと思い、忠実に秩序と混沌という風に書き換えました。当時はまだ3種類しかないようですし。 なおこのリプレイの時のロードスもまた、正義と邪悪が戦い続ける場所であると設定されています。 そして多くの魔の秘境が存在し、邪悪の勢力にはゴブリンやオーク、そして人間もいるという事になっています。

  • 予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHPerKaigi 2022

    PHPerKaigi 2022 2022/04/10 10:40〜 Track A レギュラートーク(40分) PHP はバージョンを追う毎に型宣言、例外、表明、列挙型などの機能が大幅に強化され、堅牢なコードを書くための機能が充実してきました。それらの機能はどう使うと効果的なのでしょうか。 講演では PHP 8.1 をベースにして、誤りを想定してチェックするのではなく、そもそも誤りにくい設計とはどのようなものか、つまり「予防」の観点を軸足に、堅牢なコードを導くための様々な設計のヒントをご紹介します。 Agenda - 型宣言 - 列挙型 - ドメインモデリング - 不変性と等価性 - 完全性 - レイヤーと責務

    予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHPerKaigi 2022