大型ウェブサービス「今日のコード」の歴史

タイトルをクリックすると飛ぶよ。
リリース日の下にある青い文字をクリックするとそのサービスにいけるよ。
この大型ウェブサービスはNeralt.comが運営しています。

プログラミングを始めた理由

2015/2/25

音楽理論のガジェットを作りたい

一番簡単な理由は「音楽理論を広める、楽しさを体験してもらう」という私のミッション実現のために、有効な技術だと考えたからです。実際に「音楽理論」がどのように使えるのか、使われるのか、「触りながら」理解してもらえる「何か」が必要だったのです。

音楽理論は、レゴブロックや粘土と同じく、実際に触ってしまえば「誰でも」その仕組みがわかるタイプのツールです。レゴブロックの使い方や粘土の使い方を教えるのは非常に難しいですが、しかし触れば誰でも、そのツールを使いこなすことができます。

ですから「実際に触って操作できる何か」を作ろうと思いました。

プログラミング初挑戦

しかし問題は、私には全くプログラミングの知識がないことでした。始めた時点ではHTMLすらも書けませんでした。(サイトはWordpressというサービスで作っていました。ここを押して、ここに書いて、画像をアップロードして、とWordpressさんからの指示に従って文字や画像を入れれば、誰でもできます。コードは一つも書く必要がないのです。せいぜい「誰かが作ったコード」をコピーしてペーストすればいいだけ。甘やかされてサイトを運営してきました。)

そこで、一からプログラミングを学ぶことになりました。当初は「Ruby on Rails」というプログラミングツールがいいという噂を嗅ぎつけトライしましたが、2時間くらいで気づきました。「これはまだ私には早い笑。」
そこで、「ドットインストール」という無料のプログラミング教育サービスで「JavaScript」と「HTML」を勉強することにしました。講座の最初の動画を見て「なるほど、これは私でもわかる。」と思ったからです。実際、非常に基礎的な言語であり、ウェブサービスの基盤となっているようです。

JavaScriptは算数

「JavaScript」から「プログラミングという殻」を剥ぎ取ってしまえば、その中で行っているのはほとんど「高校数学」です。「高校数学」も言い過ぎかもしれません。ほとんど足し算・引き算と掛け算・割り算(四則演算 )だけです。そして四則演算を拡張して、「関数」や「順列」を使っていくこともできます。つまり、プログラミングの書き方さえわかれば、それ以外の要素は今ある知識で十分でした。そこでJavaScriptを勉強して、プログラムを書いていくことにしました。

HTMLは人間とコミュニケイトするために

JavaScriptは計算をしてれますが、それは内側で起きていることで、実際には外には見えません。ウェブ上で見える形にするには「HTML」を学ぶ必要がありました。JavaScriptで行った動きを、HTMLを使って見えるようにしたり、さらにJavaScriptで使いたい情報を「ウェブを通じてユーザに入れてもらう」ためにもHTMLが必要です。例えば、HTMLでタブやボタンを作って、それを押すとJavaScriptで使えるような情報を取得する、といったかんじです。とにかくユーザーとやりとりをするには、見えるようにしないといけませんし、さらに見える要素を操作してもらわないといけません。こういったことのためにHTMLが必要でした。

次のチャレンジはPHPとMySQL

次はどうやら、PHPとMySQLというプログラミングをしないといけないようです。これは、主に保存をするために私に必要です。つまり、掲示板のように情報を記録するためには、PHPとMySQLが必要だそうです。これによってユーザーからの反応をサービスに取り込みたいと思います。もしユーザーからの反応をサービスの中に取り込むことができれば、ユーザーが増えることによってサービスが強化されます。(例えばアマゾンレビューのようなもの。ユーザーの評価がサービスを強化する。)これによって、一方的に私が情報を発信するだけではなく、双方向のサービスが実現できます。楽しみです。

頑張ります。応援よろしくお願いします。

ということで、今後もプログラミングに取り組んでいきます。応援のほどよろしくお願いします。

今日のコード1

2015/2/25 リリース

今日のコード1

伝説的なウェブサービス「今日のコード」はここから始まった。

ジョンケージの影響を受け「偶然性の音楽=チャンスオペレーション」を標榜。コンピューターによる作曲、確率といった現代数学の要素を導入。つまり現代音楽である。

ちなみに当時は最先端のプログラミング技術を駆使しても、3つのコードを提案することが(私の)技術的な限界であった。C,F,Gしか表示されない。

「すべての創造はたった1人の熱狂から始まる。熱狂こそ、新しいものを生み出す原動力」

今日のコード2

2015/2/25 リリース

今日のコード2

ver.1ではC,G,Fの3コードしか提案できなかったが、一気にコードを増やし、ルートは全パターン、コードクオリティも一般的なものは全て提案されるようになった。

圧倒的な成長である。

今日のコード3

2015/2/26 リリース

今日のコード3

ver.2では一つのコードしか提案できなかったが、一気に4つのコードを並列に表示することによってコード進行をも提案できるようになった。

圧倒的な成長である。

今日のコード4

2015/2/27 リリース

今日のコード4

ver.3では単にコードを示すだけであったが、コードを分析しローマ数字で表すこともできるようになった。

圧倒的な成長である。

今日のコード5beta

2015/2/27 リリース

今日のコード5beta

