ネットワーク系研究室に属する4年生が身内に思ったことを書いた記事です.
酔っ払いがノリで書いた記事だけど,これは共有したさと文章化したさがあったので書く.
勉強会後に話をしてたことと,思ってたことをいい感じにまとめようと思う.
これは俺自身が,普段のレポート作成,プログラミング,サーバ管理・構築の作業の際にこだわっていること,こだわってないことを紹介する.
大事なこと
-
目的を見失わないこと
例えば,webサーバを立てる時にwebサーバを立てるのが目的であってapacheとかnginxを入れたりするパッケージを入れるのが目的ではない. -
目的のために建てた道を歩けないように下準備をして挑む
さっきのapacheの例だとubuntuにapacheを入れる方法がわからなければそもそも何も始まらない.サイトのデータをサーバにアップする方法がわからないければ設定できても肝心のコンテンツを上げることができない.
そもそも基礎的なLinuxの使い方がわからないとやりたいことがあっても,違うとこで躓いてしまう.
それってせっかくやりたいことがあっても,そこに行く前に辛くなってしまう.という点がある.
基礎的なLinux力は必要(これから鍛えていけばいいと思う)
Linux力の鍛え方
ガチでやりたい人向け
- 自分のノートパソコンからwindowsを消し去り,Linuxと一緒に生活する(サッカーアニメの主人公がボールと一緒に寝る感じ)
ガチまではないけど困らないレベルでやりたい人向け
- windows subsystem for Linuxをwindowsに入れましょう
そして普段GUIでやることをCLIでどうやってやるか調べてみてください.
小さなことでもいい.クリックすることをコマンドでやってみるように意識してみる
お金ある人
Macを買ってください
見えるとか見えないという話
ここで少し前置き的な話
大学に入ってネットワーク・インフラと俺なりに見てきた側面もあるけど,割とソフトウェア開発系の界隈にもいた(今もPerl界隈はお世話になりってます),
大学3年の時期にいろいろ知り合いができてあることに気づいた.
「見える成果物がない」
散々勉強,体験はしてきた.でも目の前でこんなアプリ,サイトを作りましたと出される.
そういう見えにくい分野にいることに気づくまですこしかかった.
なので承認欲求が強いひとは気をつけましょう
ちなみに今は僕も成果物がある
ご紹介までに
こだわること
ここでは僕がこだわっているものを紹介する
エディター
レポート作成
文章を書く,これはなにもストレスがない状態でないといけないと思っている.だから文章量が多くなると重たくなるwordは使わない.
でもLatexで書く以上エディタの支援はうけたいのでTexStudioを使っている.
- mac Texpadをおすすめ
- emacs使いの方 YaTexをおすすめ
プログラミング
こちらもレポートと同様ストレスがない状態でやりたい.おれはバイトでpythonを嗜んでいるのでpycharmを使っている.
しかしまあそれ以外にshellscriptとかなんとかいろいろ機会はあるのでvimとかemacsとかvscodeみたいなエディタを入れている.
僕はspacemacsを使っている.YAPC::Okinawa(Perlのカンファレンス)のLTでであって,惚れた.
要は何がいいたいか
プロ野球選手がバットやグローブにこだわるように,道具にこだわってみませんか?
先輩とかにも聞いてみるときっとこだわっているツールを教えてくれるとおもう!
個人的にはLinux力を上げたいならvimかemacsを使ってみてはどうでしょうという提案ですね.
もちろんvimの派生のエディタであるNeovimとかemacsの派生のspacemacsでもいいと思う.
デフォルトならデフォルトにこだわるという手もある.ただいろんなものにいたづらに触れて死ぬよりも一つを極めてみてはどうでしょう.
自分が使うものはしっかり把握してみましょうということが言いたいです.
こだわないこと
こだわならないのはプログラミング言語です.世の中には「pythonならなんでもできるぜ 俺はすべての問題をpythonで解決してやるぜ!」という人もいる.
しかしインフラ・ネットワーク系にいるというのもあるのかわからんないけど,「おれはすべてをこれぜ解決するぜええ」みたいなのをしなくなった.
じゃあどうやって言語を選ぶというかというと適材適所,環境に最適な言語を選ぶ.という感じです.
文字列処理をじゃんじゃんやりたいからPerl,機械学習だからpython,バイト先はrubyを使っているからrubyという感じに分けれると思う.それに研究でプログラムを触る人もいると思う.
ならその言語に絞って練習したらいいと思います.
あとプログラミング言語は聞ける人がいる言語を選びましょう
俺はいろんなとこに出没しているのもあり,いろいろな言語に触れているけどあんま気にせずに
やりたいなら
pythonをやりたいひとはslackbotを作るついでに一緒にやりましょう!
もしそれは興味ないけどプログラミングも少しという人がいればPerl界隈に招き入れます.
git勉強会とAWS勉強会をやるぞ!
日的決めるぞ!
以上