あると何かと便利そうな自己紹介文です。
会津大学コンピュータ理工学部に在学中、東京大学主催のハッカソンJP HACKSでグランプリを獲得。ブロックチェーンの修士論文で大学院を卒業後、ソラミツ株式会社にてカンボジア国立銀行のシステムHyperledger/Irohaを設計・開発。
ブロックチェーンシステムの設計・ 実装を中心に、サーバ、モバイルアプリ、Webページ、各種アプリケーションの開発、 アドバイザーなどを行う。
-
よく使うツール・環境とか: GitHub Actions, Docker, Docker Compose
TravisCI,CirlceCIを最初は使っていたが、GitHub Actionsに移行。Jenkinsも多少は触れている。 ECSへのデプロイにはOrbなども使いつつできる限り最新機能を取り入れていこうと考えている。 -
クラウド: AWS, GCP, Firebase, Netlify, Vercel
初めてのクラウドがAWSだったので5年ぐらい使い続けている。GCPはGAEだけ触った。FirebaseはMessagingとCrashlytics、AppDistributuionを使ってた。 AWSでよく使っていたサービスは- Amplify
- Cognito
- ECS / ECR
- Route53
- RDS
- S3
- Lambda
- Api gateway
- SQS
- EC2
- DynamoDB
k8sは触れていない。Webページは雑にAmplifyを使って公開している。 TerraformによるVPC環境含めOrgの開発環境構築実績あり。
-
業務で利用した事がある(ライブラリ|アプリケーション): Protocol Buffers, PostgreSQL, MySQL
型があるので可能な限りProtocolBuffersでやりとりしていきたいと思っている。frontendとはbuf/Connect-Goを使うことでProtobufでのやり取りを行う。
以前はMySQLを使っていたがPostgreSQLの方が好きでよく使っている。
twirpは今は使っていない。 -
趣味で利用した事がある(ライブラリ|アプリケーション): Flatbuffer, MongoDB
FlatbufferはgRPC周りにバグがありContributeしたが結局プロダクトには使えなかった。 -
業務で利用した事がある言語: Go, Python3, C++14, Java8, TypeScript, Scala, Dart, Rust, Solidity
C++は趣味だったがIrohaでプロダクト開発に使えてよかった。チーム開発は様々な書き方ができてしまうのでとても難しいと思う。
以前はサーバをPython(flask/pyramid)で書いていたが動的型付け言語は難しいと思ったのでやめた。Solidityはライブラリのつぎはぎなのでわからない。 -
趣味で利用した事がある言語: Prolog
-
よく使う構成 現在はDockerImageにしてECSに上げる方法をとっている。
Webだけの場合、Amplifyに上げる。
昔はUbuntu
にNginx
,uWSGI
,Pyramid
/Flask
/Tornado
という構成でサーバを書いていた。
今はAmplify
にNextjs
+Fargate
にgo
でgRPC/Protobuf
で疎通という構成で組むことが多い。
-
フレームワーク: Flutter, Kotlin
Google I/O 2019での熱量やビルド時の便利さで今後も触れていきたいと思った。
ARCoreを業務で要するにあたりFlutterを使うのはリスキーだと思いKolinを使い始めた。Androidxが便利で感動してた。 -
業務で利用(した事がある|している)言語: Java, Dart, Kotlin, Swift
Android2.1の頃、開発を始めたのでJavaで書いていた。最近はFlutterで実装している。 ARアプリの仕事の時はARCoreを使いたかったのでKotlinで実装した。 SwiftはSwiftUIを使った簡単なものを作成。 -
ARCore
知り合いに勧められ触っている。主にAugmented Images/Augmented Faces。1件案件行なった。
- 業務で使った言語等: TypeScript(Vuejs/Nuxtjs/React/Nextjs/SvelteKit)
気がついたら仕事になってた。
- 業務で作ったもの: hyperledger/iroha, Lightning Wallet 2017あたりに一時期LightningWalletの開発をした。Lndを立て、Scalaで書かれたAndroidアプリ
- 業務で使ったもの: Ethereum, Polygon, Solana, (hardhat/foundry)
- 業務で行ってきたこと: NFTの設計、ブロックチェーン利用のアーキテクチャ設計
-
趣味: 自然言語処理, 言語処理系実装, Google Assistantアプリ開発, Arduino, RaspberryPi, Ethereum, GPT
-
経験: Pythonで画像生成, 音声編集, データ処理, TensorFlow, OpenCV
-
計算機科学(Master of Computer Science and Engineering): 本当に基礎的なこと
- 基礎的なソートアルゴリズム(merge sort/quick sort/...)
- 基礎的なデータ構造(tree/hash/list/stack/queue...)
- 基礎的なグラフ、最短経路処理等(DFS/BFS/Dijkstra/Warshall–Floyd)
- 基礎的なオートマトン/言語処理系論(LL(k)の言語実装等)
- 基礎的な計算理論(チューリングマシン等)
- コンピュータアーキテクチャ(割り込み処理等)
- 論理回路設計(MIPSのCPUは講義で作成した)
-
英語: 基本会話
学部、大学院共に卒業論文は英語だった。国際学会で発表をした事がある。
1ヵ月単身ロシア勤務の経験があり、その時は現地エンジニアと英語で議論などを行った。 -
中国語(簡体): 恐怖心はない
深センに単身で行きなんとかなる程度。
- 会津大学コンピュータ理工学部 学士 (Bachelor's degree of Computer Science and Engineering)
- 会津大学大学院コンピュータ理工学研究科 修士 (Master of Computer Science and Engineering)
- 普通自動車運転免許(MT&AT)
- 証券外務員二種
- 知的財産管理技能士3級
- 個人情報保護実務検定1級
C++で作ったHTTP serverライブラリ。
Cappuccino
Privateブロックチェーン、Hyperledger projectに採択
hyperledger/iroha
Goのライブラリ。parseができる
goparse
Paper in 2018 Joint 10th International Conference on Soft Computing and Intelligent Systems (SCIS) and 19th International Symposium on Advanced Intelligent Systems (ISIS)
paper
展示会内にあるJUKE BOXのサーバ部分を実装,運用。
Lyric Wallのフレーズ作成プログラムを作成。
LINK