Ruby on Rails는 가파른 학습 곡선을 가져야합니까, 아니면 저입니까? [닫은] 게시물 을 편집 하여 사실과 인용으로 답변

나는 독학 프로그래머입니다. 나는 10 월부터 다양한 강도 (때로는 하루 종일, 때로는 몇 주 동안 아무것도 없음)로 RoR을 배우고 있습니다. 그 전에는 Java 만 알았지 만 잘 알았습니다. RoR에 대한 과대 광고와 그것이 당신을 행복하고 생산적으로 만드는 방법에 대해 너무 많이 들었습니다. 나는 Agile 책에서 그것을 배웠고, JavaScript와 CSS를 알지 못하고 데이터베이스와 HTML에 대한 흔들림 만 가지고 어려움과 관련이 있다고 생각합니다. 그러나 다른 사람들보다 Agile 책에서 프로젝트를 완료하는 데 훨씬 오래 걸렸지 만 여전히 많은 것을 기억하지 못합니다. Rails에 대해서는 심볼을 사용할 때와 사용하지 않을 때 또는 동적 메소드를 호출하는 방법과 같이 얻을 수없는 것 같은 것들이 있습니다.

최근에 인터페이스를 약간 변경하라는 작은 Rails 할당을 받았습니다. 약 25 시간이 걸렸으며 코드를 이해하는 데 약간의 진전이 있었지만 여전히 진행 방법을 모릅니다. 컨텍스트를 제공하기 위해 제공해야 할 코드가 너무 많기 때문에 스택 오버플로를 요청할 수도 없습니다.

그래서 내 질문은 제목에 있습니다 : RoR은 배우는데 오랜 시간이 걸리나요? 내가 잘못된 책에서 배우고 있었을 수 있습니까? 내 학습 스타일은 이해가 안된다면 아무것도 이해하지 못하거나 모든 것을 이해하는 것입니다.



답변

당신의 질문에서, 당신이 배우려고하는 것은 Rails 일뿐 만 아니라 데이터베이스와 SQL뿐만 아니라 웹 개발의 개념을 이해해야한다는 것이 분명합니다. 그것은 큰 일이므로 인내심을 가지십시오.

반면에, 레일 당신은 선택의 여지가 없다 – 당신이 배워야 할 세 가지 : M, V와 C에서 MVC , 동시에 모든하지만 레일있는 가장 쉬운 방법 중 인 상태, 주변에 어떤 MVC 프레임 워크의 경우 것 말할 것입니다.

대신 Ruby와 HTTP의 기본 개념에 익숙해 질 때까지 Sinatra와 같은 더 간단한 프레임 워크로 시작한 다음보다 풍부한 프리젠 테이션 (뷰 및 CSS) 및 데이터베이스 기반 모델로 천천히 진행하십시오.


답변

Rails를 배우고 유일한 배경은 Java 인 경우 새로운 웹 프레임 워크 만 배우는 것이 아닙니다. 새로운 프로그래밍 언어를 배우고 있으며 Java와 크게 다른 언어를 배우고 있습니다.

먼저 Ruby를 배우고 Rails와 그 규칙을 살펴 보는 것이 도움이 될 수 있습니다. 더 이상 Ruby를 이해하려고 애 쓰지 않고 Rails 코드 / 템플릿을 읽고 쓸 수있게되면 Rails가하는 일과 그 방법을 배우기가 훨씬 쉬워졌습니다.

나는 통해 갔다 레일 튜토리얼에 루비 와 매우 도움이되었다고합니다. 튜토리얼 책은 무료이며, 2.3 및 3.0 레일에 대한 버전이있다. MVC (Model-View-Controller) 및 웹 개발 / 페이지 수명주기를 읽는 것이 도움이 될 수도 있습니다.


답변

아니타, 나는 당신과 거의 같은 경험을했습니다. 하지만 왜 배우기가 어려운지 이해합니다.

  • RoR은 하나의 언어가 아니며 광범위한 기술, 언어 및 기술 모음입니다.
  • 논리적 구조를 가진 Java, C ++ 또는 다른 언어와는 다릅니다.
  • 배울 수있는 방법이없고 가르쳐 줄 수있는 책은 없습니다 (나중에 자세히 설명합니다)
  • 내 생각에, 공동체는 학습 할 때 다른 공동체처럼 용서하지 않는 다소 “의견있는”태도를 가지고있는 것으로 보인다. 사람들은 일이 어떻게 이루어져야하는지에 대해 정기적으로 의견이 맞지 않습니다. 이것은 RoR을 발명 한 사람의 정상에서 나옵니다.
  • 대부분의 RoR 레슨에서 테스트는 개발의 핵심 부분이 될 것을 강력히 권장하며 테스트 언어는 이미 높은 학습 부하에 추가 할 수있는 DSL입니다.
  • 언어에 대한 적절한 문서가 없으며 API, 일부 안내서 및 찾을 수있는 책이 있습니다.
  • 일부 핵심 방법과 기술은 “자동”이며 작동 방식이 명확하지 않습니다. 예를 들어, has_secure_password 메소드입니다.

