ブログ名はまだ未定

学生エンジニアが考える技術のこと。プログラミングやアプリケーションのことが多め

悶々の繰り返し

自分は気の弱い人間だ。

人の顔色を伺ってしまって、自分の意見が言えなくなる。

 

虚勢をはって明るい人間のように振舞ってしまう。でもそれは最初だけだ。

そうして毎日を送っていくと、自分の本当の姿を自分自身すら思い出せなくなってしまう。

 

自分を出そうとしても、それがわがままのような形でしか表現できない。本当はもっと、周りを笑顔にできるような自己表現がしたいんだけども。

自分に嘘を重ねている。気がする。

 

 

本当に自分が感じていることって何だろう。どうなりたいんだろうな。どう振る舞うことがしたいんだろうな。

 

自分でも分からなくて悶々と悩む。

 

この記事で結論は出せない。いや、出さない。

ただの若者の悩みに答えなんてあるわけない。

逆に行ってしまえば、全て答えだ。

 

自分人身に関する悩みに関して、結論なんてものは世の中にないと思う。

三者が提示する結論めいたものに踊らされるのは勘弁。

 

 

自分はどうなりたいと考えているんだろう。

この先平凡に生きたいのかもしれない。実はすごい野心家なのかもしれない。

何をみて、何を感じるような人なんだろう。

正直、最近はそれすらもわからなくなってきた。

 

 

 

でも大丈夫。

答えなんてなくたって進める。

その時に感じた瞬間的な判断が全て自分だ。次ならいける。絶対にいける。

絶対に負けないように、次は前より少しでもよくなるように、考えよう。

【RubyからのGo】Go言語の配列とかマップ、スライスとかのコンポジット型とか関して勉強したこと

今まで学生生活を通してRuby言語だけを勉強してきた。その理由は、Rubyを完全に理解できていないから。

一つの言語を習熟していないのに、他の言語を勉強してもどちらも使い物にならない。じゃ個人的に話にならないと思ったから。

 

、、とずっと思ってきたけど、Goの求人も増えているし自分も学生のうちにGo言語に触っておきたかったので、Goの勉強をすることにした。 Goのプロジェクトの求人って面白そうなのが多いのね。仮想通貨取引所だったりライブ配信アプリだったり。

これらのプロジェクト、Railsでもあるんだけど、なんとなく自分がコミットするイメージがない。 いつか働くなら初めての言語で初めてのプロダクトの方が圧倒的に面白そうだから、今更Rubyもなぁという気持ちが先行してしまう。

Rubyをディスっている訳ではなくて、今の自分はとりあえずプロの人レベルには到底及ばないけどある程度Rubyがわかってきたから他の言語を見て見たい気持ちが強い。

今回はその勢いでとりあえずGoの勉強をはじめて見た感じ。

自分はRubyそこそことJSがちょびっとかけるくらいの見習いプログラマーなので、同じくらいのレベル感の人はGoの勉強をするのに参考にしてもらればと思う。

初心者からRubyを初めて複数言語に挑戦してみよう!という人は絶対数がかなり多いと思うので、ぜひ参考にしてもらいたい。

と言っても大したことはまとまっていないけど。

 

Goの型のお話

静的言語を学ぶのは自分は初めてだったけど、どうやらGoだと型が厳密に決まっているらしい。

Goのコンポジット型のお話

型とどう関連づくか知らないけど、Goでは複数のオブジェクト(Goでオブジェクトといういい方をするのかは不明だが)を格納するのに次の4つの型がある。

  • 配列型
  • マップ型
  • スライス
  • 構造体

Rubyをやっていた人だと、配列型くらいしかイメージが湧かないだろう。 自分もそうだ。今もあんまりイメージが湧いていない。

可変長がスライス、配列で、固定長が配列型、マップ型だと。 それくらいしかまだ理解していない。。

ただ、Goだとスライスは非常によく登場して理解しておかないとまずい。 配列はスライスを理解するには必要だが、固定長で型指定があるからあんまり使われないとも聞いた。

この辺はあんまり理解していないけど、

github.com

ここら辺のリポジトリを参考に、他のエントリーでまとめてみよう。多分適当になるけど。

Goの構造体に関してのお話

今の段階のイメージだと、Goの構造体はかなり重要。

WEBアプリケーションだとJSON経由で情報のやりとりをする機会はありすぎるだろうけど、goの場合だと受け取ったJSONオブジェクトを十中八九、構造体に変換する必要があるらしく、そのためGoの構造体の重要度はかなり高い。

ちなみにインターン先のエンジニアさんによく言われているんだけど、Githubのスター数はかなり重要な指標になって、今回みたいに 「Goの文法よくわからないけど、動くもののコード見たいわ」

みたいなテンションの時とかはGithubでスターが多いのを見つけてコード見ておけば間違いはないらしい。

とはいえOSSのコード読むのは難しいんだけどね。

www.plusq.life

最後に宣伝ですが、こんなメディアを個人で作っているのでよかったら見てください。 サーバーサイド言語はRubyで、見えてない管理画面の部分がVue.jsのSPAになってます。

Goのおすすめの参考書

Go言語によるWebアプリケーション開発

Go言語によるWebアプリケーション開発

チュートリアル形式でGo言語のアプリケーションが学べる。リアルタイムツィート解析システムを作らせてレベル感は高いと思う。 MongoDBやWebsocketガンガン使う感じで面白い。

プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)

プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)

とりあえずこの本をマスターしておけば、Goは一通りかけるよと誰かに教わりました。今も勉強中です。