Skip to content

Jesse's Software Engineering Blog

Sep 17

PHP Composer Autoloading

Composer is PHP’s dependency manager tool. Composer allows you to specify libraries that are need for a project, and will automatically include those libraries along with their dependencies. Composer also allows you to create your own packages and share them via the Packagist website. Even when working on projects in which you are not using […]

Sep 12

PHP 5.5 with Opcache and APCu

As of PHP 5.5 Zend Opcache is a part of the core PHP distribution. PHP code is an interpreted language and is therefore parsed and compiled into opcode on every request. An Opcache allows the opcode to be stored in shared memory in which subsequent requests will be able to pull from, opposed to having […]

Jun 07

SSH Tunneling

A common web application server architecture is to only allow public access to specific servers. This allows all internal servers to be closed to internet traffic and only accessible from other servers in the network. I outlined this technique in an article for setting up an internal MySQL database server. Often times access is still […]

May 26

Vagrant Puppet VM Clusters

As outlined in previous posts Vagrant is a powerful tool for rapidly setting up development environments. However, after setting up numerous different environments for testing and developing in, some of the server set up tasks become repetitive. Puppet is a software solution for managing numerous servers from a single source. Puppet provisioning is a common […]

May 20

MySQL Master-Slave Replication

MySQL replication is the act of actively cloning all changes made on one server (master) to another server(s) (slaves). This is commonly done to create backups of data as well as to add multiple servers in which applications can query against. This becomes advantageous in high read environments where there is concern for bogging down […]

Apr 22

Vagrant Virtual Machine Cluster

With virtualization and cloud development taking over the industry there are often situations where systems need to be developed on multiple servers. Instead of having to spin up new instances of servers or make space in the cloud, one can use virtual machines (VMs) to develop locally in a clustered environment. Also, when working with […]

Apr 15

MySQL Query Profiling

MySQL query profiling is a useful technique when trying to analyze the overall performance of a database driven application. When developing a mid to large size application, there tends to be hundreds of queries distributed throughout a large code base and potentially numerous queries ran against the database per second. Without some sort of query […]

Apr 10

Java JDK8 Install

Java is a common language in both the professional and academic realm, and a valuable language to know. Unlike PHP, Python, or Ruby, Java is a compiled language which gives it some unique performance advantages. Java is also the language used when developing Android apps and is essential to mobile development. Taking the time to […]

Apr 05

Fedora 20 LAMP Setup

I’ve been on the market for a new laptop for awhile now and after working with a Mac extensively at my job I knew I wanted a Windows/Linux dual boot development environment. Aside from the annoyances of Mac’s OS being really close to Linux but different enough have to learn new tools, Macs are way […]

Feb 18

Understanding Big O Algorithm Analysis

Algorithm analysis is a key component of successful software development. Often times we as developers get reliant on the languages that we use and allow their libraries to hide complexities that we should be taking the time to understand. Learning how native language functions are implemented and how well they perform is an essential part […]

Blog Powered By Wordpress
<<< Prev Next >>>