Ruby on Rails는 가파른 학습 곡선을 가져야합니까, 아니면 저입니까? [닫은]


17

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

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

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


1
학습은 항상 증분 , 무언가를 배울 때마다 조금 더 이해합니다. 문제 해결은 어렵고 (언어 전문 지식에 관계없이) 인내심이 필요하면 빨리 시원하게 마음대로 다룰 수 있습니다.
Aditya P

나는 그것이 아니라고 생각했지만 아마도 그 사건은 제 사건의 중심이 되었기 때문입니다. 컨벤션으로하는 많은 것들을 구성하는 데 매우 사용됩니다.
Rig

답변:


17

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

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

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


10

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

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

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


6

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

  • 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는 배우기가 매우 어려우며 어디에서나 (잘) 잘 가르쳐지지 않았습니다.


4

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

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

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

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

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


1

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


1

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

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

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


0

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

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


0

할 수 있습니다. 나는 실제로 앉아서 Rails를 배우려고 노력할 때마다 ( '지금부터 약 2+ 년 동안 몇 달마다)'학습 곡선 '에 빠진다는 것을 알고 있습니다. 문제는 Rails의 많은 것들이 아주 빠른 속도로 바뀌고 발견 한 리소스가 거의 즉시 구식이된다는 것입니다.

내 조언은 Ruby (최소한 기본 사항)와 Rails에 중점을 두는 것이므로 Rails 프레임 워크에 의존하여 모든 것을 처리하지는 않습니다. 또한 명백한 이유로 HTML / CSS / Javascript를 정리해야합니다. 또한 Rails 세계의 끊임없는 변화 속에서 경험에서 벗어나지 마십시오. 새로운 새로운 것들을 무시할 수 있다면 Haml, Sass, RSpec / BDD, Cucumber 등과 같은 Rails cognoscenti가 복음화하는 모든 것을 무시할 수 있거나 익사해야 할 것입니다. 코드를 작성하기 위해 BDD와 RSpec을 배우고 Haml과 Sass를 배우는 것은 어렵지 않지만 배우는 것이 좋습니다. 프론트 엔드를 코딩하는 등 가능한 한 간단하게 시작하십시오.


0

모든 프로그래밍 언어에는 학습 곡선이 있습니다. 우리는 실제로 일반적인 방식으로 언어를 배우지 않습니다. C / C ++와 마찬가지로 실제 상황에 도달하면 몇 가지 기술의 요점도 알아야합니다.

그것에 접근하는 가장 좋은 방법은 행동으로 배우는 것입니다. 일반적으로 우리는 글을 읽지 만 실제 그림과 관련하여 우리는 그것을 고수 할 것입니다. 나는 네이티브 C ++ 프로그래머이며 C #으로 코딩 할 수도 있습니다. 나는 추상적 인 관점에서 그 언어와 라이브러리에 많은 장점이 있지만, 방금 읽고 건너 뛴 많은 주제를 알고 있습니다. 당신이 나에게 묻는다면, 나는 실제로 장애가 있습니다.

장고 프레임 워크를 배우고 있습니다. 내가 선택한 책은 흥미롭게 간단하며 소셜 북마크 응용 프로그램을 만듭니다. 따라서 프로젝트를 실제로 수행하여 처음부터 고급 수준까지 학습하는 것과 같습니다. 우리가 직접 배우는 방식으로 접근하는 것이 좋습니다.


0

RoR의 경우, 특히 두 번째 "R"의 경우 대부분의 학습 자습서에서는 "code-monkey"스타일을 가르치는 데 중점을 둡니다. 특히 민첩한 책은, "이제 우리는 단지 이것을하고, 왜 그런지 신경 쓰지 마십시오"프로그래밍 단계들로 가득합니다. 또한 패러다임을 계속 바꾸고 있다는 사실도 있습니다. 즉, 먼저 RJS를 선전했습니다. 갑자기 갑자기 UJS에 관한 것입니다.

여기에서 일부 사람들이 제안했듯이, 루비 언어 자체의 내용을 먼저 배우고 프레임 워크로 넘어 가려고 시도 할 수 있습니다. 그래도 둘을 함께 배우고 싶다면 "Ruby for Rails"라는이 책이 매우 유용하다는 것을 알았습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.