I develop modern Web applications based on Symfony 2.x (Doctrine 2.x) and symfony 1.x (Doctrine ORM 1.x) framework. Solutions, for which I use DRY and KISS rules, are created in service-oriented architecture (SOA) using design patterns.
I create high-performance solutions using variety of cacheing mechanisms and load balancing between multiple servers in system - from the level of HTTP server through the database to file systems.
Created solutions support data replication on the file system level and data base level.
Thanks to the technologies I use, created applications can run on multiple servers simultaneously. This provides the ability to easily increase computational power system in case of increased demand for it. The application architecture also provides a good use of available resources in the system.
I build applications that can be easily expanded in the future with additional features.
|Symfony 2.x (Standard Edition, RAD Edition)|
|Zend Framework 1.x|
|Doctrine ORM 1.x|
|Full text search|
|Other technologies associated with web applications|
|CSS (bootstrap, yui)|
|Yahoo performance rules|
|REST (Richardson Maturity Model)|
|Atom (RFC 4287)|
|HTTP 1.1 (RFC 2616)|
|Facebook (FOSFacebookBundle, ArmetizFacebookBundle)|
|Version control systems|
|Other programming languages|
|python (PyGame, PyGTK)|
|C, C++, pascal|
|Distributed file systems|
Below is a list of bundles that I use that are not part of the standard distribution as well as those created by me in the service-oriented architecture.
|My Symfony bundles|
|ImproCardStreamBundle - Cardstream online payment protocol support. Closed source bundle.|
|ImproPaymentBundle - universal payment subsystem. Closed source bundle.|
|ImproUserTrackBundle - user activity tracking. Closed source bundle.|
When creating appilications I pay attention to the simplicity of the solutions. If any part of a code requires a comment, it probably means that it should have been written more simple.
Testing is one of the most important element of the process of creating Web applications - the program should be tested at every stage of the development. Web application, that is ready to use, should have a set of functional tests and unit tests, which will simplify further development of the program and will help to check the corectness of it's work.
Tests may be done in various technologies, depending on the needs:
During application development I use the code analysis tools such as Sensio Insight to ensure the quality of the product.