Skip to content

Latest commit

 

History

History
367 lines (270 loc) · 21.3 KB

educational_mentor_web.md

File metadata and controls

367 lines (270 loc) · 21.3 KB

ワークサンプル for 教育メンター(Webエンジニアコース) Work Sample for Education Mentor (Web Engineer Course)

概要 Overview

教育メンター(Webエンジニアコース)のワークサンプルでは、業務内容と同じ以下の内容を体験していただきます。

In the work sample of the education mentor (Web engineer course), you will experience the same contents as the work contents.

  1. テキスト開発 Text development
  2. テキスト修正 Text correction
  3. オンライン質問回答 Online question and answer

重要なことは、本当に自分がメンバーになったかのように体験することです。これは、ただの筆記テストではありません。
The important thing is to experience as if you really became a member. This is more than just a written test.
あなたと私たちの双方にとって、とても大切なことです。
It's very important to both you and us.

必要な前提知識 Required Prerequisite Knowledge

DIVE INTO CODEは未経験であっても必要な知識をキャッチアップできる人、それをずっと続けることができる人を採用しています。
DIVE INTO CODE employs people who can catch up with the necessary knowledge even if they are inexperienced, and who can continue to do so.
現時点の知識があれば理想的ですが、完全にゼロでもチャレンジする機会を設けています。
Ideally, you should have the current knowledge, but we give the opportunity to challenge even if you have completely zero knowledge.
知識がゼロの方は、この機会にご自分がどこまで知識をつけられそうかを確かめましょう。
If you have no knowledge, take this opportunity to see how much knowledge you are likely to acquire.

  • Git
  • Github
  • (GithubFlow)
  • Markdown
  • Linuxコマンド基礎 Linux command basics
  • エディタの操作 Editor operation
  • アルゴリズムの基礎 Algorithm basics
  • DBMS・SQLの基礎知識 Basic knowledge of DBMS / SQL
  • Web技術の基礎(URL/HTTP/リクエスト/サーバーなど) Web technology basics (URL/HTTP/request/server, etc.)
  • HTML/CSSの基礎 HTML/CSS basics
  • Rubyの知識 Knowledge of Ruby
  • Railsの基礎 Rails basics

現時点で知識が身についていない方を対象に、推薦学習教材をお伝えします。
We will provide recommended learning materials for those who do not have knowledge at this time.

推薦学習教材 Recommended learning materials

取り組み方の基本原則 Basic Principles of Approach

ワークサンプルへの取り組み方の基本原則をお伝えします。
The basic principles of how to work on work samples are as follows.

  • 優しく丁寧に対応すること
  • Be gentle and polite
  • ただ答えを教えるのではなく、その人のためになるようにサポートすること
  • Don't just give the answer, but support it for the benefit of the person
  • オンラインでのコミュニケーションは語弊が生じやすいので、表現などに気をつけること
  • Online communication is prone to misunderstandings, so be careful about expressions.
  • 事前に説明していない言葉やユーザーのレベルを考えて、サポートや教材開発を行うこと
  • Support and develop teaching materials by considering words that have not been explained in advance and the level of the user.

取り組みへの質問について Questions about Initiatives

ご質問がある場合は、ワークサンプル担当者にお気軽にご質問ください。
If you have any questions, please feel free to ask the person in charge of the work sample.
ワークサンプルに取り組むためであれば、DIVE INTO CODEの自習室や教室の利用が可能です。積極的にご利用ください。
If you want to work on a work sample, you can use the DIVE INTO CODE study room or classroom. Please use it positively.

ワークサンプル1 テキスト開発 Work Sample 1 Text Development

それでは最初のワークサンプルである、テキスト開発に入っていきます。
Now let's move on to the first work sample, text development.
あなたは、テキスト開発のミッションを行うことになり、カリキュラム内のある部分の執筆を行うことになりました。
You will be on a text development mission and will be writing some parts of the curriculum.
テキスト開発を行う際には、事前にどのようなテキストを開発するのか、どのようなことを学んだ状態で開発するテキストを学習するのか、そして何を目的にそのテキストを学んでいただくのかを知る必要があります。
When developing a text, you need to know what kind of text you will develop in advance, what you will learn to develop the text, and what purpose you will learn the text for.

