[過去ログ]
Git 18 (1002レス)
Git 18 http://mevius.5ch.net/test/read.cgi/tech/1650651945/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
744: デフォルトの名無しさん (ワッチョイ d9e4-Xmag) [sage] 2022/11/01(火) 09:36:58.90 ID:kz7RaJ2H0 >>742 君はその記事の意味することを理解できてないね コミットオブジェクトの構造とか役目を理解出来てないと難しいかもしれない http://mevius.5ch.net/test/read.cgi/tech/1650651945/744
745: デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/01(火) 09:57:34.79 ID:Jzc3CN/20 >>744 そう思いたいんだろうけど、残念ながらそうじゃない。 少なくとも君はソフトウェア階層やOOPの基本事項について全く理解出来てない。 だから今、老害と言われ続けるか、再び学び直して熟練者と言われるかの分水嶺にいるだけ。 俺は君に何も強制することは出来ないが。 確かに俺はGit初心者なので、記事の理解は間違ってるかもしれない。 でも、ハッシュの中身や長さが変わったり混在したところで、 正しく構成されてるソフトウェアなら数行の変更で対応可能なのは事実だよ。 そして君と同様の人達によってGitが作られているのであれば、 そりゃそうなってなくて苦労するんだろうさ。 まあいいけどね。もう水掛け論だから終わりにしようぜ。これ以上やってもお互い得る物もないし。 http://mevius.5ch.net/test/read.cgi/tech/1650651945/745
746: デフォルトの名無しさん (ワッチョイ 8b8f-5UCg) [sage] 2022/11/01(火) 10:12:34.67 ID:ju8ytuSJ0 > GITは、すべてのファイルオブジェクトとコミットの識別と整合性チェックをSHA-1に強く依存しています こう書いてあるのになんで無視するんだろう http://mevius.5ch.net/test/read.cgi/tech/1650651945/746
747: デフォルトの名無しさん (ワッチョイ d9e4-Xmag) [sage] 2022/11/01(火) 10:29:09.24 ID:kz7RaJ2H0 >>745 数行で対応w それが出来ないgithubは無能集団なんですねw 糞MSに買われちゃうぐらいだから仕方ないか http://mevius.5ch.net/test/read.cgi/tech/1650651945/747
748: デフォルトの名無しさん (オッペケ Src5-8VyY) [sage] 2022/11/01(火) 12:34:56.06 ID:lDKItQe4r Git初心者に語らせると頓珍漢な文章が生まれるという好例 http://mevius.5ch.net/test/read.cgi/tech/1650651945/748
749: デフォルトの名無しさん (ワッチョイ 8bbb-VzUj) [sage] 2022/11/01(火) 12:39:40.93 ID:QdibabTL0 >>745 お前日本語読めなさそうだな ましてやリンク先にある英語とかかけらも理解できてないだろ 混在とかじゃないぞ。二つを同時につけて「安全」に相互変換するということだぞ 安全にすることが目的でSHA-256を使えば解決みたいな話じゃない お前みたいなのが目的と手段を取り違えるタイプの典型 OOPとかアホなプログラマでも理解できる単純なことなわけないだろ そんなんで済むならとっくに終わってる まずは常識で考えろ できないなら黙って勉強しろ http://mevius.5ch.net/test/read.cgi/tech/1650651945/749
750: デフォルトの名無しさん (ワッチョイ 699f-1Eu/) [sage] 2022/11/01(火) 18:29:25.93 ID:/+vO/8+o0 長文すげー http://mevius.5ch.net/test/read.cgi/tech/1650651945/750
751: デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/02(水) 05:40:42.57 ID:n+gr/3CY0 >>749 どうであれ同じだよ。 複数付けようが、何をどう組み合わせようが、 抽象化の向こうの実体については知らないし、取り扱うコードも存在してないから、 同じバイナリで動作するんだよ。それが抽象化と隠蔽で、これはOOPの基本中の基本。 http://mevius.5ch.net/test/read.cgi/tech/1650651945/751
752: デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/02(水) 05:41:43.29 ID:n+gr/3CY0 んー、お前ら完全に化石だわ。若い奴からは確実に馬鹿にされてるよ。 というか、現在において有名OSSにこんな化石居住区が存在してたことにびっくりだわ。 >>747 数行ってのは誇張ではなく、実際にそんなもんなんだよ。 例えばMMDは3DVision対応に20-30行と言ってるが、 > そのため、樋口氏がMMDの3D Vision対応に要したのは、20~30行程度の簡単なコーディングのみだった。 > https://pc.watch.impress.co.jp/docs/topic/feature/415525.html この樋口氏はVer5->7でDirectX対応してて、その時もインタビュー受けてて(ググッても出てこないが) 確か「よくよく確認して、実際に変更する必要があるのは2-3行だったのでほっとしました」 とか言ってたはず。 これは特殊ケースではなく、こうなるように設計するんだよ。 これに対してGitはマニュアル見てもそういう思想が全く見あたらず、「頑張ればいいよね」で終わってる。 だから糞なソースも「頑張って」修正して何とかするんだ、のノリだ。 ソフトウェア工学はそんなのは20年前にクリアしてて、今は、 A. どうすれば変更に対して強くなるか(仕様変更があってもソースコードを変更せずに済むか) B. どうすればそもそもソースコードを記述する必要すらなく出来るのか(全ての状況に対し同じバイナリで対応する) C. どうすれば出来るだけ早い段階でバグを検出出来るか とか移ってて、大体馬鹿がCに対して悪ノリしてるからLinusがこき下ろす事態になるのだが、 ABはちゃんとやらないと話にならないよ。 だからまあ、次のGitは「勉強をがんばらなくてすむGit」で、 実装で一番簡単な方法は、Gitをバックエンドに使ってシェルスクリプトでラップすることだよ。これらは既に言ったが。 でも君らは「頑張らなくちゃいけない」「頑張るべきものだ」と思っちゃってるみたいだから、 今のGitプロジェクトからはこれは出てこないだろう。 となると、上記のようにして簡単に実装したNext-Gitに成果をかっさらわれ続ける事態になると思うよ。 ちょうどGNU/Linuxの形に似てるが。 あれはLinusが悪いわけではないし、ストールマンも別になんとも思ってないようだけど。 http://mevius.5ch.net/test/read.cgi/tech/1650651945/752
753: デフォルトの名無しさん (ワッチョイ c114-Tk+f) [sage] 2022/11/02(水) 06:01:09.34 ID:z+vraLDY0 > これは特殊ケースではなく、こうなるように設計するんだよ。 > これに対してGitはマニュアル見てもそういう思想が全く見あたらず、「頑張ればいいよね」で終わってる。 それあなたの感想ですよね? gitはソースコード1行程度で変更終わりですよ http://mevius.5ch.net/test/read.cgi/tech/1650651945/753
754: デフォルトの名無しさん (ワッチョイ c114-Tk+f) [sage] 2022/11/02(水) 06:03:01.35 ID:z+vraLDY0 > 実装で一番簡単な方法は、Gitをバックエンドに使ってシェルスクリプトでラップすることだよ。これらは既に言ったが。 シェルスクリプトは移植性低いって分かってる? シェルスクリプトでラップしようものなら Linuxでは動くがFreeBSDでは動かないってことが しょっちゅう発生する シェルスクリプトで頑張るものじゃない http://mevius.5ch.net/test/read.cgi/tech/1650651945/754
755: デフォルトの名無しさん (ワッチョイ d9e4-Xmag) [sage] 2022/11/02(水) 07:01:05.57 ID:S2ENS6Jw0 git の一部機能は git コマンドを使ったスクリプトで実装されていたんだけど、多くのユーザーの要望に応える形でそれらのC言語化進めてる http://mevius.5ch.net/test/read.cgi/tech/1650651945/755
756: デフォルトの名無しさん (JP 0H8d-8VyY) [sage] 2022/11/02(水) 09:34:00.28 ID:33j+wJW8H シェルでラップw USPから悪い影響でも受けたか? http://mevius.5ch.net/test/read.cgi/tech/1650651945/756
757: デフォルトの名無しさん (ワッチョイ 8bbb-VzUj) [sage] 2022/11/02(水) 10:35:32.50 ID:sFE/M4aa0 OOPなんて初心者プログラマ訓練ギブスってことを理解できなくてアホ理論展開しているやつがいてw http://mevius.5ch.net/test/read.cgi/tech/1650651945/757
758: デフォルトの名無しさん (ワッチョイ fb66-Q7eZ) [sage] 2022/11/02(水) 14:42:23.54 ID:LlnSL/r70 OOPなんか、そん辺のサンデープログラマでもかなり深い所までメリットデメリット含め浸透してるがな。 関数指向やクロージャがある言語も同様で もはや当たり前のようにハイブリッドになってて一部の原理主義者以外いい塩梅で使ってるから話題にはならん。 http://mevius.5ch.net/test/read.cgi/tech/1650651945/758
759: デフォルトの名無しさん (オッペケ Src5-5UCg) [sage] 2022/11/02(水) 15:33:51.58 ID:4T0OIw/dr OOPそれほど語るなら、お前の大好きなシェルスクリプトはみんなOOP意識して作られてるのかって感じだな http://mevius.5ch.net/test/read.cgi/tech/1650651945/759
760: デフォルトの名無しさん (ブーイモ MMdd-ntN1) [sage] 2022/11/02(水) 18:08:31.10 ID:mw55lzgRM リーナスを中心としたOSSコミュニティの起源にタネンバウムとのモノリシックカーネル・マイクロカーネル論争があることを知らないのかな? 結果として無駄な抽象階層を積み重ねることの無意味さをLinuxカーネルの成功が証明してしまった もちろんLinuxカーネルもファイルシステムとか必要なとこは抽象化されてるけどね http://mevius.5ch.net/test/read.cgi/tech/1650651945/760
761: デフォルトの名無しさん (ガックシ 06dd-uk66) [] 2022/11/02(水) 18:41:51.51 ID:1AIcQZnX6 今どきの若い奴(というか最新の風潮)ってなんでもかんでもオブジェクト指向を徹底するって感じじゃないと思うけどなあ それこそオブジェクト指向主義みたいなのが滅茶苦茶強かったのって20年前ぐらいじゃない? WindowsもNTでマイクロカーネルにしたけどオーバーヘッドデカすぎて一部はカーネル空間に戻したりしたでしょ。 SIerの階層が深い開発なんかだとオブジェクト指向を徹底しないと事故が起こりそうだけど、そういうとこしか知らない人間なのか? http://mevius.5ch.net/test/read.cgi/tech/1650651945/761
762: デフォルトの名無しさん (オッペケ Src5-8VyY) [sage] 2022/11/02(水) 22:26:03.48 ID:KtYxSAYnr 何でもかんでもシェルでやろうとするやつは病気 名前を呼んではいけないあの開発手法とか推してそう http://mevius.5ch.net/test/read.cgi/tech/1650651945/762
763: デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/03(木) 05:47:24.09 ID:AHw2USmo0 >>755 それはどのプラットフォームで問題になったの? 賢い選択とは思えないけどね。 具体的なデメリットは既に666で挙げたとおり。 俺はシェルの互換性問題なんて有ったとは思えないけど、 (昔からsh《bsh》は互換性は高かったし、今はその後継のbashで統一されてる。 ああ確かにcsh/tcsh/ksh/zshはゴミだったし死滅したよ) それが問題なら、GitのC化ではなく、直接シェルの互換性を上げるのが常策だよ。 互換性がC化で達成出来るのなら、 既にあるbash(多分C)ソースをコンパイルしただけのものを同梱し、 gsh(=gitsh)だ!これを使え!と強弁すれば済んだろ。 なんかやっぱり無能の働き者を地で行ってる気はする。 仕事を減らす努力をしてないよね。 http://mevius.5ch.net/test/read.cgi/tech/1650651945/763
764: デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/03(木) 05:49:10.00 ID:AHw2USmo0 >>758 その通りだ。だからアマチュアの樋口Pも正しく対応出来てた。 だからこそ、このスレのこれまでのやりとりに驚いている。 今時初心者でも、他言語スレでもあり得ない流れだ。 で、パッチ出てきたけど、あれでは駄目だね。 彼等はC流のメモリ管理の方法を知らず、Gitは完全に糞コードで出来てる。 あれでは他にもメモリリークだらけだよ。 (ただこれも想定内っぽいし、 リークしたところでアプリとしては大した問題でもないのも事実だが) 彼等は、バグを直す努力はしているが、 バグが出にくいコードにする努力は全くしてない。 OOPもやりすぎると問題だが、何故彼等はそうするのかを学んで、 美味しいところだけ貰えばいいのにとは思うよ。 OOP原理主義者も、Gitプロジェクトやこのスレ民みたいなOOP排除原理主義者も、同様に問題だよ。 http://mevius.5ch.net/test/read.cgi/tech/1650651945/764
765: デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/03(木) 06:07:03.27 ID:AHw2USmo0 ただ見る限りGit界隈は密結合主義のようだ。 つまり、Gitと知識的に密結合した、Gitに詳しい奴だけがGitを使うべきであり、 tutorial1が基本コマンドなら普通はtutorial2は応用コマンドのところ、 なんと内部データ構造の紹介になってるし、 (ただこれは俺には極めて有効に作用したが、普通はブーイングの嵐だろう) http://mevius.5ch.net/test/read.cgi/tech/1650651945/765
766: デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/03(木) 06:07:22.90 ID:AHw2USmo0 ソースコードも密結合、これは馬鹿除けだ!と言い放つ。 糞コードでもパッチの手数で勝負だ!カリスマLinusならモグラ叩き志願者は無限に募れる! とまあ、他の誰も出来ないアプローチだね。 ただまあ、ソースコードを清潔に保つ目的は長期的メンテの為であり、 それは実際出来てるしいいだろ、と言われれば、はーそうですねー(棒)だが。 http://mevius.5ch.net/test/read.cgi/tech/1650651945/766
767: デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/03(木) 06:07:59.96 ID:AHw2USmo0 これ見てたら、buggyな糞コードでもとりあえず動けば受け入れてどんどん改訂し、バグもパッチの手数で勝負するのと、 普通のプロジェクトがやってる、レビューして駄目なコードは最初からrejectするのと、 (つまり手間をかけてもrejectされる可能性があるからコードを投げるのを躊躇される) どっちが良いのだろう?とは考えさせられるよ。 リソースが無限にあるOSSでは、前者の方がいいのだろうか? LinusはBillJoyに対して「オープンソースを理解してない」と思ったらしいが、こういう事なのだろうか? (この発言はLinus著作本にあるらしいが、俺は読めてない) しかしこのアプローチでは、絶対に浄化はしない。 自分の糞を片づけるのは仕方ないとして、 他人の糞を片づけたがる奴はいないし、そもそもその界隈が掃除に価値を置いてない。 しかし糞コードならどんどん投げてもらえるし、それらを受け入れる限り、進化が止まることもない。 はーなんだかねー。なるほど研究者と色々衝突するのも分かる気はする。 そういや大昔「伽藍とバザール」読んだなーと思って今読み返してみたが、これがバザールなのか? (NGにかかったので分割した) http://mevius.5ch.net/test/read.cgi/tech/1650651945/767
768: デフォルトの名無しさん (ワッチョイ d9e4-Ojdt) [sage] 2022/11/03(木) 10:41:57.59 ID:NhDXzDSd0 それだけ文句あるなら本家MLで言うか自分で作り直してみろよ軍師様 これだけ大口叩いておいて英語のMLでコミュニケーションとれないとかだったら笑うが Git は世界中のプログラマが使ってる最重要プロジェクトで、これが改良されるとなれば世界中から絶賛される http://mevius.5ch.net/test/read.cgi/tech/1650651945/768
769: デフォルトの名無しさん (ワッチョイ 699f-1Eu/) [sage] 2022/11/03(木) 10:46:51.87 ID:odT0DHDr0 まだやってのか 暇そうだな http://mevius.5ch.net/test/read.cgi/tech/1650651945/769
770: デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/03(木) 13:22:38.17 ID:AHw2USmo0 >>768 それは無理だね。 仮に時間が十分にあったとしても、俺が改善出来るのはソースコードであって、アプリではない。 アプリの改善には良い仕様にする事が最も重要で、実装は実は大した問題ではない。 (使う分には十分に動けばなんでも良くて、それが糞コードで出来てたから何?でしかない) GitはLinus本人が当時のVCSの問題点を全て把握してたからいい仕様になった。 俺はそうじゃない。今の俺がやったら俺にとって都合がいいだけで、他にとっては糞な物にしかならない。 ただ実際はLinusもこれで、みんな乗り換えて来たから同じ問題を抱えていたんだろ、 という解釈らしいが、いずれにしても使い込んでる奴じゃないといい仕様には出来ないんだよ。 そして例のブランコ問題 > 顧客が本当に必要だったもの > https://dic.nicovideo.jp/a/%E9%A1%A7%E5%AE%A2%E3%81%8C%E6%9C%AC%E5%BD%93%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%A0%E3%81%A3%E3%81%9F%E3%82%82%E3%81%AE もあり、顧客自身が実装してるんだから、そりゃ商用VCSでは絶望的に仕様的に太刀打ち出来ない。 そしてソースコード戦略も違う。Gitはコードレビューとか無い世界なんじゃないかな? それで回るってのがスゲエが、多分これは「伽藍とバザール」の衝撃を追体験しただけなのだろう。 ソースコードを綺麗にしたら、新機能の追加が断然早くはなるけど、それは同じ人数での話で、 ここも手数で勝負だ!と来られたら、為す術もない。 ソースコードなんて糞でいいんだ、人数さえ有れば!では、研究者とは対立するよ。 なるほどエンジニアリングの天才だというのも納得ではある。 だからまあ、Gitを根本的に覆すにはGitよりも良い仕様が必要で、これは本当に難しいんだろうさ。 ところで、やはり俺のワークフローではIndexが邪魔なので削除しようと思うんだけど、 そもそもあれはどう使う為に設計されたものなのだ? 多分Indexの存在が一番直感的でなく、『説明されてないと』間違える所だと思うんだが。 今のところadd直後にcommitしてて、邪魔でしかない状態で使ってる。 http://mevius.5ch.net/test/read.cgi/tech/1650651945/770
771: デフォルトの名無しさん (ワッチョイ 7997-uk66) [] 2022/11/03(木) 13:30:44.47 ID:9oLRzF140 index stageなかったら複数ファイルの変更を一度にcommitできないじゃん。コミット粒度の問題から、全部の変更をcommitしたいわけでもないし。 どのcommitを取ってきてもちゃんと動く状態にするのが普通だからどう考えてもいるでしょ。 http://mevius.5ch.net/test/read.cgi/tech/1650651945/771
772: デフォルトの名無しさん (ブーイモ MMeb-ntN1) [sage] 2022/11/03(木) 13:52:50.16 ID:/4IN/B1bM indexの意味がわかってない馬鹿が全然関係無いファイルをコミットしてリポジトリをブチ壊す http://mevius.5ch.net/test/read.cgi/tech/1650651945/772
773: デフォルトの名無しさん (ワッチョイ 497b-vCJ4) [sage] 2022/11/03(木) 14:35:27.11 ID:AHw2USmo0 >>771 > index stageなかったら複数ファイルの変更を一度にcommitできないじゃん。 いや普通に出来るよ。曖昧だったが、俺は git add -u; git commit -m "message"; で使ってる。 以降はワークフローの話だからどちらが正しいとかいう事ではないが、 > コミット粒度の問題から、全部の変更をcommitしたいわけでもないし。 これは若干邪道というか基本的に全部commitするものだろうし、commitしてから前に進めばいいだけで、 > どのcommitを取ってきてもちゃんと動く状態にするのが普通だから これは俺の場合はちょっと違ってて、動かないのもcommitしてるしそれでいいと思ってるんだよ。 master/developブランチでは全部動くべきだけど、 featureでは途中のは動く必要ないし、動くようになったらdevelopにマージして消滅するんだろ? なら特に問題ない気がする。 途中経過を記録してないことの方が問題で、記録しすぎてたら出力から間引けばいいだろ、というノリ。 だからdiffが画面1枚に収まらないようならcommitする感じ。 実際はbanchを使うのはこれからで、git flow を真似して上記のようにするつもりだが、何かまずいかな? http://mevius.5ch.net/test/read.cgi/tech/1650651945/773
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 229 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.012s