はじめまして


こんにちは、ちゃあです。
職業はシステムエンジニアで、編集時点ではまだどの領域を担当するのか決まっていません。社会人になる前のこの春に、フロントエンドの勉強としてこのサイトを作りました。

このブログの目的

このブログは主に備忘録として使っていく予定です。SNSやZennなどに上げるほどではないけどどこかに残しておきたいというような内容を投稿していきます。

わたしについて

プログラミングは大学1年生の時に始めました。プログラミングが楽しみすぎて教科書を手に入れた時点で、自分で読み進めていたのを覚えています。
情報系の学部らしく最初の授業はC言語でした。授業は面白かったのですがまあC言語の基本を学んだところで何ができるわけもなく。C言語と並行してPythonの勉強を始めました。

Pythonで動かして学ぶ!あたらしい機械学習の教科書 第2版 | 翔泳社

Pythonで動かして学ぶ!あたらしい機械学習の教科書 第2版 | 翔泳社

数学の基礎知識とPythonコードを紐づけて機械学習の基本を学べる! 【本書の目的】 現在、人工知能関連のプロダクト・サービスが数多く見受けられるようになりました。 人工知能関連の開発に機械学習の基礎知識は必須です。 本書はそうした機械学習の基礎知識を学びたいエンジニアに向けた書籍です。 【本書の特徴】 本書は機械学習の基本について、数学の知識をもとに、 実際にPythonでプログラムしながら学ぶことができる書籍です。 ・最新のPython 3.7に対応 ・学習内容を「要点整理」で復習 ・数式とコードをつなげたわかりやすい解説 【読者が得られること】 本書を読み終えた後には、機械学習のしくみとプログラミング手法を理解できます。 【対象読者】 機械学習の基礎を学びたい理工学生・エンジニア 【目次】 第1章 機械学習の準備 第2章 Pythonの基本 第3章 グラフの描画 第4章 機械学習に必要な数学の基本 第5章 教師あり学習:回帰 第6章 教師あり学習:分類 第7章 ニューラルネットワーク・ディープラーニング 第8章 ニューラルネットワーク・ディープラーニングの応用(手書き数字の認識) 第9章 教師なし学習 第10章 要点のまとめ

Pythonで動かして学ぶ!あたらしい機械学習の教科書 第2版 | 翔泳社

https://www.shoeisha.co.jp/book/detail/9784798159911

AlphaZero 深層学習・強化学習・探索 人工知能プログラミング実践入門 | 株式会社ボーンデジタル

AlphaZero 深層学習・強化学習・探索 人工知能プログラミング実践入門 | 株式会社ボーンデジタル

定価 3,520円(本体3,200円+税10%) 発行・発売 株式会社 ボーンデジタル ISBN 978-4-86246-450-7 総ページ数 336ページ サイズ B5変形、オールカラー 発売日 2019年

AlphaZero 深層学習・強化学習・探索 人工知能プログラミング実践入門 | 株式会社ボーンデジタル

https://www.borndigital.co.jp/book/14383/

とりあえず、機械学習に興味があったので、本屋さんで見つけた Pythonで動かして学ぶ! を買って読み進めました。
この本は、Pythonの基本的な文法から機械学習の基本的な手法までを学ぶことができる本です。その後は強化学習がキーであることまで理解できたので、より実践的なAlphaZeroの解説書を読みました。

その2つを読み終えたころには深層強化学習のAIを作るイメージが掴む事ができました。そしてちょうど夏休みに入ったので、毎日ひたすらにPythonを書いていました。
最終的には、簡易テトリス(SRSやホールド機能などがない)でゲームオーバーにならない程度のAIを作ることができました。

夏休み明け、自信のついた私は夢の一つであるバイトすることにしました。まあ調べていくうちにインターンというものがあることを知り、インターンを受けることにしたのですが。
晴れて11月からインターンを始めました。最初はPythonを使ったスクレイピング案件を先輩とすることになったのですが、ここでエンジニアとしての基礎を学びました。Gitの使い方、VSCode、リンター、フォーマッター、命名規則や関数の分割などなど。
本当にここから私のエンジニア人生が始まったと言っても過言ではありません。
合間に新しいインターンの後輩ができたり、新規サービスの企画が始まったりと、色々なことがありましたが、それはまた別の機会に書きます。

大学の1年後期で授業でC++を学びつつ、インターンではHTML+CSSでLPの作成をしました。もちろん、それまで触れたことはありませんでしたので、設計も何もなくとりあえずデザイン通りのものができたといった感じですね。
その後合間にDB周りを学び、LPのリベンジをする機会をいただきました。HTML+SASS に進化しました。本当はJSXを使っても良かったのらしいのですが、その時はまだJSXを知らなかったので、SASSでデザインを再現しました。

大学の2年前期からは授業でJavaを学びつつ、インターンではモバイルアプリの開発の開始です。そこでFlutterに出会い、初めての全体設計しました。Flutterの公式ドキュメントのわかりやすさは本当に素晴らしいですね。

Choose your development platform to get started

Choose your development platform to get started

Install Flutter and get started. Downloads available for Windows, macOS, Linux, and ChromeOS operating systems.

Choose your development platform to get started

https://docs.flutter.dev/get-started/install

サーバーサイドは基本的に先輩がやってくれていたので、私はフロントエンドを中心に開発を進めました。その後、サーバーサイドも触る機会があり、Prisma+Node.jsを触りました。
2年の夏休みでは画像分野の深層学習を扱ったりしつつ、基本的に2年生はモバイルアプリの開発をしていましたね。

3年からはゼミ課題である数理最適帰化問題を楽しみつつ、卒研のためにテトリスAIをブラッシュアップしつつ、就活を進めていました。
成果物が欲しかったので、フロントをFlutter、バックエンドをAppolo+GraphQL+Prismaにしてチャットアプリを作成したのですが、これがまた楽しかったです。
ありがたいことに早期に内定をいただいたので、3年後半は卒研を全力で進めることができました。本来ならば4年から卒研を進めるのですが、私は半年でゼミ課題を終わらせたので他の人よりかは早く卒研を進めることができました。
ちなみに就活にはPaizaを使っていました。Paizaのエンジニア特化感はいいですよね、スキルチェックも楽しいですし。

ITエンジニア・プログラマを目指す学生のための就活サイト【paiza新卒】

ITエンジニア・プログラマを目指す学生のための就活サイト【paiza新卒】

paiza新卒は書いたコードや技術的な活動が可視化され、企業からの評価へと繋がる、ITエンジニアを目指す学生のためのスカウト型の就職サービスです。最大3万円の支援金サービスもあります。|ITエンジニア就活・IT業界に特化した就活なら【paiza新卒】

ITエンジニア・プログラマを目指す学生のための就活サイト【paiza新卒】

https://paiza.jp/student

あとは4年生のお話なのですが、飽きてきたのでまた今度書きます。