Friday, June 5, 2009
Workshop 8
We consider the 3 strengths to be:
• It uses ruby, which is an emerging new language for web development. The first strength, even though very obvious, we feel that it needs to be expressed. The use of ruby as a development language means that for most of us we will be learning something new. Because this is a master class, most of us have already done some web programming class in the past mostly using PHP or Java (I myself have done 4 classes involving the use of Java, and 2 classes with PHP). The use of Ruby instead of the more popular languages means that we are not repeating and re-learning the same thing again in a different environment.
• The workshop is made in a logical sequence. The Ruby on Rails workshop series was made in a logical sequence, for example, it started by giving a simple task of downloading and installing the Ruby on Rails, along with useful hints. And it developed from there on to more advance learning topics. This structure has made it very easy for students to follow the workshop.
• The workshop series included a lot of coding example. For most of us (or for me at least), the easiest way to learn a new programming language is by using examples, long and detailed explanation would not work as effectively as a coding sample and a little explanation on the sample. This is because IT is a very broad subject with many ambiguous technical term, to understand something it is easier to when we see it in practice.
2. List what you consider to be the three weaknesses of Ruby on Rails workshop series.
I consider the 3 weaknesses to be:
• The division of member in workshop 6 and 7. in workshop 6 and 7 we were put in to the group of developer and manager. This makes the student to focus on 2 group. We think it is much better if it requires us to work in a big group, that it started from the beginning, not only this will enable better communication but also will make it easier for the lecturers to mark each individual contribution to their own group.
• The workshop 5, 6, 7, 8 came out very late in the semester. For half the semester the students does not know anything about other workshop after workshop 4 this created a confusion of whether or not there will be more workshop. And also it wasted our time when the workshop came out after the semester break while the first assignment is due before the semester break, that created a large gap where we do not know what to do, if the workshop have come out earlier, than we could probably start it early and better manage our time.
• The workshop cover just the basic of Ruby. The workshop leave a lot of thing to be desired, it explains the basic and does not go deeply in to the more advanced topics in ruby. However, we realized that 8 workshop is barely enough to go too deep into learning a new programming language from scratch.
3. List what aspects of Ruby on Rails workshop series that you found to be the most difficult.
The most difficult aspects were:
• The most difficult aspect of the Ruby on Rails workshop is the collaboration. From the earlier workshop up to workshop 5 the collaboration is not that difficult, you only need to collaborate on one group consisting of three people at most. After that at workshop 6 and workshop 7 we suddenly got divided into 2 groups of developer and manager team. And everything change, not only you need to still be working in your own group, you also need to collaborate with other group members. And also since there is only 2 group for this tasks, it create a large number of people in one group which in my personal opinion is not effective, and makes it harder to work together.
4. List what improvement could be made to the Ruby on Rails workshop series.
Improvements I would make:
• One of the improvements that we liked to make for the Ruby on Rails workshop is changing it from a Windows based to a Linux based OS platform. I think this will make it more like they have in the industry, because lets face it, almost nobody in the real world uses a windows machine as a Web server platform unless they are running a .NET Website.
• Another improvement is for the workshop to compare the Ruby sample code with another sample code from a more known Web development language such as PHP or JSP, this will make it easier to understand it, at least for the people who have a web programming background.
• Make some sample and show some website that uses Ruby. The workshop should have put more sample on websites that uses Ruby, not only this will show us what are the Ruby capabilities in the real world but also gives us some idea on what to put in our own work that will make it better.
5. Reflect on your experience with the other Web framework used in this subject: was it effective? How can it be improved? Should other Web frameworks be used as well or instead of Ruby on Rails?
We think that Ruby on Rails is an appropriate Web framework to be used. This is because we think that Ruby on Rails would be a widely used Web framework in the industry. And for me personally I like learning new technology and development languages, and Ruby, for me is a new technology that I have never got into before, so it is much better than doing the same old thing with Java or PHP.
6. Did the Developer’s or IT managers Team that you joined after workshop 4 have a preference towards using other tools to facilitate collaboration? Comment on the differences between these use of the sub-forum or Interact wiki tools from your experiences in this subject.
The developer’s team do not uses any collaboration tools. However the manager’s team have use the google groups to do their collaboration. They uses the group to communicate with each other and work together. However, they still mostly uses email to do their collaboration, this is because it is easier to use email to send files then using the google groups, and the email can have more specification on who receive what information, which is something that is hard to do using the google groups.
7. Further comments:
All in all, Ruby on Rails workshop series have been a good learning experience for the students, although it is not perfect in any way. However this is a good thing, considering how well this workshop have been, the fact that it can still get better is really a good news for the next batch of students that will be taking this class in the future.
Thursday, June 4, 2009
Workshop 8 (Engin Sahinel)
- I could find out MVC design;
- I could gain basic level experience on building a web site for e-commerce;
- I could find out importance of team work and ruby on rails which is the easiest and fastest way to develop a web site, through these workshop series.
2. The three weaknesses of Ruby on Rails workshop series are;
- All workshop questions required too much documentation;
- Sharing our experiences part was helpful but it would not be must.
- Due to scripting language disadvantages, I spent too much time to find out my mistakes while i was developing.
3. The most difficult aspects were:
Finding out expected results of the workshop questions and learning a new scripting language was quite difficult for me. I wish to learn a new generation web site programming language such as, PHP or ASP.
4. Improvements I would make include:
At the beginning, a well designed tutorial should be prepared for beginners. For example, it can include how to install and configure software then how to develop a program using its API. In addition, instead of too basic examples, we should work on real world applications.
5. Comments for Web framework used in these workshops;
As I stated above, I prefer to study on mostly used web frameworks like J2EE and .NET, rather than Rails framework. In addition, instead of 8 workshops, 1 or 2 big real life projects that should run on the other popular web frameworks, can be assigned to us. Because when we look for a job, we can meet the industry requirements.
6. Comments on other tools to facilitate collaboration
I was studying as a developer after workshop 4. During this semester, we used google group, It provided to discuss on our problems and let us to share our positive or negative experiences. However, except our lecturer, there were no experienced person about Ruby on Rails applications. For that reason, usually we needed to get his help and when I got trouble during my developing processes, I asked to him directly or researched on google books.
7. Further comments to add?
In my opinion, social networking should not be as a marking criteria. In conclusion, although I have some concerns about web framework, I am happy to learn new programming language and web programming techniques. I want to thank Peter for his patience and help.
Workshop 7 - DEVELOPER’S THREAD
So far, we have developed a Ruby on Rails application. Due to, rails is a server independent language, you can focus on development rather than deployment. Therefore, we are going to introduce ways of deploying ruby on rails applications and deploying JRuby on Rails applications.
Deploying Ruby on Rails
Most Rails organizations use Capistrano to handle the actual deployment. On the other hand there are some ways to handle deploying. These are;
WEBrick
The simplest way or handling a Rails application is to handle it the same way you do when developing it: start a WEBrick server and be done with it. This solution is probably one of the worst ones. WEBrick is highly useful for testing your application during development. It’s small, it’s pure Ruby, and it's already installed on all Ruby machines. This makes it straightforward to handle. On the other hand, it’s written in pure Ruby, which means the performance could be much better. In fact, WEBrick is slow. It also has a tendency to hang and stop responding after a while. For these reasons, it works fine for short-lived development runs, and possibly also for running automated test suites. However, for real-world deployment, you need another solution.
Mongrel
Mongrel is widely believed to be much faster than WEBrick, and is also a good standalone library for creating smaller web applications. In many places, Mongrel has replaced WEBrick as the server of choice for Rails development. Because it is fast to start and easy to configure in standalone mode, this means you get a better and faster web server for your Rails development, all for free. For smaller web applications, you can also use Mongrel in standalone mode to serve Rails applications in production. If you know that the site traffic will be small, and there is no huge demand on scalability. Mongrel is usually good enough. It's also easy to get going; you can just start it with script/server and it runs accurately.
Pack of Mongrels
To solve the scalability problem with Mongrel, the standard solution is to deploy a “pack of Mongrels. This lets you start several Mongrel instances on the same machine with consecutive port numbers. The other side of this is usually a load balancer or some sort. The two most common real world deployments use Apache and Pound. The beauty or this solution is that if your needs grow, or if your site gets popular, you can just add more Mongrel instances, on the same or another computer. The Apache front end then load balances over all the new Mongrels with a reloading of the configuration tile (Bini, 2007, p. 200).
Deploying JRuby on Rails
JRuby is a Java implementation of the Ruby Programming Language. It is tightly integrated with Java to allow the embedding of the interpreter into any Java application with two-way access between the Java and Ruby code (Edelson, & Henry, 2008, p. 182). As it is mentioned above section, there are some variations on how to deploy a Rails application with Ruby framework. In addition to this there are some new possibilities using with JRuby.
WEBrick
Using WEBrick during development usually works well with JRuby. However, for deploymen, it suffers from exactly the same problems as WEBrick on regular Ruby: it’s slow and unstable, having a tendency to stop responding. Except for the most noncritical applications, you shouldn’t use WEBrick for deployment in JRuby.
Mongrel
Mongrel has a native extension written in C, which is one of the reasons its faster than WEBrick. This extension has been ported to Java, which means you can use Mongrel from JRuby. In addition, JRuby on Rails application has many advantages with Mongrel as regular Ruby.
Retty
Retty is a simple Rails plug-in, based on the Java web containers Jetty and GoldSpike. When you’ve installed the plug-in, you can start a Jetty server that handles Rails requests with this command: "jruby -s rake retty:run" Jetty is a small and fast web container, and running smaller Rails applications in this way makes for the best parts or a Rails application and embedding a real Java web server. You can use Retty for deploying smaller standalone applications without a problem, and It can also easily be used in a pack.
As a result, you can use Mongrel for smaller applications, but when your web page has high traffic rates, you need to use a real load balancer in front of them. The problem with this approach on the Java platform is that you don’t want to start several JVMs, because they are slow to start and resource heavy. JRuby supports the option of starting a JRuby server and spreads new runtimes for each request that arrives on that port. By using that capability, you can start several Mongrel instances in the same JVM (Bini, 2007, p. 205).
Can you get the OTBS Running in production mode as a minimal production server?
In order to have a minimal production server, we are going to use Mongrel Web Server for OTBS application. As it is stated above paragraph, Mongrel is quite efficient for this application at the beginnig. Then, Sqlite database is goning to be used. After these two significant part is installed to the production server, they are needed to configured properly for your application (OTBS). After all processes are completed accurately, the server can publish your application and everyone can access your web application all over the world.
References
Bini, O. (2007). Practical JRuby on Rails Web 2.0 Projects: Bringing Ruby on Rails to the Java Platform. Apress.
Edelson, J., & Henry, L. (2008). JRuby Cookbook (First ed.). O'Reilly Media.
Wednesday, June 3, 2009
Workshop 6 - DEVELOPER’S THREAD
o generate a controller and an action by adding a method(s) to a controller;
o create a view template for each action and to link to actions from views;
o use AJAX to improve the user experience.
After "Modeling users", "Registering users", "Logging in and out"and "Advanced login" chapters that are on the Rails Space book are completed, we have a new online taxi booking service that includes user registration feature.
1. When you type the web address of the OTBS, first page is about login the system.

