pixel: (losers: jensen OK)
[personal profile] pixel2011-02-22 09:24 pm

[LinkSpam] Rails Tuesday #3

Mod note:
In an effort to give myself some more time to code I think I'm going to move these to every other week. There are a flood of posts and I feel it's better if I read things and take the time to understand before I link them. If someone else wants to pick up the off weeks, please let me know!
- [personal profile] pixel

Ruby:

How do I keep multiple Ruby projects separate?
http://rubylearning.com/blog/2010/12/20/how-do-i-keep-multiple-ruby-projects-separate
Using RVM or Ruby Version Manager to bring some sanity to your development environment.
level: basic

Include vs. Extend
http://rubyquicktips.tumblr.com/post/1133877859/include-vs-extend
What's the difference?
level: basic

Ruby’s define_method, method_missing, and instance_eval
http://www.trottercashion.com/2011/02/08/rubys-define_method-method_missing-and-instance_eval.html
Diving in deeper with ruby.
level: intermediate

Rails:

Move finder to named_scope
http://rails-bestpractices.com/posts/1-move-finder-to-named_scope
What are named scopes? Quick intro.
level: basic

CarrierWave File Uploads
http://railscasts.com/episodes/253-carrierwave-file-uploads
Interesting alternative to paperclip.
level: basic

Fixtures v. Factories – Can’t We All Just Get Along?
http://www.metabates.com/2010/08/15/fixtures-v-factories-cant-we-all-just-get-along
Using both, together, for better tests.
level:intermediate

Git:

tagging
http://gitready.com/beginner/2009/02/03/tagging.html
Introduction to tagging in git.
level: basic

Test Driven Development:

How to Become a Test Driven Developer
http://www.metabates.com/2010/10/12/how-to-become-a-test-driven-developer/
So you want to do TDD? A few pointers to get you started.
level: basic

Cucumber:

Cucumber Features In Subdirectories
http://lmarburger.github.com/2009/09/cucumber-features-in-subdirectories.html
How to make sorting features into sub-directories easier, that -r flag can be tricky.
level: basic

Transforming My Cukes
http://www.cheezyworld.com/2011/02/20/transforming-my-cukes/
Using transformations in your step definitions to simplify & DRY code.
level: intermediate
pixel: Alec the geek. (Leverage) (leverage: hardison geek)
[personal profile] pixel2011-02-08 11:07 am

[LinkSpam] Rails Tuesday #2

Ruby:

Joining elements of an Array to a String
http://rubyquicktips.tumblr.com/post/966804843/joining-elements-of-an-array-to-a-string
Ruby helps you do simple tasks easily and with less code.
level: basic

Ruby Tips Series
http://mashable.com/tag/ruby-tips-series
Tips from the experts on how to get-going or keep moving with Ruby & Rails.
level: all

Ruby 1.9 features, tips & tricks you may not know about...
https://gist.github.com/809804
Some new features for ruby 1.9
level: intermediate

Programming Ruby 1.9 excerpt about Regular Expressions
http://media.pragprog.com/titles/ruby3/ruby3_extract_regular_expressions.pdf
An entire chapter on regular expressions in ruby 1.9 for free.
level: basic & intermediate

Rails:

Development for Designers
http://intridea.com/posts/development-for-designers
A basic introduction to getting started developing for designers.
level: basic

Working with the flash hash
http://travisonrails.com/2008/08/17/Working-with-the-flash-hash
How to use rail's flash hash.
level: basic

Notifications in Rails 3
http://railscasts.com/episodes/249-notifications-in-rails-3
Notifications help to isolate certain logic out of models where it doesn't belong.
level: intermediate

Gem: CIJoe
https://github.com/defunkt/cijoe
A basic but useful continuous integration setup.
level: intermediate

Cucumber:

(My) Cucumber best practices and tips
http://eggsonbread.com/2010/09/06/my-cucumber-best-practices-and-tips/
This article will help you organize, clarify and reduce the size of your cucumber scenarios.
level: intermediate

Bundler:

Bundler Pro Tips
http://www.engineyard.com/blog/2011/bundler-pro-tip/
Some tips & tricks for using bundler, not just on rails! There are a good selection of tips, some are a bit more advanced than others.
level: basic & intermediate

Git:

