2020年 Nの旅
コロナの影響で某学習サイトが無料開放しているのでできるところまで進めていこうと思ったんでやってみることにしました。
ところでここ最近アフターコロナとかいうワードをよく聞くんですが、なんでもう収束した後の話をしているんですかねぇ……。まあいいや。上のやつの続きやっていきます。
今回やったこと!
第2章すすめました。
1. はじめに
環境構築のやり方の話です。日本語ファイル・フォルダはやめろみたいなこと書かれててウケた。
2. LinuxとOS
仮想環境の構築のお話。VagrantとVirtualBoxの導入の仕方について書いてあります。僕の環境ではWSL使っているのでまあそれで動かせるしいいかとか良い感じでかなり飛ばして読んでましたw。
あ、ツールの導入はパッケージマネージャー使うといいってのが書いてありましたよ。
Chocolatey Software | Chocolatey - The package manager for Windows
The Missing Package Manager for macOS (or Linux) — Homebrew
特段ひろうべき内容ではないんですが僕がChocolatyを愛用しているんで拾ってしまったのでした。
そして特段拾う内容ではないけど以下コマンドでテトリスできるよ!
# Ubuntuのコンソール画面 (ターミナル) 上で以下を叩く $ sudo apt update # 続行しますか? [Y/n] と聞かれます。 $ sudo apt install bsdgames $ tetris-bsd
aptコマンドがDebian系パッケージ管理ツールなんでUbuntuとかでしか動かないんですがゲームやるだけなら下のサイトでできます。
楽しい!はい……。本題に戻ります。
3. コンピュータの構成要素
コンピュータアーキテクチャなお話。
以上の解説レッスンでした。
4. ファイル操作
SyoumonaiShell/makeWorkspace at master · Andou666/SyoumonaiShell · GitHub
フォルダ作ったり階層移動したりするやつ。例としては上のような感じ。リンクのところは好き放題やっているからbatとかで書いたりしてますが……。
5. 標準出力
cat
、less
、grep
についての話。ファイル操作と似たようなことやりたいけどもサンプルが/bin
の中身の確認とかやってて上のネタでやる場合はsystem32
とか確認すればいいのかとかなったのでサンプル作れなかった。なんかいい案思いついたら増やします。
6. vi
vimの使い方について。
$ vimtutor
コレやれば解決。操作方法について色々言うことはあるけど上のやつやっておけばいいんじゃねっていうのが僕の見解。
7. シェルプログラミング
SyoumonaiShell/lsAndDate at master · Andou666/SyoumonaiShell · GitHub
SyoumonaiShell/quiz at master · Andou666/SyoumonaiShell · GitHub
コンソールいじるプログラム。こんな感じのやつの作り方の説明。
8. 通信とネットワーク
TCP/IPなな話。実践でやるコマンドでいうとtcpdump
、curl
、ping
の話。読み物回。
9. サーバーとクライアント
サーバークライアント型通信とP2P (Peer to Peer) 型通信についての説明。実践でやるコマンドでいうとnc
、telnet
の話。読み物回。
10. HTTP通信
サーバとクライアントの話をしたので実際にHTTP通信をしてみましょうとかそんな感じの内容。
# Pythonでサーバを立てる $ python3 -m http.server 8000
レッスンではPythonでサーバ立ててた。
サーバーを立ててみる
やることはこんな感じの確認。ざっくりでも確認するならCGIでないとサーバ使うメリットとかが全然ない……。そういえば前回PHPでいじったときもそうなんだけど、ビルトインサーバでこういうの動かすのは危険だからやめようね…。
11. 通信をするボットの開発
RSS取得してcron
するやつ作るそうです。
#!/bin/bash dirname="./rss" rss="RSS_URL" yourmail="your@mail" mkdir -p $dirname filename="${dirname}/rss-`date +'%Y%m%d%H%M'`.xml" echo "Save to $filename" curl -s -H "User-Agent: CrawlBot; ${yourmail}" -o $filename $rss
こんなノリのやつをcronで回すそうで……。
そういえば関係ないけどもニコニコってRSS一覧みたいのここにまとめられてたんですね……。
公開RSS配信一覧
そしてiTunesのRSSジェネレータなんていうRSS取得するのに便利なツールも……。
RSS Generator
いまこんなんあるんですね。へー。
12. GitHubでWeb サイト公開
GitHubの使い方。そしてあなたのいいところ診断を公開してみようとかそんな話。
GitHub - Andou666/assessment: あなたのいいところ診断ゲーム (ISC License)
こんなんやりまして、こんなんなります。
13. イシュー管理とWikiによるドキュメント作成
GitHub機能をつかってドキュメントづくりのお話。
Home · Andou666/assessment Wiki · GitHub
こんなんやります。
14. GitとGitHub の連携
Gitコマンドを使ってGitHubに公開とかそんなやつ。なんか拾って面白そうなネタがない……。読み物回。
15. GitHubへのpush
ここら辺の説明回って感じがした。
16. Git のブランチ
git checkout ブランチ名 git branch
この辺りの話。
Git - Reference
ここの「Branching and Merging」読んでおけばいいと思う。
17. ソーシャルコーディング
「フォーク」して「プルリク」しあうことをソーシャルコーディングというらしい。Scratchのリミックス文化みたいなものだと勝手に思ってるんだけど定義はよく知らない。
GitHub - progedu/pull-request-study: プルリクエストの練習用リポジトリ (ISC License)
GitHub - progedu/pull-request-training: プルリクエストの練習用リポジトリ (ISC License)
これ使ってプルリクの練習とかするとのこと。
Pull Requests · progedu/pull-request-study · GitHub
こことかボケーっとながめてるとなかなか壮観。全部に回答されててすごいね。
第2章の内容はそんな感じでした。無理やりコードネタ入れてみたけども基本的に環境構築用の読み物回でした。GitHub使うようになったのでどれだけの人がやっているのか可視化されるようになってしまった。そしてそれで絶賛されている陰でどうにもならない人も見えてしまってツライ……。
つらいけどがんばって続けます。
余談
今回も並行して別のところにも手をだしていたのでそっちの報告も。前回のWebデザインの続きを……。
しないで英文読んでましたww。
内容は以下の通り。有名な寓話ばかりなので中身を知っていると英語問題でも対応できてしまうのかもしれない…。僕はおぼろげな記憶を頼りに問題解いてたんで勉強のベクトルが確実に違うw。
1. 田舎のネズミと町のネズミ
2. 長靴をはいた猫
3. エルマーのぼうけん
んで、なんで手を出したかというと課題内容にあった「エルマーの冒険」めっちゃ好きだったからです。本とかめったに読まない僕がハマってシリーズ3作夢中で読んでしまったやつなんですよね。へえ、原題これなんですね……。読み進めて「あ、これアレやん」ってなってつい終わらせてしまった。

- 作者:ルース・スタイルス・ガネット
- 発売日: 1963/07/15
- メディア: ハードカバー