あなたは、Rails入門のテキスト作成を担当することになりました。
You will be responsible for creating the introductory Rails textbook.
HTML/CSS/JSの基礎とRuby,RubyアルゴリズムとGit/Githubを学んだ初心者を対象に、Railsを学ぶ前の事前テキストを作成をします。
For beginners who have learned the basics of HTML/CSS/JS and Ruby, Ruby algorithms and Git / Github, we will create a pre-text before learning Rails.
この事前テキストが終わった後に受講生は、Railsを本格的に学んでいくことになります。
After completing this pre-text, students will begin to learn Rails in earnest.
ここで重要なことは、Railsをきちんと理解するために必要な事前知識を調べて、見出しレベルで良いので落とし込むことです。
The important thing here is to look up the prior knowledge needed to understand Rails properly, and drop it at the heading level.
初心者の人でも分かるようなテキストにすることを心がけて作成してください。
Please try to make the text understandable even for beginners.

見出しを作成しよう Create a Headline

さてどのようなテキストを作成するか、テキストのゴールについて知ることができました。
Now we know what kind of text to create and the goals of the text.
それでは、実際に見出しを作成しましょう。
Now let's actually create the headline.
見出しは、Markdown形式で作成し、見出し3まで完成させてください。テキスト一つあたりの学習時間の目安は、15分で終わることです。
Create headings in Markdown format and complete up to heading 3. The guideline for study time per text is to finish in 15 minutes.
また、必ず著作権について気をつけるようにしてください。
Also, be sure to be careful about copyright.

見出し例 (Linuxコマンド基礎の場合) Heading example (for Linux command basics)

# Linuxコマンド基礎
# Linux command basics

## このテキストのゴール
## Goal of this text

## Linuxとは
## What is Linux?

## Linuxコマンドとは
## What is a Linux command?

## なぜLinuxコマンドを覚える必要があるか
## Why you need to remember Linux commands

## 実際にLinuxコマンドを使ってみよう!
## Let's actually use Linux commands!
### ls
### mkdir
### cd

....etc

作成した見出しをGithubに提出する Submit Your Headline to Github

見出しを作成することができたら、worksampleというGithubリポジトリを作成し、作成した見出しを1_create_heading.mdというファイル名で作成し、Github上で見れるようにしましょう。
Once you create a heading, create a Github repository called worksample, create the created heading with the file name 1_create_heading.md, and make it visible on Github.

見出しを肉付けしよう Let's expand the headline

見出しを作成することができたら、その次は DIVE INTO CODE のワークサンプル担当者からのレビューがあり、そして見出しに肉付けを行います。
Once you've created the headline, the next step is a review from the DIVE INTO CODE work sampler, and if you get permissions, then expand the headline.
また、詳しく説明するために、さらに見出しを付け加えても構いません。
You can also add more headings to explain in more detail.

見出しの例 Heading Example

### リスト
### List

肉付け後の例 Example after Expanding

### リスト List
Pythonにはリストという概念があります。  
Python has the concept of lists.  
リストを使用することで複数の要素を扱うことができるようになります。  
You can use lists to handle multiple elements.  

※要素 *element  
リストは複数の値を格納することができますが、その格納するそれぞれの値のことを要素と言います。  
A list can store multiple values, and each stored value is called an element.  

実際にリストを使用して、その概念について学びましょう。  
Let's actually use the list to learn about the concept.  

リストを定義するためには`[ ]`(角括弧)を使用します。  
Use `[ ]` (square brackets) to define the list.  
`sample_list`という変数に、何も要素が入っていない空のリストを代入します。  
Assign an empty list with no elements to the variable `sample_list`.  

>>> sample_list = [ ]  
>>> sample_list  
[]  


※Python対話型インタプリタが起動していない場合、ターミナルで`python`と入力し実行しましょう。  
*If the Python interactive interpreter is not running, type `python` in the terminal and run it.  

リストには、複数の要素を定義することができます。  
You can define multiple elements in a list.  
複数の要素を定義する場合、それぞれの要素をカンマで区切ります。  
If you define multiple elements, separate each element with a comma.  

>>> sample_list = ['Sunny', 'Rainy', 'Cloudy']
>>> sample_list
['Sunny', 'Rainy', 'Cloudy']

