Aikの技術的な進捗部屋

技術的な進捗とか成果とかを細々と投稿するブログです。時々雑記も。

CODEPREPで勉強しよう その11(終)

その1(CODEPREPとは/学習予定ブック紹介)はこちら
その2(Sass,Bootstrap,Fontawesome編)はこちら
その3(HTML&CSS実践編 前編)はこちら
その4(HTML&CSS実践編 後編)はこちら
その5(JavaScript編 前編)はこちら
その6(JavaScript編 後編)はこちら
その7(Three.js,moment.js,Canvas編)はこちら
その8(React,Vue.js編)はこちら
その9(Rust,GoogleMap,Webカメラ編)はこちら
その10(Ruby,Scala編)はこちら

CODEPREP勉強中です

9月も過ぎ、もうすっかり肌寒くなってきました…皆さん体調はいかがでしょうか。
季節の変わり目、筆者は無事に風邪を引いてしまい…色々やりたい事が思うように出来ず、歯がゆい思いをしています。
皆さんも体調大事に!体は資本ですからね…!!

さて、今回はJava等にまつわるブック…具体的には下記のブックをやっていこうかなと思いましたが…。

  1. Java基礎 Map編
  2. Java基礎 オブジェクト指向
  3. Java基礎 例外処理編
  4. Java基礎 Unicode
  5. WebSocketでチャットをつくろう

私用が色々と積もってきたり、そもそも筆者のJavaに対する関心が薄れてきたこともあって…。
これらの学習は断念することにしました。無念…!

とはいえ、こんだけの内容で記事を終えるのもアレなので…。
それに、今回の記事で「CODEPREPで勉強しよう」記事は最後ですしね。

というわけで、今回の記事では「今までCODEPREPさんを通して学んできた、感想とか所感とか」を書きたいと思います。
※注: 自分語りが主な感じの内容になります…ご留意を。

学んできた感想

学んできた感想として、まず一番に上がるのは…やっぱり「面白かった」ということでしょうか。
自分の興味のある所だけやってきたのもそうですが、何よりこの学習形式が素晴らしい!

自分で環境構築とかも必要とせず、ただブラウザを開くだけでプログラミングに触れられるのが非常にGOODです。
(環境構築で心折られ学習をやめるケースも多いですからね…(実体験))

Prograteさんも同様の学習形式を採用されており、そちらの人気も高いっぽいですし…こういうスタイルの学習コンテンツはぜひ流行って欲しいなぁと思っています。

また、技術力の向上度としては…うん、やる前から比べると間違いなく向上していると思います。
ただ、上がったと言っても…「CODEPREPさんのブックだけで向上できた」のではなく、「CODEPREPさんのブックを通してその技術分野に興味を持った」ことで上がったんじゃないかなと思ってて…。

これまでのCODEPREPさんの感想記事を見てもらうとわかると思いますが、自分はブックを学んだあと、そのブックに関連する技術に対してより詳細な調査を行いました。
その技術はそもそも何か(言語かフレームワークか)、その技術を使えばどういうメリットがあるのか、etc...

こうして調べた結果、ブックをただこなすよりも5〜10倍ぐらい時間はかかっちゃいましたが…おかげでエグいくらい技術力は上がったのかな?と思います。
そして何より、こうして会得した知識は決して無駄じゃないと思ってます…!

にしてもこうして考えてみると、技術力向上にはやはり「その分野に興味を持ってもらうこと」が大事なのかなと思ったり。
(私の大学の講義スタイルも大概がそうなのですがね)

自分で興味を持って調べた知識は不思議と楽しさや吸収力もうん千倍違いますからね本当…。
ブラウザを開けばすぐに開発できる取っ付きやすさから、CODEPREPさんは「とある技術分野に興味を持つ」最初の一歩には、非常に良いコンテンツだなとも思いました。

最後になりますが、このCODEPREPさんを通じて、沢山の技術分野に興味を持てたなぁと思ってます。
本当に、ありがとうございました…!CODEPREPさん…!!

