背景
- 個人的に新人エンジニアとして研修を受ける立場にある。
- 自分がどういうことがわかっているのかを整理することで、研修の質向上を図る。
- 現在の自分の魚拓を取って、後々見返したい。
TODO
良い区切り方を考える。
レベルの分け方が少しおかしいかもしれない。
Hardware周り
あまりよくわかっていない気がしています。
Software周り
プログラミングについて
全く触ったことがないわけではないものの、サービス等の開発自体は未経験。
言語についてtetete
HelloWorldだけやったことがある
- python
- Cで自由にやっていたので、強制インデントが辛かった。
- haskell
- xmonadをDebianに入れていたものの、ほぼコピペ
- emacs lisp
- 使用してemacs拡張をしようとしたがほぼ同等以上の実装があったのでコピペへ
- javascript
授業で習ったことがある
- C
- 関数書ける(理解はしているはず)
- ポインターや構造体などはブラックボックスになっている。
初めて触った
- Ruby
- Rails tutorial -> rubyという流れで触れている。
- 初めてのオブジェクト指向っぽい部分(classとか)を触れた言語
- 今一番書ける言語
言語周りについて
初めて触った
-
SQL
- 複雑なものは書けない
- BigQueryである程度触ったことがあるが、SELECT文しか書いていない。
-
MongoDBのクエリ
- SQLより全体像を把握している。
- (documentもある程度読めるように)
- こちらも読み取りしかほぼやっていない。
-
オブジェクト指向
- 詳しいことは一切知らず、から現在勉強中
開発周りについて
普段から使っていた
Helloworldレベル
- vim
- Linuxで初めて遭遇。
- i と esc と :!qwだけ覚えている。
- バージョン管理
- Github
- コマンドは多少覚えた
- add commit push pull(fetch merge)
- pull reqまで送れるようになっている。
初めて触った
- Atom
- 現在のメイン
- AWS
- AmazonLinux + nginx + rails の初期画面までは触った
- Heroku
- 触った
OSについて
普段から使っていた
- Windows
- 家のメインで最も使っていた
- 基本的なショートカット等は覚えている。
特定の作業のみつかっていた
- Linux
- コマンドは基本的なものは知っている
- ls sl mkdir rm mv cd aptitude yum等々(それ以外あまり使わない)
- TeXを書くためだけに導入した
- Ubuntu
- Debian(main)
- ArchLinux
初めて触った
- macOS
- 現在のメイン
- 基本的なショートカット等は覚えている
network基礎知識
一回授業を受けて勉強した(要復習)
- OSI参照モデルなどの知識?
- TCP/IPの具体的なヘッダー情報などはふわっとした記憶のみ
- DNS/ルータなどの概念的な知識
初めて触れた
- REST
- CRUDとの対応も含め学習した。
- Railsのroutesでも少し復習になった。