コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

夏の終わりのCODEPREP ~夏模様編

誰のあこがれにさまよう

タイトルの "~編" に特に意味はないです。まるで僕の人生みたいですね。はいどうも、僕です。本日もタイトル通りCODEPREPをやっていこうと思います。

codeprep.jp

CODEPREPはプログラミングを書いて動かしながら
学ぶ実践型のプログラミング学習サービスです。

件のやつはこれです。ちょうど九月末まで無料で全講座使えるそうなので夏の終わりの思い出作りにやってみることにしたのでした。本当は、つい最近になって昔利用していたこの学習系サイトが終了に当たって全編無料ということを知ったのでやろうと思っただけです。

前回記事
inujini.hatenablog.com


ということで前回記事の続きを書きました。


やっと完走しました

まずは……。
f:id:andron:20180902130807p:plain
意外と早く全部終えてしまった。こうやってまとめると壮大ですね。ここしばらくロクな記事書いてなかったのはここの問題を解いていたからってのがあります。まあ記事用の仕込みに時間かかってたってだけで、内容自体はアウトプットとか考えなければサクサクと終わると思います。



ここの言語に書いてあるやつを終わらせたらコンプリートできるのかと思っていたらSQLとコマンド編の隠し要素があった……。コンプリート目指す人は要注意です(いないだろうけど……)。
f:id:andron:20180902131050p:plain
RustとScalaの講座が無料でできるところあんまり見たことないから、個人的には一見するだけでも価値はあるとか思ってる。まあ、そういうのって公式見ればいい話なんですけどね……。ただあいつら、コミュニティベースの言語だからググる力だけでなんとかなんない気がしてならない……。

完走した感想

それじゃあ完走した感想(激うまギャグ)とかしていこうかと思います。今回は言語別の感想でも垂れ流していこうかと思います。またレッスン内容ごとにやると前回記事みたいなボリュームになって僕が死んでしまうので軽く振り返ります。

・HTML
特に講座内容に関して言うことがない。最近はHTMLはプログラミング言語なのかみたいな議論があったりラジバンダリするらしいけども、個人的には文書構造を並べただけのガワでしかないと言った感じで、僕はそれ単体だとプログラミングっぽいことはできないとは思ってる。プログラムっぽい挙動しているのはCSSのせいじゃないかな……。ただ、CSSCSSで単体では何もできないんですけどね……。


JavaScript
なんかライブラリとかがたくさん混ざった講座なので密度はヤバい。色々感想とか言いたいものとかあるけどソース見せた方が早いし、作ったやつはどこかにぶん投げていきたい所存。というかJSFiddleに投げてます。


CSS
デザイン関連のパーツとか色々作れる実践講座が豊富だったりする。個人的な感想はそんな感じです。色々いじっていて思ったのだけどCSS難しいね。なんというか、人の書いたコードを眺めててもプログラムで言うGoto文が多用されたコードを読んでいる気分になってくる……。全然完成形のイメージができない。あ、これも作ったやつは謎改変をしたりしなかったりしてJSFiddleに投げてます。


jQuery
ほぼほぼZeptoでの互換性の確認みたいな用途で利用していたのでjQueryを使いこなせるようになったのかと言われると謎……。

(function ($) {
  $.fn.関数名= function ( ) {
    // ここに処理
  };
})(Zepto);

ただ上みたいな感じで、存在しない機能はプラグイン化して作ればいいと言うパワープレイでごり押す書き方を覚えたのが今回学んだ一番の報酬……。この方法だとjQueryにも応用できる。えぇ……。


Ruby
おおまかな基本操作までのお話。gem使ってゴリゴリなにかつくるとかでなく純粋にプログラムの書き方が学べるコンテンツって感じ。


PHP
HTMLと密接に絡む言語なのでガワもセットでいじる感じで利用しています。ぶっちゃけコンテンツ数少ないから感想を言うことがない……。というか最近のPHP事情(PHP7的な書き方みたいな話)よくわかってないから何も言えない。あと今のPHPって大体の機能がフレームワークに吸収されているから、ピュアなPHPだと何ができれば良いとかってベターな学び方が全然分からない……。


