プログラミング学習記録②【数学って大事】

ブログ

みなさんこんにちは!クフルダモノーツYoshito Kimura(k1mu)です!

超久しぶりのプログラミング学習記録

①はこちら↓

前よりは分かるようになってきた。

前回の記録から1年以上経って、かれこれスキマ時間プログラミング独学3年くらい経ってきました。

まだまだ分からないことは多いですが、自分の役に立つものを少しづつ作れるようになってきた気がします。

やったこと

記録を丁寧にとっていたわけではないので、ざっくりしていますけど。笑

プロゲートをレベル200になるまでやった

Progate(プロゲート) | Learn to code, learn to be creative.
Progateはオンラインでプログラミングを学べるサービスです。プログラミングを学んでWEBアプリケーションを作ろう。

プログラミング学習サービス「Progate」をレベル200ちょいになるまでやりました。

内訳は、「HTML & CSS」と「Python」と「Ruby」あたりを全部やって、あとはつまみ食いのような感じ。

感想

・まだまだこのくらいでは「プログラミングできる」とは全然思えない。笑

・でも、なんとなく身の回りのサービスの仕組みをイメージできるようになった。

プログラミング言語が違っても、使い方がめちゃくちゃ違うワケではない。(気がした)

使わないと忘れる。

色々なサイトやYouTube動画を見た

最近はインターネット上にコンテンツが充実しているので、とても助かります。

たとえば、「Git & Github」なんかは、何故みんなあんな平然と理解して簡単そうに使っているのか未だに良く分かりませんけど笑

Git & Github入門 レッスン1 GitとGithubの概要

この動画シリーズを見て、かなり理解が進んだ記憶があります。

スプレッドシートの活用

Google スプレッドシート - オンラインでスプレッドシートを作成、編集できる無料サービス
パソコン、スマートフォン、タブレットのどこからでも新しいスプレッドシートを作成して、他のユーザーと同時に編集。インターネットに接続していなくても作業を継続でき、Excel ファイルも編集できる、Google の無料サービスです。

Google の無料サービス「スプレッドシート」。

ExcelのWebアプリ版的なやつです。

あまり、これ自体を”プログラミング”とは言わないのかもしれませんけど笑

ただ、プログラミングを勉強したので、関数を色々な発想で使えるようになった気がします。

 

そういう意味ではプログラミングと通じるものが多くあると思います。

個人的には、音楽のデータ分析にスプレッドシートを使うと非常に便利なのでよく使っています。

作ったもの

自分なりに作ってみたものを紹介します。

音符計算機

音符の長さを計算する計算フォームです。このサイト上から使えるようになっています。

メトリックモジュレーションの導出

違うテンポだけど、同じ音価を持つ音符”を探すのに使えます。

こちらも、このサイト上から使えるようになっています。

Yoshito924/music_note_calculator
Contribute to Yoshito924/music_note_calculator development by creating an account on GitHub.

また、この計算フォームはPythonでも似たようなことができるコードを書きました。

人生時計

人生時計」という考え方があります。

色々な値を変更しても、簡単に計算できる計算フォームを作りました。

メロディのデータ分析

スプレッドシートを使ってメロディの分析をしてみました。

結果は、なかなか興味深いものとなりました。


…みたいな感じのことをやりました。

アプリやウェブサービスをバンバン作っている人からしたら、全然大したこと無い気がしますが、自分にとってはそれなりの進歩だったかなと思います。

感想

数年間プログラミングをやってきて感じていることは、

やっぱ数学って大事だなぁ…」ということ。

 

「AIだ」、「プログラミングだ」といっても、「基本は数学ではないか」と感じます。

 

たとえば

前に”転調を計算するプログラム“を書きたいと思った時、最初はやり方が分かりませんでした。

なぜなら、音の種類は「ド、ド#/レ♭、レ、レ#/ミ♭、………ラ#/シ♭、シ」の12種類あり、「」の次はまた「」に戻ります。

 

これを、どのように数字に置き換えて計算すれば良いか分からなかったからです。

「プログラミング言語の文法を学ぶことも大切だけど、数学的な発想で物事の抽象ができないと詰まるのだな」と感じた出来事でしたね。

 

幸いこの問題は、あるとき時計を見ていたら「五度圏時計のように見立てて、モジュロ演算(mod12)を使う」ことを思いつけたので、完成させることができました。

 

しかし、「これを上手いこと処理する方法は無いのか…」とか

「もっと簡単に計算する方法もあるんだろうな…」と思うものは、他にもたくさんあります。

 

まだまだ先は長い!

タイトルとURLをコピーしました