"筆者のCODEPREP最後のプロフィール画像"
ありがとうございました!

最後に…の前に

最後に…に移る前に、ちょっと重大報告が。

CODEPREPさんは元々、2018年9月30日をもってサービス終了とあったのですが…。
まさかの何と!!CODEPREPさん、サービス終了を無期限延期としてくれたそうです…!!!
※参考記事:CODEPREPの無期限延長提供のお知らせ - CODEPREPからのお知らせ

とは言え、新しい勉強コンテンツの追加は厳しそうとの事…。
あくまで今まで提供してくださってたコンテンツを、継続して提供されるに留まるそうです。
いやぶっちゃけそれでも十分ありがたいのですけれどね…(´;ω;`)アリガトウ ヤサシイ セカイ ダァ

自分としても、大好きなWebサービスが実質無期限提供となった事を本当に喜ばしく思います…!
また、このブログ記事もちょっとは有用性が上がったかなぁ…と考えたり。
(「このブックではどういう事を学べるのだろう」とか、「ブック完了後に補足として読んでもらう」には良い記事(?)なのかなぁと個人的には思ってるので…ど、どうかなぁ)

何はともあれ、本当に嬉しい限りです…!
この様な判断を下してくれた、CODEPREP運営さんに感謝を!!

最後に

…さて、最後に…とは言え、もう書く事残ってないんですけどね。
強いていうなら今後どうするか…かな…。

とりあえずは自分が関わっているプロジェクトの着手、ですかね。
後は個人でやってる絵を描いたり描いたりサークルの絵を描いたり描いたり…まだまだ多忙の日々は続きそうです。

ではでは、またどっかの記事で…|д゚)

CODEPREPで勉強しよう その10

その1(CODEPREPとは/学習予定ブック紹介)はこちら
その2(Sass,Bootstrap,Fontawesome編)はこちら
その3(HTML&CSS実践編 前編)はこちら
その4(HTML&CSS実践編 後編)はこちら
その5(JavaScript編 前編)はこちら
その6(JavaScript編 後編)はこちら
その7(Three.js,moment.js,Canvas編)はこちら
その8(React,Vue.js編)はこちら
その9(Rust,GoogleMap,Webカメラ編)はこちら
その10(Ruby,Scala編)はこちら
その11(CODEPREPやってみた感想等)はこちら

CODEPREP勉強中です

CODEPREPさんで勉強する予定だったブックも、残すところわずかになってきました。
これまでブックを黙々とこなしていき…本当に色んな事を学ぶ事が出来てるなぁと感じています。

まぁそんなしんみり話は置いといて…。
今回はRubyScalaにまつわるブックをやっていこうかなと思います。
具体的には下記のブックを…。

※最初はRubyのブックも1つやろうと思ってたのですが、Ruby on Railsとかやってるのでそっちでも学べるなぁってのと、時間なかったってのでやめました

  1. Ruby実践 コマンドラインアプリ編
  2. はじめてのScala(前編)
  3. はじめてのScala(後編)

早速学んだブックの感想やらまとめをば!

各ブックの感想など

いつもの様に、各ブックで学んだことのまとめや感想などを書き連ねていきたいと思います。

はじめてのScala(前編)

今回はScalaという言語に触れていくブックでした。
「はじめての」とあるように、ブック内容的には基本的な文法を抑える(四則演算とか)のみでした。

さて、Scalaに触れてみた感想を書いていこう、と思いましたが…。
まだ序盤の…Scalaの書き方だけしか学べてないので、「Scalaのココがいい!」とかいった部分には全然触れられておりません。ぐぬぬ

ただ、次のブック「はじめてのScala(後編)」で、Scalaの主立った部分を学べそうなので…。
Scalaの感想は、次のブックの方に書いていきたいと思います。
(ついでにScalaとは?とかの方もそちらに書いていこうと思います。)

それではさっさか次のブックに行きましょう。

はじめてのScala(後編)

先ほどのブック「はじめてのScala(前編)」に引き続き、Scalaに触れていくブックでした。
後編ということもあり、前回やったブックよりも難しい部分に触れていきました。

※参考までに、前編で学んだことと後編で学んだ事をまとめてみました

  • 前編
    • 変数宣言/四則演算/論理演算
    • 文字列の扱い方
    • Tuple
    • if/for
    • 関数定義/関数リテラル
  • 後編
    • クラス
    • import文
    • Option
    • List
    • パターンマッチ/例外
    • その他高度な機能(sealed class/implicit parameter/implicit conversion/implicit conversionの実例)

また、後編のブックでは特に「Javaとの比較」が随所にありました。
(Javaだとこんなに難しく書かないといけないけど、Scalaでは〜みたいな感じで比較されてありました)

というのもScalaJVM上で動く言語とのこと。
このためJavaライブラリも使用することができるみたいです。ほわぁいいっすねぇ。

ともあれ、この辺で一度Scalaについて詳しく見ていこうと思います。

Scalaとは

Scala(スカラ)はオブジェクト指向言語関数型言語の特徴を統合したマルチパラダイムプログラミング言語である。
名前の「Scala」は英語の「scalable language」に由来するものである。
※参考(Wikipedia): Scala - Wikipedia

Scalaは2003年にスイス連邦工科大学ローザンヌ校(EPFL)のMartin Odersky教授によって開発されたプログラミング言語です。
Scalaではオブジェクト指向関数型プログラミングの両方を行えるところに特徴があります。
また、処理系はJVM上で動作するため1、Java言語のライブラリのほとんどをシームレスに利用することができます。
ただし、Scalaはただのbetter Javaではないので、Scalaで効率的にプログラミングするためにはScalaの作法を知る必要があります。
※参考: Scalaとは · Scala研修テキスト

概要としてはこんな感じの記述が見られました。
さて、さらに詳しく調べよう…と思いましたが、筆者のやる気が風邪により尽きかけてるので、参考になりそうなサイトのリンクを貼るにとどめておきたいと思います。
(というか面白い記事がいっぱいありすぎて見るだけで満足してしまった)

Scala使用歴5年のプログラマが、この言語とその環境に関する神話を解き明かす | POSTD
Scalaは(便利な)オブジェクト指向言語です
ニコニコAndroid(サーバ編) - Scalaを業務で使って

また、探していると「ドワンゴオリジナルの新卒エンジニア向けの研修資料(Scala)」も発見しました。
(引用元にもちょいちょい用いています)
Scalaについて実に様々な事が掲載されているので、これからScalaを始める際にも非常に有用かと。
Introduction · Scala研修テキスト

あとScalaには一切関係ないですが…。
上記URLを辿ると「ドワンゴエンジニアの活動日誌」にもたどり着きました。
ニコニコ動画の裏側に関することも書かれてるそうです。
筆者はニコニコ動画大好きなので、めっちゃ気になります…後で見てみよう、そうしよう。
https://dwango.github.iodwango.github.io

また、色々調べていくとやっぱりと言う感じですが…。
JavaScalaを比較した記事も沢山出てきました。
こちらに関しても、記事のリンクを貼るにとどめておきます。

JavaエンジニアにScalaの話を聞いてみたい@ScalaMatsuri2017
Scalaに関する誤解と事実を語る - kmizuの日記
JavaからScalaへの継続的なマイグレーション
Scala選定の理由と移行の方針

にしてもこうして色々見ていくと、「なかなかいいんじゃないかなScala」とか思い始めてきました。もー影響されやすいんだからー。
せっかく以前Javaで括弧対応プログラムを作りましたし、アレのScala版を作ってみるのもいいかもですね。

次回の記事について

次回記事では、Javaに関するブックを見ていきたいと思います。
Java自体は学校で学びましたので、入門編ブックではなく応用編ブック等を中心にやっていこうかなと思います。

ではでは|д゚)