恐らく大学の卒業が確定しました 記念に私のプログラミング歴を振り返っていきたいと思います
作品を作った時に自分の中にあった感情をメインに紹介していきたいと思います
大学以前
EclipseでAndroidのTwitterクライアントを作っていました
この頃は今のようにAPIの規制が厳しくなく製作者にとってはとても作りやすい環境だったと感じます
今はダメみたいですね…
大学1年
自分で作ったプログラムを発表する機会があればいいなと思い部活に所属しました
2017/04? 334を自動で狙うスクリプト(Java)
334を自動で狙うスクリプトをTwitter4Jで作成しました
これは精度良く作れませんでした(手動のほうが精度が良い)
SnowFlakeを使用しTwitterの投稿IDからミリ秒を算出しパソコンの時刻と差分を計算して投稿する仕組みで作成しました
精度が悪かったのは同期処理で行っていたせいだと思うので非同期処理を使ってツイート処理を割り込みの形で作ればもっと精度良く作れると思います
リベンジしてみたいですね 今は前述の通りTwitterアプリは作りにくいですが
2017/04 ナゲットクーポン1年分を強制的に当てるツール(C#)
ナゲットクーポン1年分が欲しかったので当てるツールを作りました
こちらのキャンペーンです
これは当選して本当に家にナゲット5ピース無料券来て激アツでした
内容は@love_mcdにひたすらリプライを送るプログラムです
内容が被ると送信できないのでランダム数字を後ろに添付してリプライを送る形式です
当選して家にチケットが来た際 こんなんで当選させてええんかよ… って若干引きました
結局40枚ぐらい余りました 友人皆ナゲットが嫌いになってしまいました
2017/10 Splatoon2の戦績管理アプリ(Java)
Splatoon2に激ハマりしていたのでSplatoon2の戦績管理アプリを作りました(未完成)
イカリング2?から情報をスクレイピングしてStat.inkに戦績データを流すAndroidアプリを作成するのが目標でした
PCアプリはあったのですがAndroidで戦績データを送信出来ると携帯は常に電源が入っているため即同期出来るというメリットがあると思い制作に至りました
開発途中でサイトの仕様が変わったりして大変でしたがスクレイピングする所までは作成出来ました
Stat.inkはサイトの作りが素晴らしいと思います 戦績データを詳しくみるなら最高のサイトだと思います
ikaWidget2でStat.inkにインポート出来たら完璧だったのになぁ
2018/03 PHPで自動リツイートするスクリプト(PHP)
PHPでTwitterのBot動かしてみたいなと思って作成しました
無料でやりたかったのでPHPサーバーをXdomain(今はXserver)で無料で借りて作成しました
無料だとCronが使えなかったのでGASを使って定期実行するようにしました この方法考えたのは結構頭いいと思いました
これでフォロワー増やしまくった相互垢を作りましたが全然使いませんでしたね Twitterは持ってるアカウント多すぎてもうダメだ
大学2年
2018/12 絵文字を正しい見え方で表示するAndroidアプリ(Java)
Androidは機種によって全然フォントが違います その問題を解決するためにアプリを作成しました
こんな感じです
これは個人的にいいアプリだと思います 通知とかから呼び出して来て文字化けしてる文字を確認出来たら普通に使えると思います
2019/03 TwitterのOAuthアプリケーション(C#,PHP)
C#でTwitterのOAuth認証するアプリを作りました
この頃からTwitter公式APIでOAuth出来なくなりました そのためOAuth、XAuthの仕様を調査しました
結局公式APIでのXAuthは出来ませんでした ここでXAuthに成功していたら今はTwitterクライアントを作っていたと思います
Twidereでは出来るのでコードを確認しましたがよくわかりませんでした(雑魚グラマー)
大学3年
2019/03~07 画像解析によるモンスターエナジーの種類判別(Python)
TensorFlowを用いてAIでモンスターエナジーの種類判別を行うアプリを作りました
モンスターエナジーを撮影した画像から学習モデルを作成してそのモデルと入力された画像を比較して判定を行います
最終的には6種のモンスターエナジーを区別出来ました
これ面白いプログラムだったと思います 理想はTwitterにBotを作成してリプライで送られてきた画像に対して判定を行い判定結果をリプライするみたいな感じにしたかったです
2019/08~ LR2Helper改変
ここから主に公開したプログラムになっていきます
友人からの依頼を受けてLR2Helperの改造を行いました
思えばここが自分の転機になったかなと思います
今では密かに有名になり BMSまとめ @wiki にも載っています(マジで驚いた)
この時私はプログラミングの技術が無かったのでコードと実装が稚拙でとても汚かったです
そのため今の技術で作り直してみたいです
既知のバグが存在するため修正次第アップデートしたいです
アップデート予定あり
大学4年
2020/09~ ???(TypeScript)
詳細は控えますが(聞きたい方はDM下さい)音楽ゲームのプラグインを開発しました
プラグインを作成するのは私が世界初でした
そのため前例がなくライブラリの仕様書を読み込んで1から開発を行いました
TypeScriptも初めてで開発は困難を極めましたが完成しました
完成後フォーラムにアップロードし、とても多くの反応を頂きました
私がアップロードした影響でプラグインの開発が活発になり、複数のプラグインが作られました
バグ報告もいっぱい頂き、アップデートもしていくぞと思いましたが改変版が他人から出されました
私が作ったプラグインが他の人から無許可で改変されて、それを自分の手柄のように上げられたのでマジでやる気がなくなりました
オープンソース&フリーライセンスで作っていたのでしょうがないとは思いますが、私が開発中のプログラムに対して改変版を上げるなら製作者に連絡すると思います(バージョンが乱立するため)
予想通りこれを皮切りに多数の改変版がリリースされました
他人のコードを見て纏めるのは面倒なので私は開発を辞めました
非常に残念です
これから
これからもプログラミングは辞めないと思います
いま意欲があるのは公式APIが使えるTwitterクライアントですね
後プログラムは他の動画とか絵とかと違い公開後にアップデートすることにより進化する、つまり完成形が無いということが特徴だと思います
なのでこれからは1つのプログラムを長くサポート出来るようなプログラマーになりたいです
読んでいただきありがとうございました