Резюме
Если в двух словах - я сторонник применять разумные подходы. Всего невозможно знать, поэтому в процессе, когда с чем-то сталкиваешься - разбираешься, находя описание опыта других людей, документаций и статей.
Комфортная разработка возможна только в комфортных условиях. Если хочешь что-то создать красивое - окружаешь себя красотой; если что-то полезное - полезными вещами, дабы видеть их практичность и как они устроены.
Вообще я за то, что отличный программист - знает отлично математику. А Я хороший программист, который умеет искать решение и применять какие-то методы, во всяком случае помню об этом и это моя цель - быть таким программистом.
Не понимаю тех людей, которые применяют слово - функционал не в математике. Это чистый термин математики, почему нельзя использовать слова возможности, требования - они лучше передают суть. В конечном итоге можно использовать слово функция.
Ниже отмечу то с чем сталкивался. Что использую часто помечены ✅, а то что уже не использую, но сталкивался - ⬜
2017 - 2023
Fullstack Программист + DevOps + Веб-дизайн
Основной аспект - техническая поддержка веб-проектов (разработка новых и поддержка старых решений, ведение документации кодовой базы и внутренних процессов).
Внедренные технологии - MkDocs, Youtrack, GitLab, Jenkins, Zabbix, Nginx proxy, vault, локальные smtp на базе docker'a. Корпоративные порталы на Битрикс24 - созданы приложения связывающие сайт и портал, созданы бизнес-процессы для CRM, настроены открытые линии.
Количество сайтов - 9 шт основных ресурсов + 10 шт клонов на разных языках. Все ресурсы в основном на Битрикс: управление сайтом - Малый бизнес и выше. Разработаны решения для мультиязычного проекта на одном движке, работа с местоположениями как битрикса, так и общей структурой по разным странам, валют, округлений цен, оформление заказа, доставки и оплаты. Закупка машин и настройка сети между хостами из разных сетей, проксирование трафика в локальную сеть.
Верстка рассылок, проставление доверенного домена для рассылок, вывод доменов, которые попали в черные списки (не из всех удалось вывести - первые рассылки до прихода представляли из себя нарезку картинок, что распознавалось как спам).
Разработка/поддержка ресурсов
https://my7days.ru (https://7days.beauty/) - Подробности: https://obiryukov.ru/portfolio/development/websites/razrabotka-sayta-my7days |
Ранее были также ресурсы https://vilenta.su https://levitasion.ru https://antimos.ru. В 2023 году эти ресурсы упразднили и сделан редирект на текущий сайт. Редирект был произведен автоматическим поиском по ассортименту на старых сайтах, чтобы ссылки сохранились в поиске и на старых постах в соц.сетях. Основня задача - поддержка проекта. Была выполнена верстка и разработка решений для проекта. Задач по этому проекту очень много, обозначу основные, которые были интересны мне
|
https://korobator.ru/ - подробности: https://obiryukov.ru/portfolio/development/websites/razrabotka-sayta-korobator |
Разработать сайт для школы правильной упаковки. Цель ресурса - освещение событий школы (анонсы, записи на мероприятия, архивы записей). Нужно разработать концепцию дизайна (на руках есть логотип и типографика), сверстать проект и перенести на систему управления контентом Битрикс. Событие имеет тип - оффлайн или онлайн событие. У оффлайн события должна быть возможность интеграции с сервисом Timepad через поля Timepad Customized и Timepad Event ID. Также, у события могут быть свои цены, действующие до какого-то момента. Например, есть событие с набором цен - 4500 руб. до 01.10.2019, 5000 руб. до 05.10.2019. |
https://job.my7days.ru/ - подробности https://obiryukov.ru/portfolio/development/websites/razrabotka-sayta-s-vakansiyami-dlya-my7days |
Требования к ресурсу:
|
https://b2box.ru - подробности https://obiryukov.ru/portfolio/web-design/websites/redizayn-i-verstka-sayta-b2box |
Задачи:
|
Задача:
|
2015 - 2017
Системный администратор
Обслуживание компьютеров и серверов предприятия и их клиентов. Установка, настройка, обновление программного обеспечения. Осуществление технической и программной поддержки пользователей, консультация пользователей по вопросам работы локальной сети и программ.
Настройка антивирусной защиты локальной вычислительной сети, серверов и рабочих станций. Составление и анализ спецификаций на закупочное оборудование. Прием, монтаж, настройка оборудования.
Также в процессе работы дописывал CRM "Клиентская база" под нужды предприятия (Создание макетов e-mail рассылок, напоминаний на e-mail, документы печати и т.д.), синхронизировал vTiger, реализовал редизайн и программирование старого сайта.
2013 - 2014
Учебный ассистент
Предметы - физика и программирование (языки - Pascal, C/C++, C#).
Помощь преподавателям в проведении семинаров, практики, лекций. Проверка домашних, зачетных и лабораторных работ. Подготовительные работы к лекциям.
Участие в жизни кафедр физики и систем автоматического проектирования. Разработка методов усвоения технической информации, поиск и отсеивание информационного мусора.
Разработка программного обеспечения по:
- определению надежности летательных аппаратов в верхних слоях атмосферы;
- лингвистическому анализу - определение формы слова исходя из контекста, если слово написано ошибочно - попытка его исправить;
- техническому справочнику для электроприборов и плат
- ранней системе приема документов абитуриентов (от приема до архива)
2011 - 2015
Бакалавр
Окончил МИЭМ НИУ ВШЭ. Программа бакалавриата по направлению подготовки 09.03.01 Информатика и вычислительная техника. Кафедра информационных технологий и автоматизированных систем. Готовили как программистом, так и айтишником.
DESIGN
Дизайн
Разбираюсь в UI/UX решениях, занимаюсь веб-дизайном (от обработки фотографии, создания баннеров до целого проекта по веб дизайну). Занимался редизайном проекта, прототипированием и исследованиями. Когда-то было хобби - делать промо видео в After Effects + Sony Vegas, но отошел от дел в пользу разработки. Занимался векторной графикой, допечатной подготовкой макета, печатью сувенирной продукции. А также параметрическим 3D-моделированием в Cinema4D, 3ds Max + скульптингом в ZBrush
Поскольку являюсь разработчиком и знаю компоненты непосредственно реализуя их, то знаю какие нужны дополнительные экраны/поведения/выводы, а значит имею представления о том как должна складываться пользовательская история. Обладая критическим и аналитическим мышлением могу складывать различные интерфейсные задачи в единую картину, отсюда есть понимание о том, каков должен быть дизайн со стороны пользователя (держу в голове разные особенности людей - дислексия, дальтонизм, возрастные особенности внимания и прочие вещи связанные с ограничениями как физическими, так и психологическими). Как раз поэтому сторонник более сдержанных тонов/акцентов - в моих работах не увидеть какой-то вычурности или оступов от правил.
Обладаю знаниями и опытом:
- в построении систем отступов (соблюдение ритма, правил трети)
- в типографике
- в иконографике
- создании палитры цветов
- в семантике цветов
- в токенизации для дизайнеров и разработчиков
Знаю теорию цвета не по наслышке, а именно различные цветовые пространства (Adobe 1998, sRGB, DCI-P3 и другие) с их особенностями и точками белого D50, D65 и т.д. Как работать с контрастом по стандартам WCAG2, APCA. Знаю что такое однородно-перцепционная модель цвета, и умею делать такие палитры цветов на проекте (создал для этого свой инструмент: https://wanderer20.github.io/design-system-palette/)
Есть навык создания дизайн-систем в Figma (переменные, иконки, компоненты, цвета, AutoLayout, Variants, многостраничные документы, схемы (FigJam), подготовка макета для разработчиков, дизайн-токены, работа со свойствами component swap, nested instances). Все компоненты и варианты привожу к базовым, от которых потом наследуюсь, чтобы получать стилистику. Знаю некоторые фишки, например как красить иконки в компонентах автоматически при смене иконки в инстансе. По дизайн-токенам описал свои знания и опыт в статье, рассказывающей о них: https://dev-master.ru/post/design-tokens
При разработке дизайна учитываю все конечные лицензии (серверные, десктопные, печатные или для лого) на типографику, иконографику, изображений (со стоков, например, с depositphotos).
Результаты
- с нуля собрал 3+ дизайн-системы
- разработал 40+ прототипов для задач клиентов
- разработал самостоятельно 30+ дизайн-проектов, самостоятельно реализовал больше половины от этого числа
- решил более 500+ задач по выводу данных в структурно-построенный пользовательский интерфейс
- написал инструмент по разработке палитры цветов, сберег тем самым более 20ч от каждого проекта
- написал статью, помогающую лучше понять что такое дизайн-токены и какие они бывают в разработке
Инструменты
Основные программы
- ✅ Adobe Photoshop
- ✅ Adobe Illustrator
- ✅ Adobe XD
- ✅ Figma
Создание иконочных шрифтов
- ✅ IcoMoon
Сжатие графического контента
- ✅ Optimizilla (imagecompressor) - изображения
- ✅ Online-convert - видео
AI
- ✅ Gigapixel AI - upscale изображений
- ✅ Stable Diffusion - генерация изображений txt2image, image2image
Прототипирование
- ✅ Axure
FRONT-END
Верстка, фронт-логика
Мир фронта развивается каждый год, поспеть за всем - реально, если заниматься только работой и только в этой сфере, поэтому оцениваю свои знания на твердом хорошем уровне. Опыт ведение старых проектов на старых технологиях и разработка на новых - это позволяет.
Результаты
- Более 100+ сверстанных веб-проектов от 5+ шаблонов в каждом
- Более 50+ проектов legacy переведенных на webpack/vite
- Более 40+ оптимизаций
- Более 400+ исправленных ошибок в проектах клиентов
- Опыт работы как с проектами использующими JS-фреймворки (больше 10+ проектов), так и без них (более 100+ проектов)
Технологии и инструменты
Разметка
- ✅ HTML5 - заголовки, секционный контент, фразовый контент, интерактивный контент, встраиваемый контент - 5 типов потокового содержимого. (Знаю разницы между b/strong, article/section, figure/picture и т.д.)
- ⬜ HTML4 - одно объявление doctype чего стоило запомнить)
Препроцессоры
- ✅ SASS/Scss - но только scss
ECMAscript
- ✅ ES6+
Фреймворки
- ✅ vue3 - его на react не променяю, декларативный стиль как был любимым еще со второй версии так и остался
- ✅ nuxt3 - использую как USR, нравятся новые хуки, роутинг, автоимпорт, модули сервера и контента
- ⬜ vue2 - c 2022 перестал использовать его в силу выхода vue3 с его promise-подходом и другими улучшениями
- ⬜ nuxt2 - использовал только для SSR
Разное
- ✅ Typescript - только то, что действительно необходимо знать, и что чаще всего используется. Скорее всего надобность где-то в 2028 году отпадет, поскольку ecma ведет javascript к типизации, а там typescript сам отвалится за ненадобностью, потому что будет в самом языке
Сборщик модулей
- ✅ vite - лишь с vue3 стал его использовать также и на обычной верстке
- ⬜ webpack - чуть продвинутее gulp'а, начинал с 4 версии. Верстка в основном была на нем. Сейчас не использую на новых проектах, но поддерживаю старые на нем
- ⬜ gulp - старый и добрый сборщик, можно было спокойно разделять html страницы при обычной верстке
Подходы
Шаблоны проектирования (Паттерны)
Порождающие
- ✅ Одиночка (singleton) - в основном для http-клиента или одиночных instance'ов
- ✅ Абстрактная фабрика (abstract factory) - как пример: валидация с разными полями формы
- ✅ Строитель (builder) - применял только в quiz-компонентах и калькуляторах, когда пошагово нужно взять данные и дать результат на основе данных с шаговв конце цепочки или в процессе
- ✅ Прототип (prototype) - использовал часто в 3D/2D выводе данных при создании графики с примитивами и выводом canvas (например, в babylon.js), использую его или абстрактный метод
Структурные
- ✅ Фасад (facade) - когда нужно что-то сложное заизолировать. Например, во фронте использовал для обработки графики, пряча функции по оптимизации, ресайзу и конвертации под капот
- ✅ Декоратор (decorator) - например, использовал для отображения разного рода ошибок, уведомлений, запросов
Поведенческие
- ✅ Посредник (mediator) - облегчал связанность через общий синглтон медиатора. Благодаря этому можно было выстреливать событиями и передавать данные из одной точки кода в другую с последующей обработкой
- ✅ Наблюдатель (observer) - использовал для слежения за выполнением какой-либо задачи в приложении
Принципы
- ✅ YAGNI (You Aren't Gonna Need It) - при рефакторинге убраю то, что не понадобится в проекте. А то что можно воскресить - лежать будет в git'е
- ✅ DRY (Don't Repeat Yourself) - все что повторяется - убираем в одно место. Благо IDE помогает это отслеживать во всем проекте, а то за всеми не уследить кто и что написал
- ✅ KISS (Keep It Simple, Stupid) - если можно сделать проще - делаю. Смысл тянуть в проект что-то новое и не всем известное, думать нужно еще о новичках на проекте и в сфере в целом. Конечно же основной смысл - резбиение "монолитных" методов/классов
- ✅ BDUF (Прежде всего глобальное проектирование) - сначала думаю, рисую схему будущего компонента (если он сложный), продумываю какие будут интерфейсы, что понадобится, анализирую похожее и то что потребуется в разработке. В общем, задачу проектирования никто не отменял
- ✅ SOLID - вечная проблема с этой аббревиатурой, запомнить эти названия и расшифровки, но сами принципы в голове держатся, потому что сам к этому прихожу и есть опыт применения того, что эти принципы выражают
- Single-responsibility principle (Принцип единственной ответветственности) - чтобы не было каши (или как еще называют спагетти-код), нужно чтобы класс/объект/метод отвечал за что-то одно
- Open-close principle (Принцип открытости-закрытости) - не трогаем объекты, но добавляем возможность расширения. Например, фильтрация списка элементов: есть список, добавляем компонент фильтрации над этим списком, и тем самым расширили компонент списка возможностью фильтрации (во vue за счет реактивности - это делать естественно)
- Liskov substitution principle (Принцип подстановки Лисков) - объекты старших классов должны заменяться объектами подклассов без ущерба работы приложения. Например, форма, где внутри будет слот и кнопка, в приложении внутри этой формы будут занесены несколько полей. Такую форму можно будет переиспользовать на другом наборе полей, работа программы не изменится.
- Interface segregation principle (Принцип разделения интерфейсов) - проще говоря, смысл такой: не делать кучу интерфейсов (плодя зависимости) на один объект. Т.е. не перегружать компоненты или классы тем, что можно разбить и вынести в другие смысловые единицы, дабы в объекте не использовались лишние интерфейсы, которые придется отслеживать и поддерживать
- Dependency inversion principle (Принцип инверсии зависимостей) - чтобы уменьшить связанность нужно использовать абстракцию, например DI-контейнер, через который обращались бы модули.
- ✅ APO (Avoid Premature Optimization) - нужно избегать преждевременную оптимизацию, для того чтобы не пробуксовывать. Иначе оптимизировать можно до посинения, и очень много времени на это потратить
- ✅ Бритва Оккама - не лепить сущности без необходимости. Всегда отвечать на вопрос - зачем я это делаю?
Архитектура
- ✅ FSD - подходит только для фронта, и только для приложений (не для своих модулей/библиотек - там лучше модульную или вертикальную в простом виде)
- ⬜ Вертикальная - была прям хороша, но не доведена до FSD
- ⬜ Модульная - когда-то использовал её, пока не уперся в связанность между модулями, наткнулся на вертикальную
- ⬜ DDD/CA - да-да, пробовал архитектуры из бекенда применить на фронте)) в принципе можно делать, но есть получше. Эти архитектуры предназначались в первую очередь для прикладных приложений на ПК, поэтому для них они хороши. А когда фронт и бек разделен - возникает вопросы как быть, куда интерфейсы складывать, портами во фронте избыточно пользоваться, а для бека вполне подходит такое
Vue API
- ✅ Global API - app.use, app.config, app.provide, nextTick, defineComponent
- ✅ Composition API - использую во vue3 и nuxt3
- ✅ SFC - Single-File Component. Стараюсь использовать постоянно defineProps, defineEmits, defineExpose, v-bind
- ✅ Typescript - PropType, ExtractPropTypes, CSSProperties
- ⬜ Options API - использовал во vue2
Библиотеки и плагины
Библиотеки/плагины, которые использую и использовал. Соответственно тут не все, только то что больше всего запомнилось и использовалось
Javascript/Typescript |
Запросы
Анимация
Тесты
WebGL
Разное
|
Vue/Nuxt |
UI
Tables (таблицы)
Notification (уведомления)
Loaders (лоадеры/скелеты)
Progress (прогресс)
Searching (поиск)
Tooltip (тултипы)
Overlay (перекрытия)
Form (форма)
Icons (иконки)
Carousel (карусель)
Charts (чарты)
Time (время)
i18n
Хранилища
Разное
|
BACK-END
Скрипты, интеграции, админки
В основном работал с ресурсами на Битрикс: Управление сайтом и Wordpress. Применяю паттерны, принципы разработки, которые описаны выше в разделе Front-end. Также порою какие-то технологии и инструменты перекликаются с DevOps, например git, docker.
Результаты
- Более 100+ выполненных проектов на системах Bitrix и WordPress
- Более 500+ доработок сайтов на Bitrix и WordPress
- Более 50+ выполненных интеграций (Bitrix + Битрикс24, Bitrix + Yandex.market, sbermegamarket, domclick, auto.ru и прочие)
- Более 20+ написанных модулей для Bitrix и WordPress (без публикации в маркетплейсы)
- Более 20+ тонких настроек Битрикс24 (написание бизнес-процессов, ботов, роботов, интеграций со сквозными аналитиками и прочее)
- Более 5+ корпоративных порталов Битрикс24 (облако / коробка)
- Более 50+ написанных БП, вебхуков, написание собственных действий в БП, связка с endpoint'ами с сайтом через собственное приложение
Кратко с чем сталкивался (неполный список):
Разработка
- перенос сайтов на CMS (Битрикс, Wordpress и другие)
- техническая поддержка сайтов, доработка по задачам клиента/менеджера проекта
- интеграции с различными сервисами (Roistat, ВК, Wildberries, Ozon, МойСклад, Telegram, Unisender, ЮKassa, Calltouch и более еще 50+ сервисов)
- интеграция с CRM (Битрикс24, ammoCRM)
- написание уникальных модулей и компонентов для систем
- оптимизация ресурсов (код, хост-машин, исправление ошибок)
- создание новых сайтов на CMS (Битрикс, Wordpress)
- технический аудит проекта
- настройка различных модулей/плагинов/компонентов в CRM/CMF (Аспро, различные доставки, оплаты, smtp, seo-модули)
- написание API (без фреймворков, и с фреймворками - Comet, Strapi)
Хостинг
- настройка резервного копирования
- настройка конфигурации (nginx)
- защита от ботов
СУБД
- разработка БД, нормализация, денормализация таблиц
- репликации
- горячие бекапы через XtraBackup
- исправление индексов, восстановление баз данных
- составление сложных запросов
Системы контроля версий
- gitlab, github, bitbucket
Дебаг
- XDebug
- debug_backtrace
Тесты
- PHPUnit
- Jest
SEO
- оптимизация, в том числе по Core Web Vitals (в том числе и фронт)
- устранение накопленных ошибок
- рефакторинг проекта
Программное обеспечение
CRM:
- ✅ Битрикс24 (в том числе на базе bitrixVM)
- ✅ ammoCRM
- ⬜ vTiger
- ⬜ Клиентская база
СУБД:
- ✅ MySQL
- ✅ MariaDB
- ✅ PostgreSQL
- ✅ MongoDB
Кеширование:
- ✅ Memcached
- ✅ Redis
Системы:
- ✅ ELK (Elasticsearch + Logstash + Kibana) или ёлка
- ⬜ Sphinx
Сервер очередей
- ⬜ RabbitMQ
Инструменты
PHP |
CMS:
CMF:
Фреймворки:
Менеджер зависимостей:
|
JavaScript |
Платформа:
CMS:
Фреймворки:
Пакетный менеджер
|
DEVOPS
Настройка процесса разработки, сетей и инструментов
Есть понимание как устроена модель OSI, как работает сеть (есть опыт прохождения курса от спецов ZyXEL). Знаю разделение между разработчиком, системным администратором и devops-спецом, поскольку в каждой сфере поработал и достиг результатов
Результаты
- настройка и поддержка локальных сетей более 20+ хостов
- маскирование трафика за шлюз в другую сеть (например, в другую страну)
- обеспечение мониторинга путем сбора всей аналитики с хостов и настройка единого формата ведения логов для разных систем
- обеспечение пробросов трафика по портам через внешний шлюз, так и через локальные proxy
- настройка более 300+ доменов в различных зонах первого уровня
- настройка более 50+ почтовых доменов со связкой через внешние сервисы (почта для доменов mail, yandex, google), так и с локальными серверами
- анализ и подбор решений для конкретных задач (организация собственного облачного хранилища, CI/CD и т.д.)
- защита от спам-ботов 5+ ресурсов (только для России и Беларусии)
- веду документацию сетей в виде схем трафика, так и через базы знаний (youtrack, mcdocs, figma + figjam)
- обеспечиваю безопасность хостов от подбора паролей, ddos
- развернул 10+ бекап-систем (Handy Backup)
Опыт
Домены:
- покупка/продление в том числе в зонах отличных от .ru (где свои правила, например, сервера должны вести на ip страны или нужен зарегистрированный товарный знак)
- мониторинг доменов в зонах .ru, .com, .kz, .au, .de, .fr и более 5+
- настройка NS-записей (в том числе поддомены, настройка для почт - SPF, DKIM, DMARC)
- настройка nginx на динамические поддомены *.domain.ru
- вывод из спам-баз доменов и ip-адресов
DNS-серверы:
- разворачивание локального dns-сервера
- покупка dns-сервера на nic.ru
- настройка более 15+ доменов на серверах
Почта
- настройка mail серверов с поддержкой SMTP, IMAP, Anti-spam, Anti-virus, веб-морд (админка + клиентская)
- настройка postfix'а
- утилиты/образа: docker-mailserver
Трафик:
- разворачивание proxy-сервера (+ в том числе обратного, т.е. Reverse Proxy)
- создание карт сетей с пробросами портов, стримов
- вывод за шлюз и расшаривание хостов на внешку
- утилиты: Nginx proxy manager, traefik, iptables
Безопасность:
- работа с SSL-сертификатами (Let's encrypt, Komodo и прочие), в том числе wildcards-. Также настройка автоматического продления и скопление на proxy-сервере для шаговой доступности
- квоты
Фильтрация ботов
- настройка фильтра по geoip для стран Россия и Беларусь
- запрет на IPv6, поскольку большинство иностранных ботов используют дешевые адреса
- подключение общих спам-баз и запрет подключения из этих подсетей
- внесение белого списка ботов (яндекс-, гугл- боты, а также боты, касаемо seo-анализа)
- кастомная сборка nginx для Nginx Bad Bot Blocker
- настройка блокировки ip (fail2ban)
- настройка сервера при ddos (+ уведомления админу или в zabbix)
Репликация баз данных
- настройка горячих бекапов баз от 60 гб (mysql)
- создание схемы мастер-слейв
- физический переезд нод с базами работающими по мастер-слейв (смена ролей, догонка в мастер-мастер)
Устанавливаемые системы через docker
- mkDocs - база знаний
- youtrack - система управление проектом
- gitlab - система контроля версий (CVS) и CI/CD (gitlab's runner)
- teamcity - CI/CD система
- jenkins - CI/CD система
- portainer - графическая оболочка для docker'а
- zabbix - система мониторинга (+ его агенты на хостах)
- npm - nginx proxy manager
- vault - хранилище ключей
- bitwarden - хранилище паролей
- gitea - CVS
- nextcloud - облачное хранилище
Анализ нагрузки
- yandex.tank
- logstash
- htop
Масштабирование
- вертикальное: увеличение дискового пространства на unix'системах (ubuntu 16+, centOS 7)
- горизонтальное: увеличение нод с БД (mysql)
Инструменты и технологии
Среды
- ✅ docker (Dockerfile, docker-compose.yml)
Управление версиями и совместная работа над кодом
- ✅ Bitbucket
- ✅ GitLab
- ✅ GitHub
Непрерывная поставка и развертывание (CI/CD)
- ✅ Bitbucket pipelines
- ✅ GitLab CI/CD
- ✅ TeamCity
- ⬜ Jenkins
Мониторинг
- ✅ ELK (Elasticsearh + Logstash + Kibana)
- ✅ Prometheus
- ✅ Grafana
- ✅ Zabbix
Облака
- ✅ Timeweb.cloud
- ⬜ mcs.cloud (ныне vk.cloud)
Телефония
- ⬜ Asterisk
SYSTEM ADMINISTRATION
Системное администрирование
В принципе сталкивался с разного рода задачами так или иначе касаемых системного администрирования сетей и машин. Все уже и не перечислить, но важно то, что умею находить решения, либо говорить прямо об издержках и предлагать иные варианты. Занимался настройкой оснасток в AD, групповыми политиками, настройка перемещаемых профилей, шар, настройкой конфигураций приложений при запуске на устройствах в доменах и по группам, настройка и включение МФУ, телефонии, установка необходимого ПО, asterisk и прочее.
Результаты
- поддержка и настройка ЛВС с более чем 100+ хостов
- проектирование ЛВС на более чем 120+ м2 площадях
- монтаж и оборудование 10+ серверных/офисных помещений
- монтаж и подключение 20+ видов камер (разные фирмы с разными интерфейсами и разные типы - наружные, внутренние)
- поддержка 5+ файловых хранилищ на более чем 30+ террабайт с их бекапом
- настройка и поддержка 100+ виртуальных машин
- развертывание 3+ антивирусных систем (Dr.Web, Kaspersky, Avast) с центральным сервером и подключение к нему клиентов
- настройка 10+ доменов внутри сети
- развортка 20+ серверов печати/электронных сообщений
- обновление парка техники с более чем 40+ видов устройств
- обеспечение синхронизации данных между 3 объектами в разных городах
- переезд 5+ серверных нод (БД, маршрутизация, мониторинг, файловое хранилище)
Области работы
- Администрирование веб-серверов - настройка и отладка работы веб-серверов
- Администрирование баз данных - работа и обновление БД
- Администрирование безопасности сети - защита сети от локальных и глобальных вторжений
- Архитектор - выстраивание корпоративной инфраструктуры
- Администрирование электронных сообщений - почтовые службы, спам, вредоносное ПО
- Администрирование операционных систем - настройка и отладка ОС на устройствах компании (Windows, Linux)
- Администрирование по программному обеспечиванию - настройка, обновление софта
Навыки и умения
- умение разбираться в специфике операционных систем
- навыки работы с серверным программным обеспечиванием
- развертка ЛВС
- знание стеков сетевых протоколов
- познания в области прикладного программного обеспечивания
- понимание устройства компьютеров
- навыки производства ремонта ПК
- способность разбираться с серверами
Инструменты и технологии
ОС
- ✅ Windows - подавляющее большинство устройст на ней (до сих пор есть терминалы на XP в силу того что драйвера не пишут на новые и дешевости для компаний). Сервера были на Windows Server 2012 R2 и Windows Server 2016
- ✅ Ubuntu - хорошая производительность. Использовал разные образа: debian, kubuntu, fedora, centos, gnome
- ⬜ MacOS - очень неудобная система, отказываюсь ее поддерживать как админ, и как программист
Командная строка
- ✅ Tabby - офигительная замена cmd на винде. Есть ssh-профили, история, темы, подстветка, автоматические ссылки и прочее
- ✅ mcedit - единственный выбор на unix'ах, который нравится. Ставить придется mc, но он тоже незаменим. Вообще я за то чтобы mc был сразу во всех образах
- ✅ head/tail - часто пользоваться приходится
- ✅ grep - нечасто, но есть собранный набор команд для разных случаев
- ⬜ nano - тоже не очень нравится редактор
- ⬜ vi/vim - есть на любом юниксе, но мне не нравится. Стараюсь его не открывать даже
Диагностика
- ✅ strace
- ✅ lsof
- ✅ vmstat
Мониторинг
- ✅ Zabbix - ограничения в производительности, но отлично покрывает задачи
- ✅ Prometheus + Grafana - хорошая связка
- ✅ Monit - для unix-систем
- ✅ htop - улучшенный top
- ⬜ Thanos - очень сложен, не у всех на слуху, поэтому отказался от него
Логирование
- ✅ Clickhouse - хорошая база для логирования
- ✅ Logstash + Kibana
Таск-трекинг
- ✅ Youtrack
- ✅ Битрикс24
Бекапинг
- ✅ Acronis Backup
- ✅ Handy Backup
- ⬜ veeam
Управление удалёнными рабочими столами
- ✅ UltraVNC
- ✅ TeamViewer
FTP/SFTP/SSH-клиенты
- ✅ putty
- ✅ WinSCP
- ✅ FilleZilla
ПУ для серверов
- ✅ OSPConfig
- ✅ VestaCP
- ✅ Webmin
Почтовые серверы
- ✅ exim
- ✅ postfix
- ✅ sendmail
Рассылки
- ✅ DadaMail
- ✅ Битрикс24
- ✅ Sendpulse
Безопасность
- ✅ fail2ban
- ✅ OSSEC
- ✅ Snort
- ✅ SpamAssassin
Контейнеры
- ✅ Docker
- ✅ Docker Compose
- ⬜ OpenVZ
Виртуализация
- ✅ VirtualBox
- ✅ VMware
- ⬜ Vagrant
Веб
- ✅ nginx
- ✅ apache
- ✅ nginx proxy manager
- ✅ traefik
- ✅ varnish
- ⬜ squid
- ⬜ cherokee
- ⬜ lighttpd
Веб-почта
- ✅ Roundcube
- ✅ SquirrelMail
Вики
- ✅ BookStack
- ✅ mkDocs
- ✅ GitBook
- ✅ Youtrack (База знаний)
Самые востребованные (важнее того что было до этого)
- ✅ Отвертка
- ✅ Пассатижи
- ✅ Кусачки
- ✅ Набор ключей
- ✅ Рулетка
- ✅ Изолента (синяя, черная)
- ✅ Чувство юмора
ANALYTICS
Аналитика данных
Опыт завершенных задач от маркетологов, аналитиков и собственные знания - дали мне представление как стоит настраивать и снимать показания. В основном это не моя специфика, но представление как работают разные инструменты и как должно быть - я имею, поскольку изучал документации каждого из популярных сейчас инструментов.
- Яндекс.Метрика (v2.0, v1.0)
- Google Analytics (UA, GA4)
- Google Tag Manager
- TikTok
PROJECT MANAGER
Ведение проектов
В процессе разного вида занятости, специфик работ, внедрения и изучения методологий, процессов и инструментов - развились навыки и понимания как вести проект, какая должна быть постановка задач, как оценивать сроки и риски, разрабатывать техническое задание, составлять техническую спецификацию. Вести документацию как по разработке продукта, так и по использованию продукта
- Youtrack
- Microsoft Visio
- MindMeister
- MkDocs
- Vault
- Agile
- Scrum
- Kanban