O себе

Активно увлекся программированием в 1990 году. Свое знакомство с WEB начал с интерпритатора Perl, затем плавно перешел на PHP. Огромное кол-во времени провожу за чтением специализированной литературы. Не увлекаюсь соц сетями и не состою ни в каких братствах. Всегда готов помочь любому обратившемуся.

Имею не маленький опыт в настройке UNIX/LINUX серверов и написанию программ на PHP. В качестве основных инструментов разработки использую PHPed + DBG (на платформе Win7), также последнее время работаю на Mac OS, где постоянно применяю ряд программ: Homebrew, PhpStorm IDE for PHP итд (Полный список ПО доступно тут). Cерверную часть предпочитаю развертывать на Debian системах. В своих работах использую Yii Framework / YiiFramework 2 и Drupal.

Также увлекаюсь спортом и люблю слушать качественную музыку.

Имею профили: Drupal.ru, YiiFramework, GitHub, Bitbucket

Являюсь разработчиком: roof-builder, 1С + Drupal

Контакты

При проектировании и написание кода стараюсь соблюдать DRY, KISS, SOLID, YAGNI

DRY – расшифровывается как Don’t Repeat Youself – не повторяйся, также известен как DIE – Duplication Is Evil – дублирование это зло. Этот принцип заключается в том, что нужно избегать повторений одного и того же кода. Лучше использовать универсальные свойства и функции.

KISS – Keep It Simple, Stupid – не усложняй! Смысл этого принципа программирования заключается в том, что стоит делать максимально простую и понятную архитектуру, применять шаблоны проектирования и не изобретать велосипед.

Принцип SOLID в упрощенном варианте означает, что когда при написании кода используется несколько принципов вместе, то это значительно облегчает дальнейшую поддержку и развитие программы. Полностью акроним расшифровывается так:

Single responsibility principle – принцип единственной обязанности (на каждый класс должна быть возложена одна-единственная обязанность);

Open/closed principle – принцип открытости/закрытости (программные сущности должны быть закрыты для изменения но открыты для расширения);

Liskov substitution principle – принцип подстановки Барбары Лисков (функции, которые используют базовый тип, должны иметь возможность использовать подтипы базового типа, не зная об этом. Подклассы не могут замещать поведения базовых классов. Подтипы должны дополнять базовые типы

Interface segregation principle – принцип разделения интерфейса (много специализированных интерфейсов лучше, чем один универсальный);

Dependency inversion principle – принцип инверсии зависимостей (зависимости внутри системы строятся на основе абстракций. Модули верхнего уровня не зависят от модулей нижнего уровня. Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций);

Термин YAGNI значит You Ain’t Gonna Need It – вам это не понадобится! Его суть в том, чтобы реализовать только поставленные задачи и отказаться от избыточного функционала.

Предпочитаемое программное обеспечение

PhpStorm (Java)

PHP ED (Windows)

Eclipse (Java)

Brackets - Редактор кода

GIT - Документация

Chrome DevTools

Vagrant

Docker

Codeception - Тестирование

Elasticsearch - поисковая система

Предпочитаемое серверное окружениe:

PHP 7.1 + (MariaDB / MongoDB) + Nginx + Redis + REST

PHP 7.1 + MySql + Nginx + (Memcache / Redis)

Node.Js + Модули + MongoDB

Предпочитаемое серверное ПО

(PHP (7.0/7.1) YiiFramework 2 + Composer) + ((MySql /MariaDB) / MongoDB / PostrgeSQL) + (Redis)

Также использую:

Python

Node.Js + Meteor + MongoDB

Node.Js + Express + MongoDB

PhantomJs + Nightmare

Ruby + ROR

Использую сетевое программное обеспечение

Сети

Wireshark сетевой сканер

SSH клиент / сервер

Rsync - Синхронизация папок (может выполняться через ssh)

Предпочитаемое фронтенд окружениe:

Java-Script

JQuery - Library

JQuery plugins / Плагины (Bootstrap)

Vue.Js Framework

Element (A Desktop UI Library)

Socket.IO - Websockets

Meteor - Framework

Electron - IDE Framework

Require.JS - Загрузка JS скриптов

Backbone.js - MVC

Angular.Js

Dojo Toolkit

cat ~/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAgEAkLfhrDbGMvLmEux+ci2+KtWv8ibf4DsmFDwCDisWpO3CpFDDSEtIZXudTmwX9uvz1penl7hpxn6p3q7c/Z+8BsZoR+8KWTkOmI668B0cFPVsNlnJ7IkiiYQNm8cYAYfGB2oojO0kBcgMeNK+Jt/zGHGuNyEZ371fQb68QBMHOursZvAB7YNM90/2kxk/Jc2bPk0ijZKJJYL36NO8bgWN2EqQVOvNZidVCeZA2ShZnR/KlNNoOGBk5Vh8MvVCWRUI2e1305Zupu/U6Z6Q+6mc+2SDFlFcmQvByd5srtG6s7L3Glq3oF9Mibzmr/mPVJlWdudhWCof+Qmpfg0lUUuyP1vmT5gT4wHYrvCWhphKg9lXlnJL4rmRZQB2Um17AQWKF/lDrad4OgPbWIHZ8bxlVlgOolEW6tMW4Vi7L5ocQIb0mreEyeF8bRJi6qrkpOWFmK9tJKDrRXiFHh8SQu85pYJaBbUyd6p7habAVnuEmokfks42d89CI0e55618/j1M+Y/rt5lmDJ4RCnB0aOBEjlmiLvhR8cQPWhVjmMOfswFuOSvt8G3prSSO+qCyJygb4AzhPwL7jjJpmVEYC2FQXqwhJicVO/QhTeqVCr02q/1+S7uGD2P3KktQq4fo7O48nRJUfsvgCvfrNJyBd0R86ZzZP6n1cGDgUDVWX0R524E= mirocow