key | value |
---|---|
Name | aiya000(あいや) |
GitHub | aiya000 |
Qiita | aiya000 |
Blog | galaxy-sixth-sensey |
@public_ai000ya | |
Booth | galaxy-sixth-sensey |
技術書典 | galaxy-sixth-sensey |
- Haskell, Scala, Kotlin, Elm, Idris1
- TypeScript, Java, C++ (11, 14, 17), C#, C
- Python3 (mypy), Clojure, bash, zsh, Vim script
- HTML, CSS, Sass, Markdown (CommonMark, GitHub Flavor Markdown, Qiita Markdown), Re:VIEW
- json, json5, yaml, GraphQL
-
Haskell
- Servant
- rio
- mtl
- megaparsec
- lens
- extensible
- freer-effects
- 各種GHC拡張
- Eta Programming Language - Haskell on the JVM
- など
-
TypeScript
- Vue3 (Vue.js)
- Nuxt3 (Nuxt.js)
- Vue2 (Vue.js)
- Nuxt2 (Nuxt.js)
- typed-vuex
- nuxt-property-decorator
- vuex
- vue-router
- vue-property-decorator
- vue-test-utils
- BootstrapVue
- NativeScript-Vue
- Nuxt2 (Nuxt.js)
- React.js
- Next.js
- Gatsby.js
- node.js
- probot
- Express.js
- eslint
- prettier
- Vue3 (Vue.js)
-
CSS
- Tailwind
- vanilla-extract
- Bootstrap (version4, 5)
-
- App Engine
- Compute Engine
- Cloud Storage
- Cloud Functions
- Dialogflow
- Firebase
- Firestore
- Functions
- Authentication
- Storage
- Hosting
- それぞれのrules
- 少しいじった程度
- Vision AI
- Translation
- Text-to-speech
- Cloud Domains
-
Kotlin
- AndroidSDK
-
Java
- AndroidSDK
-
C#
- WPF
- Windows Forms
- Unity
- VRCSDK3(Avatar・World)
- UdonSharp
-
フロントエンド(2018より)
-
フルスタック(2014より)
-
アジャイル・スクラム開発(2020より)
-
常に最新の技術・トレンドを追っている
- TechFeed, Qiita, Zenn, Reddit, Google Discover, Twitterなどによる
-
Test Driven Development (TDD)
- Property Based Testing
- doctest
-
(純)関数型プログラミング - (Pure) Functional Programming
- Haskell, Idris1, Scala, Elm, Clojure, TypeScript
-
高いコード品質で開発を遂行できる
- 強い静的型付けを駆使したプログラミング
- 「型システム入門 −プログラミング言語と型の理論−」を読んでいるところです
- 型安全性や仕様未定義などを外れうる言語でのunsafeの回避・既に埋め込まれたunsafeの対処(修正)
- 漸進的型付け
- 最適な関数分割・命名
- LSPや言語特有のコードフォーマッターを使用
- 定理証明プログラミング
- その他、人間的な可読性の担保
- 強い静的型付けを駆使したプログラミング
-
GitHub
- Issue駆動開発(※1)・gitフロー・GitHubフロー・混合フロー
- GitHub Actions
- GitHub Apps
- GitHub Releases
-
CSS
- レスポンシブデザイン
-
数学
- 圏論
- 代数的構造
- かわいい入門書を頒布中「矢澤にこ先輩といっしょに代数!」
- Haskellでわかる群論の代数的構造 - aiya000/haskell_de_groupstructure
-
Twitterのフォロワーが1000人超えしているアカウントをいくつか持っているので、発信に慣れている
- 3000人超え: @public_ai000ya
- 2000人超え: 非公開(VRChat向けアカウント)
- 超人的なプログラマーがTwitterのフォロワーに多くいるので、強く学べるネット環境にある
- リアルの知人にも多くいるので、強く学べるリアル環境にもある
-
文章作成
- 専門書の執筆(上述)
- ことり、穂乃果と一緒に学ぶHaskell(入門)
- その他: Qiita, ブログ事
-
プログラミング言語開発
- Vim script処理系 - Time script
- Lisp処理系 - zuramaru
-
日本語
- ネイティブ
-
英語
- ⭕ 書き・読み
- ❌ 聞き・話し
- Rust, Gleam, PureScript
- Svelte, ReactNative
- WebAssembly
- AWS
- VR関連
- その他、新しいもの
- 職務
- フロントエンド
- バックエンド
以下、時系列順。
↑ older
↓ newer
某ホテル会社の店舗に設置する「ぬいぐるみロボット」の挙動を、httpで通信するWindows向けデスクトップアプリを開発しました。
- C#
- WPF
本プロジェクトには途中参加しました。
WPFプロジェクトにも関わらずMVWでコーディングされていなかったため、まずはリファクタリングから担当を始めました。
- MVW(MVVM)
某大手企業の音声加工技術のバックエンド開発に携わりました。
そこでは主に不具合の調査・テストを担当しました。
- C++11
不具合の調査では、プログラミング言語マニアとしての能力を用いて、コーダーが仕様を誤解している箇所を多く発見しました。
テストでは、既存のコードがDRY原則に則っていなかったので、template
や関数分割を用いてDRYの遵守に務めました。
短期間ではありますが、既存のヘルスケア系iOS・Androidアプリの修正を行いました。
-
Swift
- Xcode
-
Java
- AndroidSDK
某社から「公式サイトを一新したい」との依頼を受け、受託しました。
ロジックが全くない、広報用途のサイトであったため、シンプルなCMSとしてJekyllを用いました。 CSSフレームワークにはBootstrapを用いました。
- Jekyll
- Bootstrap4
またモバイル端末とタブレット端末へのレスポンシブ対応を行いました。
- レスポンシブデザイン
Vue.jsの社内採用に先駆けて、Vue.jsの研究目的で、社内アプリ(TODOアプリ)を開発しました。
- Vue.js (2)
- BootstrapVue
こちらでもレスポンシブデザインでコーディングしました。
某大手企業の開発業務を支援するため、GitHub Actionsを使用した、CI環境の構築を行いました。
-
TypeScript
-
node.js
-
probot + octokit
-
GitHub
- GitHub Actions
- GitHub Apps
- GitHub templates
- etc
下記の機能を持っていました。
- GitHub Appsを使用した、GitHub運用の部分的な自動化
またgitに疎い作業者(管理者・プログラマー)のために、本環境のためのgit・GitHub運用マニュアルを作成しました。
- 文章作成
案件としては前述と同じ扱いですが、別のタスクなので分けて記述します。
Python3からAudio Weaver Serverにリクエストを投げ、レスポンスを得るための非公開ライブラリを作成しました。 使用した技術は以下です。
- Python3.9
- mypy, typing: 漸進的型付け
- dataclass, ABC(抽象クラス)
- 職務: フルスタックエンジニア
以下、時系列順。
↑ older
↓ newer
記念すべき初めての業務として、なぜか社員が広く使うためのメールサーバーを、オンプレミスで構築することになりました。
- Postfix
- CentOS 6
中国から当SMTPサーバーがハックされ、トレンドマイクロにより当SMTPサーバーがブラックリスト入りをしました。 (後日、解除申請が受理されました。)
オンプレミスのリスクを深く認識する、貴重な機会になりました。
新社会人の新社員として研修を受けるのではなく、なぜか高校生の研修をすることになりました。
研修としてAndroidアプリのチーム開発を発案し、実行しました。
- Java 7
- AndroidSDK
作成したものは日記アプリです。 下記の機能を有していました。
- 日記本文の作成
- 日記への画像挿入
工事会社からの受託契約で、ヒアリング・外部設計から内部設計・開発全てを担当しました。
- C# (.NET)
- Windows Forms
- MySQL
以下の機能を有していました。
-
情報管理
- 自社社員情報
- 工事案件の情報
- 工事材料
- 工事種(工事材料のグループ)
- 顧客会社情報
-
「入力・出力」機能
- 状況 (赤字 or 黒字)の表示
- 顧客会社への見積書の作成(指定された形式へのExcelへの出力)
- 日報登録機能 (現場社員による日々のコストの入力)
現場作業員により、経費が入力されます。 その経費を工事現場ごとに集計します。
下記環境を使用しました。
- Redmine
- gitbucket
映像を作成といっても動画制作をしたわけではなく、エンディング映像を表示するためのWebアプリを作成しました。
- AngularJS 1
- MVC
- HTML
- CSS
下記の機能を持っていました。
- 表示したいテキスト(社員一覧やメッセージなど)を入力する
- 表示したい画像ファイルを入力する
- 上記2つの長さに合わせて、以下を調整し、映像を表示する
- テキストのスクロールスピード
- 画像のフェードアウト・表示・フェードインのスピード
- それらが同時に終了するように、時間を調整する
下記技術での開発になります。
- C# (.NET)
- WPF
ただし短納期を要求されたため、WPFをMVVMではなくMVCで運用しました。
また顧客要望で「ExcelからMicrosoft SQL Server 2016のデータベースに変換する」という作業が求められたので、Rubyで実現しました。。
- Ruby
※1: 1つのIssueに対してn(0 <= n
)個のPRを作成・紐付けを行い、開発を継続していくスタイル。
※2: リポジトリ作成権限を持たせながら、リポジトリ管理権限は持たせたくないため。
※3: テンプレートリポジトリを使用することも考えられましたが、リポジトリ作成後はそれぞれのプロジェクトでカスタムしたいとのことでした。