・Bootstrap
Bootstrapについて。公式ドキュメント見ればサービス終了してもなんとかなりそう感はしている。
公式
Bootstrap · The most popular HTML, CSS, and JS library in the world.
ちなみにこれ見ながらBootstrap4移行書き換えとかやっていたんですけど思ってたより破壊的な変更だった……。クラスの書き換えどころじゃないね……。既存のものからバージョン上げて変更するだけでも学びってあるものですね。


Java
学習コースのJavaに同じ内容。データベースを操るためのJDBCの使い方講座もついてた。
参考:JDBC
Java SE Technologies - Database

public Class Main{
  public static void main(String[] args) throws Exception{
    // JDBCドライバのロード
    Class.forName("ドライバ名");
    // 接続DBの指定
    String url = "DB名";
    // DBとの接続
    Connection conn = DriverManager.getConnerction(url);
    try{
      // SQLの実行
      // 処理
    }finally{
      // DBを閉じる
      conn.close();
    }
  }
}

JDBC使った大まかな書き方は上みたいな感じです。


Scala
その昔触った感想に同じ。 ※ ろくなこと書いてないので参考にはならない。
スカラができるようになったぞー - コミュ障だから明日が僕らをよんだって返事もろくにしなかった


Python
Pythonの基本的な書き方とNumpy・Pandasの使い方のお話までついてます。先にこれの存在を知っていれば、僕がPandasわかんないからパンダつくるとかアホなことをやらずにすんだんや……。あ、データサイエンス的な話が割と乗っているけども内容自体はメソッドの使い方の確認的な話でおわります。
Numpy 公式
NumPy — NumPy
Pandas 公式
Python Data Analysis Library — pandas: Python Data Analysis Library

あ、あとここのPythonレッスンやるとこんな感じのコマンドラインアプリ作れるようになります。
github.com

ロクでもないクソアプリをまたGitHubにあげる……。魔改造してたらオプションだけの扱いとかどうやるんだとかなって、色々詰んだ。言ってもバージョン表記しか対応してませんけど……。まあ今後機能が増えるかもしれないし、増えないかもしれない……(絶対今後いじらないフラグ)。


・Rust
その昔触っていた感想に同じ。※ ろくなこと書いて(ry
ザ・ラスト・オブ・明日 - コミュ障だから明日が僕らをよんだって返事もろくにしなかった



ちなみに完走記念にJSFiddleに少しずつ改変した何かを載せていたりはします。あとフロント周り以外の話はあそこに載せられないのでどうしましょうかね……。

おまけ

ついでに上の画像にあるブックに載っていない言語の感想もしていきます。

SQL
SQLの基本的な使い方の話。「SQL超入門」が読み物コンテンツです。


Linuxコマンド
よく使うLinuxコマンド集って感じ。

コマンド 説明
pwd ワーキングディレクトリ(現在位置)の表示
whoami ユーザアカウントの表示
ls ディレクトリとファイルのリスト
mkdir ディレクトリの作成
cd 作業ディレクトリの移動
echo コンソール上にテキスト表示
touch 空ファイルの作成
cat ファイルの中身の出力
cp ファイルのコピー
mv ファイルの移動
rm ファイルの削除
find ファイルを検索
grep ファイル内文字列を検索
wc テキスト・ファイルの行数、単語数、バイト数の表示
du ディスク使用量の表示
df ディスクの空き領域の表示

上のような感じのコマンドの扱い方が乗ってます。細かいオプションとか引数とか書いてないけどまあググったり、ヘルプみればわかるしでこれで勘弁。



まあ、そんな感じのコンテンツがあります。これやったからって別に力がつくとか成長できるとかは多分ないと思いますが、作ったやつが外部にあげやすいのでやった感はProgateよりつきやすい気はしてます。感想としてはそんな感じです。