タグ

ブックマーク / diary.hatenablog.jp (5)

  • ひさしぶりに「データ指向アプリケーションデザイン」を読んだ - Write and Run

    これは KOBA789 日記 Advent Calendar 2021 - Adventar 14日目の記事です。 日記を書くには早すぎる時間なんだけれど、久しぶりに「データ指向アプリケーションデザイン」を読んだら気持ちが高まりすぎてしまったので、書く。 データ指向アプリケーションデザインと私 「データ指向アプリケーションデザイン」(以下、書)は "Designing Data-Intensive Applications" の和訳であり、2019年に発行された書籍です。 原著の方は2017年には発行されていたらしいのだけれど、恥ずかしながら当時は知りませんでした。和訳が出たということで話題になっていたのを見て知り、買って読みました。 初めて読んだときの衝撃といったらすごいものでした。学術的なバックグラウンドがほぼ皆無な私が趣味・業務内の試行錯誤のみから思索してぼんやりと仮説を立てていた

    ひさしぶりに「データ指向アプリケーションデザイン」を読んだ - Write and Run
  • 無職に飽きたので人工衛星のソフトウェアをRustで作っています - Write and Run

    KOBA789 です。 今年2月末に前職を退職してからここ半年ほど無職をしていたのですが、いよいよもって無職に飽きてきたので人工衛星を作ることにしました。 実は9月頭から働いています。 株式会社アークエッジ・スペース 次の職場は株式会社アークエッジ・スペースです。東大の研究室発のスタートアップで、衛星バス開発を得意としている会社です。 衛星バスというのは、言ってしまえば人工衛星の OS に相当するものです。 OS に喩えましたが、もちろんそれは単なるソフトウェアではなく物理的な実体を伴うハードウェアとその中で動作するソフトウェアの集合体です。 ちなみにユーザーランドに相当する部分はミッション機器と呼ばれます。 まだまだ人数の少ない会社ですが、業界の土地勘や人脈に富んだ CEO や、人工衛星開発の経験があるエンジニアが揃っており、スタートアップとしては超実力派です。 ArkEdge Spac

    無職に飽きたので人工衛星のソフトウェアをRustで作っています - Write and Run
  • ISUCON11予選に今年もRubyで出場して敗退した - Write and Run

    KOBA789 です。 今年もチーム「ソレイユ(osyoyu, koba789, s4ichi)」で ISUCON に Ruby で出場し、敗退しました。 まずは我々の戦法や秘密兵器の紹介から。 伝統と信頼のサーバーサイドプログラミング ISUCON7 くらいのときから続けている手法で、競技用のサーバーに開発環境を構築し、3人とも同じホストに SSH でログインして同じファイルシステム上のソースコードを書き換えます。 他人の変更をリアルタイムに確認できることや後述するようにソースコードのバージョン管理が不要なことなどがメリットです。 SSH 時に WATASHI という環境変数で自分の名前を渡すことで、同じ isucon ユーザーへのログインであっても各個人の普段使いの dotfiles がロードされるようになっています。 これは「実家システム」と呼ばれており、チームの生産性に大きく貢献し

    ISUCON11予選に今年もRubyで出場して敗退した - Write and Run
  • Rustで古典的なDisk-Oriented DBMSを実装した話 - Write and Run

    KOBA789 です。みなさん DBMS は好きですか。私は好きです。 最近、自作 DBMS をずっと作っていて、ようやく最低限の機能ができたので公開をしました。 (とはいえコードを書いていたのは正味2日ほど。設計と勉強に2週間かかった) github.com この記事ではこれを作った目的と、そのちょっとした詳細についてご紹介します。 目的 Disk-Oriented DBMS の学習に適している Rust で書かれた実装が欲しかった、というのが理由です。 DBMS の勉強に適している実装というのは意外と多くありません。 MySQL や PostgreSQL といった有名な実装は実用的である一方でコード量は非常に多く、また細かな最適化によって教科書的なアルゴリズムと実際のコードの差が大きくなっているため、初学者にとっては構造を把握しづらくなっています。 教科書的な実装の Disk-Orie

    Rustで古典的なDisk-Oriented DBMSを実装した話 - Write and Run
  • トランザクション中の文の失敗の扱いの違い - Write and Run

    (読みづらいタイトルだな) ことの発端はこのツイート。 MySQLは、以下を満たさないという理解でいいのか? エラーが出た時にPostgreSQLのようにロールバックを行わないので Atomicity(原子性)・・・トランザクションの実行結果は「全て成功」か「全て失敗」のいずれかでなければならない#mysql— imaharu (@imaharuTech) July 2, 2020 さすがの MySQL でもそこを破ってくることはないだろうと思いつつ、トランザクション野郎としてはちゃんと確かめねばならないと思い、早朝にも関わらず布団から出てラップトップを開いた(午前10時)。 実験1 以下のような docker-compose.yml と sql/script.sql を用意し、実験をする。 version: '3.3' services: db: image: mysql:8 envir

    トランザクション中の文の失敗の扱いの違い - Write and Run
  • 1