約半年前、このブログで「プログラミングとの縁が遠くなってしまった」と嘆いたことがあった。
そして、約3か月前、プログラミングとの距離を少しでも縮めるために、「Paizaのプログラミングスキルチェックの問題を継続的に解くこと」、「PaizaのプログラミングスキルチェックのAランク問題を解けるようにすること」を目標にした。
さらに、上の目標を達成する手段として、「『データ構造』と『アルゴリズム』について新たに学び、pythonやrubyにおける基礎構文を暗記する」と決めた。
そして、約3か月が経過した。
この3ヶ月間、業務上エクセルを用いる際、マクロを使って一部の作業を自動化させた。
このようなささやかな工夫や努力を見ると、「なんとかプログラミングとの距離を維持しようとしている」と感じなくもない。
しかし、「マクロを使った」といっても、私はエクセルVBAの構文をほとんど知らない。
そのため、「マクロの記録」によって作られたプログラムが解読できず、記録されたマクロの微調整がうまくできていない。
このように考えると、「データ構造」や「アルゴリズム」を学ぶよりも先に「エクセルVBA」を学んだ方がいいのではないか、という感じがしないではない。
実際のところ、「『データ構造』や『アルゴリズム』を学ぶために読む」と決めた本(リンク先は次の通り)は全く読めていないのだから。
次に、paizaのプログラミングスキルチェックの問題は継続的に解き続けている。
5月中旬から現時点までで約50~60問は解いた。
仕事をしながらであること、業務に関する学習も行っていることを考慮すれば、そこそこ頑張っているという感じがしないではない。
ただ、解いている問題はCランク問題やDランク問題ばかりである。
Bランク問題はほとんど解いていない。
現在の自分のpaizaランクはBランクなのに。
この背後には、「Bランク問題は解くのに時間がかかる」とか「間違えてしまうとpaizaレーティングが落ちてしまう」といった感覚があるのだろうが、もう少し挑戦的になってもいいのではないかと感じる。
あと、プログラミングスキルチェックの問題においてpythonで解きすぎている感じがしないでもない。
将来的に自分が使う言語を考えた場合、pythonだけではなくrubyにもその可能性がある。
そこで、これからは「Bランク問題はpythonで解く。しかし、Cランク問題はrubyで解く」といったように2つの言語をバランスよく用いて問題を解くようにしたい。
また、「pythonやrubyにおける基礎構文を暗記する」という目標も全然進んでいないので、こちらも具体的な方法を考えたい。
正直、どうすればいいのかのイメージができていないけれども。
最後に、最近、私はruby関係で昔購入した電子書籍の写経等を行っている。
この本は、「rubyについて一通り学んでrailsへ移行する際に、railsの背後にあるものを知るために読むべき本」とのことである。
将来的にrailsを抑えたいと考えていたため、その本を読んで写経を行うことにした。
現段階では、約40%くらいは終了したであろうか。
この本を読む前は、「progate」というサイトでrailsについて学習したり、railsに関する教科書(リンク先は参照)を読んだり写経したりしながら、「『rails』を用いてアプリを作る」といったことをしていた。
確かに、読書・写経等の過程で「形のあるもの」を作ったけれども、railsについて理解できたとは到底言えない。
それと比べれば、今回の方が「なるほど、そういうだったのか」と感じることが多いような気がする。
今後も、この本は読み進めていきたい。
そして、機会があれば、もう一度railsに触ることができれば、と考えている。
ところで、この本ではクラスを活用することがある。
これに対して、paizaのプログラミングスキルチェックでクラスを用いることはほとんどない。
このことを考慮すると、paizaのプログラミングスキルチェック以外のものに触れることは、クラス等のことを忘れないためにも重要な気がする。
プログラミングとの距離はこんな感じである。
十分にできている感じはしないが、しがみつく程度のことができているだけでも良いことにしよう。