diff --git "a/src/content/2019-12-15-\345\210\235\343\202\201\343\201\246\343\203\227\343\203\255\343\202\260\343\203\251\343\203\237\343\203\263\343\202\260\343\202\222\343\201\227\343\201\237\346\231\202\343\201\256\343\202\264\343\203\237\343\202\275\343\203\274\343\202\271\350\246\213\343\201\244\343\201\221\343\201\237.md" "b/src/content/2019-12-15-\345\210\235\343\202\201\343\201\246\343\203\227\343\203\255\343\202\260\343\203\251\343\203\237\343\203\263\343\202\260\343\202\222\343\201\227\343\201\237\346\231\202\343\201\256\343\202\264\343\203\237\343\202\275\343\203\274\343\202\271\350\246\213\343\201\244\343\201\221\343\201\237.md" index 63db7197d7..17b7f0944e 100644 --- "a/src/content/2019-12-15-\345\210\235\343\202\201\343\201\246\343\203\227\343\203\255\343\202\260\343\203\251\343\203\237\343\203\263\343\202\260\343\202\222\343\201\227\343\201\237\346\231\202\343\201\256\343\202\264\343\203\237\343\202\275\343\203\274\343\202\271\350\246\213\343\201\244\343\201\221\343\201\237.md" +++ "b/src/content/2019-12-15-\345\210\235\343\202\201\343\201\246\343\203\227\343\203\255\343\202\260\343\203\251\343\203\237\343\203\263\343\202\260\343\202\222\343\201\227\343\201\237\346\231\202\343\201\256\343\202\264\343\203\237\343\202\275\343\203\274\343\202\271\350\246\213\343\201\244\343\201\221\343\201\237.md" @@ -1,12 +1,12 @@ --- slug: 2019/12/15/beginner-gomi -title: はじめてプログラミングをした時のゴミソース見つけた +title: はじめてプログラミングをした時のしょぼいソース見つけた date: 2019-12-14T16:14:53.576Z -description: 大学時代、はじめてプログラミングしたときのゴミソースを発見 +description: 大学時代、はじめてプログラミングしたときのしょぼいソースを発見 tags: - ぼやき - JavaScript - - 早稲田 + - プログラミング headerImage: 'https://i.imgur.com/441v5cJ.png' templateKey: blog-post --- @@ -24,53 +24,68 @@ templateKey: blog-post **未経験**からのソフトウェアエンジニアになろう系。 -まぁ、結論から言えば程度の差こそあれ、**誰だってやってけます**。 +誰だって最初は未経験なので、そういう意味合いではどんな人にも世界は広がってるはずです。 -こんなしょぼしょぼ人間ができるような仕事です。(できているのかはさておき、お金はいただいているので)そんなもんです。 +私だって、ちゃんとエンジニアやってます。(ちゃんとできているのかはさておき、お金はいただいているので) -ただ、実際の就職はバイアスがかかったりしてチャンスに恵まれないことも多々あるかと思います。自分も大学の専攻がまったくコンピューターサイエンスを掠ってもいなかったのでつらいこともありました。 +ただ、実際の就職はバイアスがかかったりしてチャンスに恵まれないことも多々あるかと思います。 -これはそんな私がとりあえず何かプログラミングをはじめて、そのポートフォリオを全く活かさないで就活した軌跡が詰まったのが今回ご紹介するプログラムだったりします。 +自分も大学の専攻がまったくコンピューターサイエンスを掠ってもいなかったのでつらいこともありました。 + +これはそんな私がとりあえず何かプログラミングをやってみなきゃ!と焦って書いたのが、今回ご紹介するプログラムだったりします。 + +なので、本当に読むに耐えないコードです。 ## 他学部聴講でC演習を受ける -思えばこれが最初です。自分みたいな陰キャが営業職なんてできない、ましてや金融ソルジャーもできないなぁと思い、一発逆転を狙って飛び込んだのがこの世界でした。 +自分みたいなバイタリティもなく、声も小さく、覇気のない人間にとても営業職なんてできない、ましてや金融系ソルジャーなんてできないなぁと思い、一発逆転を狙って飛び込んだのがプログラミングの世界でした。 +(自分の学部は大手金融系の営業が主な就職先でした。) + +他学部の授業を聞くことのできる仕組みが、当時の大学にあったので、とりあえずプログラミングとか、コンピューターサイエンスとかそういうキーワードの授業を片っ端から受講しました。 + +はじめてのプログラミングの授業Cでした。 + +Cの先生は優しかったです。 -Cの先生は優しかったです。コンピューターサイエンスを何1つしらない私にも色々わかりやすく教えてくれました。 +コンピューターサイエンスを何1つしらない私にも色々わかりやすく教えてくれました。 その先生が言ったことが私の人生を変えました。 -> 授業にまじめに来てくれててこんなこと言うのも心苦しいんだが今時、**Cなんかできてもねぇ。。隣でやってるRuby演習でも受けなよ~ +> 授業にまじめに来てくれててこんなこと言うのも心苦しいんだが今時、Cなんかできてもねぇ。。隣でやってるRuby演習でも受けなよ~ **衝撃でした。** その後、**「プログラミング 求人」**のキーワードでググったら確かに**Ruby**が出てくるではありませんか。 -ただ、悲しいかな。Rubyの授業は別の授業とかぶってたため、諦めました。 +ただ、悲しいかな。 -代わりに自分でRubyをお勉強しようかと思ったのですが、**JavaScript**のほうが手軽でいいよーと**理系のお友達**に言われたのでJavaScriptをお勉強することに。 +Rubyの授業は別の授業とかぶってたため、諦めました。(二年後、ちゃんと受講しました。) -権威に弱いのです。 +代わりに自分でRubyをお勉強しようかと思ったのですが、それなら**JavaScript**のほうが手軽でいいよーと**理系のお友達**に言われたのでJavaScriptをお勉強することに。 + +当時の私は、誰かが言ってることを自分で調べず鵜呑みにするタイプでした。 ## 学籍番号に妙に執着する -今考えれば謎なんですが、大学の学籍番号の**CD(Check Digit)**の法則を知りたくなってた時期がありました。 +今考えれば謎なんですが、大学の学籍番号の**CD(Check Digit)** の法則を知りたくなってた時期がありました。 -お友達の代わりに授業に出てあげてたとき(代行というあれです。)に、出席カードが配られてそこに学籍番号は覚えていたのですがCDが思い出せず、てきとーに書いた、という苦い記憶がありました。 +お友達の代わりに授業に出てあげてたとき(代行というあれです。)に、出席カードが配られてそこに学籍番号を書くのですが、学籍番号は覚えていても、CDが思い出せず、適当に書いて代行がバレるという苦い思い出がありました。 ~~そんなことしなくていいから~~ -CDという値がエラー検知、エラー訂正に使う値という知識くらいはありましたので、この法則が知りたくなったわけです。 +CDという値がエラー検知、エラー訂正に使う値という知識くらいはありましたので、じゃあ、このCDの計算規則が知りたくなったわけです。 + +お友達からある程度の数、あらかじめ学籍番号とCDのセットを教えてもらっていたため、バイトの合間、頭で色々考えてとある法則を見つけるにいたりました。 -お友達からあらかじめ学籍番号を教えてもらっていたため、バイトの合間、頭で色々考えてとある法則を見つけるにいたりました。 +### 計算法則 -### 法則 +バイト中に見つけた法則がこちらです。 -学籍番号はこんな感じです。(当時は) +まず、学籍番号の形式は下記のとおりです。 **1A11B002** (架空の番号です) -1Aは学部, 11は入学年度(2011年), Bはわからん, 016は学科の名簿順っぽいです。 +1Aは学部に対応したコード, 11は入学年度(2011年), Bはわからん, 016は学科の名簿順っぽいです。 まずはA~Fまでの文字を数字に置換します。 @@ -93,7 +108,7 @@ CDという値がエラー検知、エラー訂正に使う値という知識く 最左の1桁、左から3桁目を除いた6桁の各桁に桁数をかけて足しこんでいきます。 -(学部の数的に1A~1Fで学部を表現できる&大学に10年以上いないだろうということでCD上不要な桁を取っているわけです。多分。) +(学部の数的に1A~1Fで学部を表現できる&大学に10年以上いないだろうということでCD上不要な桁を取っていると思われます。多分。) つまり最左桁を抜いたので、2桁目から足し算しますが、こちら2桁目として掛け算します。 @@ -111,20 +126,22 @@ CD値は1桁なので11で割ったあまりを出します。よくやるテク こんなのどうやってわかるんだよーって思うのですが、当然自力で解ききれませんでした。 -理系のお友達に手伝ってもらったのをよく覚えてます。 +理系のお友達に色々ヒントをもらい、解決まで手伝ってもらったのをよく覚えてます。 ## はじめてのプログラミングはこれをJavaScriptで書いたよ -ゴミですが、この法則を世に広めたくて当時こんなものを作ってました。**21歳!JavaScriptで!👊** +今見ると大変ひどいコードですが、この法則を世に広めたくて、計算できるサイトを作ってみようと思いました。 -今考えたらゴミくそなんですが、未経験で書いたんです!!~~許してください!!なんでもしますから!!~~ +そして書いたコードが下のHTMLとJavaScriptです。 + +今考えたら悲しいくらいひどいコードなんですが、全くの未経験で書いたんです!!~~許してください!!~~ [waseda_cd_calc ](https://github.com/tubone24/waseda_cd_calc) ![img](https://i.imgur.com/441v5cJ.png) -あまりにゴミだったのでコメントで赤ペンしてます。 +あまりにひどいコードだったのでコメントで赤ペンしてます。 ```javascript @@ -174,8 +191,6 @@ CD値は1桁なので11で割ったあまりを出します。よくやるテク ``` -あまりにもしょぼいのでこの記事を書くにあたってGitHub Pagesにしちゃいました。 - ## 結論 結局このプログラミングは何も役に立たなかったのですが、この業界に進もうという覚悟の現れがあふれた瞬間でした。 @@ -184,4 +199,4 @@ CD値は1桁なので11で割ったあまりを出します。よくやるテク その後はプログラミングよりはLinuxとかネットワークに興味を持っていくことになるので、就活も全くプログラマー的な感じでは進まなかったです。結局。 -今こうして、プログラミングもする仕事をしているのですが、昔書いたソースを見てとりあえず何かを作ることの大切さを改めて思い出しました。 +今こうして、プログラミングもする仕事をしているのですが、昔書いたコードを見てとりあえず何か新しいことへ踏み出す大切さを改めて思い出しました。