Redis is an open source key-value cache and storage, which designed to be very fast since it uses in-memory datasets. Of course, you can persist your data by dumping it to the disk if you need it. Redis supports different data structures such as strings, lists, sets/sorted sets, hashes; atomic operations on these types, master-slave asynchronous replication, transactions, etc.

If you are using Doctrine with Symfony, Redis is a great tool to be used for caching, which is very easy to setup and it can drastically improve performance of your application.

Read on →

Docker is an open-source platform that automates the development and deployment of applications inside of so-called software containers. It provides an additional layer of abstraction and automation of operating-system-level virtualization on Linux systems. Docker lets you assemble applications from components quickly and easily.

Docker is widely used by many companies for development, continuous integration, deployment and testing. Here is a short presentation how it used at Spotify.

I’ve been playing around with Docker for some time now and I’m really impressed how quickly you can setup new Linux disto with required parameters. Today I’m going to demonstrate how to setup and run freshly installed Symfony2 instance within Docker container.

Read on →

Coding conventions are a set of guidelines for a specific programming language that recommend programming style, practices and methods for programs written in this languages. They usually cover naming rules, file structure, declaration, indentation, etc. It’s highly recommended to follow them, especially in big projects with many team members involved to improve source code readability and testability, and thus make development and maintenance process easier, faster and cheaper.

Read on →

Elasticsearch is a search server built on top of Apache Lucene, which can be used to search all kinds of documents. It provides a real-time distributed full-text search engine with a RESTful web interface and schema-free JSON documents, supports sharding and replication. One of the biggest advantage of Elasticsearch is scalability – you can start development in minutes on our local machine and then scale out to as many servers as you need in production.

Read on →

Nowadays, writing automated tests for web applications treated as a «must-have» thing for all developers. There are many different tools available for PHP, which can help you to test your apps on different levels by performing unit, integration and functional testing. A lot of developers use TDD (test-driven development) process that relies on «write tests first – then make it pass» principle. BDD (behavior-driven development) is an evolution and rethinking of the test-driven development. It combines the general techniques and principles of TDD with ideas from domain-driven design and object-oriented analysis.

Today, I’m gonna talk about relatively new full-stack testing framework Codeception, that uses BDD principles and plays very well with any modern PHP framework, like Symfony2, Zend, Laravel, Yii, Kohana.

Read on →

As developers, we all want to create high performance web applications. But as our apps complexity grow, in the most cases we might expect serious performance slowdown. In this post I would like to share short plan with recepies and links about tuning php applications based on my own experience. I will break it up into 2 parts – server side and client side optimization. I would be happy to get feedback from you to extend my list or comment unclear moments.

Read on →

Copyright © 2015 - Oleg Puzanov - Powered by Octopress

Design credit: Shashank Mehta