Привет, меня зовут Денис Малиночкин, и я живу в городе Одинцово, что находится немного левее Москвы. Некоторые люди уже знают меня по интернет-книге «Less. Путеводитель для новичков», а немногие другие по нику mrmlnc, который, возможно, вы уже встречали на GitHub или в маркете расширений для редактора Visual Studio Code.

Немного о прошлом

Веб-технологиями я заинтересовался в 2007-году, когда один из моих одноклассников показал мне Ucoz и то, что он на нём сделал. Тогда это было круто, и я ничего не понимал в этом, но след оставило. В 2008 году я понял, что конструкторы — это хорошо, но ведь они на чем-то написаны. Ради ознакомления купил справочник, как сейчас помню, О. Рева с лимоном на обложке и тегами, написанными в верхнем регистре, внутри. С тех самых пор меня захватил веб. Сначала это был HTML и CSS, потом подтянулись JavaScript и PHP, а затем уже Node.js. Раз речь зашла о технологиях, то поговорим о том, с чем я работал.

Технологии

Я не буду скучно писать про HTML5/CSS3/ES2015 — опишу свой личный опыт и моральные устои, которые выработались за время работы с различными технологиями. На данный момент я могу выделить следующий опыт.

HTML

В качестве HTML-препроцессора предпочитаю использовать Pug (ранее Jade) или Nunjucks, если на то есть причины. Есть планы на перенос Pug-синтаксиса на PostHTML, но пока это лишь планы. Также имел опыт работы с Twig, EJS и Handlebars.

CSS

Разумеется Less. Помимо этого работаю с Sass (SCSS-синтаксис) и, если есть причины, Stylus. Также, нахожу полезным некоторые плагины PostCSS, который, в целом, может успешно заменить любой препроцессор. Однако, пока я не вижу серьёзных причин отказаться от Less.

К слову, я пишу стили без использования фреймворков. Слежу за развитием «Bootstrap», «MDL», «UIkit», «Kube», «Concise CSS» и несколькими микро-фреймворками, впоследствии улучшая свой стартовый шаблон Yellfy. Я сторонник простоты стилей и ярый противник их усложнения за счёт использования бессмысленных «кастомизаций», которые пригодятся максимум несколько раз. О каких кастомизациях идёт речь? — посмотрите на исходный код «Foundation for Sites».

Слежу за чистотой кода, использую «Normalize», «Autoprefixer», «stylelint» и некоторые другие инструменты. Из методологий могу выделить «RSCSS» и «BEM».

JavaScript (Node.js)

В зависимости от проекта предпочитаю TypeScript или ES2015-синтаксис. В качестве линтера использую ESLint в обёртке от Синдре Сорхуса под названием «XO» с переопределёнными правилами или, в случае с TypeScript, безальтернативный TSLint.

Для клиентской стороны имел опыт работы с «jQuery» (и его альтернативами), «Angular», «Riot» и небольшой опыт работы с «Vue». На серверной стороне под мой кругозор попали: «Adonis», «Koa» и «Express». Обобщая, можно сказать, что они все похожи и ничего не стоит потратить максимум день на освоение практически любого *фреймворкИлиБиблиотека*.

А ещё я имел интересный опыт работы с Electron и NW.js для построения десктопных приложений на стеке веб-технологий. В итоге понял, что больше мне симпатизирует Electron.

PHP

Базовые знания. Опыт работы с шаблонизаторами: Twig, Swig.

Прочее

В качестве таск-менеджера использую в «живых» проектах Gulp. В случае разработки проектов, которые не предполагают многократной сборки (небольшие библиотеки), всё настраивается по настроению, но чаще всего это npm-скрипты. Также имеется опыт написания сложных задач и плагинов для Gulp и Grunt.

Ярый фанат unit-тестирования и тестирования в широком понятии этого слова.

Развитие, мотивация и будущее

Веб — это моя жизнь. Я предпочту недоспать час, но прочитать ещё одну интересную статью, посмотреть видео с конференции или попробовать новую библиотеку. Вообще, считаю, что наша область предполагает непрерывное развитие.

Проекты есть? А если найду?

Общедоступные проекты или проекты, в которых я принимал участие, можно найти в разделе сайта «Проекты» или на GitHub. На GitHub доступна вся информация о проектах. Иногда в блоге мелькают рассказы о проектах, но я не считаю эту информацию интересной для большого круга людей.

Откуда получаю знания?

Раньше основным источником знаний были книги издательств: «Манн, Иванов и Фербер», «Питер», «Символ-Плюс», «Бином-Пресс» и «БХВ-Петербург». За это время я прочитал довольно много книг. Конечно, эти знания полезны, но не успевают за непрерывно развивающейся областью.

Теперь же, в основном, всю необходимую информацию получаю из документации w3c и интернет-ресурсов по типу: «SitePoint», «Smashing Magazine», «Nettuts+», «Cats Who Code», «w3school» и множества других, как англоязычных, так и русскоязычных. При этом, часто читаю новые книги по веб-разработке и системному администрированию.

Опыт работы

В 2016 году закончил факультет МТУСИ «Сети и системы связи» и успешно защитил выпускную квалификационную работу по специальности «Инфокоммуникационные технологии и системы связи» на тему «Анализ эффективности мультиплексирования трафика на звене мультисервисной сети связи». Поэтому помимо разговоров на темы, любимые веб-разработчиками, могу поддержать разговор и о сетях.

По мере возможностей принимаю участие в интересных мне проектах и не стесняюсь делать PR. А ещё я активный участник сообщества редактора Visual Studio Code от Microsoft — пишу плагины и помогаю это делать другим, а также внедрял полную поддержку функций Emmet в редактор.

С 2017 года работаю в Яндекс, где делаю конвейер для фронтед-разработчиков.

Контактная информация