PHP makes it relatively easy to build a web-based system, which is much of the reason for its popularity. But its ease of use notwithstanding, PHP has evolved into quite a sophisticated language, with many nuances and subtleties that can bite developers, leading to hours of hair-pulling debugging. This article highlights ten of the more common mistakes that PHP developers need to beware of.
Which Ruby implementation is right for your project? While the reference implementation (Ruby MRI) remains the interpreter of choice, an alternate Ruby implementation may be right for your project, depending on your operational goals and constraints. This article showcases the Ruby interpreter implementations and runtimes available today, discussing the advantages and disadvantages of each.
Rails is both easy to use—and also to misuse. Let’s look at 10 common Rails programming mistakes, explore their consequences, and discover ways to steer clear, as we write clean Ruby on Rails code.
Python's simple, easy-to-learn syntax can mislead Python developers -- especially those who are newer to the language -- into missing some of its subtleties and underestimating the power of the language. In this article, Toptal's Martin Chikilian presents a "top 10" list of somewhat subtle, harder-to-catch mistakes that can trip up even the most advanced Python developer.
Elasticsearch provides a powerful, scalable tool for indexing and querying massive amounts of structured data, built on top of the Apache Lucene library. Building on the foundation of Elasticsearch and the Elasticsearch-Ruby client, we've developed and released our own improvement (and simplification) of the Elasticsearch application search architecture that also provides tighter integration with Rails. We've packaged it as a Ruby gem named Chewy. This post discusses how we accomplished this, including the technical obstacles that emerged during implementation.
More often than not, the software we write directly interacts with what we would label as "dirty" services. In layman's terms: services that are crucial to our Python application, but whose interactions have intended but undesired side-effects—that is, undesired in the context of an autonomous test run.
Inexperienced programmers often think that Java's automatic garbage collection frees them from the burden of memory management. This is a common misperception: while the garbage collector does its best, it's entirely possible for even the best programmer to fall prey to crippling memory leaks. In this post, I'll explain how and why memory leaks occur in Java and outline an approach for detecting such leaks with the help of a visual interface.
Sometimes I hear people complaining about their clients, saying that they insist on using Rails, that they've had too much Kool Aid. If they are recruiters, they almost feel sick in the stomach from perspective of having to find yet another ROR primadona. From the programmers point of view it sometimes looks like clients don't have a clue. However, I believe most clients know their options just fine and they still decide to go with Rails.
Sometimes, clients give us feature requests that we really don't like. It's not that we don't like our clients, we love our clients. It's not that we don't like the feature, most client-requested features are aligned perfectly with their business goals and income. Sometimes, the reason we don't like a feature request is that the easiest way to solve it is to write bad code, and we don't have an Elegant Solution on the top of our heads. This will throw many of us on fruitless searches through RubyToolbox, github, developer blogs, and stackoverflow looking for a gem or plugin or example code that will make us feel better about ourselves. Well, I'm here to tell you, it's okay to write bad code. Sometimes, bad code is easier to refactor into beautiful code than a poorly thought out solution implemented under a time-crunch.
World-class articles, delivered weekly.
Subscription implies consent to our privacy policy
Thank you!
Check out your inbox to confirm your invite.
Join the Toptal® community.