2. If you try to pass "login" or "register" steps, it insists on you to login first.

3. If you do not have an account, you need to register as shown below.

4. After the successful registration process, you will see the home page that allows the user creating new passenger details, showing all passengers and and showing all destinations.

Tuesday, June 2, 2009
Workshop 5 - DEVELOPER’S THREAD
In this part of the workshop 5, interaction between controller and view, on MVC structure, will be shown. We are going to use ruby on rails development environment to do this.
1. Create the Rails application framework in the projects folder: C:\InstantRails\...\projects\>rails animals

2. Running the application on localhost:3000 using the WeBrick ruby server (or Mongrel as alternative) and access via Web browser at http://localhost:3000/

3. Create the controller to make the application do an action. This is under the controller-action/model-view structure.
Stop the WEBrick server each time you edit Ruby classes and then re-start or refresh the views you are testing. Use the Ruby command below:
>ruby script/generate controller Mammal
The mammal_controller.rb contains just a bare class description:
class MammalController

4. Test the controller by starting the WEBrick server and navaigatibng the browser to http://localhost:3000/mammal Note how the controller name is appended to the end of the URL and that no action resulted because there are no controller methods.

5. Create an action by editing and saving the mammal_controller.rb class in projects\animals\app\controllers using your text editor to add the method below:
class MammalController

