Live data from Hacker News

Ask HN: What are some books where the reader learns by building one project?

news.ycombinator.com

201–210 of 232 posts

Re: Ask HN: What are some books where the reader learns by building one project?

#202
3D Game Engine Architecture by David H. Eberly:

https://www.amazon.com/Game-Engine-Architecture-Engineering-...

Not only is this a fantastic introduction to the math and the data structures involved in computer graphics, the book also walks you through the construction of an in-software renderer!

Re: Ask HN: What are some books where the reader learns by building one project?

#204
post #14

Michael Hartl's Rails tutorial ( https://www.railstutorial.org/ ) is a great example of this. It'll run you through building a twitter clone and introduce you to git, heroku, a bit of CSS/HTML, and even goes into AJAX a bit. I can't recommend it enough to people looking to get into rails.

I love that book and recommend it to anyone. The only thing I don't really like is its focus on MiniTest when practically everyone in the Ruby ecosystem has moved to RSpec. If I had to find a reason for this choice I'd say, one less gem to install and configure, and again convention over configuration.

It's been a while since I went through it, but did the tutorial not originally use RSpec, then switch it out at about version 4 (along with a few other tools) so that everything in the book made use of the most basic, out-of-the-box tools (as much as possible)?

Re: Ask HN: What are some books where the reader learns by building one project?

#205
post #96

"The Art of the Metaobject Protocol" leads you from a very thin layer on top of CLOS to a very rich layer of objects-oriented object implementations. It's a classic.

I love this. Ha lisp doesn't have a good OO system. Lisp 5 minutes later: Implemented a powerful one out of macros...and u were saying?

You might want to read AMOP. It's not build out of macros, but a meta-object system.

It also took a decade of research&development to develop CLOS + MOP. From Flavors and LOOPS to AMOP.

Re: Ask HN: What are some books where the reader learns by building one project?

#207

Earlier quoted context omitted.

Here's the books he has written: https://www.cs.utah.edu/~shirley/books/index.html

I think these are the short books herbstein was referring to: http://in1weekend.blogspot.com/

Thanks! I'll check them out.

Re: Ask HN: What are some books where the reader learns by building one project?

#208
post #205

Earlier quoted context omitted.

I love this. Ha lisp doesn't have a good OO system. Lisp 5 minutes later: Implemented a powerful one out of macros...and u were saying?

You might want to read AMOP. It's not build out of macros, but a meta-object system. It also took a decade of research&development to develop CLOS + MOP. From Flavors and LOOPS to AMOP.

I've had it recommended to me before, but never read it. I also wasn't aware of the extreme effort in getting it right. Thank you.

Re: Ask HN: What are some books where the reader learns by building one project?

#209

Miguel Grinberg's "Flask Web Development" [1] is an excellent introduction Python-based web development. You build a Twitter-clone. The book is an adaptation of the authors 18-part tutorial on the same topic [2]. [1] http://shop.oreilly.com/product/0636920031116.do [2] https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial...

Should I go for the book or the tutorial? Does the book have a lot of advantage over the tutorial?

Try the tutorial and see if you like it.

The book is much more polished. You follow along with this repo [1]. Every chapter you simply `$ git checkout chapter-n` and you're ready to go. It's amazing.

[1] https://github.com/miguelgrinberg/flasky

Re: Ask HN: What are some books where the reader learns by building one project?

#210

Miguel Grinberg's "Flask Web Development" [1] is an excellent introduction Python-based web development. You build a Twitter-clone. The book is an adaptation of the authors 18-part tutorial on the same topic [2]. [1] http://shop.oreilly.com/product/0636920031116.do [2] https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial...

Remark that the article is rather old (although revisited 2014, however that's still an eternity in webdev world). Although I like flask (it was my first library to do "web stuff") I miss especially the fact that authentication is not part of the core lib, but only available via third-party extensions. That may not be a problem for an experienced dev, but for a starter in web-dev I highly appreciate a library or fram…

This all depends what your goal is.

If your goal is to understand web development then I would say that a micro-framework like Flask is better because you actually have to assemble all the pieces yourself. Moreover, if you're curious about how a given feature is implemented, extension source code is often very accessible. For example, all the business logic in Flask-Login is confined to one ~450 line Python file [1]. Not bad!

But one the other hand, if you're trying to create a production-ready service, then Django/Rails probably have fewer risks since they require fewer decisions.

Lastly, the book had a very thorough treatment of authentication. I agree that this is a huge pitfall, and I think Miguel introduced and explained the problem extremely well.

[1] https://github.com/maxcountryman/flask-login/blob/master/fla...

Post reply on HN