ナンバリングタイトルで習得した技を忘れるやつ

超普通の情報系大学生のメモや疑問まとめ、備忘録

Packet Tracerについて

pkaファイルがある場合は、Packet Tracer開いてFile->Openから開く。
メニューバーが邪魔な場合は、View->Toolbarsのチェックボックス外す。
左下にデバイスのパーツがあるので、それでネットワークの構築を行う。動画に解説があるが、バージョンで結構違うので、手探りでやるべし。リファレンスは一応あった。
ネットワークのパーツをクリックすることで、IPアドレスの設定や、コマンドプロンプトを開ける。
一通り接待したのちに、右下のタブからシミュレーションモードに切り替える。ここで、PDU等をデバイスまでクリックドラッグし、Auto Captureを選択すれば、シミュレーションできる。
あのタイプのボタンは放射状と呼ばないのでは?

おつかいゲー

Cyber security Essentialsやりたい →あるソフトが必要 →macOSでは動かない →VirtualBoxUbuntu入れる →chrome入れたいけどUbuntuのバージョン古いから無理って拒否られる →アップデート中...

この矢印の間に、メモリケチりすぎてUbuntuが動かず仮想マシン作り直したり、アップデートコマンドラインでやろうとして謎のエラーが出たりと相当遠回りしてる。

Gitってなに?

バージョン管理システム。 ローカル環境(手元の今いじってるPCとか)でコードを書き換えてると、command+zの取り消しでは元に戻せない状況にいずれ出くわします。

そこで、バージョン管理のためにGitが使われるわけです。情報系の人間は遅かれ早かれGitと向かい合わなければなりません。(と思う) Gitに関する記事は本当に沢山あるので、最低限のメモのつもりで書きます。

用語 意味 コメント
リポジトリ 変更履歴の管理をする所。変更履歴の管理をしたいディレクトリ等をリポジトリの管理下に置くと、変更履歴を記録できるようになる。 しょっぱなGit関連やるならこれ作るところから
ローカルリポジトリ 自分のPCにあるリポジトリ 学校の課題とかを一人でやる分にはこれだけでいいと思う
リモートリポジトリ サーバーにあるリポジトリ サーバーにあるっていうと身構えるけど、大抵GitHub
ブランチ 履歴の分岐を並行して記録できるやつ。ここAって書いたけどBで書いたやつも並行して作業進めたい、って時とかに使う。 ブランチは「切る」もの
プル リモート→ローカルリポジトリへ変更反映 一人でやる時は使わない
プッシュ ローカル→リモートリポジトリへ変更反映 こっちは使う
コミット 変更内容をローカルリポジトリに登録すること。 git addしてから
マージ 異なるブランチの差分をどちらも反映すること。 基本勝手にやってくれる。リベースというのもある。
コンフリクト マージ対象の2ファイルで同じ箇所が変更されており、自動でマージができないこと。 手作業でマージすることになる
クローン よそのリモートリポジトリをコピーしてローカルリポジトリを作ること バイトとかで絶対使うやつ
プルリクエス 開発者のローカルリポジトリでの変更を他の開発者に通知する機能 いわゆる、プルリクってやつ

はい、これで「あのリポジトリ適当にブランチ切ってここ直してプルリク投げて」とか言われても多分平気ですね。 自分だけでバージョン管理するなら、リモートリポジトリはなくて大丈夫です。

以下、1-3がローカルでの大まかな手順です。リモートリポジトリを使う人は1の代わりにgit cloneして、2, 3, 4, 5と処理していきましょう。

  1. git init
    gitで管理したいディレクトリに移動してから、上のコマンドを叩きます。すると、リポジトリができます。 (ディレクトリ下に".git"というフォルダができていれば成功。隠しファイルなので、ls -aでチェックしよう)
  2. git add file_name
    これで、file_nameというファイルは変更履歴の追跡がされるようになります。"git add ."でまとめてファイルをaddできるよ。"git status"でnew fileにfile_nameが追加されていればオッケ〜
  3. git commit -m "comment"
    commentという内容のコメントとともに、変更をコミットします。この時、"git add ."していると全てのファイルに対するコミットメッセージがcommentになっちゃいます。 -mは、メッセージ入れるよって意味です。
  4. git push
    コミットした内容をリモートリポジトリに投げます。
  5. Github上でプルリクエス
    GitHub上の自分がpushしたリポジトリのページへ移動し、「Compare & pull request」をクリック、「 Create new pull request」をして終了です。

つらつら長くなってしまいましたね...とはいえ、オプション関係(-mとかそういうの)を極力省いたので、結構シンプルになったはず。
ぶっちゃけサルでもわかるGit入門 〜バージョン管理を使いこなそう〜 | どこでもプロジェクト管理バックログの通りにやればいいと思う。でも最初から最後まで読むとこれ長いんだよね。

ここまでコマンドライン上でいじる前提で書きましたが、GitHub Desktop | Simple collaboration from your desktopというものがあって、こちらだと差分がパッとチェックできますし、(コマンドど忘れしても何とかなるし)結構オススメです。私のバイトではこちらを主に使っています。

The world’s leading software development platform · GitHubは、色々作れるすごい人がみんなにコードを見せてくれたり保存させてくれたりするサービス。JavaScriptのライブラリとかよくここで公開されていますね。 リモートリポジトリが絡むのはこっちで、Gitと連携します。私もとりあえず今まで書いたやつあげてたりするよ。(誰も見てないだろうけど...) インターン等の選考でアカウント聞かれることがあるから持っておいて損はないよ。

間違えてcommitしてしまった時や、前の状態に戻したい時といったトラブルトラブル対処はまたいつか。

...プルリクエストって、プルをリクエストするみたいで何だかプルの意味的に変な感じがしません?しないか。

<まとめ>
git init→書き換える→git add→git commit→git push

初めにって読む?

最近物忘れが激しいので、プログラミングの超基本的なこととか、わからなかったこととかすぐ忘れることとかをここにまとめようと思います。(今までgoogle docsにまとめてたけどぐちゃぐちゃしてきた)

技術系のブログって相当数あるしめちゃくちゃ意識高い人多いし、自分の学年でもうこんなことができちゃう人もいるんだ、って凹む経験をする人がいるんじゃないかと思いますが(ドヤってなんぼみたいなところあるからね)、疲弊した時はこのブログを見て、学部四年でこんなこと忘れるやついるんだ、と笑ってください。案外いるから、こういう人。出てこないだけで。

競プロやったことないし長期留学もしたことないし、起業にも投資にも興味ないよ。ごくごく普通の、って語り口でもなんかみんな色々やってるからね、今挙げた感じのやつ。

プログラミングのインターンとアルバイトの経験は一応あるから、それ関係はおいおい書くかも。 一番最初だから色々書きましたが、三日坊主にならないよう気をつけるぞ。

qiitaと迷ったけど、メモ置き場にすんなクソコード晒すなみたいな記事があって怖かったからはてなブログにした。