6. Start the WEBrick server and browse at http://localhost:3000/mammals/breathe where you will get a “missing template” message since it is missing a view for the breathe method.
Rails is trying to connect the breathe method action of the mammal controller to a view, by using the action’s name – breathe. This view template is created as breathe.rhtml and stored in the \projects\animals\views\mammal directory.

7. Create and save a view in that directory by using a text editor to create a view called breathe.rhtml

8. Try Ruby code and HTML in the action view by using the <%....%>wrapper around the inserted Ruby code.
In this part of the workshop 5, we are going to show how to pass data from an action to a view.
In this part of the workshop 5, we are going to show using of radio buttons, text box and combo box. In addition to this, you will see how to pass data from a public file to view file through controller.
Tuesday, May 26, 2009
Workshop 5 - IT INFRASTRUCTURE MANAGER’S THREAD
1.
a. Wiki pedia (2008) defines Short Message Service (SMS) as "a communication service standardized in the GSM mobile communication system, using standardized communications protocols allowing the interchange of short text messages between mobile telephone devices." SMS was originally defined only as part of the GSM standards in 1985 as a means of sending messages of up to 160 characters (including spaces), to and from GSM mobile handsets. However since then, support for the service has expanded to include alternative mobile standards such as ANSI CDMA networks and Digital AMPS, as well as satellite and landline networks.
that means that to support just the SMS services for the Online Taxi Booking System (OTBS) any kind of modern mobile phone devices will be capable of supporting that feature.
Reference:
Wikipedia. (2008). Short Message Service. Last accessed 26/05/2009 from http://en.wikipedia.org/wiki/Short_Message_Service
b. However, for the OTBS to be able to support the full user experience by not only using SMS, but also Google Maps and GPS Taxi Tracking system is a little more different in terms of the device needed. But first we need to understand more on GPS and Google Maps.
according to Wikipedia (2009) Global Positioning System (GPS) is "The Global Positioning System (GPS) is the only fully functional Global Navigation Satellite System (GNSS). The GPS uses a constellation of between 24 and 32 Medium Earth Orbit satellites that transmit precise microwave signals, that enable GPS receivers to determine their location, speed, direction, and time."
While Google Maps according to Wikipedia (2009) is "Google Maps (for a time named Google Local) is a web mapping service application and technology provided by Google, free (for non-commercial use), that powers many map-based services, including the Google Maps website, Google Ride Finder, Google Transit, and maps embedded on third-party websites via the Google Maps API. It offers street maps, a route planner for traveling by foot, bicycle, car, or public transport and an urban business locator for numerous countries around the world. It also can help find the location of businesses."
Now to support both of these feature, luckily for us On November 28, 2007, Google Maps for Mobile 2.0 was released. It introduced a GPS-like location service that does not require a GPS receiver. The "my location" feature works by utilizing the GPS location of the mobile device, if it is available. This information is supplemented by the software determining the nearest cell site. The software then looks up the location of the cell site using a database of known cell sites. The software plots the streets in blue that are available with a yellow icon and a green circle around the estimated range of the cell site based on the transmitter's rated power (among other variables). The estimate is refined using the strength of the cell phone signal to estimate how close to the cell site the mobile device is.
As of December 15, 2008 (2008 -12-15), this service is available for the following platforms:
Android (HTC Dream)
iPhone OS (iPhone/iPod Touch)
Windows Mobile
Nokia/Symbian (S60 3rd edition only)
Symbian OS (UIQ v3)
BlackBerry
Phones with Java-Platform (MIDP 2.0 and up), for example the Sony Ericsson K800i Palm OS (Centro and newer).
Reference:
Wikipedia. (2009). Introduction to Global Positioning System. Last accessed 26/05/2009 from http://en.wikipedia.org/wiki/Introduction_to_the_Global_Positioning_System.
Wikipedia. (2009). Google Maps. Last accessed 26/05/2009 from http://en.wikipedia.org/wiki/Google_Maps.
2. For the OTBS stage 2 development which is the company Web 2.0 website we will need the following:
Hardware:
Server Computer: to be able to host the company website we will need a computer that has the specifications that will enable it to be a server. The specifications of the software that will be installed in the computer will be listed later.
Mobile Devices: to be able to support the full user experience of the OTBS we will need new mobile devices that will be able to support SMS service, GPS Taxi Tracking, and Google Maps. From all the mobile devices that we have listed above, we recommend the use of blackberry, the reason is that we think that blackberry is a more user friendly device.
Network:
SMS Gateway: SMS gateway is the term used to describe a service transforming messages to mobile network traffic from other media, or vice versa, allowing transmission or receipt of SMS messages with or without the use of a mobile phone. This will enable automatic SMS services from a computer to the taxi driver mobile devices.
Software:
Ruby: this will be the development language for the website.
Mongrel: this is the ruby web server application, this application will be able to host websites that is written in ruby.
Adobe Dreamweaver (formerly known as Macromedia Dreamweaver): this is web development application that will enable user to design websites easily. The latest version is version 10.0 or known as the Adobe Dreamweaver CS4. However, anything starting from the version 6.0 which is Macromedia Dreamweaver MX is usable.
MySQL: this is the database server that we will be using for the website. The reason why we choose MySQL is because it is an open language application therefore will reduce the expense compared to using SQL server for example.
Personnel:
Ruby Web Developer: we will need staff that will be able to program a website in ruby to be able to develop the website.
Web Designer: some of the time web developer will also be the web designer. However we think it is best to divide this responsibility to create a better and more interactive system.
Database manager: this will be the staff that will manage the integrity if the database.
Web Manager: after the website is up and running it will need someone to ensure that the contents is all up to date. That is the task for the Web Manager.
PART B
Services | Improvement on Customer Experience |
Horizontal Scalability (ordering taxi via phone call or SMS, mobile Internet, desktop or laptop computer. |
|
Service Oriented Features (SMS updates on location data, knowing the driver’s name before the ride, and being greeted by your name, etc) |
|
Web 2.0 Customer Service Enabled |
|
PART C
1. Before The Ride BPM Diagram
2. During The Ride BPM Diagram
3. After The Ride BPM Diagram
Friday, April 10, 2009
Monday, April 6, 2009
Workshop 4
1) Spend some time moving your way through the 46 Ruby coding examples in the Ruby Tutorial with Code from http://www.fincher.org/tips/Languages/Ruby/
On this tutorial, you can learn basic to advanced programming techniques on ruby. Besides that, you will learn quite efficient tips on ruby programming language.
This tutorial covers following important topics;
1. Getting input from user
2. Learning how is a function called by another function
3. Basic syntax structure and default functions in ruby such as, upcase, puts...etc.
4. Adding methods to existing library classes.
5. Variable naming. For example meanings of $, @@, @, ?, !, #, \, __END__, and so on...
6. Object oriented programming techniques
7. Data structures
8. Control statements, such as if, when, while...
9. Regular expressions which are surrounded by "//" or "%r{}".
10. File input/output methods
11. Miscellanous Commands
12. Using of REPL (Read, Eval, Print, Loop)
13. Ruby on Rails properties
14. Watir GUI usage
15. How to use Watir with NUnit
After this tutorial, we can say that ruby is a fourth generation language like JAVA. It provides many easy ways to develop an application.
2) What are the syntax differences in the way that Ruby and Javascript use the if
statement?
If statement synatx for Javascript;
if (condition1)
{
code to be executed if condition1 is true
}
else if (condition2)
{
code to be executed if condition2 is true
}
else
{
code to be executed if condition1 and
condition2 are not true
}
If statement syntax for Ruby
if condition1
code to be executed if condition1 is true
elseif condition2
code to be executed if condition2 is true
else
code to be executed if condition1 and
condition2 are not true
end
As it can be seen from above descriptions, Ruby is a very clean and readable programming language. Unlike Javascript, it is not needed with curly brackets and space between else and if key words or hard to understand method names. But in order to specify end of the if statement block, you need to write "end" under the last condition in Ruby.
3) While Ruby and Python are quite similar, can you find some similarities between Ruby and Javascript?
1. Perl and Python provide unlimited extent for variables captured in closures, but Ruby and Javascript do not.
2. Both of them are object oriented languages. So, they need same programming knowledge.
3. In javascript, any function can be passed as a parameter like in ruby.
4. In both languages, an object without functions can use another object's functions if they are exist. (Scott, 2006, p. 724)
References
Scott, M.L. (2006). Programming language pragmatics (2nd ed.). Morgan Kaufmann Press
Challenge Problems
1. Create, test and debug a Ruby program called dognames.rb or catnames.rb to accept 3 names from the keyboard and to display each name on the screen in alphabetical order WITHOUT using a data structure such as a list.
You can see catnames.rb code and its' executed result below windows;


