[過去ログ] Git 19 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
14(1): デフォルトの名無しさん (ワッチョイ 617b-8+ss) [sage] 2022/11/07(月) 00:00:33.44 ID:FOShOpAE0(1/10) AAS
ちょっと言い方が悪かった。
お前ら、Gitはもうインフラだ!ファイル形式も変えられない!とか、言ってたろ。
そう思えてから、の話。
18(1): デフォルトの名無しさん (ワッチョイ 617b-8+ss) [sage] 2022/11/07(月) 00:29:40.36 ID:FOShOpAE0(2/10) AAS
>>15
ああ書き方が曖昧だったが、変わったのはソフトウェア工学/業界の戦略だよ。もっと大きい話。
Gitはどっちの戦略でいつ頃までやってて、なんて事は俺は全く知らん。
ただパッチ見る限り、何か制約でもあるのか?と思える位に不自然だというだけ。
直すところそこじゃねーだろ、みたいな。
20(1): デフォルトの名無しさん (ワッチョイ 617b-8+ss) [sage] 2022/11/07(月) 00:33:15.61 ID:FOShOpAE0(3/10) AAS
>>19
>>7
25: デフォルトの名無しさん (ワッチョイ 617b-8+ss) [sage] 2022/11/07(月) 08:50:06.37 ID:FOShOpAE0(4/10) AAS
>>23
キャラ作りもあるのだろうけど、冒頭はクレイジーだな。
blob(ただのコンテナ)が取り出せなくなることはないし、最悪自分で書けば済む。
それ以外は思想には同意するが、実際のやり方にはあまり賛同しない。が、当たってはいる。
学生の授業としては面白いだろう。選択教科なら名物になる可能性はある。(必修でこれはまずい)
26: デフォルトの名無しさん (ワッチョイ 617b-8+ss) [sage] 2022/11/07(月) 08:54:30.27 ID:FOShOpAE0(5/10) AAS
お前らに話が通じないのは、お前らがコードを書かない連中だからだ。
だからリアルで例えてみる。Gitに習ってplumbing(配管工事)、つまり水道管だ。
一般的には、住宅に水道管を敷設する際、
高低差や区画情報(私有地ではなく道路の下しか通せない)を考慮し、
最初から、こういうツリー形状にすると計画を立ててから、工事をする。(設計)
勿論分譲予定が決まらなければ区画情報がないので無理だし、
測量が終わってなければ高低差情報が無いので無理だ。
そしていざ工事する際は、道路を封鎖することになるので、事前に告知し、
当日は誘導員を配置し、周辺交通の妨げにならないようにする。(リリースの計画)
敷設する水道管は当然新品だ。30-40年使えるようにね。(綺麗なコード)
そしてもし水漏れしたら、それが凍結による偶発的な事故なのか、
或いは何らかの設計ミスや施工ミスに依るものなのか、
また経年劣化で交換が必要なのか、検討する。
同じ事故を繰り返さない為にね。(レビュー)
これが一般的なやり方。
工事は順番だから、待たされることもある。
家庭で水漏れしたら、周辺の水道屋さん(当たり前だが資格試験はある)を頼って、大体数日後に直してもらえる。
27: デフォルトの名無しさん (ワッチョイ 617b-8+ss) [sage] 2022/11/07(月) 08:55:05.40 ID:FOShOpAE0(6/10) AAS
バザールでは、水道が出ないより出た方が便利だから、各自が勝手に水道管を引いてしまう。(設計をしない)
水漏れしたら?その時に考えればいいよ。
いや実際漏れてるんだけど?ならパッチ当てよう。塞げばいいだけでしょ。
水の出が悪いんだけど?うーん、ちょっと高低差に無理があったからね、ポンプでも足そうか。
そんなことしたら水圧が上がって水道管割れちゃうよ?まあ、やってみればいいでしょ。
あ~あ、割れちゃったよ、てか錆すぎだろこれ!うん、だって元々中古だし。(最初からボロボロのコード)
え?最初は新品使うのが常識でしょ?いや、すぐ交換出来るんだからボロボロのでも問題ないでしょ。
いや~、毎回業者呼ぶの大変じゃない?業者?僕が工事すればいいだけだから問題ないよ。
え?それじゃ素人工事で全然駄目じゃん?いや、水漏れする度に何度でも工事すればいいだけでしょ。(ボロボロのパッチ)
でもやっぱ業者呼んだ方が…。そこまで言うなら、まあすぐ呼べるんだけど。秒速で対応してくれるし。
え?秒速?うん、水漏れしたんだけど!って言えば、誰かがあり得ない速度でシャシャッてきて交換部品(パッチ)とアドバイスをくれるんだよ。
そんなのあり得るの?うん、だって僕がその、世界規模での交換部品流通システムを開発したんだから。(Git)
とまあ、素人によるデタラメ工事&秒速のモグラ叩き的修復で、乗り切ろうというわけだ。
28: デフォルトの名無しさん (ワッチョイ 617b-8+ss) [sage] 2022/11/07(月) 08:55:55.03 ID:FOShOpAE0(7/10) AAS
ってな感じ。これぐらいのギャップがある。
設計もしないし、一切のレビューもしないし、反省もしない。
だから事故りまくりだが、すぐに修復されるので、巨視的に見れば水道を使えてる時間は長い。
これが、従来型の工事と比べて、どっちがサービス提供時間が長いか、ということなんだと思う。
水道工事は物理的なので、どうしても道路を掘り返す手間がかかるから、従来型の方が普通はよいとされるはずだけど、
コードは、経年劣化はないし、(ただの情報なので)交換も極めて容易だから、このアプローチが出来てしまうのか?
って衝撃が「伽藍とバザール」だよ。
俺も今それをまざまざと見つけられてるわけだ。
しかし、この発想には付いていけないし、付いていきたくもない。
俺の家にはきちんと計画して新品の水道管を敷いて欲しいし、順当な範囲なら、工事の順番待ちもするよ。
それで、「お前が水道工事業者で、新品の水道管を持ってるのなら、寄越せ!」って言ってるのが今のお前らだ。
いやいやいや、そうだとしても、こいつらとは関わっちゃいけない、と思うのが普通でしょ。
ただ実際は、Linusが基本設計をしているので、LinuxもGitも、
「文系馬鹿だから管を繋げば水が出ると思ってて、水道が山を越えててまるで話にならない」
みたいなことはない。これが
> 9. 賢いデータ構造と間抜けなコードのほうが、その逆よりずっとまし。
で、Linusは基本設計を終えた上で、
末端の水道工事なら無資格業者でも全く問題ない、それより工事しない方が問題、としてるだけ。
実際、基本設計(水道ツリー)がきちんと出来てれば、各住宅付近の引き込みは、単に繋げるだけに近いのも事実。
バックエンドのGitデータ構造の出し入れだけきちっとしてれば、
フロントエンドの各コマンドなんてバグってたら交換すればいい程度なのも事実。
実際、今回のメモリリークなんてそのフロントエンド内でもさらにどうでもいい案件で、新品や資格業者を使うまでもない。
従来型は、工事である限り新品であり資格業者必須だが、これが問題だ!というわけ。
29: デフォルトの名無しさん (ワッチョイ 617b-8+ss) [sage] 2022/11/07(月) 08:59:07.21 ID:FOShOpAE0(8/10) AAS
この辺は実はもっと長期スパンの戦略もあって、「わざと」ゴミパッチでもやらせてる可能性もある。
実は今プーチンがやろうとしてるのだけど、30万人動員だっけ?あれが適切か、について、
ウクライナの戦場だと、前線に動員された兵士が1年後に生き残ってる確率は10%位になってしまってるらしいのだが、
逆に言えば10%は生き残るわけで、30万人の素人を動員したら1年後にはその過酷な状況を生き残った3万人の精兵に化ける、
だから長期戦視野で、1年後に欲しい人数の10倍、素人でも構わないから動員してしまえ、そうすれば死にはするが供給は出来る、という話。
これはソフトウェアも同じで、保守人材が欲しいならそれなりに育てる必要はあって、
Git的なワークフローに慣れてもらう必要はある。
だから今はど素人のクソコードでも受け入れてれば、数年後には10%位は熟練者になって残ってくれるかも?という戦略だ。
今回は本当にどうでもいいバグではあるので、素人工事でも練習にはなるからやらせておけ、ということ。
だから意図的にレビューもせずにスルーしてる可能性もあるし、この戦略も一概に悪いとも言えない。
勿論こんなのではリークは止まらないが、元々バグを修復するのではなく、修復する練習が目的だから問題ない。
ただ一般的には、こういうのは資格取得時に技能含めて講習することであって、
いちいち水漏れ工事させてユーザーに迷惑かけつつ教育するもんじゃない!ではあるが、
言っちゃ悪いが新人のOJTでの飛び込み営業とか完全にこれだし、リアルでやってる連中もいる。(今はもう無いのかもしれんが)
だからまあ、俺は少なくともGitに対しては半年ROMるべきなんだよ。
連中の戦略がまるで見えない。そもそも何も考えてないっぽいが。
(いや待て、これは孔明の罠だ状態)
34: デフォルトの名無しさん (ワッチョイ 617b-8+ss) [sage] 2022/11/07(月) 21:23:08.09 ID:FOShOpAE0(9/10) AAS
>>16
それらのコマンドのレイヤーは、
init-db, show-diff
commit-tree
write-tree, read-tree
update-cache, cat-file
だろうよ。まあlinusだしちゃんとしてるよ。
最下位を差し替えれば最終形式(blog)を、
tree階層を差し替えれば記録先(ファイルシステム)を、
commit階層を差し替えれば鍵(SHA1)を変更出来る。
当たり前だがこんなのやってるに決まってるんだよ。OOPの基本中の基本だし。
プログラマではないお前らは理解出来なくてもいいが、それで噛みついてこられても困る。
そして逆に、今鍵の交換程度で手こずってるのなら、
馬鹿がこの階層をぶち壊して直接階層を跨いでアクセスしてしまってるんだろうさ。
パッチ見る限り全く階層の意識がないからね。
動けばいいとしか思ってない馬鹿が書いたコードだよあれは。
ただ、10人の普通の人より1,000,000人の馬鹿だ!という戦略だし、実際それで何とかなってるのも事実。
ちなみに故ジョブスは「優秀なプログラマと無能なプログラマの生産効率の差は200倍だ」と言ってたらしい。
これは俺の体感とも大体合う。
戦闘力(最大200)*10人=2,000では戦闘力1,000,000と喧嘩してもどうにもならないので、
全く納得いかないが、バザール方式はエンジニアリングとしては正しい。
単純には、社内10人でプロプライエタリするよりは、
オープンにして2,000人のプログラマ(サンデープログラマでも全く問題ない)を集められれば、勝てる事になる。
35: デフォルトの名無しさん (ワッチョイ 617b-8+ss) [sage] 2022/11/07(月) 21:26:17.35 ID:FOShOpAE0(10/10) AAS
あと誰か、初期実装の時と現時点で、フォーマットが同じか知らないか?
上位互換か?(=初期実装版で書いた.gitは最新版で問題なく読める)
それとも完全互換?(=現最新版で書いた.gitは初期実装版でも問題なく読める)
P.S. bookのURLを何度か貼ってくれた人達ありがとう。
今読み進めてるが、俺にはbookの方が断然よかった。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.038s