アラフォーがお金持ちになるためエンジニア目指すブログ

お金も根性も学歴もないアラフォーまきのがエンジニアになってお金持ち目指すよ!

侍エンジニア塾 7回目の授業

どうも、アラフォーまきのです。本日7回目の侍塾がおわったので早速記録します。

前回もらっていた課題

Rubyのソートに関する問題。
結論からいうと、解けなかったんだけれども、詰んでたわりにはいい線までいけてたみたいです(笑)

ということでメンターさんと一緒に完成させたコードから先に。

ちなみに、1行目からcolorsの配列までは、問題文としてすでにメンターさんが書いてくれてありました。

class ColorRanking

  attr_reader :name, :male_rank, :female_rank

  def initialize(params)
    @name = params[:name]
    @male_rank = params[:male]
    @female_rank = params[:female]
  end
end

red = ColorRanking.new(name: '', male: 2, female: 2)
blue = ColorRanking.new(name: '', male: 1, female: 3)
pink = ColorRanking.new(name: 'ピンク', male: 3, female: 1)

colors = [red, blue, pink]

sorted_malecolor = colors.sort_by { |a| colors[:male]}

puts "★★男性に人気のカラー★★"
sorted_malecolor.each do |color|
  puts "#{color[:male]}#{color[:name]}"
end

sorted_femalecolor = colors.sort_by { |a| colors[:female]}

puts "★★女性に人気のカラー★★"
sorted_femalecolor.each do |color|
  puts "#{color[:female]}#{color[:name]}"
end

今回の詰まりポイント 1

initializeでハッシュを作っていることに気がつくまで、3日かかりました(苦笑)

見た感じ、ハッシュを作っているようには見えるけど、{ }が書かれてない。
でも・・・ハッシュっぽい。なんだこいつは・・・。

で、いろいろ放浪していたところ、「Rubyがミニツク」の演習で、まさに似たようなコードが!

ミニツク - Rubyのe-ラーニング研修システム

お前が最初からハッシュだったんだな!俺をだましていたんだな!

と思わずTwitterで叫びました(笑)
別に騙してないし、私がわからなかっただけだわ(笑)

しかし、ハッシュだとわかればこっちのもの。
この時の相手の正体がわかった感じ、ホントうれしかった。

因みに、今日の授業で
「メソッドの引数は、一番最後の引数がハッシュならば、{ }を省略していいよってなってる」と教わりました。

だから{ }がなかったんだ・・・。

今回の詰まりポイント 2

よっしゃハッシュという事はわかったぜ!と意気込んだけれど、ソートするときのブロックの書き方がうまくいかない。

red = ColorRanking.new(name: '', male: 2, female: 2)
blue = ColorRanking.new(name: '', male: 1, female: 3)
pink = ColorRanking.new(name: 'ピンク', male: 3, female: 1)

colors = [red, blue, pink]

colors配列に入ってるハッシュになったインスタンスをどう取り出すか?
そもそも「配列の中身を取り出すには?インデックスの指定が必要だよなあ」と考えてしまった。これがいかんかった。

sorted_malecolor = colors.sort_by { |a| a[:male]}

ここでのブロックの動きが見えてなかった。

|a|

これにはcolorsの1つずつの値 = インスタンスがすでに入ってるから、colorsのインデックスを指定するとかそんな事別に考えなくてよかった。

ということで無事完成の運びになったのでした。
まだ基本がおさえられてないですねー。

Rubyを卒業(?)してRuby on Railsへ

とりあえず、一通りはさらえたので、今回でRubyに特化した授業はおしまいにしよう、ということになりました。

が、個人的には満足できないので、今後もRubyの写経や勉強を進めることにしました。

授業では早速Railsの設定をして、ちょろっと触ってみたというところまで。

教科書はこちらを使うことになっているので、これに沿ってどんどんアプリを作って仕上げていくことになりました。

たった1日で基本が身に付く! Ruby on Rails 超入門

たった1日で基本が身に付く! Ruby on Rails 超入門

ちなみに、前も書いたんですが、Rubyで使ってた教科書が分厚いから「うっすいなおい」というのが最初に手に取ったときの感想です(笑)

そりゃやることの範囲も内容もちがうんだから当然だっていう話。ちなみに、実際このくらいサイズの差があります。どうでもいいけどね(笑)

f:id:MmRevorution:20181012111543j:plain


そうそう、Railsはちょっとしか触ってないですけど、一番最初にやったHTML/CSSがここででてきて「うわー!でてきたー!でも見覚えあるし、あ、この1行なにしてるのかわかるー!」ってなりました。

以前もご紹介したんですけど、ホント初心者でもわかりやすかったので、こちらの教科書は超おすすめ。
なんせ小学生に教えるスタンスで、ルビまでふって書いてくれてるし。

たった2日で楽しく身につく HTML/CSS入門教室 (Design&IDEA)

たった2日で楽しく身につく HTML/CSS入門教室 (Design&IDEA)

今日のメンターさん

今日は、Ruby on Railsの作者:DHHさんのこととか、Linuxの生みの親リーナス・トーバルズさんのこととか、大いなる変態達(褒め言葉)のことを少し教えてもらいました!

面白い本も紹介してもらったので読んでみようと思ってます。これとか。

それがぼくには楽しかったから 全世界を巻き込んだリナックス革命の真実 (小プロ・ブックス)

それがぼくには楽しかったから 全世界を巻き込んだリナックス革命の真実 (小プロ・ブックス)

  • 作者: リーナストーバルズ,デビッドダイヤモンド,風見潤,中島洋
  • 出版社/メーカー: 小学館プロダクション
  • 発売日: 2001/05/10
  • メディア: 単行本
  • 購入: 20人 クリック: 282回
  • この商品を含むブログ (139件) を見る

それと、Rubyの教科書は「たのしいRuby」を使ってたんですけど、メンターさんのおすすめしていた教科書に「プロを目指す人のためのRuby入門」もあったのを思い出して。

あれこれ手をつけて、すべて中途半端にしちゃうのが私の悪い癖なんですけど、作者の伊藤淳一さんをQiitaでよくお見かけしていたこともあって、「詰んでるし気分転換にみてみるかー」とKindleの立ち読みでみてみたら、なんか自分でも挑戦できそうって思っちゃって。

思いつきのままKindleで購入して触ってたんですけど、requireがうまくいかなくて。
伊藤さんのQiitaやYoutubeみても、私の知識と力量ではだめでした。

勝手に自分が手をつけた教科書のわからないところなので、質問していいものかどうかちょっと怖かったんですけど、恐る恐る相談したら、むしろ快く聞いてくれて、解決まで導いてくれました。

単に参照する位置が間違ってただけだったんですけどね、ふふ。

それに、Rubyがこんな調子なんで、「Rails大丈夫かちょっと不安・・・」とボソッと言ったら「大丈夫にさせるんで大丈夫ですよ」と、きっぱりはっきり言い切ってくれたんですよ。

本当にいいメンターさんにあたったんだなっておもった。
いやー本当に惚れてしまうね、こんな風にはっきり言い切ってくれるなんて。

「大丈夫にさせるんで大丈夫」って、一切の迷いも躊躇もなく、さらっと言い切ってくれたんですよ。

そんな風に言わせたんだから、私は私のできること・やりたいことを全力でやるしかないでしょ。

とにかく本当に今日も楽しかった。
Railsはまずフォルダがたくさんありすぎて、自分が何をみているのかわからなくなっちゃうから、その辺から慣れていこうと思います。

さあご飯食べて復習&実践!