2. Write a Ruby program called fizzbuzz.rb that prints the numbers from 1 to 100. But for multiples of three print "Fizz" instead of the number and for the multiples of five print "Buzz". For numbers which are multiples of both three and five print "FizzBuzz".
You can see fizzbuzz.rb code and its' executed result below windows;


3. Compare the Ruby and Python versions of the dog years calculator:
#!/usr/bin/ruby
# The Dog year calculator program called dogyears.rb
def dogyears
# get the original age
puts “Enter your age (in human years): "
age = gets # gets is a method for input from keyboard
puts # is a method or operator for screen output
#do some range checking, then print result
if age <> 110
puts "Frankly, I don't believe you."
else
puts "That's", age*7, "in dog years."
end
dogyears
Python
#!/usr/bin/python
# The Dog year calculator program called dogyears.py
def dogyears():
# get the original age
age = input("Enter your age (in human years): ")
print # print a blank line
# do some range checking, then print result
if age <> 110:
print "Frankly, I don't believe you."
else:
print "That's", age*7, "in dog years."
### pause for Return key (so window doesn't disappear)
raw_input('press Return>')
def main():
dogyears()
main()
1. In Ruby, constants begin with a capital letter, local variables with a small letter, global variables with the prefix $ and instance variables, attributes with the prefix @.
2. Method definition styles differ from each other. Ruby does not uses bracklets but Python does.
3. Read and write commands also differ from each other.
4. In Ruby, there is a "pause command" but Python does not use.
5. Ruby's condition statements are different from Python's condition statements. For example, in ruby; "elseif" and "end" key words are used. In Python, just uses "elif" key word.
Workshop 3
1) Set up the MySQL tools on your computer from the below link.
http://dev.mysql.com/downloads/gui-tools/5.0.html
After download progress is completed, you will need to open your Windows Vista Firewall to permit MySQL connections to the MySQL server port (3306). To do so, open Control Panel again, and select the Allow a program through Windows Firewall option of the Security group.

