I passed Ruby Gold, so I summarized the study methods (November 2020 version)

Since I passed Ruby Silver, I tried to summarize the study method (February 2019 version) The sequel to.

I passed Ruby Gold the other day. It was 90 points. I think I did my best. I don't know as much as the demand, but before I forget, I will summarize the study methods.

Simply arranging the study methods is not interesting, so Show the actual score predictions at each learning stage ** based on complete dogmatism and prejudice **. In other words, "I feel like I'll get this much score in production if I do so far (irresponsible)".

How close are you to passing as a result of your studies? I thought that it would be useful for maintaining motivation. Well, it's based on my feelings, so please take it as a reference as a lively article. (The main content is just a study method!)

Conclusion for the time being

--Look through the test range (expected score: none) --Learn Ruby's object orientation firmly (expected score: 50-60 points) --Solve the problem book repeatedly (expected score: 70-80 points) --Supplement knowledge with blogs left by ancestors (expected score: 85 points or more)

Premise

My Ruby career at the beginning of learning

――It takes half a year to a year in practice. (Including languages other than Ruby, the total practical work is less than 2 years)

Study period & study time

--Learning period: A little over 2 weeks --Learning time: 40-50 hours (2,3 hours on weekdays, 5 hours on holidays)

Main subject: How to study

Take a quick look at the test range (expected score: none)

First, get a rough idea of the test range. It is OK if you can grasp the general characteristics of the test range by reading and comparing some of the passing articles that came out by google from the top.

You can also look at the Ruby Gold exam range in Chapters 2-5 of the following books. [Revised 2nd Edition] Ruby Engineer Certification Exam Passed Textbook (Silver / Gold Compatible) Ruby Official Qualification Textbook

Then, I think that the following tendencies will probably be seen.

--Object-oriented questions account for more than half of the total --Singular class? Method inheritance tree? Also, should I read Metaprogramming Ruby? ――The other half is given little by little from the execution environment, grammar, library, etc. ――There are many talks about "when will you use this?" .. .. ^^;

In a nutshell ** "It seems that you need to learn a lot about object-oriented programming, but I'm not sure because there are many other types." ** Will have the impression.

That perception is correct. The reality of Ruby Gold is like that.

The story of the structure of this article

So in this article,

――How should you learn "object-oriented related"? ――How should I keep track of the "others are many types and I'm not sure"?

I will mainly explain the two points.

Expected score at the time of learning completion

None

At this point, you don't have to worry about the outcome of your learning. It's like warming up.

Learn "object-oriented related" (expected score: 50-60 points)

As mentioned above, more than half of the exam questions are object-oriented questions. First of all, it will be solid to hold down here.

Object-oriented questions in Ruby Gold include, for example: (In this article, I will call these "Ruby object model (knowledge)" for convenience.)

_ Class inheritance, search order of methods and constants considering Mix-in, singular class, singular method, class method, scope of instance variable (class instance variable), class variable, constant, etc ... _

The story of the book (template) to read

So how do you "get" learned about Ruby's object model? Fortunately this already has a template. You can read the following books.

-[Revised 2nd Edition] Ruby Engineer Certification Exam Passed Textbook (Silver / Gold Compatible) Ruby Official Qualification Textbook Chapter 4

-Chapter 1 to 5 of Metaprogramming Ruby 2nd Edition

** If you want to receive Ruby Gold, you should get these two books as much as possible. ** ** (Other teaching materials are available online for free)

The story that this is the mountain of Ruby Gold

Knowledge around here (especially metaprogramming Ruby) can be difficult to understand at once. However, it's better to work head-on here, and it's worth it regardless of Ruby Gold. We recommend that you read it repeatedly, google related knowledge, and move your hands as much as possible. As for the content, the textbook is a little easier, so it would be good to start from there. (I'm sorry I couldn't give you much advice ... There are many other good articles, so google ...)

If you don't know how many times you read it, Ruby Gold may still be a little faster. You may consider gaining a little more experience and trying again. (I also had a frustrated experience trying to read metaprogramming Ruby before)

Conversely, there is nothing more difficult in the Ruby Gold exam range. After this, there will be no content that you can't understand at all (although it can be annoying). This is a mountainous area, so I want to study hard.

About 90% of the contents of metaprogramming Ruby (Chapter 1 to 5) can be understood, and the figure of the relationship between objects, classes, and singular classes (Fig. 5-5 in Chapter 5) can be imagined in my head. It will be a guideline for the completion of learning. Or I think that the figure on the following site is also a good guide to measure the degree of understanding.

Until you reach "Classes are objects"

A little missing story

Actually, these two books have some weaknesses related to the object model. I will briefly introduce the learning method.

Around constant search

Constant search is ** "Lexical scope at first, inheritance chain if not found" ** Just remember that and google a little. (Absolute reference / relative reference area may be temporarily suspended from understanding. It is the scope of investigation, but Ruby Gold does not ask much about that point. It can not be said that there is no such thing ...)

For those who want accurate information, see Chapter 6 of How Ruby Works. The relevant part is about 20 pages, so it's a little expensive to buy just for this, If you are interested in Ruby itself, there is no loss in buying it.

Class variables

There is also a little lack of class variables. The official reference is helpful for this.

https://docs.ruby-lang.org/ja/latest/doc/spec=2fvariables.html#class https://docs.ruby-lang.org/ja/latest/doc/spec=2fvariables.html#class_var_scope

I think the following description is especially important.

A class variable has the body of the innermost (non-singular class) class or module expression that surrounds it.

It may be a good idea to put this area on hold and check it when you actually come across it while solving the problem collection.

Expected score at the time of learning completion

** 50-60 points **

Even if you receive it here, you won't receive it.

** Rationale: **