ver.4では単にウェブ上で表示するにすぎないサービスだったが、なんとツイッター社の技術協力を得て、ツイートできるようになった。

圧倒的な成長である。

そのかわりに様々な要素が犠牲になっている。

今日のコード5

2015/2/28 リリース

今日のコード5

ver.5betaではソーシャルメディアとの連携の為に大きな犠牲を払い、ほとんどの機能が使えなくなっていたが、ちょっと勉強したら、普通に元の機能が使えるようになった。圧倒的な成長である。

時代は人工知能(AI)へ!

圧倒席な成長でWEBサービスを提供してきたNeraltであったが、このままではいけないのだ、さらなる圧倒的成長が必要なのだ、と痛感していた。なぜならば、世はディープラーニーングの時代に突入していたからだ。

そう。人工知能(AI)である。圧倒的成長のためには、人工知能の開発が必要なのだ。

日々成長!人工知能編へ続く。

「すべての創造はたった1人の熱狂から始まる。熱狂こそ、新しいものを生み出す原動力」

大型人工知能ウェブサービス「このコードはなんですか」

2015/2/28 リリース

大型人工知能ウェブサービス「このコードはなんですか」

時代はディープラーニング。そう、機械学習である。自動的にプログラム自体が学習し、莫大なデータベースを作りだす。そしてそれをもとに高品位なサービスを提供する。そういう時代だ。にもかかわらずネラルトは、JavaScriptで「1行1行」コードを書く日々を過ごしていた。

「手打ちのコード」には「温かみ」があるが、しかしそれが本当にユーザーエクスペリエンスの向上につながっているかというと疑わしい。ユーザーが求めているのはコードの温かみではなく、「クオリティオブライフ」(QoL)の向上である。

そこでネラルトが考えたのは、音楽理論に詳しいネラルトと同等の知識を持つ「人工知能AI」をウェブ上に再現することだ。そうすれば、世界中のどこに住んでいても、ネラルトに音楽理論を習うのと同程度の教育を受けることができる。こうして開発されたのが「今日のコードはなんですか」だ。コードを選ぶと、そのコードについて説明してくれる。人工知能だ!

オンライン東方の三賢者

2015/3/1 リリース

オンライン東方の三賢者

前サービス「今日のコードはなんですか」は、例のごとく「C,F,G」というたった3つのコードしか判定できなかったが、マギシステム(東方三賢者であるメルキオール、バルタザール、カスパールによるジャッジ)をオンライン化することで、全てのキーとか全てのコードに対応。しかも、ダイアトニックコードかどうかをもジャッジ。これでもう大丈夫!

圧倒的な成長である。

オンライン東方の三賢者2

2015/3/1 リリース

オンライン東方の三賢者2

オンライン東方の三賢者Ver.1は何故かあまり使われなかった。つまり、人気がなかった。タブを選択するのが面倒らしい。時代はミニマルなサービスだ。ツイッターはブログよりも発信できる文字数は少ないが、大人気。ミニマルであることは善である。ということで、タブを廃し、ランダムに表示するようにした。

機能ダウンである。

しかし、圧倒的な成長である。

オンライン東方の三賢者「改」

2015/3/1 リリース

オンライン東方の三賢者「改」

ver2は単にコードを示すだけであり、機能的には「今日のコード5」に劣るという、アンビヴァレントな状態に陥っていたので、機能を追加した。コードトーンを教えてくれるようになった。またユーザーにはどうでもいいことだが、内部のコードをかなり整理することに成功し、次なる大型サービス開発の土壌ができた。

圧倒的な成長である。

オンライン「精神と時の部屋」

2015/3/1 リリース

オンライン「精神と時の部屋」

やっとまともな音楽理論の学習アプリが完成。「圧倒的成長ボタン」を押すと、ゲームスタート。示されたキーの「ダイアトニックコード」を「Ⅰ〜Ⅶm7b5」まで、順番に選択する。ダイアトニックコードの学習に最適である。

圧倒的な成長である。

翻訳アシストサービス「ねらぐる」

2015/3/18 リリース

翻訳アシストサービス「ねらぐる」を使う

<使い方> まずは「ぽちっとなボタン」を押してみてください。デフォルトで入力されている英文を処理し、新たに点線で囲まれたエリアに英文を表示します。このエリアに表示された英文には、「英辞郎」というWEB辞書サービスへの検索リンクが追加されています。クリックして、検索結果を見ることができます。次に、あなたが翻訳したい英文をペースとして、ぽちっとなボタンを押してみましょう。もちろん、リンクを追加された英文が表示されます。

<便利な点> 英文を翻訳する際には、何度も何度も辞書を引きますよね。非常に手間のかかる作業です。しかし「ねらぐる」は、英文全体に検索リンクを仕込んでくれるので、気になる単語をクリックするだけですぐに辞書を引けます。非常に早いです。英単語の意味がわかったとしても文意を把握していない限りは訳せないため、すべての問題を「ねらぐる」が解決してくれるわけではありませんが、それでもかなりの時間短縮につながります。

日本語に翻訳されていない素晴らしい音楽書籍がたくさんあります。みなさんもぜひ「ねらぐる」を活用して、いろんな本を読んでみてください。

コードヴォイシング学習サポート「Voicing Book」

2015/4/4 リリース

コードヴォイシング学習サポート「Voicing Book」