-
ざっくりGitを理解する
•
1 min read
現場で必ず使うGit。 これまでは断片的な知識の寄せ集めとチャッピーに聞きながら、なんとか使える、という状態でした。 体系的に身につけないとな、、と思いようやく重い腰が上がり、今に至ります。 そんなこんなで、Gitについて体系的に学んだ結果を備忘録として書き起こそうと思います。 目次 Gitの保存の仕組み Gitは「ファイルを丸ごとコピー」した「スナップショット」という形式でデータを保存する。 なぜ、スナップショット形式なのかというと、複数人開発がしやすくなるため。 これまでは差分だけ保存してバージョンを管理していたため、いちいち差分を計算してからマージしなければならず、とても非効率だった。 Gitのようにスナップショットでデータを保存する場合、差分を計算せず丸ごとコピーしたモノに置き換えるだけなので、とても効率的にデータ管理ができるようになる。 Gitの管理の仕組み Gitは「ワークツリー」「ステージ」「リポジトリ」という3つの場所を用いて管理する。 を指す。 Gitを使うとなにがいいの? コミットを辿ることで、直前の状態に戻すことができる。 最新化のタイミング 最新化とはgit pull すること。適切なタイミングでpull するのが良いとのことだが、どのタイミングでpullするのが良いのだろうか。結論、下記のタイミングが良いとされる。 いっぱいありすぎるので、整理すると になるかと。 今のうちから癖づけしておく。 リベースとマージの違い マージは分岐した履歴をそのまま保持して新しいマージコミットを作成するリベースは履歴を書き換えてあたかも最初から直線的に行われたかのように整理する つまり、履歴を残して統合するかしないか、の違いってこと リベースとマージの運用方法については以下の通り コンフリクトしそうならマージを使う プッシュしていないローカルの変更にはリベースを使う プッシュした後はマージを使う stash, pop, applyの違い Commitをミスった時の対処法 Pushをミスった時の対処法
-
エンジニアになって半年が経過した心境
•
1 min read
はじめまして、すずいちと申します。ソフトウェア開発エンジニアです。 今回はエンジニアになって半年が経過した今の心境をつらつらと書いていこうと思います。 軽く自己紹介から 私は今年の半ばに、念願のエンジニア職に転職し、現在はそこそこ大きめのベンチャーでソフトウェアエンジニアとして、日々プロダクト開発に勤しんでいます。エンジニアに転職するまでは、制作管理やったり、金融系で管理職やったり、IT営業やったり、と職を転々としてきました。 これまで色々な業種や職種を経験してきましたが、エンジニアという職業はかなり自分に向いてるなと思います。チームメイトとコミュニケーションを取りつつも、場所を選ばず基本一人で作業できるし、モノを作って売って収益を上げる、という商売の基本が自分一人でもやり易い点も気に入ってます。 半年経過した現状 次に現在の心境ですが、結論、軽く病んでます。なぜ、病んでいるのかをいかに記述したいと思います。 軽く病んでいる理由①:周りのレベルが高すぎる 本当にこれです。高すぎます。開発経験は数年以上あり、ゴリゴリのモダンなフレームワークでの開発経験も豊富。しかも中には、超大手アパレル業界で長年開発やってたエリートもいます。そんな方々に比べて、自分はhtml,css,js,phpでフルスクラッチで作ったちょっとしたサービスや、WordPressテーマをいじった程度。。。ほんとよく今の現場に入れたな。 軽く病んでいる理由②:全然フロントエンドやってない 当初、フロントエンドエンジニアとしてキャリアパスを描き、入社しました。しかし、入社してから2ヶ月弱はインフラを中心とした環境構築ばかり。加えて、直近のサービスでは今まで使ったことがない言語、かつバックエンドのプロジェクトで、フロントエンドはデザインの当て込みとちょっとしたバニラjsを実装したくらい。ReactやらVue.jsやらをゴリゴリ使っていく予定だったんだけどな。。 軽く病んでいる理由③:自分のレベルが自己認知よりも遥かに低い これは理由①とも若干かぶるのですが、自分のレベルの低さに絶望してます。これまで、数々の業界を渡りあるいてきたことによる謎の自信があったのでしょう。入社当初は 「今までと同じくどんなことがあってもすぐキャッチアップして即戦力として現場で活躍するぞ〜〜💪」 くらいに思っていたのですが、そうはいきません。今までの職種と全く違うので。 これまでは考えるよりも行動しまくる解決法で仕事を進めてきたので、思考を中心とした仕事のこなし方が全然なってないのです。脳筋が仇となりました。。 軽く病んでいる理由④:思ったように成長できている感覚がない エンジニアなので、日々独学で技術力を磨くことは当たり前にやっているつもりなのですが、実務に繋げられている感触がありません。理由③に関連しますが、脳筋でとりあえずやる、ってことに重きを置きすぎていて、戦略的な技術習得ができていませんでした。「勉強する」ことが目的になり「使えるようになる」ってことがいつのまにか忘れ去られてしまっていた、みたいな感じでしょうか。目的と手段のすり替わりです。 ここは最近修正し、現在は戦略的に日々の貴重な学習時間を使っています。にしても、本当に自分はまだまだアホだし、伸びしろがあるな〜と思い知らされますね。。 今後の戦略 この軽く病んでいる現状から今後どう舵を切るのかを以下に書き記しておきたいと思います。 現場で必要な最低限の技術を確実に身につける ここは言わずもがな、マストです。重要なのは「確実に身につける」ということ。スピードは度外視です。 本来、戦力になれないと会社の金を無駄に使うことになり、会社のお荷物でしかありません。 自分はそのような考えのもと働いていたので、どこか引け目を感じて、勝手に肩身が狭くなっていたような気がします。 ただ、いまはその考えを捨てます。 先行投資として俺に金を時間を使え という、とんでもなく図々しい考えのもと、業務に勤しみたいと思います。 今は能無しですが、将来的には有能に化けるんです。少しの間、我慢しろや、と。そういうメンタルで日々を過ごしていきます。 基礎基本を確実に身につける 今まで、ネット上に転がっていた知識をちまちま拾って使って実装してました。つまり、体系的に学んで来なかったんですね。 ドキュメントの読み込みやオライリーを読んで試して自分で作って、ということを積極的にやっていきます。 誰にも負けないくらいAIを活用できるようになる 日々、AIツールやらAIエージェントやらが進化し続けています。その情報を都度仕入れ、試し、使えるようにする。そして、仕入れた情報を社内に共有して、皆さんに周知して、より活用してもらえるようにする。 AIインフラを整える一躍を担えればいいなと考えてます。 最後に 現状はツラいと思う部分が多々あるが、これはチャンスだと思ってます。毎日コツコツ独学と現場経験を積み上げていき、着実に戦力になれるよう成長していきます! それでは〜