Showing posts with label ruby on rails. Show all posts
Showing posts with label ruby on rails. Show all posts

Practical Rails Social Networking Sites (Expert's Voice) Review

Practical Rails Social Networking Sites (Expert's Voice)
Average Reviews:

(More customer reviews)
The is essentially a programming cook book with recipes centered on social networking functionality. That being said - this is not a "getting started on rails" book; you should have some idea of how to use rails (but you dont have to be an expert).
Here are some of the recipes: developing a CMS, blog with RSS, blog with web services, a forum, photo gallery (probably would have been better if this one had used Amazon's S3), adding tag functionality, creating a mobile version of your site, XFN, ...
Unless you're a broke student debating between this and food, I'd get this book. There are decent examples that are useful to see. It's pretty good considering Amazon's cheap price and considering this is the only book out on Rails related to social networking sites (as of when I wrote this review).
Update: I've now read the other Ruby on Rails Social Network Book: RailsSpace. In my opinion I would get both. However if you have to choose one it would depend both on your skill level and taste. Would you rather have more subjects covered with less material, or would you like less subjects being covered more in depth. If you want more subjects covered and you think you can figure out the extra details, then Practical Rails Social Networking Sites is for you.

Click Here to see more reviews about: Practical Rails Social Networking Sites (Expert's Voice)

This book ties together the popular framework Ruby on Rails with another hot concept - social networking websites such as MySpace and FaceBook. Social networking is a kingpin of the Web 2.0 revolution sweeping the Internet right now. Due to its versatility, using Ruby on Rails to build and maintain social networking sites is the perfect partnership.This book will be one of the few project-based guides to Ruby on Rails - perfect for programmers that prefer the hands-on method of learning by example.

Buy Now

Click here for more information about Practical Rails Social Networking Sites (Expert's Voice)

Read More...

Distributed Programming with Ruby Review

Distributed Programming with Ruby
Average Reviews:

(More customer reviews)
This book provides an excellent survey of distributed programming techniques using the Ruby platform. As a software engineer who is largely unfamiliar with Ruby, but very familiar with distributed programming, I was able to leverage the book both to understand "how you do things" in Ruby, as well as to introduce myself to the (libraries, framework tools, etc.) which make distributed programming a reality. My experience in reading this book was that it had a great flow, and a very clean presentation on the subject matter. I walked away with a deeper understanding of the Ruby language itself, as well as a mapping from "strategy/design concept" to "implementation toolkit" should I have a need to write a distributed service in Ruby. In summary, the book provides an excellent survey of both distributed concepts, as well as several options available on the Ruby platform for each, covering: DRb, Rinda, RingyDingy, Starfish, Distribunaut, Politics, Starling, working with Rabbit MQ, BackgrounDRb, and Delayed Job.
Much like the Ruby language itself, the text is very concise in explaining even fairly complicated concepts. It achieves this focus of delivery by building on fundamental concepts, providing a very simple starting point, and layering on additional "would like to" one at a time, without confusing the underlying intention. This pattern is present both at the micro level, as each chapter introduces a new distributed challenge and leaves you with a working knowledge of what the Ruby space has to offer for solutions implementations; as well as at the macro level, as the topics of each chapter progress from very simple things like remote procedure calls and data marshalling, to advanced topics such as an remote work processor, distributed work queue based on a map-reduce framework or a message queue service. While the phrase "map-reduce" is mentioned in several topic headings, there is no actual example of a problem solved with a map and reduce against a distributed dataset. The final topic, although not directly a distributed programming concept, is useful information for any production system that does any work of interest: a work scheduler using BackgrounDRb.
In a similar way, each chapter presents a very tiny example app, with complete code, and a walk through, distinguishing between the concept at hand, and the library specific implementation semantics. Also, similar examples are used where appropriate, making it easier to understand the specific nuances of a particular library. Mirroring the measured build up of the text, the code samples evolve in a simple and natural way over the course of a given topic. Although one might complain that there is little imagination in the examples, this focus ensures that the reader walks away with a clear understanding of the "Hello World" level implementation - details are left up to further research.
My only complaint in terms of coverage is that the book is overly "Ruby-only" focused. As an engineer working in a largely heterogeneous environment, I would be interested in a comparison of the internal "Ruby" only packages (e.g. DRb or Rinda) vs. tools that are a bit more cross platform: e.g. in this case, a comparison against a more generalized, stack agnostic marshalling framework (e.g. Google's Protocol Buffers, Facebook's Thrift, Cisco's Etch, or Microsoft's M). In particular, this would signify where the Ruby platform offers a particular advantage for a particular kind of distributed problem. However, as the title goes, this text is focused on the Ruby specific implementations of various technologies, instead of how Ruby as a language plays (with others) in these various areas.
Overall, I would say this is an excellent resource to use as a pointer for further research. If you are developing distributed systems using Ruby, then you are likely already aware of a certain number of these libraries; the survey of alternative options might be informative. For someone like myself who is familiar with distributed systems development but relatively ignorant of Ruby, it proved to be an excellent introduction both to the language, as well as to the Ruby specific semantics for implementing a basic distributed design (e.g. marshalling, task / job execution, etc.)
(Reposted from Bay APLN [...])

Click Here to see more reviews about: Distributed Programming with Ruby

"A must have title for the well-rounded Ruby programmer building advanced Rails applications and large systems!" OBIE FERNANDEZ, Series EditorComplete, Hands-On Guide to Building Advanced Distributed Applications with RubyDistributed programming techniques make applications easier to scale, develop, and deploy—especially in emerging cloud computing environments. Now, one of the Ruby community's leading experts has written the first definitive guide to distributed programming with Ruby. Mark Bates begins with a simple distributed application, and then walks through an increasingly complex series of examples, demonstrating solutions to the most common distributed programming problems.Bates presents the industry's most useful coverage of Ruby's standard distributed programming libraries, DRb and Rinda. Next, he introduces powerful third-party tools, frameworks, and libraries designed to simplify Ruby distributed programming, including his own Distribunaut. If you're an experienced Ruby programmer or architect, this hands-on tutorial and practical reference will help you meet any distributed programming challenge, no matter how complex.Coverage includes• Writing robust, secure, and interactive applications using DRb—and managing its drawbacks• Using Rinda to build applications with improved flexibility, fault tolerance, and service discovery• Simplifying DRb service management with RingyDingy• Utilizing Starfish to facilitate communication between distributed programs and to write MapReduce functions for processing large data sets• Using Politics to customize the processes running on individual server instances in a cloud computing environment • Providing reliable distributed queuing with the low-overhead Starling messaging server • Implementing comprehensive enterprise messaging with RabbitMQ and Advanced Message Queuing Protocol (AMQP)• Offloading heavyweight tasks with BackgrounDRb and DelayedJob

Buy Now

Click here for more information about Distributed Programming with Ruby

Read More...

Web Development with the Mac (Developer Reference) Review

Web Development with the Mac (Developer Reference)
Average Reviews:

(More customer reviews)
I work in the field of IT and have worked in web development but it has never been a focused effort to concentrate on it because my day jobs have always had me moving around from one function to another. I was always a Windows person and had never touched a Mac until last year.
The title of this book intrigued me right away because I am a web developer and I have a Mac. If that describes you or if you are thinking about jumping into the field, then this book is for you.
Having come from a Windows background, jumping into the Mac was definitely challenging - but I got over the bumps and learned to love the Mac. I thought I had a pretty good handle on what it could do, until I read this book. I honestly had no idea of the features that were built in to the platform, features that you have to install as add-ons in Windows. I mean, who would think that a complete web development platform was already present and waiting to be enabled. I'm speaking of the fact that Apache, PHP and even Ruby are all right there for you. Aaron clearly loves the Mac and he wants you to love it as well. He has gone out of his way to reveal all the secrets to working with the Mac. You can basically envision how he works on a daily basis, through the information and comments that he provides.
This book goes through pretty much anything you would need to know to set yourself up as a web developer and have a good chance at being successful. Of course, you have to provide the talent and the book does not teach you how to be a "designer" but it teaches you all the fundamentals of how to be a developer. The book goes from how to edit content on your Mac to how to test it locally, including enabling all the services the Mac has to offer. Then, you are provided guidance on how to work with a Unix server. Why? Because most web hosts are Unix based and it is a system you need to know if you are going to do the job. You'll learn how to push files to the Mac and how to back them up. You'll learn how to automate the login process through the creation and storage of authentication keys. You'll even get a tutorial of how to work with the Unix firewall tools so that you can harden the system and prevent someone from breaking into the server.
Once you get a good overview of the mechanical aspects, the book moves you into the development world by going through HTML, Javascript, CSS, etc. You get the full tour. This is not just one small chapter that tells you that these technologies exist. The detail is sufficient to give you a very good start on working with all of it.
Next up, the book moves on to the topic of designing web sites and again, the book does a great job at giving you instructions on how to do this. No, it does not really teach you about how to build a great design. That's a subjective topic and one that probably can't even be taught. However, if you want to know the basics about how to use Photoshop or a similar design tool, this will open your eyes. Ever heard of wireframes? Do you know how to use them? You're covered here. You'll even learn the secrets to the twelve-column web layout that may sites use and you don't even realize it.
Finally, the book moves into server-side technology and covers MySQL, PHP as well as Ruby and the Rails Framework. I come from a Java background, mostly backend, so I only skimmed the chapter on Ruby and Rails. However, I will go back and look at it when I get a chance. It looks like a great option for developers.
Be sure to go through the Appendix sections of the book as well. They are full of useful tips and links that you'll be glad to have gone through.
The writing style of the book is casual and feels like you grabbed a very large mug of your favorite beverage and sat down with Aaron so that he could teach you everything you need to know. The colorful wording and injection of reality gives you the sense that you are learning secrets from a good friend who really wants you to do well.
My overall thought is that this book belongs on the bookshelf of anyone who is, or wants to be, a freelance web developer. It will also be a great book to have if you are a relatively new Mac user and work with these technologies. Is this book useful if you are a "Windows" user? Honestly? Yes. If you leave out the Mac-specific references, this book is still a solid read for anyone wanting a good overview of how to be a developer and you'll learn a lot from it.

Click Here to see more reviews about: Web Development with the Mac (Developer Reference)

Everything you need to know to create Web sites using your Mac
Create and deploy striking Web sites and apps on a Mac for your own business or for clients using the essential techniques in this focused guide. While most Web site how-tos are geared toward either designers or programmers, this detailed book covers both aspects, helping you develop the complete skill sets that you'll need professionally. Tap all of the out-of-the-box perks that Apple has to offer for Web development with these techniques and insights from a seasoned Mac Web developer.
Takes you through everything that Macs have to offer for Web development, such as a Web server, PHP, and Ruby on Rails; Macs come with these right out of the box, making setting up a Web development environment pushbutton-easy
Reveals the science and the artistry behind creating beautiful and intuitive Web pages using Apple technology
Covers the technical elements of Web page construction with HTML, CSS, Javascript, PHP, and Rails; then goes beyond to show you how to add creative flair using Photoshop

Turn your design and development skills into marketable assets with this essential guide for Apple users.
Note: CD-ROM/DVD and other supplementary materials are not included as part of eBook file.

Buy Now

Click here for more information about Web Development with the Mac (Developer Reference)

Read More...

Beginning Ruby on Rails E-Commerce: From Novice to Professional Review

Beginning Ruby on Rails E-Commerce: From Novice to Professional
Average Reviews:

(More customer reviews)
While I really hate to slam down the authors of the book, this text really offers nothing to readers that isn't in better form elsewhere. The text is ridden with buggy code, incomplete explanations, and the style of coding leaves much to be desired. The "Agile Web Development with Rails" text (also available on [...]) builds nearly the same application (an eCommerce site), but does so while explaining the rails framework as well as offering up a solid reference textbook style for later use.
I teach graduate level computer science, and switched my curriculum to Ruby on Rails this term for my "Complex Websites" course. I reviewed many books, and this one ended up at the bottom of the pile. Sorry.

Click Here to see more reviews about: Beginning Ruby on Rails E-Commerce: From Novice to Professional

Ruby on Rails is the hottest new open source technology around. It offers developers the opportunity to create fully-featured web applications in double-quick time. Rails and e-commerce are a match made in heaven and Beginning Ruby on Rails E-Commerce is the first book to directly target this market.This book explains to readers, via real-life scenarios, how to use Rails to create every aspect of an online store - from creating a product catalog, to building a shopping cart system, all the way through to adding cool features such as customer feedback forums. In addition, the book explains how to interface with vital third-party software applications, such as those provided by online payment systems. Because of this breadth of focus, Beginning Ruby on Rails E-Commerce is the book that all Rails developers are crying out for.

Buy Now

Click here for more information about Beginning Ruby on Rails E-Commerce: From Novice to Professional

Read More...

Ruby on Rails Web Mashup Projects: A step-by-step tutorial to building web mashups Review

Ruby on Rails Web Mashup Projects: A step-by-step tutorial to building web mashups
Average Reviews:

(More customer reviews)
Providing a whistlestop tour through building a range of Ruby on Rails applications on the back of other services, Ruby on Rails Web Mashup Projects is aimed at those who are already comfortable building rails applications and want some sense of how they can be enhanced using a variety of other visualisation, data and processing providers.
Aside: The term `mashup' is one of those tech terms that's almost impossible to pin down. I should note that the way it used in this book (seemingly any application that draws on a third-party services) is not a way I'd choose to use it, but I'd rather focus on the book itself than on titling semantics.
The book hits all the usual suspects--google maps, flickr, technorati, wikipedia--and also covers the basics of building a facebook application, using paypal for payment processing, and sending faxes and SMS messages through a third party gateway. For those who want a quick overview of all of those options it'll give you enough to get started, though as a result of the pace only the very basics of each service is covered and anyone wanting to build a sophisticated app will have quite a bit of work in front of them learning the nuances of their chosen service providers.
Along with providing little detail of each service, the book suffers from not really digging into a number of topics that would make it a much more useful companion. Big challenges when building applications dependent on other peoples' servers include effective testing, caching, surviving third-party service outages, and good ways of integrating your interface code into your application.
Lip service is paid to the need to be prepared for a third-party service outage, but no examples of how to survive are offered. It wouldn't have been hard to illustrate ways of falling back to local databases or to secondary services, but none is offered. There's no mention of writing tests, so no opportunity to offer ways to use mocks to test the local code or to discuss how you might automate your testing of the integration itself, and caching is similarly overlooked except in the case of amazon e-commerce services where it is used to preserve historical data that amazon doesn't make accessible.
The absence of testing really shows through in some of the code offered. Much of the code demonstrated in the book is overly complex and procedural, with little in the way of modular, reusable components. Similarly there's little by way of discussion of where such code fits into your rails application, with some classes that are clearly models (albeit non-ActiveRecord models) dropped into the lib folder, and numerous very fat controllers.
Rather than covering seven separate projects, this box would have been much stronger had it focussed on two or three, but worked through them in significantly more detail. Possibly there wouldn't have been a chance to touch on as many services, but by building up one of the more diverse systems like the ticketing application in detail, covering failover, testing, clean integration with a rails app, and other such topics this could have been a much richer book with appeal for a far wider range of developers. As is, it's worth skimming through if you're looking for advice on sending faxes or SMS, but won't help much with the real challenges of building a robust application that's dependent on third-party services.
Disclaimer: I was sent a copy of this book for review by the publisher.

Click Here to see more reviews about: Ruby on Rails Web Mashup Projects: A step-by-step tutorial to building web mashups

Use Ruby and Ruby on Rails to create seven practical mashup projects following step-by-step instructions. This book is for Ruby on Rails developers who want to expand the features of their site by consuming remote external data and services. Basic knowledge of Ruby on Rails programming is required but you need not have any experience of any of the APIs used.

Buy Now

Click here for more information about Ruby on Rails Web Mashup Projects: A step-by-step tutorial to building web mashups

Read More...

Enterprise Rails Review

Enterprise Rails
Average Reviews:

(More customer reviews)
Dan Chak has written a really excellent introduction to enterprise web application architecture, and a worthy candidate for your technical bookshelf.
Calling it "Enterprise Rails" is a bit misleading, though. Rails only makes fleeting appearances. There's a great introduction to Rails plugin writing, which rightfully urges developers to move any decorator code to plugin modules. He talks a little about segmenting class files along Physical, Logical and Service boundaries, the point of which I have yet to understand completely. And there's a chapter on pushing Rails' application-layer polymorphism down to the data layer, which is good advice, but more on that later.
The bulk of Enterprise Rails is devoted to building a solid data layer. Again, good advice. The Rails team decided that referential integrity and validation belongs in the application layer, which Chak contends is dangerous (and I believe him). However, this is where things start to get a little hairy - enforcing referential integrity and validation in the data layer requires an early and continued adherence to SQL, and Chak makes it clear that any old SQL won't do: it's PostgreSQL or nothing.
This makes fully half of the book a dissertation on SQL domain description language from the Postgre perspective, domain data, third normal form and other data layer topics. I have greatly enjoyed the introduction to Postgres DDL, but it wasn't exactly what I expected from a Rails book.
The last few chapters are mostly about Service Oriented Architecture (which I suspect is why most people buy this book) and caching. Chak shows why he's an expert in enterprise software architecture here. But again, he takes a decidedly anti-Rails approach, emphasizing ActionWebService and XML-RPC. This is not without reason - nearly every language has an XML-RPC library. But ActionWebService, as Chak notes, isn't part of core Rails any longer.
REST is quickly reviewed, then mostly dismissed. There's a cursory example of a RESTful service. ActiveResource, Rails' useful core module for REST-oriented SOA, is never mentioned.
Pretty much every time Rails comes up in Enterprise Rails (which, as we've seen, isn't often), it's an opportunity for Chak to take it down a peg. Well, Rails deserves it. But I think that slapping the word "Rails" on the book cover is has more to do with marketing than anything else. This is really a tale about data modeling for the enterprise, with an emphasis on Postgre, told by an expert.
I'd say that this is required reading for enterprise developers, but don't take the "Rails" part of the title too seriously.

Click Here to see more reviews about: Enterprise Rails

What does it take to develop an enterprise application with Rails? Enterprise Rails introduces several time-tested software engineering principles to prepare you for the challenge of building a high-performance, scalable website with global reach. You'll learn how to design a solid architecture that ties the many parts of an enterprise website together, including the database, your servers and clients, and other services as well.
Many Rails developers think that planning for scale is unnecessary. But there's nothing worse than an application that fails because it can't handle sudden success. Throughout this book, you'll work on an example enterprise project to learn first-hand what's involved in architecting serious web applications.

With this book, you will:

Tour an ideal enterprise systems layout: how Rails fits in, and which elements don't rely on Rails
Learn to structure a Rails 2.0 application for complex websites
Discover how plugins can support reusable code and improve application clarity
Build a solid data model--a fortress--that protects your data from corruption
Base an ActiveRecord model on a database view, and build support for multiple table inheritance
Explore service-oriented architecture and web services with XML-RPC and REST
See how caching can be a dependable way to improve performance

Building for scale requires more work up front, but you'll have a flexible website that can be extended easily when your needs change. Enterprise Rails teaches you how to architect scalable Rails applications from the ground up.


Buy Now

Click here for more information about Enterprise Rails

Read More...

Ruby on Rails 3 Tutorial: Learn Rails by Example (Addison-Wesley Professional Ruby Series) Review

Ruby on Rails 3 Tutorial: Learn Rails by Example (Addison-Wesley Professional Ruby Series)
Average Reviews:

(More customer reviews)
There are as many rails tutorials on the web and in book form as there are ruby methods. An infinite expanse of information - most of it leading to heartbreak and frustration.
Hartl, with this book as well as the first venture, takes the reader by the hand and gently guides him/her/it/them/monkeybacon through the world of ruby and ruby on rails with the excitement and ease a master has when taking students along for a ride.
I have a collection of books and tutorials and, WITHOUT FAIL, each and every one of them ends somewhere with some sort of mistake in code that I've never been able to get over (including the first book by Hartl, by the way). Not so with this one. I completed the project outlined in this book. First time that's happened with any of the other books/tutorials.
As I am a functioning idiot, this is no mean feat. It is quite an accomplishment. Not by me, but by the author.
If you are able to view the tutorial videos, those will make your life that much better.
Buy it. Now.

Click Here to see more reviews about: Ruby on Rails 3 Tutorial: Learn Rails by Example (Addison-Wesley Professional Ruby Series)

"Ruby on Rails™ 3 Tutorial: Learn Rails by Example by Michael Hartl has become a must read for developers learning how to build Rails apps." —Peter Cooper, Editor of Ruby Inside

Using Rails 3, developers can build web applications of exceptional elegance and power. Although its remarkable capabilities have made Ruby on Rails one of the world's most popular web development frameworks, it can be challenging to learn and use. Ruby on Rails™ 3 Tutorial is the solution. Leading Rails developer Michael Hartl teaches Rails 3 by guiding you through the development of your own complete sample application using the latest techniques in Rails web development.

Drawing on his experience building RailsSpace, Insoshi, and other sophisticated Rails applications, Hartl illuminates all facets of design and implementation—including powerful new techniques that simplify and accelerate development.

You'll find integrated tutorials not only for Rails, but also for the essential Ruby, HTML, CSS, JavaScript, and SQL skills you'll need when developing web applications. Hartl explains how each new technique solves a real-world problem, and he demonstrates this with bite-sized code that's simple enough to understand, yet novel enough to be useful. Whatever your previous web development experience, this book will guide you to true Rails mastery.

This book will help you

Install and set up your Rails development environment
Go beyond generated code to truly understand how to build Rails applications from scratch
Learn Test Driven Development (TDD) with RSpec
Effectively use the Model-View-Controller (MVC) pattern
Structure applications using the REST architecture
Build static pages and transform them into dynamic ones
Master the Ruby programming skills all Rails developers need
Define high-quality site layouts and data models
Implement registration and authentication systems, including validation and secure passwords
Update, display, and delete users
Add social features and microblogging, including an introduction to Ajax
Record version changes with Git and share code at GitHub
Simplify application deployment with Heroku


Buy Now

Click here for more information about Ruby on Rails 3 Tutorial: Learn Rails by Example (Addison-Wesley Professional Ruby Series)

Read More...