プログラミングする数学信者

数学信者が数学とプログラミングの話題を中心にして何か書きます

趣味で開発中のもの・開発したいもの

こんばんは。今日は開発チームで飲み会がありました。つまり、今酔ってます。なんか酔った勢いでブログ書きたくなっちゃったので、ブログ書きます。

酔っているので、変な文章になっているかもしれませんが、そこはご了承ください。あと、今から書く文章には、マジレスしないでください

はじめに

ソフトウェアを開発する仕事に就いているのですが、最近ですね、趣味でソフトウェアを開発したいというモチベーションが上がっています。なんていうか、技術力を高めてエンジニアとして強くなりたんですよ。あと、自分が書いたソースコードGitHubに公開して、いつでも転職できる準備をしておきたい。そして、5000兆円ほしい。

ともかく、今は趣味でなにかソフトウェアを開発したいという気持ちが高まっています。で、この記事では、いま趣味で開発中のもの、開発したいものを発表しようと思います。

開発中のもの

1. 関数言語型でフロントエンド開発

  • 関数型言語でがっつり遊びたい
  • WebフレームワークでWebサイトを作りたい

という2つの欲求を満たすために始めました。言語はElixir、フレームワークPhoenixです。なぜ、この組み合わせを選んだかというと、ググって良さそうなものを選んだだけです。

巷では関数型言語としてScalaが流行っているみたいですが、オブジェクト指向型とハイブリッドなのがなんとなく気に食わない、安易に流行に乗りたくないという理由で、選択肢から外しました。

ここで作ったWebサイトは、VPSでデプロイして、実際に運用しようと思います。

2. アニメの第一話放送開始日時をカレンダーにする

クールはじめにアニメの録画予約をするときに、第一話放送開始日時がカレンダーでまとまっているものが欲しいと思い、開発を始めました。

  • バッチで定期的にアニメ情報サイトをスクレイピングして、取得した情報をDBに入れる
  • 上で言った開発中のサイトに、そのDBの情報を使ってからカレンダーを表示するページを作る*1

という方針で進めております。

もちろん今年の夏アニメには間に合いません。秋アニメには間に合うようにしたいです。

開発したいもの

1. ディープラーニングをスクラッチで開発

ライブラリを使ってディープラーニングがお手軽にできるようになっています。しかし、ライブラリを使うだけでは単に使う人になってしまいそうなので、ディープラーニングを深く理解するために、スクラッチ開発をしてみたいと思いました。あと、スクラッチ開発する人は強くてカッコイイと思うので。

あと、GPUディープラーニングを動かしたいからですね。GPUが使える有名なライブラリはCUDA環境が必須だが、自分はCUDA環境を使えるマシンを持っていないので。

さらに欲張りなことを言うと、PythonC++ディープラーニング実装はよくやられていると思うので、一味違うところを出すためになんか違う言語で実装してみたいですね。例えば、上で挙げたElixirとか。まあ、そこまでやる余裕が無いので、多分PythonC++になるでしょう。

2. 昔ながらの手法で人工知能開発

上で言った通り、安易に流行りに乗るのが好きではないので、最近流行りのディープラーニング人工知能じゃなくて、昔ながらの手法で人工知能開発に挑戦したいですね。

最後に

大口を叩いてしまった部分もありますが、とりあえず温かく見守ってください。僕は有言実行できない人間なので。

*1:スクレイピング先のWebサイトの利用規約により、実現不可能であることが判明しました。