-
The organization and management of a software development team is one of the key factors to create
quality software, so it’s crucial for software teams to have clear definitions and apply good practices
to make the management of the team a strength more than a weakness. In this article, We’re going to
explain how ArchDaily’s Development Team handle its day to day job and why We use the methodology that
We use.
-
Sunspot-rails gem is an interface between Solr indexing service and Rails. Here you will learn how to upgrade without fear.
-
Sometimes we need store localized data in our MongoDB database, maybe one way to do that is create a ‘Translations’ table, where we store the localized fields. Another way is create multiple fields like “name_en”, “name_fr”… But Mongoid has a ‘better & simple’ way to do that… ###”Localized Fields” by Mongoid from v2.4.0 Add ‘localize’ flag to the field Class Post include Mongoid::Document field :name, localize: true end Set the locale before assign the field value post = Post.new I18n.default_locale = :en post.name = "Little Duck" I18n.default_locale = :es post.name = "Patito" post.save The result post.name_translations => { "en" =>...
-
Maintainability is an important factor in software development. As developers, we need to ensure the best quality in our products in the event that other developers must continue developing the product at a later stage. It’s hard to define maintainability, but some questions that can indicate how maintainable our software is, are: Is our software easy to change? Is our software easy to analyze? Can our software be easily extended once it is finished? Is the value of test coverage enough? How modular is our software? How much code reuse is present in our software? How much code can we...
-
When I began internationalizing an application, I started wondering which were the good practices. After reading some tips in many blogs I concluded that there’s no silver bullet, but there are some tricks that can simplify your work. Here are some tips and tricks that I’ve learned: Choosing locales names For choosing the names of the locales that you are going to use, the best is to follow the standard defined in Sven Fuchs’s repository rails-i18n. Setting the site in the URL One option for setting the site in the application is using the URL (e.g. innovation.archdaily.com/us). In my opinion...
-
A few days ago, I took a course about RSPEC. This post is about the two things I enjoyed most: Stubbing and Mocking.
Stubbing is a way to fake a call to a method. Sometimes we need to test a method A that calls another (very huge) method B inside, and testing method A should test just method A, not method B, right?
Mocking is an expectation of a Stub getting called.
Let’s see some code now.
-
I love getting daily reports from all our services. It’s very useful to see a snapshot of what’s going on with a service. One day I decided I wanted a daily report from Google Analytics, so I started searching how to get it. First, I set up a Dashboard, then I realized that it could be possible to get this dashboard on my email every day… sweet! Then I got my automatic email and what did I get? An ugly PDF file attached to that email. I was really expecting a little more coming Google. Then, browsing the web, I...
-
One day I was reading Hacker News when I stopped in a gist named a simple git branching model by Juan Batiz-Benet. After sending it to The Amazing Dev Team we started discussing how to have a simple, clean and semantic branching model. After a few conversations during these months, we decided to write it down to specify the rules and why they work for us. The Rules master must always be deployable all changes should be made using feature branches (merging with master) all hotfixes should be made in the hotfixes-{name} rebase to avoid/resolve conflicts; merge into master The...
-
Maybe you tried VIM in the past and you don’t understand how this primitive tool can increase your “code writing” performance. But maybe you tried with the wrong VIM version… My mission today is change that bad feeling about VIM. ###The essentials steps to transform VIM into a real cool guy: VI != VIM, VIM is evolution, VI is legacy crap. To use VIM you must learn how to use it…that sounds really obvious, but believe me you need courage to learn VIM VIM is like a car, if you improve your car components, your car goes faster and looks...
-
A few years ago, we started coding ruby/rails applications using vagrant + chef in our computers, runinig tests with minitest/rspec/etc and then deploying to one or two AWS EC2 instances using capistrano. A few months later, we discovered jenkins, so we changed a little bit our deployment workflow: now we pushed to master at GitHub; jenkins was notified thanks to GitHub Hooks, and if all tests passed, the code was deployed to our AWS EC2 instances, with capistrano, in the jenkins server. Everything was great until the day we realized we needed to scale up automatically, with an AWS Auto...
-
Yes, we are using Jekyll to put our knowledge into the web.
We will post things we think could be useful for someone else (and as a remember note to us)
Feel free to contact us to disqus about our posts ;)