――There are more than half of the questions asking "knowledge about Ruby's object model" ――Probably you can get about 20 points just by luck even if you are indifferent (should)

Solve the problem book repeatedly (expected score: 70-80 points)

It's time to start solving the problem book once you hold down the object model.

What about the ** "I don't know because there are many other types" test range **? It is troublesome to study one by one, so it is recommended that you study while solving the actual problem.

Although there are many types around here, the format of the questions seems to be roughly fixed. It would be more efficient to hold down the pattern and expand your knowledge from there. (However, it is necessary to take the initiative in "expanding knowledge" by that amount)

Story of usable problem collection

The problem collection is OK if you use the following three. (I can't find much else)

It is the quickest to go around the problem collection. You should just run like a social-net marathon.

I will introduce the procedure that I actually used. I want you to refer to it.

  1. Turn REx 3 times in a row until you get 90 points or more. (Rex is the most recommended because the problem changes to some extent each time you receive it!)
  2. Solve the textbook problem and repeat until you get 100 points
  3. Solve the CTC lightly (probably easy to get good points at this stage)

A story that is troublesome to remember the answer of the problem collection

If you repeat the problem collection, you will inevitably remember the answer. Even if you simply solve the problem in this state, it will be difficult to acquire the knowledge that can be used in production.

I would highly recommend it at such times. ** Try to explain the background of the question, the intention of the question, the reason for the answer, etc. every time (by putting it in your head) ** Thing.

Depending on the problem, you may not be able to explain it well, or you may have a little question, so make a note of the problem number. If you do a thorough investigation later and repeat the explanations / questions, the depth of learning will increase and you will be closer to passing.

As a method of investigation, for example,

--Read the answer to the question book --Search online or in books (especially I want to actively use Ruby references) --Check the operation with irb etc. —— Make a note of what you understand

etc. .. ..

Especially, if you actually check the operation with irb etc., you will naturally want to check the derivative operation, so it is recommended.

It is also good to put what you have learned into sentences. The "learning memo" introduced in the following blog will be helpful. Personally, it was particularly effective in deepening the content of "I understand somehow, but I'm not good at it." Since I passed Ruby Silver, I released my study memo

The wider and deeper you are in this area, the more you will acquire the knowledge that can be applied and you will probably be stronger in production.

Expected score at the time of learning completion

** 70-80 points **

If you are lucky, you may be able to pass at this stage as well. .. .. Level.

** Rationale **

――As my experience, after getting 90 points or more in REx three times in a row, I got 80 points in the mock exam of the first-time textbook (Considering that the production is more difficult than that) ――As long as you catch a lot of passing articles, it seems that you can reach the passing score even if you drop the problems that appear frequently in the above problem collection.

Supplement your knowledge with the blog left by your predecessor (expected score: 85 points or more)

Even at this stage, if you are lucky, you can pass. However, that is also a probability of about 60% at most (appropriate). Ruby Gold, which has a high examination fee of 15,000 yen, is a little unpleasant.

From here, I will hone my knowledge while looking at the blog left by my predecessor. As a matter of fact, there are many contents that cannot be covered in the above problem collection, so I think that it is an indispensable process for a reliable pass.

Below are the blogs that I have taken care of. If you hold down all of these, including the links that are further introduced on the page, you should be able to avoid the first-time killing in production as much as possible.

-Summary of Ruby Gold study method -How to pass "Ruby Association Certified Ruby Programmer Gold version 2.1" after 1 month -Tetsuya Takeda's Ruby Engineer Certification Examination Report -Summary of study methods to pass by getting 92 points with Ruby Gold -ruby gold has fallen ... -Review the Ruby Gold exam range at once

After all it is not good to just read

When you look at the above blog, you should deal with it in the same way as when you encounter something you do not understand in the problem collection. In other words, instead of just tracing what is written, take various means to understand it, and if possible, actually move your hand.

Also, if you include related links, there is a decent amount, so if you make time to solve the problem collection again in the meantime, you will feel a little confused. If you come this far, it will take just over 30 minutes each time. Considering the contents of the blog, the synergistic effect should deepen your learning. It seems good to solve one of the problem books once a day. (Hooray)

I think I'm tired of studying Ruby Gold by this time and I don't like it. I was full of desire to finish it as soon as possible. But it's another step. Try as much as you can!

Expected score at the time of learning completion

** 85 points or more **

You should be able to pass with some margin. .. ..

** Rationale **

――I read all the above blogs, but the content of the complete first look I saw in the actual production was about a few questions. (Of course I think I have some luck ...) --I got 90 points (I)

finally

Well, if you do your best, you will probably get it! I want to accept it!

After that, please be careful not to get sick on the day of the exam, and be careful that you will need two types of identity verification documents on the day, and win the pass!

Again, the expected score has only a weak basis to the extent that it is listed together, so please consider it as a reference only!

I didn't expect it to be this long at the end! tired! This article ...

Recommended Posts

I passed Ruby Gold, so I summarized the study methods (November 2020 version)
I passed the Oracle Java Bronze, so I summarized the outline of the exam.
I passed Ruby Silver (June 2020), so I will summarize it.
I changed the Ruby version and now I can't bundle install
What I did in the version upgrade from Ruby 2.5.2 to 2.7.1
I summarized the collection framework.
I passed Oracle's java silver (version 11), so I wrote the flow until I passed by a study method that does not use any writing tools
I passed the Java test level 2 so I will leave a note
Ruby arrays, hashes, and symbols are confusing, so I summarized them.
I summarized the flow until implementing simple_calendar in Ruby on Rails.
[Ruby] I tried to summarize the methods that frequently appear in paiza
[Ruby] I tried to summarize the methods that frequently appear in paiza ②