BETA

Who are you ?

投稿日:2019-04-29
最終更新:2019-04-29

Atsukichiです。
普段はプログラミングとはほぼ無縁の大学に通っている大学生です。

プログラミングのスキルはと言いますと、、
昨年まで一応インターン等でフロントエンドには触れたりしていたものの、エンジニアで就職するつもりがなかったので他のことに時間を費やしたりしていました。
とまあ、こんな感じのいかにも「少しだけならプログラミングかじったことありますよ」程度のスキルしか持っていませんでした(です?でした?)

しかし、インターンにて色々な職種を経験させて頂いた末「結局コード読んだり書いたりするのが一番楽しかった」ことに気づき、エンジニアとして就職するために、2019年の2月頃から本格的にバックエンドの勉強を始めました。


そして2~3月は、学習を続けながらアウトプットとして、以下の様な簡単なプロダクトを作ってみました。(github:https://github.com/AtsukiIchikawa)

  1. JinsMEME(Jins社が出している生体情報を取得できるデバイス)の公式アプリ内のデータを取得
  2. Sinatraを使った超絶シンプルなCMS(もはやCMSとは呼べない)

1のJinsMEMEのアプリについては、大学の研究にて利用するために書いたのですが、WebAPIの使い方やシェルスクリプト作成・データ整形など学びは多かったです。frontは特に実装しなくても値が取得できたのでfrontは書かずに中断してしまいました(笑)

2のSinatraアプリは、非常に簡単な構造ではあるのですが以下を学ぶために書いてみました。
・routingの仕組み
・DBの使い方
・テンプレートエンジンの使い方
・パラメータの使い方

フロントエンドをいじったりしていたこともあり、webサイト等がどのようになっているのかを全く知らない訳ではなかったのですが、httpのメソッドだったり、DBの使い方やフレームワークの仕組みなど webアプリの基礎知識が圧倒的に足りていないと感じ、その辺りをざっくりアウトプットできる方法を考え、上のSinatraアプリ作成に至りました。

普通はCMSと言えば、新規に作成したページが新規ファイルとして保存されるという形が多いと思うのですが、自分はDBとroutingの学習が主だったため、DBにコンテンツのタイトルと本文を追加し、それをroutingの機能を使って参照するという変則的な形にしています。



こんな感じで大学の春休みから今日まで学習を続けてきたのですが、バックエンドも作れるようになりたいと思ったきっかけが「ブロックチェーン」の存在が大きく、同時にDappsの開発等もしたりしていました。

しかし、ブロックチェーン開発を学ぶにつれ、より根源的な技術を深く学習したいという気持ちが芽生えました。
具体的には、OS(特にLinux(UNIX))、ネットワーク、暗号学あたりですね。

LinuxについてはVirtualBoxを使って普段から利用はしているものの、ツールを使っているだけのような気がしてしまい、コミュニティにきちんと還元できるくらいにはなりたいなと思っています。(UNIXの思想がまとめられている本を読んで、なんとなく背景の思想はイメージできるようになりました)


長くはなってしまいましたが、まとめると「Dappsを作りたい」というところから「コンピュータの仕組みが知りたい」というところまで興味の対象のレイヤ(レベル?)が下がってきたという話でした(長々とすいません)

そんなこんなで今は「コンピュータシステムの理論と実装(O'Reilly)」https://www.oreilly.co.jp/books/9784873117126/
という本を手を動かしながら読んでいるので、直近はこの本の学習ログが中心になるかもしれませんが、よろしくお願いします。

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@Atsukichiの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!