skey - web developer


  1. About Me
  2. Blog
  3. How to
  4. References

Install Node Version Manager for Node.js

Node.js comes in different versions and if you used it in past, you might be familiar that sometimes you just need other version, sometimes newer version, other times older version. There is a easy way to manage those versions with a single command - nvm.

Install Node Version Manager for Node.js by Stefan Kecskes

Install LAMP

LAMP stands for Linux - Apache - MySql - PHP. This is basically everything you need to have a fully working testing server on your machine. Some parts of LAMP may already be installed on your system. If so uninstall them. I will assume, that nothing is installed and we will install all parts of LAMP. The following steps should be same and compatible with all Debian based systems (Ubuntu is one of them). We will use Advanced Packing Tool (apt) to install these tools, rather than compiling them from code sources.

Install LAMP by Stefan Kecskes

How to Deploy Continuously

In previous article I demonstrated how to set up continuous Integration, that means how to test the code automatically and find out if it the newest changes to code broke it or not. Now that you are automatically testing your commits, the next logical step in automation process would be to release our tested code to live website.

How to Deploy Continuously by Stefan Kecskes

Continuous Integration with Strider

We, developers, are producing websites or applications for many years now. What kinds of tasks needs to be done, before we see the changes live on web. This was a big unknown to me for a very long time. Is my process of deploying the code the best practice? Should I do it other way?

Continuous Integration with Strider by Stefan Kecskes

Setting up XDebug for dev enviroment

I would like to describe how to set up xDebug to work in your phpStorm IDE. There are different options available depending on your preference - you can have xDebug always try to initiate a connection for your devbox, or you can use browser plugins and extensions to choose when xDebug should try to run.

Setting up XDebug for dev enviroment by Stefan Kecskes

Speed up your website with Pagespeed mod

Last year, in September 2014, when I was working for one of my clients, I was asked to look for some options how quickly and easily speed up the loading of the webpages. At that time, the client hadn't any frontend developers. Nobody in team had solid knowledge about bower, gulp, less, sass and other cool toys of frontend guys. Basically we were team of pure backend php developers. So we had to sort out the performance issue very quickly without having the right skills.

Speed up your website with Pagespeed mod by Stefan Kecskes

Laravel validator for CSS selectors

Last week I was building a backend tool in Laravel, where you could create layout in bootstrap 3 and add CSS selectors like id or class to any container. You wanted to be able to enter more than one class name into input field. Let's say that you want to add 2 classes: col-xs-6 infoBox_4. Laravel hasn't validator for this type of string so I decided to make one.

Laravel validator for CSS selectors by Stefan Kecskes

Move Local Git Repository to Bitbucket

As I described in previous post, when I joined to my current company, we hadn't any versioning system, not even SVN and we used to FTP all files to XY number of backup folders. I introduced Git on local servers. Everything started to seem better, but after some time we started to work with some people from abroad and one of colleagues started to work from home. That meant that they couldn't connect to local network to push to GIT.

Move Local Git Repository to Bitbucket by Stefan Kecskes

Setting up a Git Repository

Repositories these days are one of the basic stones of any software development. It allows teams of people to work together on one piece of software and allow every team member to see who made what changes, when and why. Repositories basicaly holds the copy of all changes made to code and also gives you the latest, most recent version.

Setting up a Git Repository by Stefan Kecskes

Image sprites using CSS only

Web pages these days have many images. They are also called multimedia rich web pages. It may take a long time to load all of them. Each image means a server request from browser. Did you know that browsers these days download concurrently only 6 resources?

Image sprites using CSS only by Stefan Kecskes

Apache Modules

Apache modules were never easier to install following these steps.

Apache Modules by Stefan Kecskes

PHP Modules

Php modules or extensions are pieces of code for PHP, which extends the basic functions and add or improve the existing functions. Some of them are already bundled with PHP and can be easily enabled or disabled. There are also external PHP modules which can be installed to system and then enabled in PHP.

PHP Modules by Stefan Kecskes

Setup Virtual Host

Setting up Virtual Host was never easier following these steps.

Setup Virtual Host by Stefan Kecskes

Edit crontab with NANO

I don’t know where my root users crontab file is, and this doesn’t usually matter because using the command crontab -e opens it for editing anyway. The problem is that it opens in VI and I'm younger generation which never used VI magic wand and I don't want to spend few hours/days just to be able to make changes in file.

Edit crontab with NANO by Stefan Kecskes

Installing Composer.phar

Composer is the dependency manager for PHP. That means that chunks of php code, which are tested and and each package solves one some problem are packed into a packages and added to packagist repository. Using composer we can get those packages and add them into our codebase, and so reuse the stable code.

Installing Composer.phar by Stefan Kecskes

Install SSH key

In previous post I showed you how to create the SSH key pair. Today we are going to install the public key on server, that we want to use. The point of installing the Public key is to get to the target server, locate the authorized_keys file (usually in home directory inside .ssh folder) and add our public key to this file.

Install SSH key by Stefan Kecskes

Generate SSH keys on Linux

SSH is a cryptographic network protocol for initiating text-based shell sessions for secure data communication and/or remote command execution. This connection is useful when user isn't physically present near the machine.

Generate SSH keys on Linux by Stefan Kecskes