This is a reasonable guide to creating services and a service oriented application structure in ruby.
This is really a book looking at the low level baThis is a reasonable guide to creating services and a service oriented application structure in ruby.
This is really a book looking at the low level basics of services and how to implement them in rails (and other ruby web frameworks. A lot of examples are in sinatra, for instance). It is good for this basic level but I found it didn't really deliver in the areas I hoped, such as architecture and design issues with SOA and services.
It did provide some useful blocks for building up to a SOA though, such as a look at integrating a messaging queue in your application with RabbitMQ. However, I mostly felt that the book focussed too heavily on the low level details at the expense of discussing the higher level concepts and suitability of service architectures and SOA applications in general.
For those looking for the how, this book delivers perfectly. For those looking for the why, then they should consider a different book. ...more
'Metaprogramming Ruby' is one of the books that has been taking the ruby programming community by force, and it is easy to see why. Metaprogramming ha'Metaprogramming Ruby' is one of the books that has been taking the ruby programming community by force, and it is easy to see why. Metaprogramming has been espoused for quite some time as one of the most compelling features of the language, and for a lot of newcomers to the language it seems a complicated and arcane subject reserved for those who really know the hows and whys of programming in Ruby. A book that provides insights into this subject is destined for the bookshelves of rubyists everywhere as they seek to hone their Metaprogramming skills.
The book itself is written in a fairly novel fashion. It has 2 parts, the main one being composed of 5 chapters that follows a fictional week of work for a pair of ruby programmers delving into metaprogramming to solve various tasks. The 5 chapters form a fairly in-depth look at the Ruby object model, the various intricacies of it and, obviously, the metaprogramming aspects that deal with manipulating and playing around with the object model at run-time. The last day of the week is then on what most would class as quintessential metaprogramming - code that writes code.
The second (and much smaller) part of the book is about metaprogramming in rails. This is a very quick tour of some key parts of rails' design that really shows metaprogramming in action, with examples of ActiveRecord's dynamic attribute and finder methods. The book is summed up with a chapter on how to use metaprogramming safely, with examples showing how to test a class that uses metaprogramming techniques and on how to guard against unintended side-effects that are the cause of many problems.
The book as a whole is well written, with a novel and easy writing style, and it presents some fairly complex ideas in a way that is simple and accessible. If you have been programming in ruby for some time then it is likely that this book won't contain anything shockingly new but it could help to clarify some key points and help you understand Ruby better (like it has done with me). If you are a newcomer to Ruby, then the content of this book could open your eyes to a whole new vista of possibilities with Ruby and programming in general... just be careful to not over-do it :)...more
This is a fairly good introduction to several important security areas relevant to web development, and how to discover and prevent them in Ruby on RaThis is a fairly good introduction to several important security areas relevant to web development, and how to discover and prevent them in Ruby on Rails web applications.
It has a higher focus on Authentication than I initially expected, but this is a major source of errors in many web applications (prompting the now traditional Rails idiom of "don't do your own authentication, you'll only get it wrong. Use a library instead"). It also focuses on authentication with other systems, namely LDAP, OpenID, Kerberos and CAS. If you have a need to create a rails application that uses any of these, or to get some ideas for integrating with a more esoteric system (or just one not covered, like OAuth or Facebook Connect) then this may be a worthwhile book to read.
There is also some coverage of topics covered slightly in other books, such as the idea of using rails filters to implement a transparent encryption of data in the database for added database store security. This is mentioned in Agile Web Development with Rails, but covered much more fully here with cryptography concepts better explored.
Overall, the book is a fairly solid introduction to common key security concepts. It is a good foundation and covers stuff that all developers should be aware of, but if you want to focus primarily on security then you will need more than just this volume to give yourself the necessary knowledge....more