Finally, you can start installing MySQL. Double-click the Windows Essentials MySQL setup program to get started:

Select the default (“Typical”) settings and location and let the program install itself.

After, installation and configuration processes, you still need the Ruby on Rails gems. Install them with the command "C:\> gem install rails capistrano mongrel mongrel_cluster".
The MySQL adapter gem needs to be installed next. "C:\> gem install mysql"
Once the command completes, you should be able to use ruby on MySql database.
2) Rails will setup a new application directory for each of your Web application projects. Get InstantRails (Windows) or Locomotive (MacOS) running on your machine. Both packages install Ruby, Rails, a Web server or one called ‘Mongrel’ or another small Ruby Web server called ‘WEBrick’, and MySQL “inside a bubble” as I call it so that others parts of your system are not modified (Similarly ZOPE does with installing its own Web server and Python versions).
As it is introduced on workshop 2, I prefered to get InstantRails because of my computer's operating system. We can see its file system and content on below window.

3) Once Rails is running you at http://localhost:3000, you need to configure database access. Connection to the database is specified in the config/database.yml file.
On this project, I am going to use sqlite3 database system. So, I need to specify, it's configuration requrements.
4) Generate the Passenger model by creating the MySQL database.
Now, we need to create required table for our application. Command by "ruby script/generate scaffold origin name:string contact_no:integer suburb:string street:string street_no:integer building:integer"After this process, you have to command "rake db:migrate" to create MVC based files.


