When I told some web developer friends that I was going to try to learn Rails while taking a year off before college (when I would have very little internet), they were a little concerned, saying that it was almost essential to get advice from more experienced developers to really understand the nuances of the language. I have set this google group up to send me emails which I can retrieve on the boat, so hopefully I will be able to learn with your help. Anyways, I have a few questions. I am making a very simple forum as my first real project (one done without a tutorial in a book). I have read Head First Rails by O''Reilly (which was very helpful), and I think I can do it. However, the database organization is what I''m not sure about. How should I organize threads, posts, users, and options? I think that threads and posts I can make a relationship between, and use "thread_id" in the posts table to show which posts belong to which threads. However, this seems like the table will get huge very quickly. On the other hand, I don''t think that each thread needs it''s own posts table. What do you recommend? Similarly, should a user''s options be in the users table, or should options have its own table which connects via a relationship between user id and user_id in the options table? Finally, how should I store global forum settings like default posts per page and stuff like that? Thanks so much for your help! ~Zak Strassberg
2009/9/30 Zak Strassberg <moomoothecow-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>:> > When I told some web developer friends that I was going to try to > learn Rails while taking a year off before college (when I would have > very little internet), they were a little concerned, saying that it > was almost essential to get advice from more experienced developers to > really understand the nuances of the language.If you are trying to learn with only limited internet access then I would suggest that using books would be the way to start. Get Agile Web Development with Rails, 3rd Edition, and the Ruby pickaxe book, Programming Ruby: The Pragmatic Programmers'' Guide. Working through those should keep you happy for a few weeks. Even so it will be difficult without google.> > I have set this google group up to send me emails which I can retrieve > on the boat, so hopefully I will be able to learn with your help. > > Anyways, I have a few questions. > > I am making a very simple forum as my first real project (one done > without a tutorial in a book). I have read Head First Rails by > O''Reilly (which was very helpful), and I think I can do it. However, > the database organization is what I''m not sure about. > > How should I organize threads, posts, users, and options? > > I think that threads and posts I can make a relationship between, and > use "thread_id" in the posts table to show which posts belong to which > threads. However, this seems like the table will get huge very > quickly. On the other hand, I don''t think that each thread needs it''s > own posts table. What do you recommend? > > Similarly, should a user''s options be in the users table, or should > options have its own table which connects via a relationship between > user id and user_id in the options table? > > Finally, how should I store global forum settings like default posts > per page and stuff like that?By the time you have worked through the books you may be able to answer some of these yourself. Also during the learning exercise it is not too important how you design stuff. You will learn much by coding and re-coding as you realise there are better ways of organising it. Don''t forget to write tests as you go (or before you go) so that as you refactor the code with your new ideas you can be confident it continues to work. Use a version control system (git probably or svn) for your work. This makes it much easier to remember what you have done, backtrack out of blind alleys and so on. Good luck Colin
I just started Agile last night, and it seems good. Head First Rails was really good in getting me interested and not overwhelming me. Does Agile cover details about tests? I don''t really understand how they work/how you build them, etc, and I can''t look them up... On Oct 1, 3:30 am, Colin Law <clan...-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:> 2009/9/30 Zak Strassberg <moomoothe...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>: > > > > > When I told some web developer friends that I was going to try to > > learn Rails while taking a year off before college (when I would have > > very little internet), they were a little concerned, saying that it > > was almost essential to get advice from more experienced developers to > > really understand the nuances of the language. > > If you are trying to learn with only limited internet access then I > would suggest that using books would be the way to start. Get Agile > Web Development with Rails, 3rd Edition, and the Ruby pickaxe book, > Programming Ruby: The Pragmatic Programmers'' Guide. Working through > those should keep you happy for a few weeks. > > Even so it will be difficult without google. > > > > > > > I have set this google group up to send me emails which I can retrieve > > on the boat, so hopefully I will be able to learn with your help. > > > Anyways, I have a few questions. > > > I am making a very simple forum as my first real project (one done > > without a tutorial in a book). I have read Head First Rails by > > O''Reilly (which was very helpful), and I think I can do it. However, > > the database organization is what I''m not sure about. > > > How should I organize threads, posts, users, and options? > > > I think that threads and posts I can make a relationship between, and > > use "thread_id" in the posts table to show which posts belong to which > > threads. However, this seems like the table will get huge very > > quickly. On the other hand, I don''t think that each thread needs it''s > > own posts table. What do you recommend? > > > Similarly, should a user''s options be in the users table, or should > > options have its own table which connects via a relationship between > > user id and user_id in the options table? > > > Finally, how should I store global forum settings like default posts > > per page and stuff like that? > > By the time you have worked through the books you may be able to > answer some of these yourself. Also during the learning exercise it > is not too important how you design stuff. You will learn much by > coding and re-coding as you realise there are better ways of > organising it. Don''t forget to write tests as you go (or before you > go) so that as you refactor the code with your new ideas you can be > confident it continues to work. > > Use a version control system (git probably or svn) for your work. > This makes it much easier to remember what you have done, backtrack > out of blind alleys and so on. > > Good luck > > Colin
Marnen Laibow-Koser
2009-Oct-01 15:45 UTC
Re: Beginning Rails development without internet
Zak Strassberg wrote:> I just started Agile last night, and it seems good. Head First Rails > was really good in getting me interested and not overwhelming me. Does > Agile cover details about tests? I don''t really understand how they > work/how you build them, etc, and I can''t look them up...You''re not going to be able to learn Rails from scratch without Internet access. Sorry to be discouraging, but that''s the way it is. There''s simply too much that''s only documented on blogs or websites. Wait till you get off the boat. Best, -- Marnen Laibow-Koser http://www.marnen.org marnen-sbuyVjPbboAdnm+yROfE0A@public.gmane.org -- Posted via http://www.ruby-forum.com/.
On Oct 1, 10:13 am, Zak Strassberg <moomoothe...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> I just started Agile last night, and it seems good. Head First Rails > was really good in getting me interested and not overwhelming me. Does > Agile cover details about tests? I don''t really understand how they > work/how you build them, etc, and I can''t look them up...I don''t seem to remember it going very deep into testing. You may want to check out The Rspec Book by David Chelmsky. It''s still in ''beta'', but may be worth a try. http://www.pragprog.com/titles/achbd/the-rspec-book> > On Oct 1, 3:30 am, Colin Law <clan...-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote: > > > 2009/9/30 Zak Strassberg <moomoothe...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>: > > > > When I told some web developer friends that I was going to try to > > > learn Rails while taking a year off before college (when I would have > > > very little internet), they were a little concerned, saying that it > > > was almost essential to get advice from more experienced developers to > > > really understand the nuances of the language. > > > If you are trying to learn with only limited internet access then I > > would suggest that using books would be the way to start. Get Agile > > Web Development with Rails, 3rd Edition, and the Ruby pickaxe book, > > Programming Ruby: The Pragmatic Programmers'' Guide. Working through > > those should keep you happy for a few weeks. > > > Even so it will be difficult without google. > > > > I have set this google group up to send me emails which I can retrieve > > > on the boat, so hopefully I will be able to learn with your help. > > > > Anyways, I have a few questions. > > > > I am making a very simple forum as my first real project (one done > > > without a tutorial in a book). I have read Head First Rails by > > > O''Reilly (which was very helpful), and I think I can do it. However, > > > the database organization is what I''m not sure about. > > > > How should I organize threads, posts, users, and options? > > > > I think that threads and posts I can make a relationship between, and > > > use "thread_id" in the posts table to show which posts belong to which > > > threads. However, this seems like the table will get huge very > > > quickly. On the other hand, I don''t think that each thread needs it''s > > > own posts table. What do you recommend? > > > > Similarly, should a user''s options be in the users table, or should > > > options have its own table which connects via a relationship between > > > user id and user_id in the options table? > > > > Finally, how should I store global forum settings like default posts > > > per page and stuff like that? > > > By the time you have worked through the books you may be able to > > answer some of these yourself. Also during the learning exercise it > > is not too important how you design stuff. You will learn much by > > coding and re-coding as you realise there are better ways of > > organising it. Don''t forget to write tests as you go (or before you > > go) so that as you refactor the code with your new ideas you can be > > confident it continues to work. > > > Use a version control system (git probably or svn) for your work. > > This makes it much easier to remember what you have done, backtrack > > out of blind alleys and so on. > > > Good luck > > > Colin