0151_100日後にプログラマーになる日記(001日目)

こんにちわ。

ひそかに、5月開催のファイナンシャルプランナー3級の勉強をしています。
残り2週間追い込みを頑張りたいと思います。

これまで、IT業界に入ってから、主にドキュメント作成や簡単なWebデザインと開発の窓口対応などをしてきました。約5年ほどこの業界にいますが、いまだにまともなプログラミングコードを自力で10行も書けません。

そこで、今日から、コピペではなく、自分が実現したいと思ったコードを自分で考えて作成するという作業をしようと思います。すごくレベルが低いので、温かい目で読んで頂けますと幸いです。

今日は指定の動画サイトの個別動画URLのエンコード部分を削除するプログラムを持っている知識で全力で書いてみました。

var url = 'https://gyao.yahoo.co.jp/title/%E3%82%88%E3%81%8F%E3%81%8A%E3%81%94%E3%81%A3%E3%81%A6%E3%81%8F%E3%82%8C%E3%82%8B%E7%B6%BA%E9%BA%97%E3%81%AA%E3%81%8A%E5%A7%89%E3%81%95%E3%82%93/5f7c18d3-12cd-4f91-ad0c-3e7a5173f7f8';
var assembly = url.split('/');
assembly.splice(4, 1);
for (var i = 0; i < assembly.length; i++) {
  if(i == 0) {
    assembly[i] = 'https//';
  } else if (i == 2) {
    assembly[i] = 'gyao.yahoo.co.jp/';
  } else if (i == 3){
    assembly[i] = 'title/';
  } else {
    continue;
  }
}
var finalString = assembly.join('');
console.log(finalString);

上記コードを実行すると下記のように表示されます。エンコード部分が削除され、URLは短くなっていても問題なく動画にアクセスすることができます。

https//gyao.yahoo.co.jp/title/5f7c18d3-12cd-4f91-ad0c-3e7a5173f7f8

こちらのコードをプログラマーの方にレビューしてもらったところ、下記のようにシンプルにできるといわれました。僕のコードは、split()で/ごとに分割し配列に格納。その後、不要なエンコード部分をわざわざ、splice()で削除してから、長々しい条件分岐とループで必要に応じて/や//を付与してやり、最後に連結して文字列にする作業をしています。

var url = 'https://gyao.yahoo.co.jp/title/%E3%82%88%E3%81%8F%E3%81%8A%E3%81%94%E3%81%A3%E3%81%A6%E3%81%8F%E3%82%8C%E3%82%8B%E7%B6%BA%E9%BA%97%E3%81%AA%E3%81%8A%E5%A7%89%E3%81%95%E3%82%93/5f7c18d3-12cd-4f91-ad0c-3e7a5173f7f8';

var assembly = url.split('/');
var newUrl = assembly[0]+"//"+assembly[2]+"/"+assembly[3]+"/"+assembly[5];
console.log(newUrl);

今後は、すでに世の中に存在してるエクセルなどで使っている関数を自分で作って行く方法で学んでいこうと思います。