We are happy to announce the addition of The Week Publications – US publishers of websites TheWeek.com and Mental Floss – to our roster of clients. We look forward to supporting our new client’s technical endeavors going forward!
Efficiently parsing SQL query result sets into the hierarchical data structures with which applications normally operate has been a problem for quite a long time. Numerous attempts have been made over what feels like the ages to solve the problem, the essence of which is that the strictly two-dimensional grid nature of what’s returned by a SQL SELECT query – those rows and columns – map very poorly to the tree. More generally speaking, they don’t suit the graph-like data structures utilized by modern applications to model the world. Continue reading
Object Relational Mapping, or ORM, has enjoyed a long run of being accepted as a standard paradigm for middle-tier, server-side software work with a back-end database. It’s wide spread and “no-brainer” status originated, probably, with the popularity of a single, exceptionally successful Java framework called Hibernate. The idea behind ORM is blending the line that separates the middle-tier and the persistence layer and making them practically one piece. So-called persistent objects become something that simultaneously belongs to the persistence layer and the rest of the application that works with them – often even in the presentation layer.
Sometimes sorting is not just a matter of one simple line of code. For instance, what if your website has a tracking cookie that records the last three taxonomy pages visited and your “Related Articles” blocks need to be prioritized according to the order of these taxonomies? How will you handle this?
News from Amazon… MariaDB is now available as a fully-managed service on AWS with up to 6TB of storage, 30,000 IOPS, and support for high-availability deployments through the Amazon Relational Database Service. Amazon RDS for MariaDB is available in all commercial regions. You can start running production workloads from day one with high availability using multiple availability zones.
From Amazon… “Amazon Aurora is now available to all customers. Amazon Aurora is a MySQL-compatible relational database management system (RDBMS) that combines the speed and availability of high-end commercial databases with the simplicity and cost-effectiveness of open source databases. Amazon Aurora provides up to five times better performance than MySQL at a price point one tenth that of a commercial RDBMS while delivering similar performance and availability.”
Drupal is written with PHP – a language that has quite a few limitations: request-response logic, one thread per request, no shared-in-memory variables between requests, among other strictures. PHP is easy and fine when you only need to render HTML pages, but what if you want to add real-time applications like chat, streaming analytics, or document collaboration? For these, a better approach is to use the WebSocket protocol. Languages like Java or C++ support this protocol in their core, but not PHP. If we want to develop real-time applications, can a Drupal website avoid writing some part with Java or C++ or using third-party products like Google Cloud Messaging (GCM)? The answer is yes.
When developing a Web app with PHP, especially when using a framework or a CMS, most often you just don’t care about sessions. Less frequently, you store and access some information from a session, accessing it via language constructs (like “singleton” object (e.g. ZendSession in Zend framework), some special wrapper functions or just $_SESSION global). More often, though, you don’t bother monitoring how and where sessions are stored. But sometimes you should.
The basic purpose of this post is to talk about how, when developing a high-load website, to allow users to log on and access some personalized information. When you have hundreds of thousands hits per day, you should expect that tens of thousands users will log in to their respective accounts. That’s when you need to start caring about session storage. Continue reading
To apply, please email your resumé to firstname.lastname@example.org today!