最初に説明書は読まないタイプ

今日は「Schoo」でRuby入門の生放送があったので、こちらを視聴しました。

全10回の講義のうち、本日は7回目&8回目。
1回目から観ていたのですが、先週の5回目&6回目はうっかり寝過ごして見逃してしまいました。5回目の「クラスとオブジェクト」は見ておきたかった……!
というのも、「こう書けば、こう返ってくる」ということについては、本などお手本のコードを書き写すことで実行できますが、そもそもクラスとはなんぞや、オブジェクト指向言語とは?といった用語の概念については理解が甘いと自覚しているからです。このことをきっかけに、ひらのまんは休職中の不規則生活に終止符を打ったとか打たなかったとか……(今日の昼寝はたったの5時間!

本日の講義の内容は「配列・ハッシュ」と「API」について。
見逃してしまった「クラス」が前提知識として必要な内容だったこともあり、APIについては正直ちんぷんかんぷんでした……。Rubyにはもともとライブラリという道具が用意されていることはわかったのですが、結局どうやって用いるものなのかがイメージできなかったところも大きいかと思います。

しかし、講義内で「オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル (Ruby 2.3.0)」の存在を知ることができたのは収穫でした。知らなかったというよりも、正確には、リファレンスマニュアルという言葉はなんとなく聞いたことがあったのですが、初心者にはまだ関係ないかなとスルーしていたのです。
先ほど、用語の概念がいまいち理解できていないと述べましたが、これを読むことで少しは解決できそうですよね。引っかかったときには、参照するようにしたいと思います。

コードガール、ベストコレクションを金髪キャラで揃えました。

f:id:kanopipupepo:20170221214227p:plain

irbでの日本語入力ができない!

昨日に引き続き、「paizaラーニング」でRuby入門3&4の無料公開分を視聴しました。
それぞれ全9回のうち、無料分は最初の2回のみ。
説明がわかりやすいですし、それぞれの講座のあとには演習問題が用意されているため、必然的に手を動かすことになる点が大変好ましかったのですが、有料で公開されている内容は配列、ループ処理くらいのようだったので、今回はパス。お金が稼げるようになったら恩返しさせてください……!
ちなみに、paizaラーニング内ではスキルチェック用の練習問題もたくさん公開されているのですが、超初級編でも激ムズなので、こちらも今はまだパスしています。ゆるゆる。

というわけで、paizaラーニングでのお勉強が20分たらずで終わってしまったため、今日は「Rubyがミニツク」というサイトを見てみることに。
(行き詰まった本&ドットインストール&難しいスキルチェックに向き合わず、無料初心者向けサービスを食い散らかす。。。)

こちらも無料のRuby学習サービス。初心者向けのコースから、資格を取りたい人へ向けたコースまで、レベルに合わせて5つの学習コースが用意されています。
ひらのまんはもちろん入門編。

paizaと同様、コース内のそれぞれの章の最後には演習問題が用意されています。
p,puts,printメソッドくらいなら余裕だろ~と思って臨んだところ、案外間違える間違える……。シングルコーテーションが曲者ですね。
4つの選択肢のなかから正解を選ぶ形式なので、正しいコードと謝ったコードを見比べることになり、デバッグの練習にもなりそうです。

で、表題の件です。
irbでの日本語の入力ができません!

ミニツクの入門コース内では、irbを実行する際、irbのあとに

UTF-8のときは-Ku

hift_JISのときは-Ks

EUC-JPのときは-Ke

NONE(ASCII)のときは-Kn

をそれぞれ入力するとエンコードができるとあります。
しかし、入力してみるとすべてこの調子。

f:id:kanopipupepo:20170220150607j:plain

ファイル名が表示されているので、この中にヒントがあるのでは?と思ったのですが、ちゃんとしたRubyのプログラムなんてまだ解読できない……!
なんか、この辺とか怪しそうだなとは思うのですが。。。

f:id:kanopipupepo:20170220151314j:plain

ちなみに、じゃあirb上で日本語を入力するとどうなるかというと……

f:id:kanopipupepo:20170220151601j:plain

入力できそう!が、Enterを押すと……

f:id:kanopipupepo:20170220151755j:plain

bbってなってしまう。。。
日本語だと、何を入力してもbbと変換されてしまうのです。

ちなみに、日本語を書いたrbファイルの読み込みは可能なようです。(呼び出したファイルにはputs "こんにちは"とのみ記述しています。)

f:id:kanopipupepo:20170220152152j:plain

なぜだろう。。。
ちょっと調べてみたのですが、わからずです。とりあえずはirbで日本語を入力しなければいいだけの話なので、気になりつつも課題として脇に置いておくことになりそう。
ここまで悩んでおいて、実は「Capslockキーを押していませんか?」くらいの事象だったら、すごい恥ずかしいですね。

 

コードガールも引き続きプレイ中。体力がなくなるまでプレイして、体力がなくなったらガチャをまわして、時間をつぶして体力の回復を待って…という感じです。四則演算だけじゃなく、if文の問題も出始めて楽しいです。

Rubyにちょっかいを出しています

さて、プログラミングを勉強するにあたり、まずはどの言語を習得するかを決めました。

そこで選んだのはRuby
とくに理由はありません。しいていうなら、前回紹介した

手始めに、書店で見かけた「プログラミング入門講座――基本と思考法と重要事項がきちんと学べる授業」のなかに初めて言語を学ぶひとにおすすめのもののひとつと書かれていたからくらいでしょうか。あいかわらずのなんとなくです。

勉強方法は、とりあえず基礎がつまってそうな本を一冊購入(「たのしいRuby」を買いました。)し、本に書かれている通りにプログラムを書いてみるというものです。写経というやつですね。
全23章のうち、やっとこさ8章まで進めました。

あわせて、「ドットインストール」のRuby入門も視聴しています。こちらは全26回のうち、22回目まで見終わったところ。

どちらも、そろそろ内容についていけなくなってきています。。。(笑)
ほんとうにド素人なので、最初は"Hello,world"が表示できただけでもものすごく何かを学んだような気もちになれ、最高に気持ちよかったのですが……。

 

そこで、「いったいどこからよくわからなくなったのか?」を検証するために、別のサービスに手を出し、再度一からRubyを学び直してみることにしました。
Ruby 勉強 おすすめ」といったざっくりワードで検索し見つけた「paizaラーニング」に登録。どうやら就職サービス(というのでしょうか、リクナビとかマイナビみたいな)の一環としてプログラミングの動画講座を行っているらしく、公開されている動画の大半は無料!
働いていない身としては、無料、めっちゃ助かる……!

本日は、paizaラーニングで公開されているRuby入門編1&2を視聴しました。
putsメソッド、ローカル変数、if文、比較演算子───、一応、こちらの入門編で教えられている範囲のことは理解できているような気がします。
いつも、≧を<=と書くのか=<と書くのか迷い調べてしまうのですが。(<=ですね)

そういえば、これまでRubyでHTMLを表示させるということはやったことがなかったので、目から鱗がぽろぽろ落ちました。Webサービスを開発するための言語なのだからそりゃあHTMLも扱うよな…と今更の発見。

f:id:kanopipupepo:20170219233528p:plain

入門編1&2を観たところで疲れたので、息抜きがてら同サイトにあった「コードガールこれくしょん」というゲームもやってみました。書いてて気づいたのですが、「これくしょん」ってひらがななんですね。

記憶喪失の主人公&ヒロインがプログラミングのクイズを解くたびに記憶のかけらを取り戻していく…というストーリーらしいです。さらに、主人公たちを助けてくれるコードガールという女の子たちがいて、彼女たちをコレクションできるという仕組み。

コードガールなんてキャラクターの背景もわからないのに、イラストとちょっとした設定だけで萌えられるか!などうるさ型のようなことを言いたかったのですが、ガチャ回して好みの見た目のキャラが出てくるとまあうれしい。お気に入りの子をマイページに並べて表示させることもできます。
金髪好きかよ……!

クイズ自体はちょこっとしかやっていないのですが、百マス計算ばりに四則演算のクイズ責めにあいました。

明日こればっかりやっちゃいそうだな……

 

のんびりとプログラミングの勉強をしている、ことの、記録

こんにちは。はじめまして。
ひらのまんです。

いろいろとあって、会社をお休み中の新卒三年目会社員です。
ここ2か月くらい、1日12時間くらいひたすらマインクラフトで穴を掘るだけの日々を過ごしていたのですが、そろそろなにかあたらしいことに挑戦してみようかなと思い立ちました。

そこで、はじめたのがプログラミングの勉強です。
これまでとくにウェブ業界にいたわけでもなく、「HTML?聞いたことはあるけど……」くらいのレベルのド素人。
ウェブどどど素人だからこそ、「プログラミング?とかできるエンジニア?とか超かっこいいよな~」みたいなイメージでなんとなく手を出してみたのです。

手始めに、書店で見かけた「プログラミング入門講座――基本と思考法と重要事項がきちんと学べる授業」を読んでみました。

www.amazon.co.jp


この本では、「Light bot」や「Code monkey」など、プログラミングの考え方の基本を身に着けるための学習サービスが紹介されています。
これらのサービスは、ゲーム感覚で楽しめるうえに、小学生くらいの子どもでも利用できるくらい操作が簡単なものです。
「ゲームやってるだけで勉強になるなんて最高だな~」と、一か月くらいだらだらこれらで遊びました。

それから、なんとなく、プログラミングに関係ありそうなネットの記事も読むようになりました。
そこで改めて気が付いたのですが、ウェブの技術は日進月歩。
世のプログラマーは絶えず新しい知識・情報を得続けなければならず、終わらない勉強の日々のようです。
超かっこいいよな~くらいの低い意識で興味を持った人間には、なんだか敷居が高い……!
「プログラミング 独学」でググると、「毎日8時間勉強しています」「週に一度は勉強会に参加しています」などといった話がたくさん出てきて、みなさんの意識も高い……!

なんか、時間があるからやってみようみたいな気持ちでやるものじゃないのかな、と気が引けてしまい、上記のようなゲームから次のステップへ進むことに躊躇していました。

「まあ、いいや。やるだけやってみよう」と気が吹っ切れたのは、津村記久子さんの「くよくよマネジメント」を読んでから。
この本の中にある「趣味はわたしだけのもの」というエッセイでは、たとえそれがものにならなくても、趣味は趣味として日常の隙間時間を楽しく過ごせるのならいいじゃないか、といった旨のことが書かれています。
これを読んで、はっと気づいたのです。
具体的に、キャリアに結び付けようと計画していたわけでもないのに、おまけにまだほとんどなにもはじめていないのに、おこがましくもプロのエンジニアと自分を比べて、「このひとたちにはかなわないからやめるか……」などと言っていた自分の情けなさに。

趣味は趣味だからいいじゃないか。

そう思い、自分のペースでゆるりとプログラミングの勉強に挑戦してみることを再度決意しました。いや、「ゆるりと」なので、決意というほどたいそうなものでもありません。つまずいてどうしようもなくなったらあっさりやめちゃうかも、そんなレベルです。

そんなわけで、右も左もわからない初心者がゆるゆるやっている記録をここで公開したいと考えています。

よろしくお願いします。