タグ

2024年6月24日のブックマーク (8件)

  • Git の 3-way merge とは具体的にどのようなアルゴリズムですか?

    「way」とは ここでの「way」とは、マージする際に "見て" いる場所のこと。3-way merge は 3 つの場所を見ている。 2-way merge:「マージの起点コミット」「マージさせたいコミット」を見てマージする 3-way merge:「マージの起点コミット」「マージさせたいコミット」「2 つのコミットの最近共通祖先となるコミット」を見てマージする アルゴリズムの概略 ここでは Git のデフォルト・マージ戦略である「recursive」にしたがった 3-way merge のアルゴリズムを書きます。簡単のために省略して書いています。 入力: コミットグラフ。マージの起点としたいコミット X。X にマージしたいコミット Y。 出力: マージできるかどうか。マージできるなら、マージ済みコミット Z を含む新しいコミットグラフ。マージできないなら、コンフリクト箇所。 手順 X

    Git の 3-way merge とは具体的にどのようなアルゴリズムですか?
  • 【開発】スカッシュマージを卒業しプロダクトを加速させるブランチ戦略へ | SocialDog Tech Blog

    こんにちは! 8月からSocialDogにジョインしたあっきーこと上田です!現在はチームリーダーとしてSocialDogの新規開発を仲間たちと励んでいます!開発たのしい〜〜〜!! ところで私はgitが大好きです。なぜ好きなのかを語るとこの記事が終わらないので割愛しますが、 SocialDogにジョインした後、なんと早速gitの運用変更に携わったので、その経緯や何をしたか、またおまけとしてマニアックなgitの活用方法について紹介していきます! スカッシュマージとそのメリットSocialDogでは以下の目的から2年ほどでプルリクエストをスカッシュマージで運用していました。 次のようなメリットがあるためです。 1トピック1コミットになるプルリクエストがマージされたときにコミットが1つになるため、流れが追いやすくなります。 つまりgitのログ検索の操作でハマる時間の削減ができます。 コミットを作る

    【開発】スカッシュマージを卒業しプロダクトを加速させるブランチ戦略へ | SocialDog Tech Blog
  • 3-way mergeについて調べた - Qiita

    今更過ぎるが3-way mergeについて勉強。 結論 2-wayだと片方に削除がある場合、もう片方が追加したとみなされる 適切にマージできなかった場合、削除した機能が残っている。という事態になってしまう 3-wayだと元のファイルがあるため、それぞれの差分がわかり、自動マージでも2-wayのような事態は発生しづらい サンプル データベースに管理者を登録するシステムがあったとする。 (コードはほんっとうに適当) マネージャから自分には管理者以外のユーザも利用できるように認証機能を外すよう依頼された。 同僚には名前とパスワードの重複を防ぐ事を依頼された。 今まで older.rb require 'database' data = Database.new puts "are you admin? [y/N]" unless gets.chomp == 'y' puts "canceled"

    3-way mergeについて調べた - Qiita
  • レンチンした牛乳の上にコーヒーを注いだらなんか起きた!!→不思議な現象の理由をめぐって議論が巻き起こるも...「どう見てもイクラにしか見えない」

    リンク Wikipedia ライデンフロスト効果 ライデンフロスト効果(ライデンフロストこうか、Leidenfrost effect)とは、液体をその沸点よりも高温に熱した固体の上に垂らしたときに、液体の下部から蒸発した蒸気の層が固体と液体との間に介在して両者間の熱伝導を阻害するために、液体が瞬時に蒸発してしまうのを妨げる効果のことである。 この現象はライデンフロスト現象と呼ばれ、例えば熱したフライパンに水滴を落とした時に観察することができる。 固体の温度が液体の沸点以上であれば両者の種類は特に限定されないが、以下の説明を簡単にするためにフライパンと水を 40 users 11

    レンチンした牛乳の上にコーヒーを注いだらなんか起きた!!→不思議な現象の理由をめぐって議論が巻き起こるも...「どう見てもイクラにしか見えない」
  • 分散システムについて語らせてくれ

    3. Copyright©2016 NTT Corp. All Rights Reserved. 3 • よくわかってない人でもCloudera Managerをダウンロードして1時間後 には巨大なHadoopクラスタを立ち上げてYARN, HDFS, Spark, HBase などで遊ぶ事ができる。 • 世の中では分散システムが必要以上に喧伝されている • 「コンピュータ1台よりも2台の方が高速」という直感に対して反論するの は意外と難しい • あなたのそのシステム、当に分散システムじゃないとダメ? 分散自体を目的にしない事 4. Copyright©2016 NTT Corp. All Rights Reserved. 4 L1 キャッシュ参照 分岐予測ミス L2 キャッシュ参照 Mutexのlock/unlock メモリ参照 1KBをZIP圧縮 1Gbpsで2KB送る メモリから1

    分散システムについて語らせてくれ
  • Jepsen: Kafka

  • A Few Notes on Kafka and Jepsen

    About I am the co-founder of Confluent and also the co-creator of Apache Kafka as well as various other open source projects. Kyle has a good write-up on replication and partitions in Kafka. I am a big fan of this methodology (empiricism FTW), though it is a bit uncomfortable to watch ones own project strapped to the apparatus. Kyle’s explanation is pretty clear, so I have only a few things to add

  • Tag: Jepsen

    People keep asking why Jepsen is written in Clojure, so I figure it’s worth having a referencable answer. I’ve programmed in something like twenty languages. Why choose a Weird Lisp? Jepsen is built for testing concurrent systems–mostly databases. Because it tests concurrent systems, the language itself needs good support for concurrency. Clojure’s immutable, persistent data structures make it eas