作成した内容をGithubにPushする Push the Created Content to Github

作成した内容は、worksampleリポジトリに、2_fleshed_out_headline.mdを作成し、送信しましょう。
Create 2_fleshed_out_headline.md in the worksample repository and send the created contents.

ワークサンプル2 テキスト修正 Work Sample 2 Text Correction

テキスト開発、お疲れ様でした。続いては、既存のテキストの修正です。
Thank you for your text development. Next is the modification of the existing text.
もっとも重要な仕事として、日々受講生やメンターから報告されるテキストの改善点を実装していく、テキスト修正があります。
One of the most important task is to implement text correction, which implements text improvements reported daily by students and mentors.
テキスト修正するべき点については、実際は以下の図のようにGitHubのIssueで管理されています。
The points that should be corrected are actually managed by the issue on GitHub as shown in the figure below.

https://diveintocode.gyazo.com/adfb7547a8fe9ee5a4b171d4e6829eb6

テキスト修正のミッションを、このIssueを元に改善を行うことになります。
You will improve the text correction mission based on this issue.
今回のワークサンプルでは、実際のテキスト修正と同じように取り組んでいただきます。
In this work sample, you will work in the same way as the actual text correction.

ファイルを作成する Create a File

今回使用する3_improve_sentences.mdを作成し、事前にGithubにPushしておきましょう。
Create 3_improve_sentences.md to be used this time and push it to Github in advance.

修正するものについて About What to Fix

以下のIssueを担当しましょう。
Let's take charge of the following issues.

【担当するIssue Issue in charge】
「selfについて」説明文が難しかったです。
The explanation of "about self" was difficult.

該当文 Corresponding Sentence

selfはインスタンスオブジェクト自身を指しています。クラスの中でインスタンスオブジェクトを呼び出す際やそのインスタンスオブジェクトを呼び出す際は、selfを使用します。  
self points to the instance object itself. Use self when calling an instance object in a class or when calling that instance object.

修正例 Modification Example

【担当するIssue Issue in charge】
「バッククォート」なのですが、キーボードのどれか、一瞬分からなかったです。素人的ですが、ひょっとすると、迷う方がいるかもしれないです。
I didn't know which one of the keyboards was "backquote". It's amateurish, but maybe some people get lost.

該当文 Corresponding Sentence

コードを挿入する際は、  
\`(バッククォート)を使用して、以下のように記述すると、ハイライトが適用されます。  
When inserting the code  
If you write the following using \`(backquote), the highlight will be applied.  

修正後 Revised

コードを挿入する際は、  
\`(バッククォート)を使用して、以下のように記述すると、ハイライトが適用されます。  
When inserting the code  
if you write the following using \`(backquote), the highlight will be applied.  

バッククォートは、Shiftキーと@キーを同時押しすると入力できます。  
Backquote can be entered by pressing the Shift and @ keys at the same time.  

方法 How to

これまでの方法と異なるので注意してください
Please note that it is different from the previous method

事前にGitHubに送信した、3_improve_sentences.mdにプルリクエストを送る形で修正文を送信してください。
Please send the correction text by sending a pull request to 3_improve_sentences.md which was sent to GitHub in advance.
なお、提出前に下記の内容を守ることができているかどうかご自分でチェックしてください。
Before submitting, please check by yourself whether the following contents are observed.

  • 冒頭で全体像を明示する(できれば図解など) 

  • 各節に図解や数式など文章を補完するコンテンツを必ず含める

  • 各節内の文章は出来るだけ読みやすいように改行を使うなどして工夫する

  • コードを記述する場合はマークダウンの記号 「`」を活用する

  • Clarify the whole picture at the beginning (preferably an illustration, etc.)

  • Be sure to include content that complements sentences such as illustrations and formulas in each section

  • Use line breaks to make the sentences in each section as easy to read as possible.

  • Use the markdown symbol "`" when writing code

ワークサンプル 3 オンライン質問回答 Work Sample 3 Online Question Answer

最後は、オンライン質問回答のワークサンプルです。
The last is a work sample of online question and answer.
実務では、オンライン学習サービス「DIVER」上での質問回答を行うことがよくあります。
In practice, we often answer questions on the online learning service "DIVER".
大切な業務のひとつです。
It is one of the important tasks.

