RubyOnRails

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.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