新入社員教育を受けて

## 目次
  * [初めに](#初めに)
  * [Qiita記事投稿練習](#Qiita記事投稿練習)
  * [Python開発環境](#Python開発環境)
  * [バージョン管理方法](#バージョン管理方法)
  * [AIの活用](#AIの活用)
  * [開発体験](#開発体験)
  * [最後に](#最後に)
  * [外部リンク集](#外部リンク集)

---

## 初めに
初めまして。株式会社オーイーシー新入社員の久山です。

本記事は、新入社員教育で教わった内容とその感想をまとめました。

これから先、継続的に得た知見をブログとして公開出来たらなと思います。

## Qiita記事投稿練習

Qiitaの記事を書くにあたって[「マークダウン記法」][Markdown]が用いられており、本研修では[チートシート][チートシート]を用いて記事内の文章を装飾する練習を行いました。

これから先の内容は、会社のある一日で学んだ研修内容を順番に記載していきます。

## Python開発環境

本研修では、 [Google Colaboratory][Google Colaboratory] と [Visual Studio Code][Visual Studio Code] を用いてPythonの基本的なソースコードを用いてPythonでのプログラミングを体験しました。

また、バージョン管理ツールとしてGit

### Google Colaboratory

- 研修で利用したサイト
  * [ゼロからのPython入門講座][ゼロからのPython入門講座]
  * [家計調査データ視覚化サンプルコード][家計調査データ視覚化]

プログラムは画像処理ライブラリである __Pillow__ や、

グラフ描画ライブラリである __seaborn__ と __matplotlib__ 、

データ分析ライブラリである __Pandas__ を用いて演習を行いました。

- サンプルコード抜粋

```sample.py
import io

import japanize_matplotlib
import matplotlib.dates as mdates
import pandas as pd
import requests
import seaborn as sns

from matplotlib import pyplot as plt

fig, ax = plt.subplots(figsize=(12, 5.2), layout='constrained')

# 毎月ラベルを表示する
ax.xaxis.set_major_formatter(mdates.DateFormatter("%Y-%m"))
ax.xaxis.set_major_locator(mdates.MonthLocator())

# 年月で並び替えて時系列にする
df_sorted = pivot_df[pivot_df['品目分類'] == 'ケーキ'].sort_values('年月', ascending=True)

# 時系列グラフを出力する
_plot_series(df_sorted, '')

sns.despine(fig=fig, ax=ax)
plt.xlabel('年月')
_ = plt.ylabel('支出額')

# ラベルを垂直にする
fig.autofmt_xdate(rotation=90, ha="center")
```

大学在籍時はPythonを使って研究を行い、今年入社してJavaやHTMLを１か月間以上みっちり記述してきた私にとってはとても懐かしく感じました。

(変数・メソッド名に `○○_□□` という風に `_` を入れたくなりますよね)

### Visual Studio Code
 
[ダウンロードページ][vs]からVSCodeをダウンロードした後に、
日本語に変換してくれたり、.mdファイルをGitHub風に表示する拡張機能をインストールし、Markdown記法を用いてVSCodeを体験しました。

## バージョン管理方法

### バージョン管理とは
開発した作成物を「いつ、だれが、なにを、なぜ、どう変更したのか」を履歴として管理することを指します。

### Git

ローカル環境にリポジトリーをクローンして各人が作業できるようになります。

複数人で作業しやすく、リモートが消えたり繋がらない状況でも使えるメリットがあります。

### GitHub

gitのクラウドサービスである。

本研修ではGitHubアカウントを作成し、GoogleAuthenticatorを用いた２要素認証の設定を行い、リポジトリの作成を行い、ローカルからアップロードができるようになりました。

> 二要素認証 : アクセス権を得るためにユーザーに2種類の認証要素を要求する本人確認方法。知識認証や生体認証を組み合わせて、より厳密に個人を識別することができる。

## AIの活用

###  __検索分野__
 
- [Chat GPT][Chat GPT]

  > OpenAIが2022年11月に公開したおなじみの人工知能チャットボット

  
[stack overflow][stack overflow]で行われたアンケートにおいて

 __83%__ の人が利用していた。

 今更ではあると思いますがやはりChat GPTは強力ですよね

---

 研修では、アカウント作成・ログイン後にGPT-4のプロンプトをカスタマイズしたGPTsである顔年齢診断チャットを体験しました。

### __開発分野__

- [GitHub Copilot][GitHub Copilot]

  > GitHubが提供しているクラウド型人工知能ツール

同じく __stack overflow__ で行われたアンケートにおいて

 利用者のうち、__55%__ を占めているツール

 ---

利用にお金がかかるため、今回の研修では機能の紹介をしていただきました。

## 開発体験

Webフレームワーク([Phoenix][Phoenix])を用いてWebサービスの作成を行おうとしました。

クラウドプラットフォームとして近年AWS、GCP、Azureが大半のシェアを獲得しているものの、導入の楽さの観点からHetznerやVercelなど新しいクラウドも人気を得ている

### Cloudflare

クラウド利用開始時のアカウント作成が無料であり、クレジットカード不要で作成できることが特徴。

料金体系もAWSよりギリギリ安い(らしい)

---

本研修では、[Cloudflare Pages][Cloudflare Pages]を利用してWebページを公開しようとしました。

> アクセス制限の関係上、体験することが出来ませんでした。

## 最後に

初めて知見を記事として書き起こすという経験をしましたが、学んだことを自分の言葉に直すには相応の理解が必要で大変でしたが、同時に学んでいる実感が湧き、良いアウトプット方法だと感じました。

しかし、一日でマークダウン記法やらいろんな開発環境の整備やクラウドの特徴について学び頭の中でちゃんと整理が出来ていないのが現状です。

家に帰って一日のことをゆっくり思い出しながら寝ようと思います。

## 外部リンク集

最後に、研修に用いたリンク集を掲載しておきます。

- [1] Markdown / Wiki

https://ja.wikipedia.org/wiki/Markdown

- [2] Markdown / 参考にしたチートシート

https://qiita.com/RyoWakabayashi/items/75b95d164e46b82097c3

- [3]　Google Colaboratory / Python開発環境

https://colab.research.google.com/

- [4] Visual Studio Code

https://code.visualstudio.com/

- [4] 実行したPythonコード

https://github.com/RyoWakabayashi/elixir-learning/blob/main/vs_python/notebooks/household_expense_statistics.ipynb

- [5] Chat GPT 

https://chatgpt.com/

- [6] stack overflow

https://ja.stackoverflow.com/

- [7] GitHub Copilot

https://ja.wikipedia.org/wiki/GitHub_Copilot

- [8] Pheonix / Webフレームワーク

https://www.phoenixframework.org/

- [9] Cloudflare Pages

https://developers.cloudflare.com/pages/framework-guides/

[Markdown]: https://ja.wikipedia.org/wiki/Markdown
[チートシート]: https://qiita.com/RyoWakabayashi/items/75b95d164e46b82097c3
[Google Colaboratory]: https://colab.research.google.com/
[Visual Studio Code]: https://code.visualstudio.com/
[vs]: https://code.visualstudio.com/Download
[ゼロからのPython入門講座]: https://www.python.jp/train/index.html
[家計調査データ視覚化]: https://github.com/RyoWakabayashi/elixir-learning/blob/main/vs_python/notebooks/household_expense_statistics.ipynb
[Chat GPT]: https://chatgpt.com/
[stack overflow]: https://ja.stackoverflow.com/
[GitHub Copilot]: https://ja.wikipedia.org/wiki/GitHub_Copilot
[Phoenix]: https://www.phoenixframework.org/
[Cloudflare Pages]: https://developers.cloudflare.com/pages/framework-guides/