オンライン質問回答例 Online question answer example

質問例 Question Example

f.text_fieldとf.hidden_fieldの違いについて、念のための確認です。  
I just want to make sure the difference between f.text_field and f.hidden_field.  
以下の認識であってますでしょうか?  
Is the following recognition correct?

f.text_field → テキストを編集可能な状態で表示させる  
f.text_field → Display the text in an editable state  
f.hidden_field → テキストを編集不可の状態で表示させる  
f.hidden_field → Display text in a non-editable state  

回答例 Answer Example

ほぼ合っていますが、多少補足します!  
It's almost right, but let me add a little!  

f.text_field → テキストを編集可能な状態で表示させる(テキストを打ち込むためのボックス部分を表示させる。そのボックスに最初からテキストが入っているかどうかは、form_for文に渡した引数によって異なる)  
f.text_field → Display the text in an editable state (Display the box part for typing the text. Whether or not the box contains the text from the beginning depends on the argument passed to the form_for statement)

f.hidden_field → コントローラなどの命令で運んできたテキストなどのデータを、現在のページに含める。(見えないし編集もできない)  
f.hidden_field → Include data such as text carried by commands such as the controller in the current page. (Cannot be seen or edited)  

実際に回答してみよう Let's actually answer

質問 Question

Railsにおける、「単数」と「複数」の使い分けについての説明です。  
This is an explanation of how to use "singular" and "plural" properly in Rails.  

例えばコントローラー作成時は"blogs"と、モデル作成時は"blog”とそれぞれパラメーター指定させています。それに基づいて様々な変数等が自動的に作成されているようなので、"blogs"と"blog"を使い分けることに意味があるのだと思うのですが、何処にも記載が無いので未だに混乱しています。  
For example, "blogs" is specified for parameters when creating a controller, and "blog" is specified for parameters when creating a model. It seems that various variables are automatically created based on that, so I think it makes sense to use "blogs" and "blog" properly, but it is still confusing because there is no description anywhere.  

"rake routes"を行ってみても、Prefixに"blog" ”new_blog"もあれば、"blogs" "confirm_blogs"もあります。何故こうなっているのか全く理解できていません。  
Even if I try "rake routes", there are "blog" "new_blog" "blogs" and "confirm_blogs" in Prefix. I don't understand why this is happening at all.  

Push方法 How to Push

4_question_answer.mdに回答を記述して、GithubにPushしてください。
Please write your answer in 4_question_answer.md and push it to Github.
なお、提出前に下記の内容を守ることができているかどうかご自分でチェックしてください。
Before submitting, please check by yourself whether the following contents are observed.

  • マークダウンの引用記号「>」を使い引用する
  • Quote using the markdown quotation mark ">"

提出方法 How to Submit

上記の内容に取り組んだものを反映した、あなたのGithubリポジトリのURLをご提出ください。
Please submit the URL of your Github repository that reflects what you've done above.
なお、ご提出前に以下の項目をすべて満たしているかを確認しましょう。
Before submitting, please make sure that all of the following items are met.

3_improve_sentences.mdのみプルリクエストを作成するということを忘れないでください
Remember to make a pull request only for 3_improve_sentences.md

  • 1_create_heading.mdに見出しを記述した

  • 2_fleshed_out_headline.mdに見出しに肉付けを行った文章を記述した

  • 3_improve_sentences.mdに修正文を記述して、プルリクエストを送信した

  • 4_question_answer.mdに回答を記述した

  • Heading is described in 1_create_heading.md

  • Fleshed out headline is described in 2_fleshed_out_headline.md

  • Correction statement is described in 3_improve_sentences.md and sent a pull request.

  • Answer is described in 4_question_answer.md

提出期限 Submission Deadline

提出期限は、採用面接時にお話ができていればその期限までに。そうではない場合は、ご自分で決めてください。
The deadline for submission is by that deadline decided in the interview. If not discussed, decide by yourself.
DIVE INTO CODEは、言われたからやるのではなく、自ら業務にコミットして達成していく姿勢を重視しています。
DIVE INTO CODE emphasizes the attitude of committing to business and achieving it, rather than doing it because you are told.

以上でワークサンプルは終了です。
This is the end of the work sample.
お疲れ様でした。
Thank you for your hard work.