pleshevski.ru/dist/assets/works.html-NBBFoiT7.js
Dmitriy Pleshevskiy d13bbcaf22
All checks were successful
/ test-dependencies (push) Successful in 33s
chore(deps): add sass
2024-10-15 16:20:10 +03:00

1 line
9.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{_ as r,c as l,e as a,o as i}from"./app-CvTe0YTg.js";const o={};function t(n,e){return i(),l("div",null,e[0]||(e[0]=[a('<h2 id="выделенныи-опыт-работы" tabindex="-1"><a class="header-anchor" href="#выделенныи-опыт-работы"><span>Выделенный опыт работы</span></a></h2><h3 id="binary-management" tabindex="-1"><a class="header-anchor" href="#binary-management"><span>Binary Management</span></a></h3><ul><li>Даты: Август 2018 по настоящее время</li><li>Роли: Lead Fullstack Developer, Team Lead, Architect</li></ul><p>Разработка инструмента управления проектами для дизайнеров интерьера.</p><h5 id="backend-graphql-api" tabindex="-1"><a class="header-anchor" href="#backend-graphql-api"><span>Backend GraphQL API</span></a></h5><p>Стек: <code>Node.JS</code>, <code>Apollo</code>, <code>PostgreSQL</code>, <code>Redis</code>, <code>BullMQ</code></p><ul><li>Перенес триггеры базы данных в бизнес-логику. Проще стало читать код, вносить изменение и система стала надежнее.</li><li>Ввёл практику написания unit тестов и интеграционных тестов. Самолично написал более 70% тестов всех тестов.</li><li>Добавил GraphQL подписки для динамичного обновления.</li></ul><h5 id="frontend" tabindex="-1"><a class="header-anchor" href="#frontend"><span>Frontend</span></a></h5><p>Стек: <code>React</code>, <code>Apollo</code>, <code>Antd</code></p><ul><li>Сформировал UIKit и общие компоненты, оптимизировал сложные и нагруженные компоненты.</li><li>Изменил работу с API на фронтенде.</li><li>Внедрил практику написания интеграционных тестов с помощью cypress.</li><li>Полностью перенес проект на TypeScript. Сформировал изолированные модули системы.</li></ul><h5 id="руководство-командои" tabindex="-1"><a class="header-anchor" href="#руководство-командои"><span>Руководство командой</span></a></h5><ul><li>Ввёл практику TDD (Test-Driven Development).</li><li>Я привнес в проект &quot;метод критической цепи&quot;, &quot;метод буфера&quot; и &quot;метод планирования с конца&quot;. Помог команде войти в ритм, чтобы выпускать релизы каждую неделю небольшими партиями.</li><li>Составлял индивидуальный план развития для членов команды.</li></ul><h5 id="архитектура" tabindex="-1"><a class="header-anchor" href="#архитектура"><span>Архитектура</span></a></h5><ul><li>Разбил всю кодовую базу на модули по фичам.</li><li>Ускорил базу данных <code>PostgreSQL</code>, разбив данные компаний по отдельным схемам и применив партиципирование таблиц.</li><li>Добавил кеширование запросов с <code>Redis</code>.</li><li>Уменьшил затраты на инфраструткуру в 5 раз, перенес весь проект с kubernetes на <code>NixOS</code>.</li></ul><hr><h3 id="core-spirit-back-office" tabindex="-1"><a class="header-anchor" href="#core-spirit-back-office"><span>Core Spirit (Back Office)</span></a></h3><ul><li>Даты: Август 2024 - по настоящее время</li><li>Роль: Lead Fullstack Developer</li></ul><p>Разработка бэк-офиса для социальной платформы Core Spirit.</p><ul><li>Интегрировал Dependabot, который помог обновить все устаревшие зависимости. Заменил webpack на vite.</li></ul><hr><h3 id="master-progress" tabindex="-1"><a class="header-anchor" href="#master-progress"><span>Master Progress</span></a></h3><ul><li>Даты: Май 2018 - по настоящее время (Пассивная поддержка)</li><li>Роль: Tech Lead</li></ul><p>Разработка веб-инфраструктуры образовательного центра Мастер Прогресс.</p><ul><li><a href="https://masterprogress.ru" target="_blank" rel="noopener noreferrer">Главного сайта</a> (<code>Python</code>, <code>Flask</code>).</li><li><a href="https://cabinet.masterprogress.ru" target="_blank" rel="noopener noreferrer">Кабинета студента</a> (<code>Python</code>, <code>Flask</code>, <code>TypeScript</code>, <code>React</code>, <code>PostgreSQL</code>).</li><li><a href="https://rosmintrud.masterprogress.ru" target="_blank" rel="noopener noreferrer">Инструмента для работы с rosmintrud</a> (<code>Deno</code>, <code>Vue</code>, <code>Typescript</code>)</li><li>Создана полная инфраструктура на <code>NixOS</code>. До этого создал инфраструктуру используя <code>Drone CI</code> / <code>Woodpecker CI</code> и <code>Docker swarm</code>, которая проработала более 5 лет.</li></ul><hr><h3 id="core-spirit" tabindex="-1"><a class="header-anchor" href="#core-spirit"><span>Core Spirit</span></a></h3><ul><li>Даты: Август 2018 - May 2020, Август 2024 - по настоящее время</li><li>Роль: Lead Fullstack Developer</li></ul><p>Разработка социальной платформы, сфокусированной на улучшении человека и планеты.</p><ul><li>REST API (<code>Node.JS</code>, <code>Express</code>, <code>PostgreSQL</code>) для основного сайта и бэк-офиса. Успел поработать с новой версией REST API на <code>Go</code>, <code>PostgreSQL</code></li><li>Автопостер в различные социальные сети и мессенджеры (Facebook, LinkedIn, Twitter, Telegram).</li><li>Создал нейронную сеть для автоматической категоризации статей.</li></ul><hr><h3 id="merlion" tabindex="-1"><a class="header-anchor" href="#merlion"><span>MERLION</span></a></h3><ul><li>Dates: March 2016 May 2018</li><li>Role: Senior Fullstack developer</li></ul><p>В этой компании было 6 значительных проектов, которые я успешно завершил:</p><ul><li>Оптимизация создания рекламных страниц (PHP, JavaScript)</li><li>Поддержка основного традиционного сайта <a href="https://citilink.ru" target="_blank" rel="noopener noreferrer">https://citilink.ru</a> (PHP, JavaScript)</li><li>Разработка парсинга для мониторинга товаров на предмет изменения цены, количества/наличия на складе, рейтинга и других полей на основе данных с 55+ сайтов (Node.js, Express)</li><li>Работа с нейронными сетями для подбора товаров</li><li>Разработка приложений для распознавания лиц для Android (Java)</li></ul><hr><h2 id="хронология" tabindex="-1"><a class="header-anchor" href="#хронология"><span>Хронология</span></a></h2><p>В списке перечислены только публичные проекты.</p>',37)]))}const s=r(o,[["render",t],["__file","works.html.vue"]]),d=JSON.parse('{"path":"/works.html","title":"Работы","lang":"ru-RU","frontmatter":{"title":"Работы","layout":"WorksPage","sidebar":false,"head":[["link",{"rel":"alternate","hreflang":"en-us","href":"https://pleshevski.ru/eng/works.html"}],["meta",{"property":"og:url","content":"https://pleshevski.ru/works.html"}],["meta",{"property":"og:site_name","content":"Дмитрий Плешевский"}],["meta",{"property":"og:title","content":"Работы"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"ru-RU"}],["meta",{"property":"og:locale:alternate","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-08-07T08:48:54.000Z"}],["meta",{"property":"article:modified_time","content":"2024-08-07T08:48:54.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Работы\\"}"]]},"headers":[{"level":2,"title":"Выделенный опыт работы","slug":"выделенныи-опыт-работы","link":"#выделенныи-опыт-работы","children":[{"level":3,"title":"Binary Management","slug":"binary-management","link":"#binary-management","children":[]},{"level":3,"title":"Core Spirit (Back Office)","slug":"core-spirit-back-office","link":"#core-spirit-back-office","children":[]},{"level":3,"title":"Master Progress","slug":"master-progress","link":"#master-progress","children":[]},{"level":3,"title":"Core Spirit","slug":"core-spirit","link":"#core-spirit","children":[]},{"level":3,"title":"MERLION","slug":"merlion","link":"#merlion","children":[]}]},{"level":2,"title":"Хронология","slug":"хронология","link":"#хронология","children":[]}],"git":{"updatedTime":1723020534000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":5}]},"filePathRelative":"works.md"}');export{s as comp,d as data};