PHP 7 Object Properties Type Safety with Setters and Getters

PHP 7 introduces scalar type definitions: your function parameters can be of a given type, and function return type declarations ensuring your function will return results of a given data type. This can increase your code quality by enforcing a specific behaviour of your code, almost similar to how a strongly typed language does. However, […]

CodeIgniter folder structure overview

Below is a quick overview of each CodeIgniter folder, starting from the repository root. application/ – stores the CI core extensions, libraries, configuration, cache, controllers, views, helpers, hooks, languages, logs, models and third_party extensions application/cache/ – stores the application cache application/config/ – stores the autoload, main configuration, database, constants, doctypes, foreign characters, hooks, migration, memcache, […]

Javascript Function Usage Patterns

In programming, patterns mostly apply to code design. However, patterns may also apply to usage of language specific functionality, either to ensure best practices or to avoid common issues. Patterns below focus on function usage patterns. Functions in JavaScript are of two types: Named functions: functions having a given name (e.g.: function functionName() {} ) […]

Create Jenkins Jobs using Capistrano 3 for NodeJS

Final component of the Continuous Integration and Deployment process using Capistrano and Jenkins, is …Jenkins. Jenkins is an open source Continuous Integration services tool, that allows users to define a set of tasks to be run either manually, or triggered by 3rd party applications. This page presents how to integrate Jenkins and Capistrano 3; in […]

PHP 7 Object Properties Type Safety with Setters and Getters

PHP 7 introduces scalar type definitions: your function parameters can be of a given type, and function return type declarations ensuring your function will return results of a given data type. This can increase your code quality by enforcing a specific behaviour of your code, almost similar to how a strongly typed language does. However, […]

Useful JavaScript Frameworks and Libraries

This post presents a set of useful JavaScript frameworks and utilities, designed either for the browser or node.js. EnvyoJS Site: http://enyojs.com/ Documentation: http://enyojs.com/docs/2.4.0/ Description: An HTML5 based JavaScript framework, useful for creating cross platform web applications, “from phones and tablets to PCs and TVs”. BinaryJS Site: http://binaryjs.com/ Documentation: https://github.com/binaryjs/binaryjs/tree/master/doc Description: A WebSockets based JavaScript framework for transferring binary “data […]

Install Capistrano 3 on Debian

This entry shows which steps to follow when installing Capistrano 3 on Debian. Root level access is required, on the same Jenkins machine used here. NOTE: Capistrano 3 requires Ruby >= 1.9. If Ruby 1.8 is installed, follow these steps to remove it, and install Ruby 1.9: Based on http://makandracards.com/makandra/1104-upgrade-from-ruby-1-8-7-to-ruby-1-9-2-on-ubuntu 1. Remove ruby1.8: apt-get remove […]

WebGL JavaScript Frameworks

This entry presents a couple of WebGL JavaScript frameworks that showcase the 3D rendering possibilities opened by HTML5. Babylon.js Showcase: http://www.babylonjs.com/ Documentation: http://www.sokrate.fr/documentation/babylonjs/index.html Three.js Showcase: http://threejs.org/ Documentation: http://threejs.org/docs/

Tools for Agile: Capistrano

In my previous six entries, I focused on presenting the main Agile methodologies, and their concepts. In the following entries, I will focus on tools that enable Agile; providing a quick introduction without going in technical details. The first tool in this series is Capistrano. Written in Ruby, Capistrano is an Open Source tool, used […]