After these two commands, table is cretated on sqlite3 database and other required files for model, view and controller directories are created as well. So, we need to restart web server with mongrel.
Then, open a web browser and type "http://localhost:3000/origins"




Now, we have two separate tables and their belongings with MVC files. After that point, we need to create an association between destination which is shown on workshop 2 and origin. So, associations allow abjects to interact.
Associations are methods that map the primary keys of one table to the foreign keys of another; the relational mapping part of “object-relational mapping”.
Open app/models/destination.rb and modify its contents with the following window:
Key word is on this screen is belongs_to :origin. The belongs_to method provides association with another table that we wish to associate. And this table (destinations) has a foreign key column called origin_id that will reference the id column in the origins table.
After all association processes are completed, final screens will be like below.
5) Further work on understanding MySQL under Rails by David Mertz:
a. See “Fast-track your Web apps with Ruby on Rails” at http://www-128.ibm.com/developerworks/linux/library/l-rubyrails/
David Mertz, on this article, gives brief explanation about Ruby on Rails and its fundamental structure on MVC. In other words, it mentions that benefits of Ruby on Rails to the developers and how it uses MVC design pattern. These two main topicis were introduced in previous workshops. Moreover, on this article emphasize that code generation processes and creating an association between two different tables for a same application. Code genaration processes include generating the scaffold model and controller, and customize the view for user expectations. Besides that, all of them is working on MySql database, so he mentions how does ruby on rails work on MySql databese. Consequently, this article is quite useful to have strong knowledge on Ruby on Rails and MySql for beginners.
b. The “Rolling with Ruby on Rails” series and “Cookbook recipes by Curt Hibbs and others beginning at http://www.onlamp.com/pub/a/onlamp/2005/01/20/rails.html
Rolling with Ruby on Rails article is a kind of user manual for beginners, because it mentions from installations processes to your first application's coding requirements, step by step. These are;
1. Ruby installation
2. MySql & MySql Front installation
3. Cookbook web application basic file creation.
4. Table and fields creation on MySql database.
5. Creating an association between a recipe and category tables
6. Summary
On this article, although, versions of Ruby and MySql are not latest ones, it is quite useful for beginners to understand what they need to start to learn ruby.
























