#156 オライリー本ならではのコアさ!実用Gitの感想と日本に来ている留学生へのアドバイス

2023/7/5 ·

  • さあ皆さん



  • 月曜日どうお過ごしでしょうかうわ月曜配信が確定しました目標かもしれなかったのに目標かもしれないですね週末どうお過ごしですかはいおかげでありがとうございます僕はですね今月一冊の技術書を読みまして実用Gitというねを読みましたなんかそうみたいな本ですねなんかオライリーのですねはい



  • バットボンと呼ばれてるバットコウモリが表紙の悪い方かと思いましたTですねバットボンですきっとバットボンなんですかなんでだろう動物のマッピング別にあれでしょう由来あるやつありますけどねパイソンとかちゃんと2匹ヘビですパイソンヘビ以外でもだいたい適当だよねカオスエンジニアリングサルだったよ



  • モンキーテストじゃないですかだと思いますすいませんそうなんだまず僕はこれをですね一個クレーム入れたいですね実用かっていう点で実用じゃないのこれはねマジでもし僕だったら実用は付けないですね名前にじゃあなんて名前付けますか



  • ディープイントゥギットですねもしくはギットディープダイブみたいな名前つきそうですねそれですね完全にちょくちょく分かんない概念が出てきたんで検索したんですけどギットのドキュメント見たことあります?薄ベージュの背景の左上にギットのマークポーンってついてるサイトですねギットハブのドキュメント見たことあるけどギットっすもんね



  • Gitですないかあれがしょっちゅう出てきてたんですけどそれにヒットする章が毎回1から9章まではGitの機能を説明してますよみたいなGitの10章だけGitの内部っていうタイトルで



  • ギットの中の仕組みとかその思想の部分とか超絶コアなところを紹介している章があるんですけどそればっかりヒットしましたね今回のこの本を読んでてなので実用ギットって呼ばれると今回読んだ本の中の知識を開発現場で一体いかに活かすのかみたいなのは全くよくわからなかったんですけどただめちゃくちゃ面白い本ではありましたねタイトルだけ変えてくれれば星5です確かに



  • ラベル付け間違えてるなはいラベル付けを完全に間違えましたねこれはちなみにGit作ったの誰か知ってますかじゅんぺいくんGitty MattさんですGitty Mattさんやばくないそれで自分の名前をGitty Mattさんですそうかでもね発想は惜しいですねはいこれ実はLina Stobaldさんが作ってるんですよえーかっこいい名前Lina Stobaldさん誰か知ってますか知らないですでもなんか出てきたことありますよねありますよたぶんじゅんぺいたかどうか忘れたけど



  • 准平高瀬だけどリーナスさんリーナスさんもう名前からなんかふわっと出てこないですかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんかんか



  • あれマジでリーナスほぼ答えよほぼ答えよエンジニア系の話ですよねリーナス惜しいリナックス作った人いやーちょっと遠かったな実はリナックス作った人が作ってますじゃあGitはリナックス違いますね違いますしかもですね作った経緯知ってますかこれ



  • 元々Gitとかってバージョン管理システムって呼ばれてるんですけどあったんですよ元々バージョン管理システムっていうのはすごい昔から初期のものは1972年めっちゃ昔公開



  • SCCSっていうSCSSみたいなやつがあるんですけどつづりだけな多分中身違うだろうなソースコードコントロールシステムっていうストレートでいいですね世界初のバージョン管理システムであってそこからいろんな系譜を受け継ぎつつ



  • 今でもたまーに使われているのがSVNっていうサブバージョンと呼ばれてるやつですねいやあんまり耳なまじみないです僕は僕は初現場出会いましたそれにいや稀にねSESとかの業態だとSVNやってるところに行きましたっていう人いますね出会いました出会うよねはい



  • なんだこれはってなってますけど聞かなくても大丈夫ですかそれは別に大丈夫じゃないですかあんまり使わないんじゃないですかただリーナスさんはですねこれに対してすごく不満を持ってたそうなんですよいまいちって感じですごい素晴らしい発想ですね



  • そうね確かにちゃんと不満を持ってでそれをすごい解決してうまく動いてたなっていうビットキーパーっていうのがあったらしいんですねただそいつは無償提供終了しましてあらら



  • オープンソースでもないとLinuxなんてオープンソースの神みたいな感じじゃないですかその人がオープンソースじゃないアプリケーション使うのはちょっとあれだぞってことで自分で作っちゃおうってなったらしいんですねすごいLinuxの成功体験があるからすぐやっちゃうなんとですねGit10日ぐらいで作ったらしいです



  • 出たよそういう変態エピソードやばくないJユニットに続いてるよ結構Jユニットの方が変態かもしれないけど飛行機ねあれですよねあのー何でしたっけ誰と誰だっけケントベックさんとエリックガンマさんだっけ



  • 名前わかんないですちょっと誰か忘れましたけど飛行機での出会いですね飛行機でたまたま隣り合わせたんですご腕のエンジニアが隣に揃ってたらやることはペアプロしかないだろってそのフライトの間に誕生したのがJユニットっていう噂がありますけどね10日でGit作れるんですね10日でGitがもう作られたらしいですねそこから始めてGitとかLinuxのアプリケーション自体のGit管理をし始めたらしいんですけど



  • そういう経緯をたどって誕生したのがGitでございますとこの実用Gitという本はですね何が書かれているかというとGitでさ管理し始めると.gitというディレクトリー作られるの分かります?ほぼあれの中の話です言うてなんか設定ファイルとか入ってるぐらいのイメージしかないですねあそこはですね設定ファイルどころじゃないですねGitってファイルをですね



  • すごい方法で管理してるんですよサブンとかいちいち持っておかなきゃいけないですからねサブンっていうか都度のファイルを持ってますコミットごとのそうなのでめちゃくちゃ裏では多分効率化してるはずですそのファイルのサブンの出し方とかもすごい面白いなと思ったのはですねハッシュ化あるじゃないですかハッシュ化の特徴じゅんぺくん



  • 特徴特定されないようにする本質じゃないですねハッシュカーの特徴の本質は特定されないようにする



  • じゃあ勇気の回答これもよく分かってないですけど多分同じ長さになるんじゃないですか文字ですが長さというか同じものを入れると同じハッシュ値になるんですよそれはそうですね決まったアルゴリズムで計算してるんで一方向ではありますよねでも



  • 一方向だよ一方向ですねハッシュ化の特徴はそういう同じ値入れたら同じになるよっていうのと一方向でしか計算できないよというか逆方向にするのめっちゃ計算の必要になるっていうのとあとなんだ衝突性とかなんかいろいろあった気がするんですけどこのGitはですねそのハッシュ化をめっちゃ応用してましてファイルの中身を丸ごとハッシュ化してるんですよ



  • まだよくわかったんですけどまあハッシュ化するとどうなるんだ ファイルが変更されなければ同じハッシュ値になるなるねはいあれで差分とか見てるんですよ まずハッシュ変わったからこのファイルは編集されているgitステータスでモディファイドって出そうみたいなことそういう感じです でそれをファイル名にしてオブジェクトファイルみたいなのを作ってるんですけどなんかオブジェクトファイルが何なのかちょっと正直よくわかってないんですけど はい



  • っていうファイルを作っててそれをドットキットの中でめっちゃたくさん格納してるんですねその時その時のファイルのハッシュ値計算したオブジェクトファイルみたいなのずっと残してるんでブランチ切り替えた時の変更とかめっちゃ早くないですかあれあれってファイル全部持っててそれを指すポインターを変えてるだけなんですよへーっていう裏の仕組みをすごい粛々と説明されます



  • それだとあれですねGitで管理すべきじゃない大きいファイルってあるじゃないですか管理しちゃいけないんだねって思いますねそうやって全部持ってるって思うといや確かにね本当かなって思うよね全部持ってんだって本当なんだねだってGitログとか見るとさとんでもなくログ出ません?



  • コミットログ全論持ってるってことでしょ本当?さすがに計算してハッシュ計算して同じやつは2つとかじゃなくて多分1個にしてるんでしょうけどねそうなんです変わってないファイルはそのまま残ってるんですよファイルの種類が複数あるんですけど大事なのがツリーオブジェクトっていうのとブログオブジェクトっていう2つですね



  • ブログとかっていう単語聞き覚えあるけどなんだかわからないバイナリーラージオブジェクトかなBLOBなんですね質問いいですか1個のファイルがあってそれがハッシュ値になって保存されてます例えばそのファイルを



  • 単語1個でも例えばAとかでも追加したらモリファイドで出るべきじゃないですかそうなるとそいつはまた別のハッシュ値として保存されてるんですよねハッシュ値はあくまでファイル名ですねファイル名?なるほどじゃあそこの中身のどう変更したかの違い



  • 中身はね多分ブログオブジェクトっていうぐらいなんでバイナリに変換されて保存されてると思いますねそれで差分を満たしてるってことですねそうそうそうそうなるほどはい3オブジェクトの方は何ですか3オブジェクトの方はGitで保存するときにフラットに持ってるんですよファイルをで



  • 2種類のファイルがあってブログオブジェクトっていうのがファイルをハッシュ化してファイル名にして中はバイナリーになってるよっていうファイルでツリーオブジェクトっていうのはこの時のこの時このディレクトリにこのオブジェクトがあったよっていう情報を保存してるオブジェクトですねツリーオブジェクトの中にもツリーみたいなのを



  • 載せることができるんでああいうファイルシステムの構造をキープできてるみたいなでファイル名のハッシュ値とかあれ中身を読み取ってるだけなんでどこにあるかとか気にしてないんですよでGitってさファイル移動したら移動したのを検知できるじゃないですかあれとか全く同じハッシュ値で別のところにツリーオブジェクトのポインターが変わったんで検知できてるみたいな



  • っていうね中身の仕組みがあってですねこれをちょっとこの後も永遠と続いていくんですけどそれをここで説明するのは全く意味ないなと思ってるんで実践ではないですからねなので僕がこの本を読んで学んだ大切なことというかなんでこれ本めっちゃ楽しいんですよまずエンジニアとして一つ思ったのは



  • やっぱり知らないことの裏側を知るのは面白いなっていうのとこういう美しいものに触れるっていうのはねすごく楽しい経験だなっていうのをまず一個思いましたねとさあなるほどねきっとはそうでしょうねそうなんですよこういうのを知っていくことによって知らないことを知っていくことによって勉強ってどんどんやれるようになっていくんじゃないかなっていうのをね学びましたねなんかいいですねあの



  • ちょっと気持ちわかりますあとGitの仕組みがすっごいよくわかったなんかさGitよくエラー出るじゃんエラーというかさワーニングというかコミットしてないファイルある状態で別のブランチチェックアウトしようとしたりとかするとエラー出たりするじゃないですかスタッシュしろとかねあの辺とかも出ることは知ってたしこれやったら出るなっていうのは知ってるから行動としてはスタッシュしてから移動できてたんですけど



  • なるほどこれがないとこういう困ったことが起きるからいつもこういう風に出してくれてたのかみたいな部分とかあとねなんだっけいつだかリベースの話したの結構前に僕リベース全然分かってなかったんですけど今回Gitの仕組みを知ったことによってリベースめっちゃ分かるようになりましたね他の今までよく分かってなかったコマンドの説明がスッて入ってくるようになりましたね



  • ちなみにリベースの仕組みの話ってちょっとさらっとできたりするんですかお願いしますコミットって必ず直前のコミットを指してるんですよ一個一個のだからそれをつなげたああいうグラフ形式にできてるんですけどリベースっていうのはそれの元を変えるコマンドですねなのでリベースして動かすと例えば元々マスターの



  • Cっていうコミットからブランチ切って作業してたけどマスターも先に進んでDEFとか進んでた時にリベースするとFから生えてたかのようにできるじゃないですかできますねあれはコミットが指してる前のコミットをずらしてるだけみたいなリベースってそういう意味かみたいな再びベースを変えてるからリベースなのかみたいな感じですっと理解できるようになったりそれはさっきの話で言うと



  • ツリーオブジェクトとかの操作してるってこと?いやえっとねコミットはまた別なんですよねそうなんですねオブジェクトがなるほどなるほどなんですけどそういうことですね3割理解ぐらいでありがとうございますこれはでもしっかり理解するエピソードにはしない方がいいと思いますわかりました



  • 個人的にその美しいものでちょっと興味あるなランキングの中で順位はつけないですけどGit、UNIX、Docker裏が気になるですね確かにねGitはねマジでおもろいですねさっき言ったドキュメントの第10章を読むのだけでも面白いと思いますねちょっと見てみようで見れるボリュームですかちなみに



  • そんな大ボリュームではなかったような気がするでもちょっと見てみようで読めるかも微妙だとは思う1時間くらいかかるんじゃないかなでも1時間くらいでいけるんですねあと最近その収録日の最近もAWSデブデイもありましたけどAWSサービスの裏側もねちょっと面白そうあれも面白そう確かにねラムダって実はこういう仕組みになっててみたいなねダイナモとか裏側知りたいわうんうん



  • みたいなのもありますね裏側知ると楽しいよっていう話でしたありがとうございますじゃあアフターお便りいきますねアフターお便りコーナーアフターお便りでラジオネームJHさんJHさんお便りいただいてますありがとうございます感想というかお便り丸って言いますねはい



  • いつも楽しくポッドキャスト拝聴しておりますありがとうございます私は韓国人で就活中の大学生であるJHと申しますすごいですね確かに申しますとか敬語がすごく正しい敬語でそうですね多分翻訳で出ないですよね申しますって出るんじゃない?出るのかな?英語で申しますってどうやったら出ると思います?I said出なくない?言った



  • すいません戻りますね早速ですが駆け出しエンジニアになる前にやっておけばいいことについて何かアドバイスしていただければ幸いです駆け出しエンジニアになる前会社で働く新人エンジニアになる前にってことですね公務員時代の順平みたいな懐かしい



  • なるほど



  • こっちのことも考えてくれてる確かに思いやり思いやりですねいつの間にかねグローバルな番組になってしまいましたすごいですね日本語勉強してても日本のポッドキャスト聞こうって思わんし確かにねまして僕らのポッドキャスト聞こうなんて思わんすよ



  • もっとあるよもっとあるなでもジャンルがコンピューターサイエンス学校でやってるからっていうのはあるのかもしれないですね真面目ですねありがたいですね本当にありがとうございますで何かありますかっていうじゃあ僕からでいいですかかけだしエンジニアになる前ですよね僕がその公務員だった時って考えると僕は本当にかけ



  • いきなり駆け出したみたいな感じなんで全く勉強せずエンジニア業界に入ったんですよでうまく入れただけで普通の人は多分なんかこうオンラインみたいなオンライン授業コースみたいなでなんかこう多少やっぱエンジニアの勉強してきてると思うんですよそれはやっとくべきだったなっていうのはすごい思いますちなみになんで思ったんですかそれやっぱりそのまあ



  • 研修というか新しく入った会社ITで入った会社で研修があったんですけどそこでの吸収のレベルが全然違いますよねそれをやった人とやってない人だとオンラインのそれなんて多少お金払えばいくらでもできると思うんでそこでの今後一生使って仕事にしていくって考えた時に



  • なんか土台作りとして自分で勉強しておいたらこの先が楽だったなっていうのはすごい思うんで悔しいなと思ってます悔しかったなとちゃんとやってあそこでやってればよかったなっていうのはすごい思うんでまあでも大学の時からコンピューターサイエンスとかっていうのでそこら辺のあれはあるとは思うんですけど確かにねなんかその軽く



  • どういう系のエンジニアかも分かんないですけどアプリケーション作るぐらいのはなんとなく講座通りやっていけば多分できると思うんでそれぐらいそれをやっておけばよかったなって思うので時間あればやってもらったらいいかなと僕は思いましたそんな感じですなるほどね



  • ありがとうございますさっきのごめんなさい悔しかったなっていうのが頭に残りすぎて悔しい思いしてますね多分普通後悔って言うんですよ悔しかったな言わないんだよねありがとうございますノリさん行きます?僕行きます?僕がいいですなぜならちょっとあれなんで自信ないんでわかりました



  • そうですね今学生っていうことだったんで僕学生時代に一個だけ後悔してることがあってですねインターン行っとけばよかったなってめっちゃ思うんですよねインターン行けインターンに行けそれですでなんでかっていうと



  • 僕就活めっちゃ適当にやってたんですよ大学の時もこの話しましたっけサイト検索して上から受けていくみたいなそれ転職の時じゃないですか就活の時のやつですね就活の時もそうやってなかった大学の時はそれではないまた別の適当さがあの時はエージェントに登録して紹介される企業全部受けに行ってその中で内定をもらった中から決めました言ってたよね言ってたかもしれないな



  • 要は社会のことを何も知らないまま就活していたわけですよ人で決めたんですよ僕は面接だったり説明会の中でここの会社の人たちちょっとイケてるなみたいなっていうので決めたんですよ実際たまたま良かったんですよその会社行って良かったなと思うんですけど他の内定もらってた会社にもしたまたま入ってたらめちゃくちゃ後悔したんじゃないかなって失礼ながら思ってましたね



  • 失礼ですねでもそういうのって一回社会に出てから見える景色と学生の時に見える景色全然違うなって思うんですよねでも実際に実務詰めるインターンとかやってたらその辺の発想先に社会人チラ見えすることができる気がするんで



  • これやっとけばよかったってずっと思ってるんでインターンにやってきた学生にはみんな言ってますねインターンに来た学生なんでインターンやってるんですけど本当の学生の時インターンやっとけばよかったわって言ってますねキモ俺キモそれはでもめっちゃ分かるうるせえなって思われてるかもしれないやっとるわってキモじじいじゃん



  • 俺の時はなんてやばいねこういうのどっから始まるのか言うのやめようだってもう来てるんだからインターンめっちゃわかります話の取っ掛かりとしてはそうですねなので僕は学生時代っていうことであればインターンに参加していろんな企業を見るっていうのは大事かなと思います大賛成いやーあの



  • 僕もですねノリさんと一緒です一緒なの?インターンですねインターンだと思います僕は行ってないです僕の会社とかだと海外から来てる人もいるんですよ海外の人向けのインターンやってるのかな?やってると思うんですけどこんなに日本語の上手ですしね



  • 何やったらいいでしょうかっていうところに課題感を持っているのであれば実際に行ってみるとこれ足んないわって思うことあると思います多くの人は多分技術力足んないなって思うことは多いかもしれませんが韓国の方で日本の会社会うかもよくわからないですし実際行ってみたらもっと日本語勉強しなきゃかもしれないし技術勉強しなきゃかもしれないし



  • そういう日本人と働くっていうところで見えてくる課題があるかなと思います本当に別にね海外で働いてる人めちゃめちゃいっぱいいるのでそこもケアしてくれる会社はいっぱいあると思うんですけどね確かに実際飛び込んでみるっていうところが多分学生のうちにできることかなと僕も思って気まずいなと思った話聞いてました



  • その系統の話聞いたことなかったんで絶対これじゃないだろうなって思ったんですけど韓国の方というか海外の人だからこそっていうのは特にあるかもしれないです僕は多分違うんじゃないだってかなり分かんないけどインターンいいっすよねでもさ本当に我々世代の時ってさインターン行ってる人マジでごく人握りじゃなかった?



  • あんまり周りにいなかったんだけどそうなんすねいなかった今さすっごい比率でいってるらしいねそうなんすかって聞くけどね学生の子たちからそうなんだインターンってあんまりいかなくないみんなって言ったら結構半分くらいの人いってますよみたいなそんなに?半分多すぎじゃない?もられた?そういうグループに属してる人たちそれあるかもしれないですね



  • 会社見学とかはありましたけどね就活中に仕事を見ようみたいな実際に動くのと見るのじゃやっぱ違う気がするんだよな学生の時なんかマジでなんで学生やってるのに会社行かなきゃいけないと思ってたんですけど絶対に行ったほうがいいですよね先にちょっと会社をチラ見する社会をチラ見するっていうところでモチベも上がるしね本当にそれでね大学のオープンキャンパスじゃないですけどうんうん



  • ちょっと想像ができるようになるというかね確かにオープンキャンパスは僕学食食いに行っただけですけど学食食いに行ったんですかはい学食食った記憶しかないんですけどまあ楽しみの一つでありますねそうだよね他なんかあった?どこ行ったんですか?おたる消化大学行く気あったんですかそれはいやもう元々は行く気あったよああそうなんですねじゃあじゃあじゃあまともなやつでしたね普通にご飯食いたすぎて行ったかと思いましたいや違うよ



  • みんな行くしみたいないやいやそれは交通費で損するそんな遠いんですかそんな遠くはないかそんな遠くはないですねそんな遠くはないわ札幌大谷まあでもまあまあお金かかりそうですけどねそうねだってね電車で行ってバスですからまあまあかかるなはいっていうのでJHさんなんかヒントになりましたら幸いです過去にもちょっと何話でしょう



  • 139話でしたね多分139話これができてたらもっと早く中堅時代になれたなみたいなところかな多分熱心な先生の方から送りいただいた手紙のやつですかね多分専門学校多分ねそっちも合わせて聞いてみてください聞いてるかもしれませんがそっちではまた別の方向の話してますよねインターン重いわだったら



  • 何するんでしょうね短いインターンありません?2週間とか重いのかそれでも数日もあると思うよでもインターン重いはオンラインもありそうですよね今時オンラインインターン気合入んねえなでもやんないよりはね実際オンラインインターンやってる会社はリモートワークなんでしょうから新人入った後もリモートなんでしょうしねインターン重い場合は第一歩としては



  • いや ob 訪問じゃない 水から ob 訪問かやったことないないですかじゃあまあです ob 訪問じゃないん ob 訪問したことあります僕どういうことあの大学の ob とかではなくただそこで働いている人に話を聞く えっあああって設定セッティングするそれ会社の前でな見張って筋肉で捕まえるの違います 違いますおい話させろえっと僕が1回やったのは



  • Facebookとかで会社名書いてる人って結構その会社に所属してることを誇りに思ってるんですよ確かになんでその人にその会社の話聞きたいって言うと応じてくれますそうなんだ割と待って今記憶蘇ってきた俺それやって無視されたことありますね無視したのが多いですよそれはだって怖いですもん普通にだよねうんうん



  • そういうのでメッセージ送ったりすると結構返してくれる人いると僕は思ってますって言っても半分ぐらいだと思いますけどね一発目で心折れたんで一回しかやってないですねありますよねっていうのをやってみてくださいはい



  • それではハッシュタグひまじんプログラマーでツイートフィードバックを募集してますのでお願いしますご感想ご意見またまた質問などなどたくさんのご応募お待ちしておりますツイートですね僕らのモチベーションになりますのでお願いしますあとは説明欄にあるGoogleフォームから質問とかトークテーマ何かありましたらどしどしお願いいたしますお願いしますでは今日は実践Gitとお便り紹介でした



  • ありがとうございましたバイバイ

0:00 31:59

#156 オライリー本ならではのコアさ!実用Gitの感想と日本に来ている留学生へのアドバイス