Training Program for Beginners.

# This traing finishes in 15 to 30 days.
Training Due is 15 to 30 days
You have to finish about 10 issues before you finish your training period.

# If you have good performance PC.
Purchasing Mac is recommended.

Macbook is recommended (before 2014、Air、Pro)
If you are using Windows,
Puchasing in 3 years.
windows 10
Intel Core i3-4000M 2.40GHz, or more
Memory: 4GB or more
Storage: 128GB or more
This spec is lowest affordable spec.

https://qiita.com/rainbowaffro/items/b3d4962829e969073b70

# Training Program.
a. Touch Typing(1 day)
Myanmar Typing Tutor
Mavis Beacon Teaches Typing

```
Excercise 0: 
Home position is really important. you need your index fingers on F and J.
```

b. Use terminals (2 days)

http://dotinstall.com/lessons/basic_unix
```
Excercise 1: 
Move to Home Directory
Create Directory "test"
Display files, and confirm "test" created
Move to directory "test"
Command ls with options to display secret files, and confirm there is . and ..
Create directory "hoge"
Display files, and confirm "hoge" created
Move back to parent directory
Copy directory "test" to "test2"
Delete directory "test" and "test2"
```



c. Editor
SUblime Text or Vim, (or Atom)
http://dotinstall.com/lessons/basic_sublimetext
http://dotinstall.com/lessons/basic_vim

d. HTML, CSS, Javascript
http://dotinstall.com/lessons/basic_html_v3
http://dotinstall.com/lessons/basic_css3_v2
http://dotinstall.com/lessons/basic_javascript_v2

```
Excercise 3: 
With these language, create page below.
https://stackoverflow.com/asdfasdf;lakjs;dfja;lsdf
Make the page with design of 404 Error Page with Width 1024 as similar as possible.
Use Chrome Developer Console,
http://www.buildinsider.net/web/chromedevtools/01
```

e. Ruby


http://dotinstall.com/lessons/basic_ruby_v3
```
Excercise 4:
$ irb
irb(main):001:0> 23 + 27
=> 50
irb(main):002:0> 50 - 23
=> 27
irb(main):003:0> 10 * 5
=> 50
irb(main):004:0> 10**5
=> 100000
irb(main):006:0> x = 1
=> 1
irb(main):007:0> x + 59
=> 60
irb(main):005:0> 50 / 5
=> 10
irb(main):008:0> hi = "Hello, Mac!"
=> "Hello, Mac!"
You can also invoke a single program with irb. After running the program, irb exits. Let's call our hello.rb program −

$ irb hello.rb
hello.rb(main):001:0> #!/usr/bin/env ruby
hello.rb(main):002:0*
hello.rb(main):003:0* class Hello
hello.rb(main):004:1> def initialize( hello )
hello.rb(main):005:2> @hello = hello
hello.rb(main):006:2> end
hello.rb(main):007:1> def hello
hello.rb(main):008:2> @hello
hello.rb(main):009:2> end
hello.rb(main):010:1> end
=> nil
hello.rb(main):011:0>
hello.rb(main):012:0* salute = Hello.new( "Hello, Mac!" )
=> #<Hello:0x319f20 @hello = "Hello, Mac!">
hello.rb(main):013:0> puts salute.hello
Hello, Mac!
=> nil
```
Could you explain what is going on above?

f. Ruby On Rails

http://dotinstall.com/lessons/basic_rails_v2
```
Excercise 5:
Making an ToDo application.
```

g. Railsの環境構築
http://qiita.com/narikei/items/cd029911597cdc71c516


h. git
http://dotinstall.com/lessons/basic_git
```
課題6
git-flowとgithub-flowの違いを理解していること
またそれぞれのやり方でgitを操作出来ること
```


- ドットインストール
- html, css
- javascript
- sql
- c
- ruby on rails
- objective-c
- android java
- python
- vim
- git

h+.
これ参考にrubyとrails, installしてみて
https://gist.github.com/satococoa/5830035
```Alexs-MacBook-Pro:iphone-repair alex$ rails -v
Rails 5.1.4
Alexs-MacBook-Pro:iphone-repair alex$ ruby -v
ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-darwin16]
```
それでその後
https://github.com/tokonatsu/iphone-repair
このページのreadme見ながらiphone-repairをlocalで起動できるようにする

https://github.com/tokonatsu/iphone-kaitori
こちらも、これもiphone-repairとほぼ構成一緒だからこれも起動できるようにする
ほんでそこまでできたらお問い合わせ機能作る

i. テスト
BDD
http://www.betterspecs.org/

j. sql,mysql,postgresqlについて
トランザクションに関する理解
ロックに関する理解

k. linuxサーバーに関する深い理解
ログ、ファイル構成、ネットワーク

l. アプリケーション構成について
REST
CRUD
MVC
client <=> server
オブジェクト指向と関数型
monolythicとmicroservices

m. 設計やレビューに関して
人と一緒にコーディングすると格段に上達する
人のコードを見てレビューが出来るようになるとよい

# 環境構築について
必ず自分より出来る人とやる

# 勉強する場所
- コワーキング
- connpass
- wantedly

# 全てはここから
http://dotinstall.com/

# 参考になった入門サイト
http://schoo.jp/

# デザインパターン
# ruby
https://github.com/nslocum/design-patterns-in-ruby

# python
https://github.com/faif/python-patterns

## javaとc++
http://www.rarestyle.net/main/patterns/patterns.aspx
http://www002.upp.so-net.ne.jp/ys_oota/mdp/

# rubyとrailsやるなら
http://qiita.com/jnchito/items/dedb3b889ab226933ccf

# 配列比較表
http://0xcc.net/blog/archives/000043.html

# 神ページpython
http://aidiary.hatenablog.com/archive

# 機械学習
https://github.com/luispedro/BuildingMachineLearningSystemsWithPython

# PCの仕組み
http://www.mtl.t.u-tokyo.ac.jp/~sakai/hard/
http://hiroshi1.hongo.wide.ad.jp/hiroshi/files/network/index.html
http://www.eidos.ic.i.u-tokyo.ac.jp/~tau/lecture/operating_systems/

# 設計に悩むようになったら
https://gist.github.com/sunaot/2937524
http://qiita.com/tos-miyake/items/8dffb16273726f538d49
http://qiita.com/jnchito/items/dedb3b889ab226933ccf

# restfulとは
https://www.slideshare.net/MonstarLabInc/rest-ful-api?next_slideshow=1

# コーディング規約
https://qiita.com/haracane/items/03a38db2cc299bce0537