the staging area
http://gitready.com/beginner/2009/01/18/the-staging-area.html
Some information on git staging for folks new to git.
level: basic
pixel: Scully in glasses, hair around her face. (X-Files) (xfiles: scully glasses)
[personal profile] pixel2011-02-03 10:41 am

[LinkSpam] Developer Thursday #1

Internet & Security:

Cookie Stealing With Cross-Site Scripting Explained
http://h30501.www3.hp.com/t5/The-HP-Security-Laboratory-Blog/Cookie-Stealing-With-Cross-Site-Scripting-Explained/ba-p/18857
A high level over view of how XSS works.
level: intermediate

Developer Development:

Three Ways to Retain Your Dev Flow
http://blog.jerodsanto.net/2011/01/three-ways-to-retain-your-dev-flow
Dev-flow is that state where you're kicking bug-butt and taking names.
level: basic

Readability and Naming Things
http://www.codesimplicity.com/post/readability-and-naming-things/
Code gets read hundreds of times more than it's written, be nice to your fellow devs, and your future self. Write readable code.
level: basic

Thoughts on the craft of programming: Abstraction, refactoring, and how changes introduce bugs
http://www.ibm.com/developerworks/rational/library/455.html
The first thing that strikes me is how easy it is to write programs that are almost right, and how hard it is to write ones that are exactly right.
* This piece does not talk about TDD at all, but in my opinion, in the 7 years since it was originally published, TDD has come to be a way to avoid these sorts of things. So to me this speaks to 'Why TDD?'
level: intermediate
pixel: Alec the geek. (Leverage) (leverage: hardison geek)
[personal profile] pixel2011-02-01 11:59 am

[LinkSpam] Rails Tuesday #1

An introductory note:
Hi,
I'm a rails developer. I also like to read blogs. I feel that my blog reading and exploring what is out there in the ruby community helps me to be a better rails developer. In an effort to share what I have learned, I've collected some of the posts I've seen recently. I don't completely agree with each post but I found it at least interesting and informative.
I've made an effort to sort posts by the level of difficulty. Please don't let that deter you from making the attempt to read things that may seem too advanced for you right now. You'll be surprised to realize how much you do understand. I would say that the level indicates either 'people at or aspiring to this level.'
I have found continuous learning to be one of the most rewarding aspects of programming, I hope you do too.
~pixel


Rails:

Rails Best Practices | Annotate Your Models
http://rails-bestpractices.com/posts/68-annotate-your-models
A gem that lets your insert comments that show your database schema in your model file.
level: basic

Bulk ALTER TABLE with Rails 3 and MySQL
http://m.onkey.org/bulk-alter-table-with-rails-3-and-mysql
Efficiency when you're modifying big tables.
level: intermediate

delayed_job_admin: a simple admin interface for Delayed::Job
http://trevorturk.com/2011/01/21/delayed_job_admin-a-simple-admin-interface-for-delayedjob/
Check on your delayed_jobs from over the internet with a web interface.
level: advanced

Front-End:

Gem: autorefresh
https://github.com/logankoester/autorefresh
a tool to automatically refresh your browser when a file has changed...
level: intermediate

Front-end Maintainability with Sass and Style Guides
http://www.engineyard.com/blog/2011/front-end-maintainability-with-sass-and-style-guides/
Using SASS to maintain your CSS files.
level: intermediate

Cucumber:

You're Cuking It Wrong
http://elabs.se/blog/15-you-re-cuking-it-wrong
Cucumber on the next level, what not to do.
level: intermediate

You're cuking it right
http://mislav.uniqpath.com/2010/09/cuking-it-right/
Cucumber on the next level, doing it right.
level: intermediate

Whose domain is it anyway?
http://dannorth.net/2011/01/31/whose-domain-is-it-anyway/
Another look at your features & steps, looking at the domain.
level: advanced

MySQL:

HandlerSocket: The NoSQL MySQL & Ruby
http://www.igvita.com/2011/01/14/handlersocket-the-nosql-mysql-ruby
A way to make MySQL faster than memecached.
level: advanced

Git:

On the Path with Fit-Flow (Screencast)
http://codesherpas.com/screencasts/on_the_path_gitflow.mov
David Bock gives a short introduction to git-flow, a tool implementing a specific git workflow.
level: intermediate