# Portfolio-JP
Hiroki Nakano
Github link
https://github.com/GreedyGuineaPig
Portfolio-EN
https://hackmd.io/@srk400krz/By-n3Ttfs
[ToC]
## AWS
### Elastic Beanstalk を使ったwordpressサイトの構築
http://wordpress-env.eba-zjfswkdm.ap-northeast-1.elasticbeanstalk.com/wordpress/
上記サービスにwordpressをインストールした。ロードバランサーが自動でスケーリングを行ってくれる。
※財政難によりサービス停止
## Javascript & Google App Script
### 猫の健康状態を記録するLineBot
飼い猫が糖尿病と診断され、飲水料や餌の量、インシュリンを注射した時間などを記録する必要があったのでLineで対話形式のbotを作成した。記録の方法の選択肢としては、紙、Excelなどが候補にあったが、紙もPCも持ち運ばないユーザー(主に母)の利便性と親和性を鑑みLineのbotとして実装した。Line messaging APIのwebhookでGoogle App ScriptにHttpリクエストを送信、内容に応じて処理を分岐し、所定のGoogle Spreadsheetの該当の欄に値を代入する。

## Go & Vue.js
### メモを保存して表示するWebApp
https://github.com/GreedyGuineaPig/Vue3-frontend
https://github.com/GreedyGuineaPig/CharTipsMemo-Backend
趣味でやっている格闘ゲームの知識をメモするために作ったアプリケーション。フロントエンド(Vue)とバックエンド(GolangとMysql)はコンテナを分けている。シングルページアプリケーション(SPA)での実装や結果のソート、API呼び出しなどの当初の計画通りの挙動を実現している。しかし、フロントエンドのデザインに苦難したり、そもそも今使っているメモ帳でいいのではないかという疑念に苛まれて、無給で手間をかけてガラクタを制作し続ける精神的負荷が高かったので一度残置する。Twitterでいい。
言語:Go, Javascript
技術類:Vue3, SCSS, gorm, gin, Docker, Docker compose, Mysql
↓サイドバー格納時

↓サイドバー展開時

↓フィルターでKYを表示

---
## Java
### ObjectiveBasedGrading
https://github.com/skiadas/objective-based-grading
生徒のテストの成績をDBに保存し、閲覧や評定することができるアプリケーション。(共同開発)(半リモート)(UIなし)
言語:Java, SQL
技術類:Agile, TDD, Factory method, mock, JUnit, Maven, Jenkins, JPA, Hibernateなど
(参考)
https://github.com/skiadas/objective-based-grading/issues/7
https://github.com/skiadas/objective-based-grading/issues/6
---
### sqlAssignmentChinook
https://github.com/GreedyGuineaPig/sqlAssignmentChinook
実行後にサーバーを起動し、指定されたURLに基づいた結果をDBから抽出しブラウザに表示する。結果に付随した情報をJoinColumnで取得した。
例:~/artist ->すべてのアーティストを表示。~/artist/1 -> アーティストID1を表示
(実行時URL)http://localhost:4567/***
言語:Java, SQL
技術類:JUnit, Maven, JPA, Hibernateなど
(sample)

---
### ThymeleafAssignment
https://github.com/GreedyGuineaPig/thymeleafAssignment1
Thymeleafを使用し、Requestに応じて対応したHTMLを生成し送信する。本件ではオンラインショッピングサイトのカートを表示している。
言語:Java, SQL
技術類:JUnit, Maven, JPA, Hibernateなど
(実行時URL)http://localhost:4567/
(sample)

---
### sqlAssignmentPeopleAndProjects
https://github.com/GreedyGuineaPig/sqlAssignmentPeopleAndProjects
「人」と「案件」を格納するDBを作成し、「勤務時間」を登録するアプリケーション。ブラウザからDBのデータを閲覧、追加、削除できる。親Entityを消すと整合性のため子も消える。
言語:Java, SQL
技術類:JUnit, Maven, JPA, Hibernateなど

---
### Notify-me
https://github.com/GreedyGuineaPig/Notify-me/tree/master/app/src/main
Androidアプリの基本機能の実装練習
言語:Java
技術類:Android, androidStudio
---
## Python
### PredictionModelForForEx
https://colab.research.google.com/drive/1R0udQeCawdU__0vXFFsymTe0TjiPjxa4#scrollTo=sX_Wd5Bi4Ycj%2Fhl%3Den
機械学習による為替相場予測。過去のレートでモデルを学習させ、「※日間の終値」から「次の日の終値」を予測する。3通貨ペア(ドル円、ドルユーロ、ドルポンド)で比較し結果を平均二条偏差で比較した。卒業制作。
言語:Python
技術類:TensorFlow, machine learning, pandas, numpyなど
(Poster)
https://drive.google.com/file/d/1QtoPygIivY4v1tQWPQ_mSVX_ekJekzSc/view?usp=sharing
---
### Reddit-text-clustering
https://github.com/GreedyGuineaPig/Reddit-Text-Clustering
Reddit(SNS)の特定のコミュニティの投稿からテキストクラスタリングをし、語彙の傾向を分析した。公式のAPIからデータを取得し、SKlearnで検証、matplotで結果を出力。
言語:Python
技術類:Scikit Learn, matplot, pickle, pandas, jsonなど

---
## Javascript
### Chess-that-can-be-played-on-a-server
https://github.com/GreedyGuineaPig/Chess-that-can-be-played-on-a-server
ブラウザ上で動くチェス。同じアドレスにアクセスすることで別端末から対戦可能。チャット機能あり。タイマー付き
言語:Javascript
技術類:socket.io

---
## C++
### N-Queen-problem solver
https://github.com/GreedyGuineaPig/N_Queen_problem_solver
Nクイーン問題の回答を表示するプログラム。Nクイーン問題とはn×nの盤面にn個のクイーンを「お互いに攻撃されない配置で」置くパズルである。
言語:c++
---
### Maze solver
https://github.com/GreedyGuineaPig/MazeSolver
txt形式の迷路を入力し、深さ/広さ優先探索で探索し、結果を返す。
言語:c++
---
## C#
### Tetris
Unitiyで動作するテトリスを作成した。落下、回転、ホールド、クイックドロップ、消す、T-spinを実装した。機械学習によるAIの育成のために作成したが、SEやBGMが無く淡白で面白みを感じなくなったため開発を中止した。Githubにアップロードしておらず、誤ってデータ消失。
言語:c#
技術類:Unity
---
## その他
### AWS
課題の一環としてAWS上でサーバーを立ち上げ、簡単なwebサイトを作成した。LambdaとDynamoDBを使用しwebサイトでの入力をDBに格納できる。2つのEC2Instancesを用意し一つはpublic、もう一つをprivateとしNACLでアクセス制御した。privateのインスタンスのSSHを持っているユーザーがpublicにアクセスした際にのみWebサイトに当該アクセスできる。学校のメールアドレスが失効したため現在はアクセス不可。
言語:Javascript
技術類:EC2インスタンス、Lambda function, DynamoDB, IAM, AMI, NACL, API gateway