update works
This commit is contained in:
parent
98c6e787d1
commit
2b9101cf1a
17 changed files with 171 additions and 78 deletions
8
dist/404.html
vendored
8
dist/404.html
vendored
|
@ -33,11 +33,11 @@
|
|||
</script>
|
||||
<meta property="og:url" content="https://pleshevski.ru/404.html"><meta property="og:site_name" content="Дмитрий Плешевский"><meta property="og:type" content="website"><meta property="og:locale" content="ru-RU"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":""}</script><title>Дмитрий Плешевский</title><meta name="description" content=" ">
|
||||
<link rel="preload" href="/assets/style-BACGJ9Qw.css" as="style"><link rel="stylesheet" href="/assets/style-BACGJ9Qw.css">
|
||||
<link rel="modulepreload" href="/assets/app-OMtl6IVo.js"><link rel="modulepreload" href="/assets/404.html-DhSV0iSI.js">
|
||||
<link rel="prefetch" href="/assets/index.html-DdOSz3i9.js" as="script"><link rel="prefetch" href="/assets/works.html-B-M3ZurS.js" as="script"><link rel="prefetch" href="/assets/index.html-DhiGfEXH.js" as="script"><link rel="prefetch" href="/assets/works.html-B4GC5YDW.js" as="script">
|
||||
<link rel="modulepreload" href="/assets/app-CICBSUru.js"><link rel="modulepreload" href="/assets/404.html-Dwh2w4FP.js">
|
||||
<link rel="prefetch" href="/assets/index.html-CRXC2eW2.js" as="script"><link rel="prefetch" href="/assets/works.html-dR21TKIc.js" as="script"><link rel="prefetch" href="/assets/index.html-D2WI0AD-.js" as="script"><link rel="prefetch" href="/assets/works.html-ClPWTWbv.js" as="script">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"><!--[--><div class="vp-theme-container" data-v-056523ff><main class="page" data-v-056523ff><div class="theme-default-content" data-v-056523ff><h1 data-v-056523ff>404</h1><blockquote data-v-056523ff>Мы потеряли страницу...</blockquote><a class="route-link" href="/" data-v-056523ff>Вернуться на главную</a></div></main></div><!--[--><!----><!--]--><!--]--></div>
|
||||
<script type="module" src="/assets/app-OMtl6IVo.js" defer></script>
|
||||
<div id="app"><!--[--><div class="vp-theme-container" data-v-056523ff><main class="page" data-v-056523ff><div class="theme-default-content" data-v-056523ff><h1 data-v-056523ff>404</h1><blockquote data-v-056523ff>Верните страницу!</blockquote><a class="route-link" href="/" data-v-056523ff>Вернуться на главную</a></div></main></div><!--[--><!----><!--]--><!--]--></div>
|
||||
<script type="module" src="/assets/app-CICBSUru.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1 +1 @@
|
|||
import{_ as t,c as e,o,a}from"./app-OMtl6IVo.js";const n={},r=a("p",null,"404 Not Found",-1),c=[r];function s(l,p){return o(),e("div",null,c)}const i=t(n,[["render",s],["__file","404.html.vue"]]),m=JSON.parse('{"path":"/404.html","title":"","lang":"ru-RU","frontmatter":{"layout":"NotFound","head":[["meta",{"property":"og:url","content":"https://pleshevski.ru/404.html"}],["meta",{"property":"og:site_name","content":"Дмитрий Плешевский"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"ru-RU"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"\\"}"]]},"headers":[],"git":{},"filePathRelative":null}');export{i as comp,m as data};
|
||||
import{_ as t,c as e,o,a}from"./app-CICBSUru.js";const n={},r=a("p",null,"404 Not Found",-1),c=[r];function s(l,p){return o(),e("div",null,c)}const i=t(n,[["render",s],["__file","404.html.vue"]]),m=JSON.parse('{"path":"/404.html","title":"","lang":"ru-RU","frontmatter":{"layout":"NotFound","head":[["meta",{"property":"og:url","content":"https://pleshevski.ru/404.html"}],["meta",{"property":"og:site_name","content":"Дмитрий Плешевский"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"ru-RU"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"\\"}"]]},"headers":[],"git":{},"filePathRelative":null}');export{i as comp,m as data};
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
dist/assets/works.html-B-M3ZurS.js
vendored
1
dist/assets/works.html-B-M3ZurS.js
vendored
File diff suppressed because one or more lines are too long
1
dist/assets/works.html-B4GC5YDW.js
vendored
1
dist/assets/works.html-B4GC5YDW.js
vendored
File diff suppressed because one or more lines are too long
1
dist/assets/works.html-ClPWTWbv.js
vendored
Normal file
1
dist/assets/works.html-ClPWTWbv.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/assets/works.html-dR21TKIc.js
vendored
Normal file
1
dist/assets/works.html-dR21TKIc.js
vendored
Normal file
File diff suppressed because one or more lines are too long
10
dist/eng/index.html
vendored
10
dist/eng/index.html
vendored
File diff suppressed because one or more lines are too long
10
dist/eng/works.html
vendored
10
dist/eng/works.html
vendored
File diff suppressed because one or more lines are too long
10
dist/index.html
vendored
10
dist/index.html
vendored
File diff suppressed because one or more lines are too long
2
dist/sitemap.xml
vendored
2
dist/sitemap.xml
vendored
|
@ -1,3 +1,3 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/sitemap.xsl"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://pleshevski.ru/</loc><lastmod>2024-07-25T12:12:09.000Z</lastmod><changefreq>monthly</changefreq><xhtml:link rel="alternate" hreflang="ru-RU" href="https://pleshevski.ru/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://pleshevski.ru/eng/"/></url><url><loc>https://pleshevski.ru/works.html</loc><lastmod>2024-07-25T13:59:34.000Z</lastmod><changefreq>monthly</changefreq><xhtml:link rel="alternate" hreflang="ru-RU" href="https://pleshevski.ru/works.html"/><xhtml:link rel="alternate" hreflang="en-US" href="https://pleshevski.ru/eng/works.html"/></url><url><loc>https://pleshevski.ru/eng/</loc><lastmod>2024-07-25T12:12:09.000Z</lastmod><changefreq>monthly</changefreq><xhtml:link rel="alternate" hreflang="ru-RU" href="https://pleshevski.ru/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://pleshevski.ru/eng/"/></url><url><loc>https://pleshevski.ru/eng/works.html</loc><lastmod>2024-07-25T12:12:09.000Z</lastmod><changefreq>monthly</changefreq><xhtml:link rel="alternate" hreflang="ru-RU" href="https://pleshevski.ru/works.html"/><xhtml:link rel="alternate" hreflang="en-US" href="https://pleshevski.ru/eng/works.html"/></url></urlset>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://pleshevski.ru/</loc><lastmod>2024-08-07T07:36:38.000Z</lastmod><changefreq>monthly</changefreq><xhtml:link rel="alternate" hreflang="ru-RU" href="https://pleshevski.ru/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://pleshevski.ru/eng/"/></url><url><loc>https://pleshevski.ru/works.html</loc><lastmod>2024-08-07T08:48:54.000Z</lastmod><changefreq>monthly</changefreq><xhtml:link rel="alternate" hreflang="ru-RU" href="https://pleshevski.ru/works.html"/><xhtml:link rel="alternate" hreflang="en-US" href="https://pleshevski.ru/eng/works.html"/></url><url><loc>https://pleshevski.ru/eng/</loc><lastmod>2024-08-07T07:36:38.000Z</lastmod><changefreq>monthly</changefreq><xhtml:link rel="alternate" hreflang="ru-RU" href="https://pleshevski.ru/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://pleshevski.ru/eng/"/></url><url><loc>https://pleshevski.ru/eng/works.html</loc><lastmod>2024-08-07T08:48:54.000Z</lastmod><changefreq>monthly</changefreq><xhtml:link rel="alternate" hreflang="ru-RU" href="https://pleshevski.ru/works.html"/><xhtml:link rel="alternate" hreflang="en-US" href="https://pleshevski.ru/eng/works.html"/></url></urlset>
|
10
dist/works.html
vendored
10
dist/works.html
vendored
File diff suppressed because one or more lines are too long
|
@ -6,53 +6,98 @@ sidebar: false
|
|||
|
||||
## Highlighted working experience
|
||||
|
||||
#### Binary Management
|
||||
### Binary Management
|
||||
|
||||
- Dates: August 2018 – currently
|
||||
- Roles: Lead Fullstack Developer, Team Lead, Architect
|
||||
|
||||
Development of a project management tool for interior designers
|
||||
Development of a Project Management Tool for Interior Designers
|
||||
|
||||
- Development of the GraphQL API (Node.JS, Apollo, PostgreSQL, Redis, BullMQ).
|
||||
Moved database triggers to business logic. Wrote integration tests on 70% api.
|
||||
- Development of the frontend (React, Antd). Formed uikit, shared components,
|
||||
redesigned the page generation gathering. Completely changed work with API on
|
||||
the frontend. Introduced the practice of writing integration tests using
|
||||
cypress
|
||||
- Completely ported the project to TypeScript. I have formed isolated modules of
|
||||
the system.
|
||||
- As a team leader, I brought the critical chain method, the buffer method, and
|
||||
the planning method to the project from the end. Helped the team get into a
|
||||
rhythm to make releases each week in small batches. A couple of times I also
|
||||
prepared an individual development plan for team members.
|
||||
##### Backend GraphQL API
|
||||
|
||||
#### Master Progress
|
||||
Stack: `Node.JS`, `Apollo`, `PostgreSQL`, `Redis`, `BullMQ`
|
||||
|
||||
- Migrated database triggers into business logic. Code became easier to read and
|
||||
maintain, and the system became more reliable.
|
||||
- Introduced unit testing and integration testing practices. I wrote over 70% of
|
||||
all tests myself.
|
||||
- Added GraphQL subscriptions for dynamic updates.
|
||||
|
||||
##### Frontend
|
||||
|
||||
Stack: `React`, `Apollo`, `Antd`
|
||||
|
||||
- Formed a UIKit and general components, optimized complex and loaded
|
||||
components.
|
||||
- Changed API work on the frontend.
|
||||
- Introduced integration testing practice using Cypress.
|
||||
- Migrated the entire project to TypeScript. Created isolated system modules.
|
||||
|
||||
##### Leadership of the Team
|
||||
|
||||
- Introduced TDD (Test-Driven Development) practices.
|
||||
- Brought the "Critical Chain Method", the "Buffer Method", and the "Backward
|
||||
Planning" method into the project. Helped the team get in sync,
|
||||
releasing small batches every week.
|
||||
- Created individual development plans for team members.
|
||||
|
||||
##### Architecture
|
||||
|
||||
- Broke down the entire codebase into modules by feature.
|
||||
- Optimized `PostgreSQL` database, splitting company data into separate schemas
|
||||
and applying partitioning tables.
|
||||
- Added query caching with Redis.
|
||||
- Reduced infrastructure costs by 5 times, migrating the project from Kubernetes
|
||||
to NixOS.
|
||||
|
||||
---
|
||||
|
||||
### Core Spirit (Back Office)
|
||||
|
||||
- Даты: Август 2024 - currently
|
||||
- Роль: Lead Fullstack Developer
|
||||
|
||||
Development of the Back Office for Core Spirit social platform.
|
||||
|
||||
- Integrated `Dependabot`, which helped update all outdated
|
||||
dependencies. Replaced webpack with `vite`.
|
||||
|
||||
---
|
||||
|
||||
### Master Progress
|
||||
|
||||
- Dates: May 2018 - currently (Passively maintained)
|
||||
- Role: Tech Lead
|
||||
|
||||
Development web infrastructure of the educational center Master Progress
|
||||
|
||||
- [The main site](https://masterprogress.ru) (Python, Flask).
|
||||
- [Student's cabinet](https://cabinet.masterprogress.ru) (Python,
|
||||
Flask, TypeScript, React).
|
||||
- [The main site](https://masterprogress.ru) (`Python`, `Flask`).
|
||||
- [Student's cabinet](https://cabinet.masterprogress.ru) (`Python`,
|
||||
`Flask`, `TypeScript`, `React`, `PostgreSQL`).
|
||||
- [A tool for rosmintrud](https://rosmintrud.masterprogress.ru)
|
||||
(Deno, Vue, Typescript)
|
||||
- Created a complete infrastructure on Woodpecker CI and Docker swarm.
|
||||
(`Deno`, `Vue`, `Typescript`)
|
||||
- A complete infrastructure was created on `NixOS`. Before that, I had created
|
||||
an infrastructure using `Drone CI` / `Woodpecker CI` and `Docker
|
||||
swarm`, which has been running for over 5 years.
|
||||
|
||||
#### Core Spirit
|
||||
---
|
||||
|
||||
### Core Spirit
|
||||
|
||||
- Dates: August 2018 - May 2020, August 2024 - currently
|
||||
- Role: Lead Fullstack Developer
|
||||
|
||||
Development of Social platform focusing on human and planetary enhancement.
|
||||
|
||||
- REST API (Node.JS, Express, PostgreSQL) for main site and
|
||||
backoffice.
|
||||
- A REST API (using `Node.JS`, `Express`, and `PostgreSQL`) for the main website
|
||||
and back office. I also got to work with a new version of the REST
|
||||
API using `Go` and `PostgreSQL`.
|
||||
- Auto poster to various social networks and messengers
|
||||
(Facebook, LinkedIn, Twitter, Telegram).
|
||||
- Neural network for automatic categorization of articles.
|
||||
|
||||
---
|
||||
|
||||
#### MERLION
|
||||
|
||||
- Dates: March 2016 – May 2018
|
||||
|
@ -69,6 +114,7 @@ websites (Node.JS, Express)
|
|||
- work with neural networks for matching of goods
|
||||
- development face recognition apps for Android (Java)
|
||||
|
||||
---
|
||||
|
||||
## Chronology
|
||||
|
||||
|
|
|
@ -6,41 +6,84 @@ sidebar: false
|
|||
|
||||
## Выделенный опыт работы
|
||||
|
||||
#### Binary Management
|
||||
### Binary Management
|
||||
|
||||
- Даты: Август 2018 – по настоящее время
|
||||
- Роли: Lead Fullstack Developer, Team Lead, Architect
|
||||
|
||||
Разработка инструмента управления проектами для дизайнеров интерьера
|
||||
Разработка инструмента управления проектами для дизайнеров интерьера.
|
||||
|
||||
- Разработка GraphQL API (Node.JS, Apollo, PostgreSQL, Redis, BullMQ). Перенес
|
||||
триггеры базы данных в бизнес-логику. Написал интеграционные тесты на 70% api.
|
||||
- Разработка фронтенда (React, Antd). Сформировал uikit и общие компоненты,
|
||||
оптимизировал сложные и нагруженные компоненты. Полностью изменил работу с API
|
||||
на фронтенде. Внедрил практику написания интеграционных тестов с помощью
|
||||
cypress.
|
||||
##### Backend GraphQL API
|
||||
|
||||
Стек: `Node.JS`, `Apollo`, `PostgreSQL`, `Redis`, `BullMQ`
|
||||
|
||||
- Перенес триггеры базы данных в бизнес-логику. Проще стало читать код, вносить
|
||||
изменение и система стала надежнее.
|
||||
- Ввёл практику написания unit тестов и интеграционных тестов. Самолично написал
|
||||
более 70% тестов всех тестов.
|
||||
- Добавил GraphQL подписки для динамичного обновления.
|
||||
|
||||
##### Frontend
|
||||
|
||||
Стек: `React`, `Apollo`, `Antd`
|
||||
|
||||
- Сформировал UIKit и общие компоненты, оптимизировал сложные и нагруженные
|
||||
компоненты.
|
||||
- Изменил работу с API на фронтенде.
|
||||
- Внедрил практику написания интеграционных тестов с помощью cypress.
|
||||
- Полностью перенес проект на TypeScript. Сформировал изолированные модули
|
||||
системы.
|
||||
- Как руководитель команды, я привнес в проект метод критической цепи, метод
|
||||
буфера и метод планирования с конца. Помог команде войти в ритм, чтобы
|
||||
выпускать релизы каждую неделю небольшими партиями. Я также несколько раз
|
||||
составлял индивидуальный план развития для членов команды.
|
||||
|
||||
#### Master Progress
|
||||
##### Руководство командой
|
||||
|
||||
- Ввёл практику TDD (Test-Driven Development).
|
||||
- Я привнес в проект "метод критической цепи", "метод буфера" и "метод
|
||||
планирования с конца". Помог команде войти в ритм, чтобы выпускать релизы каждую
|
||||
неделю небольшими партиями.
|
||||
- Составлял индивидуальный план развития для членов команды.
|
||||
|
||||
##### Архитектура
|
||||
|
||||
- Разбил всю кодовую базу на модули по фичам.
|
||||
- Ускорил базу данных `PostgreSQL`, разбив данные компаний по отдельным схемам и
|
||||
применив партиципирование таблиц.
|
||||
- Добавил кеширование запросов с `Redis`.
|
||||
- Уменьшил затраты на инфраструткуру в 5 раз, перенес весь проект с kubernetes
|
||||
на `NixOS`.
|
||||
|
||||
---
|
||||
|
||||
### Core Spirit (Back Office)
|
||||
|
||||
- Даты: Август 2024 - по настоящее время
|
||||
- Роль: Lead Fullstack Developer
|
||||
|
||||
Разработка бэк-офиса для социальной платформы Core Spirit.
|
||||
|
||||
- Интегрировал Dependabot, который помог обновить все устаревшие
|
||||
зависимости. Заменил webpack на vite.
|
||||
|
||||
---
|
||||
|
||||
### Master Progress
|
||||
|
||||
- Даты: Май 2018 - по настоящее время (Пассивная поддержка)
|
||||
- Роль: Tech Lead
|
||||
|
||||
Разработка веб-инфраструктуры образовательного центра Мастер Прогресс
|
||||
Разработка веб-инфраструктуры образовательного центра Мастер Прогресс.
|
||||
|
||||
- [Главного сайта](https://masterprogress.ru) (Python, Flask).
|
||||
- [Кабинета студента](https://cabinet.masterprogress.ru) (Python, Flask,
|
||||
TypeScript, React).
|
||||
- [Главного сайта](https://masterprogress.ru) (`Python`, `Flask`).
|
||||
- [Кабинета студента](https://cabinet.masterprogress.ru) (`Python`, `Flask`,
|
||||
`TypeScript`, `React`, `PostgreSQL`).
|
||||
- [Инструмента для работы с rosmintrud](https://rosmintrud.masterprogress.ru)
|
||||
(Deno, Vue, Typescript)
|
||||
- Создана полная инфраструктура на Woodpecker CI и Docker swarm.
|
||||
(`Deno`, `Vue`, `Typescript`)
|
||||
- Создана полная инфраструктура на `NixOS`. До этого создал инфраструктуру
|
||||
используя `Drone CI` / `Woodpecker CI` и `Docker swarm`, которая проработала
|
||||
более 5 лет.
|
||||
|
||||
#### Core Spirit
|
||||
---
|
||||
|
||||
### Core Spirit
|
||||
|
||||
- Даты: Август 2018 - May 2020, Август 2024 - по настоящее время
|
||||
- Роль: Lead Fullstack Developer
|
||||
|
@ -48,13 +91,15 @@ TypeScript, React).
|
|||
Разработка социальной платформы, сфокусированной на улучшении человека и
|
||||
планеты.
|
||||
|
||||
- REST API (Node.JS, Express, PostgreSQL) для основного сайта и
|
||||
бэк-офиса.
|
||||
- REST API (`Node.JS`, `Express`, `PostgreSQL`) для основного сайта и
|
||||
бэк-офиса. Успел поработать с новой версией REST API на `Go`, `PostgreSQL`
|
||||
- Автопостер в различные социальные сети и мессенджеры (Facebook,
|
||||
LinkedIn, Twitter, Telegram).
|
||||
- Создал нейронную сеть для автоматической категоризации статей.
|
||||
|
||||
#### MERLION
|
||||
---
|
||||
|
||||
### MERLION
|
||||
|
||||
- Dates: March 2016 – May 2018
|
||||
- Role: Senior Fullstack developer
|
||||
|
@ -70,6 +115,8 @@ JavaScript)
|
|||
- Работа с нейронными сетями для подбора товаров
|
||||
- Разработка приложений для распознавания лиц для Android (Java)
|
||||
|
||||
---
|
||||
|
||||
## Хронология
|
||||
|
||||
В списке перечислены только публичные проекты.
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
set -xe
|
||||
|
||||
if [ ! -z $(git diff --cached --name-only | grep "^docs/") ]
|
||||
if [ ! -z "$(git diff --cached --name-only | grep "^docs/")" ]
|
||||
then
|
||||
make build
|
||||
git add dist
|
||||
|
|
Loading…
Reference in a new issue