나는 1 년 이상 그것을 배우고 있으며 여기에 내가 배우기 쉽도록하고 경험에서 나온 것들이 있습니다.

  • 여러 각도에서 공격하십시오. 작업 할 책, 튜토리얼 및 블로그가 여러 개인 경우 학습 방법을 “열 수”있습니다. 그 자체로 하나의 책이나 블로그가 “고착”될 수 있습니다.
  • 학습 고려 일부 HTML / CSS & 루비. RoR에 너무 먼 길을 가기 전에 지나칠 정도로 충분하지는 않습니다.
  • RSpec (또는 유사한 테스트 방법론) 과정을 수강하십시오. RSpec의 Codeschool은 특히 우수하며 테스트를 수행 할 수 없기 때문에 RoR 수업에 갇히는 것을 막을 수 있습니다.
  • 약 3 권의 책을 얻으십시오. Obie Fernandez “The Rails 3 Way”는 필수 항목으로, 방금 얻지 못한 내용이있을 때 참조 용으로 사용됩니다 (읽기위한 표지가 아님). 당신이 언급 한 민첩한 사람은 저를 혼란스럽게했습니다. “Learing Rails 3″은 다른 방향에서 나 왔으며 다른 튜토리얼에서 얻을 수없는 몇 가지 문제를 해결하는 데 도움이 될 수 있습니다.
  • 스크린 캐스트 또는 온라인 학습 과정을 수행하십시오. Michael Hartl의 튜토리얼은 훌륭하지만 매우 가파른 학습입니다. 위의 책과 RSpec의 Codeschool 과정을 통해 도움을 받았지만 여전히 몇 가지 작은 요점으로 저자에게 연락해야했습니다.
  • 묻고 물어보세요! Ruby 포럼, Rails 포럼, IRC 룸 및 StackExchange 등이 있습니다. 자주 사용하십시오 !

포기하지 마십시오-당신은 똑똑하지만 나에게 비슷한 학습 스타일을 가지고있는 것 같으며 Rails는 배우기가 매우 어려우며 어디에서나 (잘) 잘 가르쳐지지 않았습니다.


답변

어쩌면 문제는 루비가 적고 HTML / CSS / JavaScript와 SQL 및 데이터베이스에 대한 ‘흔들리는 것’만 있다는 사실입니다.

Rails는 ‘풀 스택 프레임 워크’입니다. 이전 프로그래밍 경험이 Swing과 함께 핵심 Java라면 동시에 배울 개념이 많이 있습니다.

이 문제에 접근하고 있다면 SQL과 관계형 모델링을 먼저 다루는 것으로 시작합니다 (SQL에는 브라우저 레이아웃 문제가 없습니다!). 데이터베이스 계층에 확신이 있으면 ActiveRecord를 사용하여 레일이 DB에서 튜플을 래핑하는 방법을 배우십시오.

다음 단계는 컨트롤러와 라우팅을 배우고 UI (html / javascript 등)를 배우는 것입니다.

거의 모든 웹 프레임 워크를 사용하여 웹 개발을 수행하려는 경우 SQL 및 관계형 모델링을 이해해야합니다 (나중에 NoSQL 경로를 선택한 경우에도).


답변

나는 또한 Java 배경에서 왔으며 Rails를 배우는 데 꽤 어려웠습니다. 당신이 언급 한 것과 동일한 문제가있었습니다. railscasts.com 을 시청 하는 것이 처음부터 도움이 되었다는 것을 알았 습니다. 다른 사람이 어떤 일을했는지 ​​보았을 때 나는 따라 잡는 데 도움이되었고, 나는 스스로 일을 시작했습니다. Rails 3이 나온 이후로 Rails를 건드리지 않았습니다.


답변

“때로는 하루 종일, 때로는 몇 주 동안 아무 것도 없다”라는 말은 내가 알아야 할 모든 것을 말해줍니다. 새로운 언어와 프레임 워크를 배우고 있다면 ( “루비”뿐만 아니라 “루비 온 레일”이라고 언급했기 때문에 현재하고있는 것으로 가정합니다) 일관성이 중요합니다. 나는 개념을 배우고 유지하는 유일한 방법은 매일 하루 30 분 정도 공부하는 것입니다. 30 분 이상 공부하면 정신이 나고 집중력이 떨어집니다. 공부를 적게해도 배운 것을 유지하지 못합니다.

주의 산만 제거 – 이것이 나의 최선의 조언이다. 그리고 매주 매일 공부하십시오. 알기 전에 상황이 시작됩니다.

후속 게시물을 보지 못하여 어떻게 지 냈는지 궁금합니다. 2 년이 지났으며 이제는 최고의 웹 개발자가되는 법을 배울 수있는 충분한 시간이 필요했습니다!


답변

나는 약 8 개월 동안 루비와 레일즈에 기대어왔다. HTML, XML, SQL에 대해 이해했습니다. 나는 여전히 당신과 같은 문제를 발견했습니다. 나에게 도움이 된 것은 단지 읽고 이해하기를 바라는 것이 아니라 실제 문제를 해결하는 것이 었습니다. 개념을 이해하려면 코드 조각이나 mvc에 대한 많은 작은 테스트를 실행해야 할 수도 있습니다. 기호는 여전히 작업 중입니다. 한 번에 한 가지 문제 만 해결하면 문제를 해결하면서 프로젝트의 다른 문제를 해결하는 데 필요한 것을 배울 수 있습니다.

답 : 아니요. 가파른 학습 곡선이 없어야하며 곡선은 배경에 따라 다릅니다.