From 70b60422ac5f53260504996dda38d3939060dceb Mon Sep 17 00:00:00 2001 From: Moshkin Denis Date: Wed, 10 Jan 2024 11:31:17 +0300 Subject: [PATCH] commit --- .../portfolio/input-validation-next/1.png | Bin 6423 -> 11426 bytes .../input-validation-next/docs-index.png | Bin 0 -> 16946 bytes dist/pages/index.html | 2 +- .../portfolio/input-validation-next/1.webp | Bin 12250 -> 23456 bytes .../input-validation-next/docs-index.webp | Bin 0 -> 23430 bytes src/img/portfolio/input-validation-next/1.png | Bin 12741 -> 19600 bytes .../input-validation-next/docs-index.png | Bin 0 -> 41251 bytes src/pug/pages/index.pug | 11 ++++++++--- 8 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 dist/min-img/portfolio/input-validation-next/docs-index.png create mode 100644 dist/webp-img/portfolio/input-validation-next/docs-index.webp create mode 100644 src/img/portfolio/input-validation-next/docs-index.png diff --git a/dist/min-img/portfolio/input-validation-next/1.png b/dist/min-img/portfolio/input-validation-next/1.png index d74f53e6402e2310ee1978eb2408c6d32b9a4142..20f5f536e9bd2083e799f9aa1030258f77054ddf 100644 GIT binary patch literal 11426 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 G^!+dM*$F)W literal 6423 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 diff --git a/dist/min-img/portfolio/input-validation-next/docs-index.png b/dist/min-img/portfolio/input-validation-next/docs-index.png new file mode 100644 index 0000000000000000000000000000000000000000..2c5a4979264e4de00a1da795ea041d25b5d939b6 GIT binary patch literal 16946 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Портфолио

Привет, меня зовут Денис и я

  • F
  • R
  • O
  • N
  • T
  • E
  • N
  • D
  • Р
  • А
  • З
  • Р
  • А
  • Б
  • О
  • Т
  • Ч
  • И
  • К

создаю современные сайты.

Мошкин Денис
Frontend (js, Vue, Canvas, WebGL) / Backend (node, php, Laravel) разработчик
  • Рассматриваю свое развитие в сторону руководства, помощи начинающим сотрудникам.
  • Заинтересован в интересных проектах, которые будут развивать меня как крутого разработчика.
  • Интересны технологии: frontend(vue), графика(canvas, webgl), node (express, next).
  • Уделяю большое внимание и значение качеству кода проекта.
  • Я всей душой полюбил веб разрботку, и не жалею времени на постоянное развитие в этой области.
  • Больше хочется работать с новыми проектами, либо создавать с нуля.
  • Тут более дюжины правил для дизайнера
    Ссылка на док файл в яндекс диске.
  • Опыт в веб-разработке:

    3 года + опыт работы на фрилансе.

  • Возраст:

    24 года

  • Почта:

    moshkin.denis.007@yandex.ru

  • Телефон:

    89635508754

  • Телеграмм:

    @denis_moshkin

  • Образование:

    "ВятГУ" по направлению "Фундаментальная информатика и информационные технологии" 3 курса (неоконченное высшее, отчислился по собственному желанию, так как не хотел тратить впустую время)

  • Оценки в университете:

    Дискретная математика - отлично
    Объектно-ориентированное программирование - хорошо
    Классические алгоритмы и структуры данных - хорошо
    Дифференциальные и разностные уравнения - отлично
    Иностранный язык - отлично
    Математический анализ - отлично
    Теория вероятности и математическая статистика - отлично
    Компьютерные сети - хорошо
    Теория информации и кодирования - хорошо
    Математическая логика - отлично
    Мат. логика - отлично
    Архитектура вычислительных систем - хорошо
    Ссылка на документ

  • Медиа:

Навыки

Frontend

  • Vue2, Vue3

    Изучил прогрессивный JavaScript-фреймворк. Научился работать с классами, событиями, директивами, слотами, миксинами, компонентами, двух-связной привязке к полям ввода. А также composition api, proxy, typescript в vue3.

  • Nuxt.js

    Изучил vue фреймворк для облегчения работы с ssr. Научился работать с page, layout, plugins, assets, routing, seo and meta, configuration.

  • Vuex, Pinia

    Изучил библиотеку vuex для хранения состояния vue приложения. Изучил getters, dispatch, actions, mutations, modules, а также map helpers (mapGetters, mapActions, mapState, mapMutations) и работу с простраством имен для modules.

  • Vue-router

    Изучил библиотеку vue-router для роутинга и создания SPA. Изучил router-link, router options, programmatic navigation, navigation guards, named routers.

  • Vuetify

    Изучил ui фреймворк для vue приложений. Изучил helper classes, sass variables, components (app, grid, btn, tables, menu, v-text-field, validation, icon, img ...)

  • Element-plus

    Изучил ui фреймворк для vue приложений. Изучил components, config, css-vars, подключение только нужных компонентов.

  • Bootstrap-vue

    Изучил vue framework. Научился работать с многочисленными компонентами, иконками.

  • Vue экосистема

    vite, nuxt, vue cli, vue-i18n, vuelidate, vueuse,

  • Node.js

    Изучил язык программирования - Node.js. Научился использовать: path, file system (fs), es6 modules, commonjs modules.

  • Javascript

    Изучил язык программирования - Javascript. Научился использовать: промисы, fetch, замыкание, символы, модули, strict mode, функции, классы, встроенные объекты, работать с DOM моделью сайта и работой с браузерными объектами (location, Event, localstorage)

  • TypeScript

    Изучил TypeScript - типизированный js. Изучил типы (type), классы (class), generics (T), множества (enums), tsconfig (libs, options), интерфейсы (interface), а также пользоваться типами библиотек и изменять их.

  • AJAX, Websockets

    Изучил AJAX - асинхронный JavaScript и XML. Научился работать с сервером: отправлять, получать запросы и обрабатывать их на странице. А также пользоваться библиотекой AXIOS. Изучил websockets для постонного соеденинения с сервером.

  • Webpack

    Изучил сборщик проектов webpack Ссылка на репозиторий с конфигом.
    Пытаюсь понять как работает webpack под капотом в браузере (особенно импорты и экпорты). В дальшейшем есть планы посмотреть процесс компиляции на node.js webpack'а.

  • Cypress

    Изучил способы end2end тестирования кода. Генерация событий(click), поиск элементов (get), проверка api запросов (intercept, wait), обработка загрузки файлов (cypress-file-upload), переход по урлам, fixtures.

  • Тестирование.

    Изучил способы тестирования unit кода. 1. Jest фрейморк для написания тестов, применил: jsdom - для тестирования DOM, describe, test, except. 2. Хорошо знаю режим разработчика в браузере. 3. Научился тестировать сайты через подключение к телефону(google chrome + android), если баг происходит только на мобильном устройстве.

  • Linters

    Научился настраивать проверку кода pug - puglint, ts - eslint, editorconfig - общие настройки, husky - для проверки при коммите, а также структурирование коммитов с помощью Conventional Commits.

  • JSDoc/TSDoc

    Изучил JSDoc/TSDoc - продвинутые js комментарии. Научился комментировать функции. Люблю хорошо документированные проекты, поэтому уделяю большое внимание докуменатции к проектам. Научился создавать документацию по комментариям при помощи tsdoc.

  • Canvas

    Изучил html элемент для создания графики с помощью JS. Научился рисовать изображения на холсте, импортировать холс в виде картинки, а также с контекстом элемента canvas.

  • Chrome extensions

    Изучил chrome api для создания расширений. А также таких модулей как: chrome.runtime, chrome.tabs, chrome.storage.local, popup, manifest.json.

  • Vue-ssr

    В ознакомительных целях.

Backend

  • Laravel

    Изучил фреймфорк для PHP. Научился инициализировать стартовый проект. Работать с controllers, models, views, routes, artisan, database migration, query builder.

  • PHP

    Изучил язык программирования PHP. Научился настраивать php.ini.

  • MySQL

    Изучил реляционную систему управления базами данных MySQL. Научился разворачивать mysql сервер. Научился пользоваться MySQL Workbench и создавать модели.

  • Apache

    Изучил кроссплатформенный веб-сервер (apache house for windows). Научился настраивать виртуальные хосты, использовать многочисленные директивы. Просматривать логи, добавлять дополнительные модули (php, mysql).

  • Composer

    Изучил мендеждер зависимостей для PHP. Научился устанавливать composer и работать с пакетами.

  • XDebug

    Изучил средство отладки PHP скриптов. Научился подключать xdebug к PHP и запускать пошаговую отдалку в PHPStorm и VS Code.

  • SQL

    Изучил язык структурированых запросов SQL. Знаю на уровне запросов: insert, select, join, update, delete, а также нормальные формы Бойса-Кодда.

  • Linux

    Изучил операционную систему Linux . Научился пользоваться терминалом, настраивать LAMP сервер.

  • PHPStorm

    Изучил мощный редактор кода для PHP.

  • Wordpress

    Изучил CMS систему управления контентом. Научился работать со стандартными классами и методами, владеть бызовыми знаниями в php, работать с админкой и связывать админку с версткой.

Верстка

  • Bootstrap

    Изучил css framework для верстки. Научился работать с компонентами (accordion, breadcrumb, modal, offcanvas, ...), системой сеток, а также подключать только нужные scss и js файлы.

  • Верстка

    Изучил верстку страниц сайта по PSD, Figma макету. Научился верстать адаптивно и кроссбраузерно с применением медиа запросов. Использование семантической верстки для улучшения качества кода.

  • Gulp

    Изучил таскранер Gulp. Научился использовать плагины для минификации кода и изображений, сборки файлов, постпроцессоры, сервер проекта, а также линтеры для JS, CSS, PUG. Ссылка на репозиторий с конфигом.

  • Опт-ция сайта

    Изучил методы оптимизации сайта. Научился использовать програссивные форматы изображений (webp), ленивую загрузку фото, минимальную вложенность DOM, минификация кода, а также научился работать с панелью разработчика для отслеживания процесса работы сайта. Умею довести баллы сайта по goggle page speed до зеленой зоны.

  • JQuery

    Изучил библиотеку для js - JQuery. Научился использовать селекторы, события, методы работы с DOM, эффекты и анимацию.

  • HTML5

    Изучил язык гипертекстовой разметки текста - HTML. Научился делать качественную разметку веб-страницы, используя всевозможные тэги и атрибуты. Поддержка accessibility - для доступности проекта всеми людьми.

  • CSS3

    Изучил таблицу каскадных стилей CSS. Научился использовать grid и flex в зависимости от поставленной задачи, а также всевозможные стили.

  • scss/sass/less

    Изучил CSS препроцессоры. Научился использовать переменные, миксины, вложенность, циклы, импорты для ускорения верстки сайта.

  • Pug

    Изучил шаблонизатор для html. Научился использовать циклами, переменными, блоками, импортами, инклюдами, миксинами.

  • БЭМ

    Изучил методологию верстки - BAM-naming. Научился стандартному наименованию классов и разделению ответственности между блоками, а также конецпции блок, элемент, модификатор.

  • MJML

    Изучил фреймворк для верстки писем. Научился использовать тэгами и стилями.

  • Yandex map api

    Изучил api яндекс карта для создания взаимодействия пользователя с картой.

Остальное

  • Программирование

    Изучил паттерны проектирование. Применил skeleton, chain of responsibility. Изучил принципы программирования DRY(don't reapet yourself), KISS(keep it simple, stupid).

  • Git / Github

    Изучил систему контроля версий. Научился пользоваться git bush для локальной работы с проектом и github для хранния проекта на удаленном сервере, а также коммитить, пушить, мержить, работать с ветками, стэшить и изучил pull request и fetch. Использую gitlab и github

  • Англ. язык

    Свободное чтение документаций к плагинам, фреймворкам, а также любая информация в интернете. Документацию стараюсь читать только в оригинале. В планах свободное понимание английской речи в видео.

  • Agile (scrum)

    Изучил методологию гибкой разработки. Работа по спринтам, ежедневные обсуждение.

  • Figma

    Изучил инстурмент для создания дизайна сайта. Изучил работу с текстом (стили текста), с цветами (стили цветов), а также компоненты, группы и фреймы.

  • Доп. инструменты

    Phpstorm, Webstorm, Open Server, VS CODE, FTP, SSH, Yandex map api, С#

  • Книги

    "Совершенный код" - Стив Макконнелл, "Идеальный программист" - Роберт Мартин, "Как устроен JavaScript" - Крокфорд Дуглас

Портфолио

*указаны, только самые масштабные и крутые проекты, а также pet projects.

    • Технологии: ts, sass, chrome api.
    • ссылка на гит

      Установка: 1. Скачать репозиторий. 2. Зайти в browser://extensions/ 3. Выбрать режим разработчика (верхний правый угол). 4. Кнопка - загрузить расширение и выбрать скаченную папку с github'а.

    • Иконка меняется на серую, если во вкладке не открыто вконтакте.
    • Popup открывается, только на домене вконтакте.
    • Выбор в popup блоков, которые нужно заблокировать.(Реклама, рекомендации, вложенные посты)
    • Выбор опций сохраняется в chrome.storage.local.
    • Вконтакте скрипты не видят блокировку рекламы, поэтому последствий не должно быть.
    • Далее можно увидеть заблокированные блоки, а также вид самого расширения. (Картинки кликабельны)
    • Технологии: laravel, apache, mysql, php, vue, vue-router.
    • Реализована домашняя страница с пиццами, которые можно добавить в корзину
    • Реализована страница корзины с добавленными туда пиццами и оформлением заказа.
    • Реализована страница заказов для каждого пользователя. Идентификация храниться на backaend (db) и на frontend (localstorage)
    • Админка с продуктами, которые можно редактировать и добавлять.
    • Админка сделана на основе AdminLTE 3
    • Изображение кликабельны (откроется модалка)
    • ссылка на гит
    • Технологии: vue3, ts, vite, jest, vitest,
    • За основу взят плагин maska и адаптировал под себя. Отличительная идея в том, чтобы добавлять _ для всех невведенных символов. ссылка на плагин
    • Реализованы 3 класса: directive.ts - класс для работы с vue директивой, mask-input.ts - класс для работы с HTMLInputElement и mask.ts - класс для работы с маской по входному значению.
    • Добавлены unit тесты для класса mask (jest) ссылка на файл
    • Добавлены интеграционные тесты для класса mask-input (vitest, testing-library, jsdom) ссылка на файл
    • Репозиторий с проектом.ссылка на гит
    • Технологии: canvas, typescript, vite, mvc, svg.
    • простые svg иконки сделал на чистом svg
    • ссылка на гит
    • Технологии: vuetify, vue-router, vue-cli, typescript, vuex, sass, vue-i18n.
    • Поддержка авторизации польователя через localstorage. А также поддержка роутинга при условии авторизации пользователя. При повторном открытии вкладки приложение, авторизованный пользователь сразу получит страницу профиля, иначе страница авторизации.
    • Валидация всех форм через vueitfy.
    • Поддержка локализации (не везде)
    • Код проекта можно посмотреть тут: ссылка на гит
    • Игра сапер при использовании данных технологий: vue.js, vue cli, vuex, typescript.
    • Код проекта можно посмотреть тут: ссылка на гит
    • Реализация частоиспользуемых методов в библиотеке jQuery нативным js (typescript)
    • Реализованные методы:
      addClass, removeClass, toggleClass, hasClass, each, on, attr, data, removeData, removeAttr, hide, show, css, val, append, closest, sliblings
    • Есть сгенерированная документация при помощи tsdoc
      Посмотреть можно тут: ссылка на сайт
    • Код проекта можно посмотреть тут: ссылка на гит
    • Протестировать можно в консоли. Например ввести в консоли: $(".text").removeClass("text")
    • Код методов можно посмотреть тут: ссылка на гит
    • Реализовано тестирование методов при помощи ts-jest и jsdom
      +Портфолио

      Привет, меня зовут Денис и я

      • F
      • R
      • O
      • N
      • T
      • E
      • N
      • D
      • Р
      • А
      • З
      • Р
      • А
      • Б
      • О
      • Т
      • Ч
      • И
      • К

      создаю современные сайты.

      Мошкин Денис
      Frontend (js, Vue, Canvas, WebGL) / Backend (node, php, Laravel) разработчик
      • Рассматриваю свое развитие в сторону руководства, помощи начинающим сотрудникам.
      • Заинтересован в интересных проектах, которые будут развивать меня как крутого разработчика.
      • Интересны технологии: frontend(vue), графика(canvas, webgl), node (express, next).
      • Уделяю большое внимание и значение качеству кода проекта.
      • Я всей душой полюбил веб разрботку, и не жалею времени на постоянное развитие в этой области.
      • Больше хочется работать с новыми проектами, либо создавать с нуля.
      • Тут более дюжины правил для дизайнера
        Ссылка на док файл в яндекс диске.
      • Опыт в веб-разработке:

        3 года + опыт работы на фрилансе.

      • Возраст:

        24 года

      • Почта:

        moshkin.denis.007@yandex.ru

      • Телефон:

        89635508754

      • Телеграмм:

        @denis_moshkin

      • Образование:

        "ВятГУ" по направлению "Фундаментальная информатика и информационные технологии" 3 курса (неоконченное высшее, отчислился по собственному желанию, так как не хотел тратить впустую время)

      • Оценки в университете:

        Дискретная математика - отлично
        Объектно-ориентированное программирование - хорошо
        Классические алгоритмы и структуры данных - хорошо
        Дифференциальные и разностные уравнения - отлично
        Иностранный язык - отлично
        Математический анализ - отлично
        Теория вероятности и математическая статистика - отлично
        Компьютерные сети - хорошо
        Теория информации и кодирования - хорошо
        Математическая логика - отлично
        Мат. логика - отлично
        Архитектура вычислительных систем - хорошо
        Ссылка на документ

      • Медиа:

      Навыки

      Frontend

      • Vue2, Vue3

        Изучил прогрессивный JavaScript-фреймворк. Научился работать с классами, событиями, директивами, слотами, миксинами, компонентами, двух-связной привязке к полям ввода. А также composition api, proxy, typescript в vue3.

      • Nuxt.js

        Изучил vue фреймворк для облегчения работы с ssr. Научился работать с page, layout, plugins, assets, routing, seo and meta, configuration.

      • Vuex, Pinia

        Изучил библиотеку vuex для хранения состояния vue приложения. Изучил getters, dispatch, actions, mutations, modules, а также map helpers (mapGetters, mapActions, mapState, mapMutations) и работу с простраством имен для modules.

      • Vue-router

        Изучил библиотеку vue-router для роутинга и создания SPA. Изучил router-link, router options, programmatic navigation, navigation guards, named routers.

      • Vuetify

        Изучил ui фреймворк для vue приложений. Изучил helper classes, sass variables, components (app, grid, btn, tables, menu, v-text-field, validation, icon, img ...)

      • Element-plus

        Изучил ui фреймворк для vue приложений. Изучил components, config, css-vars, подключение только нужных компонентов.

      • Bootstrap-vue

        Изучил vue framework. Научился работать с многочисленными компонентами, иконками.

      • Vue экосистема

        vite, nuxt, vue cli, vue-i18n, vuelidate, vueuse,

      • Node.js

        Изучил язык программирования - Node.js. Научился использовать: path, file system (fs), es6 modules, commonjs modules.

      • Javascript

        Изучил язык программирования - Javascript. Научился использовать: промисы, fetch, замыкание, символы, модули, strict mode, функции, классы, встроенные объекты, работать с DOM моделью сайта и работой с браузерными объектами (location, Event, localstorage)

      • TypeScript

        Изучил TypeScript - типизированный js. Изучил типы (type), классы (class), generics (T), множества (enums), tsconfig (libs, options), интерфейсы (interface), а также пользоваться типами библиотек и изменять их.

      • AJAX, Websockets

        Изучил AJAX - асинхронный JavaScript и XML. Научился работать с сервером: отправлять, получать запросы и обрабатывать их на странице. А также пользоваться библиотекой AXIOS. Изучил websockets для постонного соеденинения с сервером.

      • Webpack

        Изучил сборщик проектов webpack Ссылка на репозиторий с конфигом.
        Пытаюсь понять как работает webpack под капотом в браузере (особенно импорты и экпорты). В дальшейшем есть планы посмотреть процесс компиляции на node.js webpack'а.

      • Cypress

        Изучил способы end2end тестирования кода. Генерация событий(click), поиск элементов (get), проверка api запросов (intercept, wait), обработка загрузки файлов (cypress-file-upload), переход по урлам, fixtures.

      • Тестирование.

        Изучил способы тестирования unit кода. 1. Jest фрейморк для написания тестов, применил: jsdom - для тестирования DOM, describe, test, except. 2. Хорошо знаю режим разработчика в браузере. 3. Научился тестировать сайты через подключение к телефону(google chrome + android), если баг происходит только на мобильном устройстве.

      • Linters

        Научился настраивать проверку кода pug - puglint, ts - eslint, editorconfig - общие настройки, husky - для проверки при коммите, а также структурирование коммитов с помощью Conventional Commits.

      • JSDoc/TSDoc

        Изучил JSDoc/TSDoc - продвинутые js комментарии. Научился комментировать функции. Люблю хорошо документированные проекты, поэтому уделяю большое внимание докуменатции к проектам. Научился создавать документацию по комментариям при помощи tsdoc.

      • Canvas

        Изучил html элемент для создания графики с помощью JS. Научился рисовать изображения на холсте, импортировать холс в виде картинки, а также с контекстом элемента canvas.

      • Chrome extensions

        Изучил chrome api для создания расширений. А также таких модулей как: chrome.runtime, chrome.tabs, chrome.storage.local, popup, manifest.json.

      • Vue-ssr

        В ознакомительных целях.

      Backend

      • Laravel

        Изучил фреймфорк для PHP. Научился инициализировать стартовый проект. Работать с controllers, models, views, routes, artisan, database migration, query builder.

      • PHP

        Изучил язык программирования PHP. Научился настраивать php.ini.

      • MySQL

        Изучил реляционную систему управления базами данных MySQL. Научился разворачивать mysql сервер. Научился пользоваться MySQL Workbench и создавать модели.

      • Apache

        Изучил кроссплатформенный веб-сервер (apache house for windows). Научился настраивать виртуальные хосты, использовать многочисленные директивы. Просматривать логи, добавлять дополнительные модули (php, mysql).

      • Composer

        Изучил мендеждер зависимостей для PHP. Научился устанавливать composer и работать с пакетами.

      • XDebug

        Изучил средство отладки PHP скриптов. Научился подключать xdebug к PHP и запускать пошаговую отдалку в PHPStorm и VS Code.

      • SQL

        Изучил язык структурированых запросов SQL. Знаю на уровне запросов: insert, select, join, update, delete, а также нормальные формы Бойса-Кодда.

      • Linux

        Изучил операционную систему Linux . Научился пользоваться терминалом, настраивать LAMP сервер.

      • PHPStorm

        Изучил мощный редактор кода для PHP.

      • Wordpress

        Изучил CMS систему управления контентом. Научился работать со стандартными классами и методами, владеть бызовыми знаниями в php, работать с админкой и связывать админку с версткой.

      Верстка

      • Bootstrap

        Изучил css framework для верстки. Научился работать с компонентами (accordion, breadcrumb, modal, offcanvas, ...), системой сеток, а также подключать только нужные scss и js файлы.

      • Верстка

        Изучил верстку страниц сайта по PSD, Figma макету. Научился верстать адаптивно и кроссбраузерно с применением медиа запросов. Использование семантической верстки для улучшения качества кода.

      • Gulp

        Изучил таскранер Gulp. Научился использовать плагины для минификации кода и изображений, сборки файлов, постпроцессоры, сервер проекта, а также линтеры для JS, CSS, PUG. Ссылка на репозиторий с конфигом.

      • Опт-ция сайта

        Изучил методы оптимизации сайта. Научился использовать програссивные форматы изображений (webp), ленивую загрузку фото, минимальную вложенность DOM, минификация кода, а также научился работать с панелью разработчика для отслеживания процесса работы сайта. Умею довести баллы сайта по goggle page speed до зеленой зоны.

      • JQuery

        Изучил библиотеку для js - JQuery. Научился использовать селекторы, события, методы работы с DOM, эффекты и анимацию.

      • HTML5

        Изучил язык гипертекстовой разметки текста - HTML. Научился делать качественную разметку веб-страницы, используя всевозможные тэги и атрибуты. Поддержка accessibility - для доступности проекта всеми людьми.

      • CSS3

        Изучил таблицу каскадных стилей CSS. Научился использовать grid и flex в зависимости от поставленной задачи, а также всевозможные стили.

      • scss/sass/less

        Изучил CSS препроцессоры. Научился использовать переменные, миксины, вложенность, циклы, импорты для ускорения верстки сайта.

      • Pug

        Изучил шаблонизатор для html. Научился использовать циклами, переменными, блоками, импортами, инклюдами, миксинами.

      • БЭМ

        Изучил методологию верстки - BAM-naming. Научился стандартному наименованию классов и разделению ответственности между блоками, а также конецпции блок, элемент, модификатор.

      • MJML

        Изучил фреймворк для верстки писем. Научился использовать тэгами и стилями.

      • Yandex map api

        Изучил api яндекс карта для создания взаимодействия пользователя с картой.

      Остальное

      • Программирование

        Изучил паттерны проектирование. Применил skeleton, chain of responsibility. Изучил принципы программирования DRY(don't reapet yourself), KISS(keep it simple, stupid).

      • Git / Github

        Изучил систему контроля версий. Научился пользоваться git bush для локальной работы с проектом и github для хранния проекта на удаленном сервере, а также коммитить, пушить, мержить, работать с ветками, стэшить и изучил pull request и fetch. Использую gitlab и github

      • Англ. язык

        Свободное чтение документаций к плагинам, фреймворкам, а также любая информация в интернете. Документацию стараюсь читать только в оригинале. В планах свободное понимание английской речи в видео.

      • Agile (scrum)

        Изучил методологию гибкой разработки. Работа по спринтам, ежедневные обсуждение.

      • Figma

        Изучил инстурмент для создания дизайна сайта. Изучил работу с текстом (стили текста), с цветами (стили цветов), а также компоненты, группы и фреймы.

      • Доп. инструменты

        Phpstorm, Webstorm, Open Server, VS CODE, FTP, SSH, Yandex map api, С#

      • Книги

        "Совершенный код" - Стив Макконнелл, "Идеальный программист" - Роберт Мартин, "Как устроен JavaScript" - Крокфорд Дуглас

      Портфолио

      *указаны, только самые масштабные и крутые проекты, а также pet projects.

      \ No newline at end of file diff --git a/dist/webp-img/portfolio/input-validation-next/1.webp b/dist/webp-img/portfolio/input-validation-next/1.webp index f3370867a9a4d2f31c03fcf1af06a11173cc51c2..505e5d7819aca289daf7173b868ee1ae2c4dbcf8 100644 GIT binary patch literal 23456 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 literal 12250 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 diff --git a/dist/webp-img/portfolio/input-validation-next/docs-index.webp b/dist/webp-img/portfolio/input-validation-next/docs-index.webp new file mode 100644 index 0000000000000000000000000000000000000000..92b430d76bf8b38e31430a48da9b2b0e3921ddd8 GIT binary patch literal 23430 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 YHwpj%000000000000000000000HjOQivR!s literal 0 HcmV?d00001 diff --git a/src/img/portfolio/input-validation-next/1.png b/src/img/portfolio/input-validation-next/1.png index df390eb1785da5a88da35d12404047f25934b11c..125ccad450325a75592d62a4ace43c117813e5b4 100644 GIT binary patch literal 19600 zcmeHvXIN9+wr&s=1q3UIG(QUn77(O2Q30hRA|ep50MbG)AwUoWLdv}x{cqT6rlp^p$C_%CpBcomA z6DBsEMTB*&NNRWO;tLLLt->cCc!s*Mf!srWFTV;T(M0Q14WtUkT?>_^x~hN9ec|r) zpnQjUkQyE-sYf@tu(1mngdiWNbu!jn(l`mf8)B9c;d$3I7wq;@_xGM7^zM(Z@IfFq z6MiT_Abw)a2=HGP?*Z^Y>xyV2yXY2M+S?J6F)4XHYZV6e66 zsBc0JdF;q0gTZ^0dCD%4gFwJU-P2p{b3bhqIrs>c~wTiWiH^#;!TK6v>_o(CDG zrR6>0g}EPHb%p|Fx~12A+=i;Ae$GiTP+a0;upVcAD0rR*hw}r+^d5*uVVU0AyuxD0 z+qs=@hLcaPN($Yd*C|>|uOfF>;-g0^xboj=K8y7KMoc^_^_-@V=2UvvQ-}vYAAF=h(HFRc<7nU`OI!_Vx$bT0OKpDvYf$ ztu}@qYFN0j*V=_Ii0|zAXOJyp5FrT$wB!37nxy3dMV{{3rozgsZ~Jce5V<-NkV=D9 z_jhvZ<_1f!m~)?OaULvog0@n(y87li7BD>?34n}f*0WWj<(|XF&h~2VFh0HDYC8M$ zCO*SMB(X-yCkwIRd9cQ|K+fu3p4~3@H5g$egKRfH!nh69i~Hok!V1IO?Q9rEco!5; z=cpua+%t(HcxtwgmsuPS9bWQUG<{2%-ZtWRsJk}O_ae` zTbImEbS3@3c=yvhX+;%E;aP}qiW~IlG)M4a2b0s%8$puVjrVVk?OHNK_(2Un=U1ns6%Q!533#i|(72H2&r|BGrLR%)T6IkX z-hW-YP_e#&6JyM8m`5CtxX2fJ>aFJ8%VPmlsFRXN&4Gg$V?)>^Pc(2+UmYAJ)I}`v z3UbHsk~Zl)Wt}(qEz?a)Hu$!Rx`p^Z?N-Y7 zdGVSe#6yW{hd5VHC&3a~RIT;_EjZr_1*(S}<;01`f%xxh?Tp-!A<2F%`y&X}< z(UdH8iBcyPj)Q7=yE}Uy@oTT<^(nFH9TI#_ccsLc2?a?*9ct1x)~CvZdO$p}UQva_<)+b{5S1OzU&I!x&uFb8#` ztUsnp1CWRFkiZcwlmV&=?{%FJ8)vHx|5nec)SLk-ujt! zjpMzCHE7&b1BewU<&C07vRt8b5%DLg3Pg=J_=+M%ahD0f!#7|snH$NHC_YJ zE^IZ2V;QAia{yt#RvxPoSF2s)ZPU;-!+Cw^y(VoAzpoyDwF*v^)Q*NEc?nbWu1Hw5 zB)S}ji^yjQmH+fk{?@Y>WPEm!;4Zm)lW45Mjid%hHFsB-ep1-n!To%^!6=3cDlcY+)>=q5kN7H_Lw_|7s$X0Xq$2wl? zrrda5V4st|&*d}~7+{&u=ZKF=bV<`*p2;4+@cHr5r6vUK!F6+On-1%h%A5QMCVA!+ zsE7e8{i-vHxGh<(Jj`CB-ne|$Utb&Y8rh&b6adZU05AVLXXHP0`h`USyDNh=w5>)R zl218xgUUZTI@+=GFvdUo>;sD@(JN`w2$_4#N`ZTTJy(eEIK`pa)FqyN&~@>{(Qlh+cIk(L`QvS9ZSw#8`G0jb=<5Mm*v{7KBQ1s&{g~I;x^E?< z{>^gE@GH?)<{h3%9Jr)oa4!4S^?^}vnc@=}+pI?u#Us;Kh-SOnm5*;U^c`uR=$PcyG9nVb9)O!2)ZC9Iemr*SoV zyNFVhK?!YYko4Ax>0#2B1q0>JEw>DKvX5UUxApU!{Q#O*V#&1T_z>1Gr+3kVpIlAb zWdhA#yvE>@`JBVIe)?XR&Y*9Mc6ic<>9@AY^x(2KEAm%t`tSE$#^DuWuwhPUP8%(b zGp99)rh}wS%}qRAU+CYCm?OPx7IUdGR-ihsf54+UQuO5Eub&iLIYfvfv9DXV-;vG&{j5!_zLZSOXfW8td^c>2~q(IGp0t?eXe2 z54~ZTK)%Iz>VoAWOf7LZ-LY>*#axFdw;6S@&%5P0cLm$K<&^H{j3QI*(mBaSKc8O{ z@fKx}hd$#WX(&2?TQ*q1kQm@{k}{dubtDD|*YknCJw5`=;HXI9BU89`R*^|g4I<;% z1+7>hTZa_t8Lhqg@(U_;*Q=U3^};b(RMT}`H`x(3tY$`9dpm=jOX(b##*+pO@hX58 zyuy}fzxt9F=`6*+7gy(f&CEXh?v36-@xvp-xtaLM?(8FA8V9@nmYq2; z(_BJ>J?>Fs;WP#2V>_=yuw~z6qtd#W-PttVE?c?j7&rQB#uvOJ965c+EPP>G;JZvs z-dF2wXc1wf^M3k8?gjVE^ag?H1;LGMDtEnO0QNDRy znxa?_$kHJ#1(f(^8{XHPmHpA&G>B=YZ(pOn0MGUOG^Lf+cDHl*ivkM82wqa__oj@j z=Gq61fcag|l5u6~f^s9^PBkwYk4RTm*YTb1fu(Kei5wu?ZS=RpOO{ zi2Rb^Hj!xki!#_y85967}wHh0BBSre@v}|X!M1D) zOW?5;DCwbsCj~Ng?C}Lke-V0O7(3_zRR=bqFccx8zO69r0>y$mmKWpFi5=vP=>rU| zy*oxmNhvGJc%pF*#CdWA0vPrVY@WuE-?aI97huNLjx4ZJC^F20H!LZfkDl?8@Wra_ z8x-4}ad^S%)U6vE&i+_V-(1aTAW@|i0lD~Clw!f;KHWi@mlOF!{kgP-U<5Ak`wm}( zHVmR>H~8iXYMEA`G*jQAmhoAx@dOz~v)|HPaIqPo-ai$&7Z#p;Z<@v}6nJbb7Uw1X z{Cc`sdZSRc~Q4vA{(ABw4=7rsf zwofm{6r0j=)>dQ~Pl+LhV}6)4lDFARCN5*ytVo~4@P2*PIzyXwTom7y2O|0yF~JWQ zxI}&23K2AGLjx@})9C>~%$Fr^qJf=lXC=8;)|2$byFyEV0fcABxS(jzyTjb%}mT+%Y@B9eM$YsD0o>xR!3Q1SVe zdL?7(%8Mnv$vQv1{oluvq#UBKn0!e+nK!l_8y#-ynu0k1Z7DRfaJA&}G5gXGH2x5C zlVoU_mJLhm#s_nleayVQYRS3#{B7qnwbn_>hiyFS7oXe5W#nnh&(@FjduyEHNP{s6 z>^fT&cfD}Z+7p~TB=N~QwX|w$M%~Da6INcT6%f$eBRgPtm?Wt)TvBNNXmqTQp&{$5 z4^I*xDd(u)r-*}p5u~V?DdK!8at_QcJqqxu~M6M}wzv zKj*)^++r+#EvMiXZL`tRVW^>88d9b11V6k%^MQ-tYR)$!l!aJWnl?Uso(jHEzpM~% zln9KJA5W3P&}0R2k5}UA@-l>`nbe7v^;6|H|6{1v3B9B=ht<9L|y zixDZUl_gZ_?NzADQ3pIXd^Zg*GaLu3=NM#Vijun zZsr19Bv+h~JrHODyRV#-!8g9gaw1a*qpM@sK{B=9f37YqY44!;XdFM7bl#4;I@C@+BC^gfcA8@@6x8GBuaerS=ITtfv?$4eV!fQ z%DN^Sbb4wFF4Q$Qu?Mg=xNLkcOx<@O>LR$P4|`4Elv>LsglI8%A?h+`?t8t^`k9bE znao6ks_3N}_BI5f(PhJZoG%vGuCfW9R;amnNG)O7>uOSpysS#O0#d~IV^Q3wS82PTx5uOW~dX8NIN}ZDvq@)oV5|%gZ>a0;(a` zNxU|S8rVR7LHU}wQ$T`2{WRZcPx6m5(nE)88sF74z+CT5c%nN|hvH1Ei;*o~R-n?+ zSTFTG%JnZs{;EQY(gV|;$zqg!gCoBhIC*vx{7+BH}7Bx2E^ zDQct#|2B2G8sRT9I==~hkm8?kN9j$Me(4JD+vmEsxAPwAL|g=k06W`B0k?A|I-D>a z+u(!u0~PWCcIj$Pj5@Fa>VP?!ZyoSAGr7_(t)m!4G6AV5dG>8yWMj$AX8cD-(H(u{MVq$ z@Zt!F((V8F+RO*UN}_Z`R4!q4PHhTDQ5@xJWn=xUe#hWaLt;`QBP$4_Wx|YI1e_lb z>5M>w4U=y6F_yqY#)VHHHj<^?`i;WS+XL*I2EqFO{P}-xHk`oq04;2$6WwUTtc%LN z^C0kPZpFV@PNlug**G&KcaG3ac=mCQfM@Ql(U|jwkT4w zYx!2LaOAB;0rM>bj_e8DnAc8L`O}cYbo2W7JK%nt0;{1q0*inWh?i5g@`MlQBhTm4 z!83^d=^LX1&njVMGD%PJK(xdDUYaJwhFFDtWJ;9(5mHcNf~)4Pl7IkfLdw;;z7nDV8;Ueua#uS2K0+oHC@_|F%oGI;3%-xD(jLVkX zwqCjm(&pKf#ap8J4vZGIlFtSr+eZlDH^j}2G6%*{X}wWqjcUd%+g|;vLrEa9N!=(b z!1&lWD6yS%cb+p|m*rdUz{=c6;za>`oN#ta4{svNT!)Z1su^)}KcUX*Je-3oX z_S@|hsCeCCKPm$?f{#Gl+eiEYrxeb#AZqWbwj=tPp!!LPB8v4kZWUCo1$RSATEwb3 ztX*w#JHl|WuAaTXo%H2m43Ngl+dW9Iu1?U%UYyDoJlVb@;4)fdja*%;{OMrm-n+R( z`Bv#(Gg9_kp|fg?(otD*6??BnNgK1MwT7Fl9U$ZVmg42jJ=oOFnUv~VZj@&GnJl^| zYiZf;YA+A~Jm0uw8Kz)@P?p)-o0mL)#`%LH@5uqDwV?0#frugP?5eBNC` zg+yYQnZq8j(?6BWTcny`zyc*z>qJev895M5h_<9)1&5~A(6-S;Ln8}CClCc;Rnl?m zFezp70WBitN!on%<)VlnO0C^$5w4&#wYon{z7SmoTqTe_+SgK2ypT#q;=5kMMK+mb zb~41X4=HQO%Tq4mzOXl+gZ04F9;-V7y9BDrb_a{cVS~0kpNh)#pYF=eDahaS*BV_U8TitF6l)DHc zjvMWVEQ^p~U;Arp4D*bCtIs=AeQojFL+i74W{GtjPSXa8o__oq%|CF2-BZ3Rd~5#1 zJHxp`VvM+qY7cV^{5E<)O0Pr?i*~0ogO-*?)0m!sV`giaWLFVF|B)kva3tdQ03x^B$1Rgf&iMGnbj$e_i0aK@{*knyr_KP<0c}ve3K|weeMW52SGA7 z^PGxLFDggZwdy0G-=VCZDAB^bd*j~2!kHah+skUx;`9!u4Flg2Mp$QKmuJV=RBLrh z7K}JQ3=~IfKnpGk$qi2_enz`@E#pky+9g(E&<8c`u#<>pk7mv~d)%tv?8FDSNV2_n zknk0r;es~t^fS)ibGTl0(MHOX!so2QP(bD7A-m2(ZqBgdvl(PmUJ6=Co{ycB5`~S! zr_3}Xw8C1ZaV5?T5`{wXzeax@PI>pHkI-j*bS~@e`0MuPY_r0yiY)IP>ME~$B8e=j zm6E5#iVdR3Ze)TGxJ4<>`cQ$}|lzg(-D@C@%q~x#d2$Zi1(01}`LR;7;--a$&IQAf2 zcZr^GhfP7(6-K$JC(DHTyyfBdvM1zW?8KBwg-ca(BFVt^Wh<$#>-{*VRR_#i#UEM# zB2M^zarDOS*tZJewvy+a91%)?&M5C|Cr_eAM6j#yb7$Xa;wn&Nb}|Tb0HdS#54xkW znLt8;B~cFf>k-oHXDCNTd#~OJ-solX)KFurabcPR1}>X}DL!1~r5iKJA8)(*FEe7C zaPv?%;UwVUvhGXr=1bzdBH?4$VUe7EwyC+~5Ivm%oT8OWXE|J?*uPGdMdbXk@CG}> zJz<=;wuh~i)LD4}c0vk<^EG#Q(2oUpfn4+#W0}=s`I+P+I>{A^Gu@|zin9W8R!x1m zENWmX%p!(Ei#{7uxE~?o(mnN!E|U1Y6=D6~qUb(t7VJr(-ZR;T8noa|I4YqCxKDi? z6`>rdNd+m3mPP8YT5v(<@ZxWGTEi&vShVC$toBC1f;J8VWzd%uqbS6O2DV*t31LY+ zJ9}xMH{)F0`Be15sdvDeL6@t}sjS23P-#=)q(qCIY^~450F!WKv=j1DLy7RBwyGZ>*Vk@WyYaO z#|U9~;5#Q}a4(pW z01tC8A_00SKr=$eJtBYR9oXneJVZ)oRHa;YFi?LWvViSn_e(YKYM1L!VvhLG289Z8 zUJA$Wl#Xip2Mf=if3t3vlW^y@!l1I#i33t_5tADr1HW}zoRT-9m%`qOU<|l5xe6pA zMwZcadCiFCz~|rtbbK#|7jV6j@gTPHe~SXydOvYVcOpJ)&U-aYD*HgaVnh={IX2X) zs6`u`6GvD>Cu03`$I^&!Qm73%KkvR-^prBZ02i%6BUx4?!OMa-$@%EPPC9%5@1#P+ zA1u63A)yrO_|3BeSoD4$NX}p6qCE(puUYb!XRBbQ4wCubtw;F}Q+WFzwE=%g+8H#G z|2K%^QKbw7G6RB>8DsBM9iJb_*@xh`3({Ah{Rz~~-p;?IWxOx$hZIJGxfnEZXYJ4I zoa1YDh`G@3fI`NK{WKU1X6s%dFoRPAV(&kIgmBvc1aie90}GJ9w|Z37C_#~{-=j8aZVrPR#qZMhylS?Ay{DJ({i$-;;(DlP=F*SY-?`2_j>CAzGENaP82)3~bs;?Vx@WOsNm zj{0ham=TC+y^1Wu0^|MruFpCHJxT}(qGmCilHrqNdS%-mH26s;Z=&tKW&xxAVO64S zbTR;Q&*8wXrMF3<0iHERh#!^fIwkKR#t?to`$-d=X5qEwkfJHeWRrMarTs(|@MCb4^es0bjUWM3puUPICFUHLt5hu7? za(D4~WeenRmUPG{7oBNARGbQlJucY)(kc*)C$^OEdCn&i#JGPOQeX7``iaCEp7xe> z@HTg$6>6M&OpMc~{->vKa5w{GtS>Ac@F!Cxe|$5#EdROG234e?uGbgRc-=jMS7mES z;KUhx*YUF7Lzg2>VT^$F}MEsYh8jCkwv8V7~jxrcte}cJ8sRP zx5thIpPeq&e-Bg^^EM$W+$GBr@>~u+6BBj@qp$qCeSRiK!JcH14ujdPOQep}Ud!{Z z>Xq?v&SrBk`-k!_Z%e8esOJC!Q17L`F2(>_PSa^Od8_nx1VPQ^{BPX&wz7gobUPo@ z6b|L`Lk#Xvn9`oI2)7vbC%bq%yl{Owvk4VHD~>EO>1tZPA(hi=xJc?u{MH|5$`q$K z+Sj(_Hhjdh_O}5XCu%l)_W%UqEYOY^hr7x(TU*}itmb;;DdYL_-O~PwhFxr2ioFhz z8)hYk$@y6+!Y|v-BBg@ZAgCa;30>w*OQT=MS}qS;UA%6MyI3y{Oq}>3#{FdJLbJg& z3ZeRqs-?hcn?o%M4uvkrAPZzpiHh5u2A?KLnv&-~e=Ue}W+?muc8*n-Rqet?nDgkN z;InLK7DF8_zQ9mRyb`Jy-=WD3f?~ViJg7xDr8I!MAZ^l`aLW3?Ae$CnyW+f91^LB> zaEbz65_?u%F56v{5~$N`wv++R-!#_^A%std;~`twUwz7n{o1~1e{cK#(?{9tPtey+ zaq2*;5u2+dCFIK57XFzr=pt_3`lZtB)q_(Ap_yj#)-bI(W3}?d6f-lVU8dc$@$H)a z+w-|Y9UruPz*K`ZneL#;Txg=VDGl&hcMzYNBX8$S&x#N+?aUOC1bEPnjlT8u7LkQw z+TG@r=4&^yR-=Dx5~(v<&iHR-gxhGzdz2(8kDRgY>6#=p4;^nHEdlPT1V#}?Tr!lr zh>lOeBkoytau$MP>)|u3=bj2y7~B(+-X4_8btUixZ-PgD@eOBUsG8>hW+QcUqx+|y zu@vP%y)ya^T!f1_Y^19rPM^22D`99LtseGeu>ub2u~27u>Sf*mD{2SkqX73%N4kPl z+V}*h=V~>azaS}(5ek|1*$;whn1zW!hU6zGAxKx@ZRZZ-X zePf=SAdW-5hkQs~-oI!n*x7Luc&`AiS z6(q_d1D`m2(ggv58j-Q#WRSuPJ$M0$bk*J?h|BaCP6iC-!tMTSaBM9Q_b+$-71q!r z6`S5D#?zweSzvs^0BTFX{h9m^vFm@=#RxPZ_@Q~%^2Go%Xzn$K4JF!oTux|cf3e}b zQZ|xFptWrgnHJc;dK zW+Wn%9;v^5{&o^^uU1Zy!nZ2#%9=kp-OLjx4>NQpbQmTverR7?*YtOnybO(a8biko*TI~< z`*k6C4;c5$AT>KWFNC^xiZ|)RRvJ$~+?BUydlf2eVOgPE!VP`uGXv)P?RyBan}miu zW~sZlS^8ErXVs6GVLjd;Gy4rGw% zY)m4nrW@VwoNiv5p}3vb70a&905tU!S?;?2uA z*UR8^%Xj(1MdS*_J$9iR!J9=9Z0H&(N1fv{MH*OaQ%VhIu8Pkl>@209NixcSO~;9~ zlXPMSoSDfsGyogvew!d4)r!a&`x>tWZBdl<_UUk!o~o|*7`_-ZDevGQ`|OUCwd3X{ zQMme`^$DRQnOB1|(e#O(d>aXLbl26KI0S(d9tE@Rzr1l@GlKm*-OFWa{~xRi_?uwd z54yJ_g5GPLLhfYlZSe0cnSnfKj^yLg+3X|bYqp1KjX+4+w7JnMJ4>5EZeu+iz4|aV zV95PtBwnKi1xXfyv-`aj{Px-lk zLw@&I{>&-3@wUN%F&^*)`N$EWszQwQHDHid0~=?3PuGjY{8iHz|9DgDsLs93ow)uv zBrW3n%<2}BR?|P%*a^gYx^1q3_YQmqK<*MQH|zj=yb2!3cS#Bq+HzxH6liU=_rZ0$ zA8Zxx7QKx`?;+mNrdtr!8`Rc4vW9DYL<<5E4Kf&K-8{Rt2bnHNf%|nD1ZnRo4T-I4 zSxPF6v^k-@b)6?fe2PBi%|YXVXCi}pFgr`4HrEx~xCu!Y+mB%(`~*q!-gwn_@|e|J zP7G>OXI^P{Gn4Q!Ny4VFK=tw^3WMVt`X~TtI|Hi^N)Ropf&~6NCX=!9E2wVFBfzsaQ4zP=9cO1Mb1G?+rE4FN6buEHhCclbRb_)(f3M`VHN z=CgUQ5bZO(?>PVw6-hJrrjL^AD`0nzYN_S-0-@JWJUEy zHG)cz`kK$xdtO&7Y->TgioQvoa4>VMbp6byt<0s}4$lsy(wgX_s<~joUf}k0_=?+o zlb!QNkUa7CL4{x>eKfquz$n@2|AcY-qADm8kzDm2dzKK zfjG)5I)#rjlZS7Ae|f?Ki&$O@<)rYhw0+4lUIE#c^E1wy?u;v-YJPjxa1b2}I|!-O z)CM_xUWXqFmxzt?4w58h1%-vG-@wI@77f8u4XAA{sJ@Y1mL-fG=jSR?_v|T(^ zJo{LM^in0gc*0?jhKCBPUOjIbVb68-!|ta0{YasCwSW9tdpD=X~JDnJ}~OqDBOTSNDEe<^^;a1ugZ- z@&w+UotH@aNlRrKvJJuxa`hjLE_SOCrfu68&Tgye@4s$|#d6+A_j=lwgD?Fk7sbR! z3hj^v%QXHdNkVn9@?i*ZL{o?D?SF?Wc!)px(`bEoKX0l zXM}b)+VKsuX!`6bbR_EyvxU6PIX;7aA(sSY)Z`TIxwlHD!F=q;z|A_i$TjlTRnc-n zr8DTfFKI3X`=0-LS0)S%Lbp@Sp%Msc>wgku|B47I?7(F`Nhz zeJNO}LQ12cM_-x_-pk*Sb>=3>J)c_Gqt6Wr%Q;x^Lq4H8@zewS^P&rsPlje-etmt{ z(QL+Qtw;PYyY)S>RbtQ)7)E!mArg=lY47N-sS%u%DQ0R5n|W0{$lEzQ7&zp6`-bT6 zxDo0AJR1w(GcS+|-o(7P4I$X-R>NS}NL) zS6BHG-H(D5IL=^wj}7s!>U+lYnfOvtO>!p+?s|FTbR>u?qq8b_Zgs9d_Nsb%)A~In zz)M3NaSF3}+!hxXl#O8Xffrz?*O!#p3p+Jy8jrHdBDby?s*1Qkgt*=-8Ov*FI zQbPfs^h@|=FJ#1T;R@Xq3d+x!9~&!Nta)7*`@Hh4kFmLDm4%c8sUhUJ`3iz{g)icP ztD@$%{as(o8Che2QO*@k9a4KQl<_;>r?5dN$3@X``(@HziG8R6ZJq@Ocj(8{e$uD+ zSqRBk_N zxZneflkpU!ql=4NlyPaRp`33iHRmb}20Kp_$h*3?zwo+BU;>E;PNCH7K~GJAMGQM2 zdG52j0}r~mPcUs{Du=gbgqCwoH^v_nQIypVC+3%(?5$@EH&j)QKTpx3ErL%vm+m;( zp>NNiT5#3EmExxtt#?$Q6JhY%E=bSoiyV;lF%UX^9hG(Urv2#1eN}+%va5I72f%BquK z%m31s=o2jnk3lnqt?Bj`O2cl#zY1#y2l?Y*2iw4~FGE*V`5oZ5)r8QG0;F}ot^&oF z!C|zi5xMc1Qf5jtkS6MB_X`BIr~fh*2fG!%+&}+;{=P!|b*NP0`s;Zya0+deKy$Kr zJo9;42(0Q7r+U(~U^%!{9b|g*(OD4pq!mG6jYo?4J{M7r!BrDpB}W zk2;=%XAWlS{5i5K?*Yk#%zI{NBKE}!vDa-nivpcNTPA89vg_%#Y!Nt;&uFlkD?7H> z5yw(I&^RBrK02V`p#2%&CY+SJ(YA3mm@bpu6&Jk_BTlg20+3G!JsV?ShNW%<(JZ{@bg>G5JYvd`-+) zBsgtCp!I-gUybdVnz zHKc@x-C-rqb|R=rXJ8!gh(@hHpY4#-P{An`$a0}<0x{3|Tey?A` zG2Q*87N5#$_5SEw6AhqDbE!Jxd2>2z>&-;H~65u zr9|8mmOs;X?fR@bab9lI#IV5HM$EI#W2sBm_>2w9+YjIpEkT|Px$F{YN6^oD7c*{5 zhKnf_qZExihl47Odlk>P#~h?S&*_If=^V%#QYVECOXPyxuX3QBw^srfLE@+l#6F2+Jjd9>G@0D>9d-m3@lH zZfD<9#(MMiTWQ*JJu)giKrR4B<0vv*h!OsDHrbQd%2wTy@+^w>C3gW-p$xH(M!8n} z&O|*sk*h*GMZJm6Ror}+>+E^vzGrw?2iNDT;3H+zZ&F_U`%Nr~Rn}@e7TY`(io?R? zo~FH-%^)##1n1t=TU{_ztijs&lyGp7wSYr0TNjh%^?vtm zAAKk}(F6aZM>_T4iP473Rj`?y_Lp6j+g<|7a!IEO)V{PJ=rlFtY-}^4D*hx&4ik2> z{=B3^n%%?Bk8i@;L%j9E=j1EdtZAUE3^ew$BS%F3Qe-y^4}B&e zQymApX#S8swF@u*Y2MWQ@UMoxU^1MyJ-%6-UQKoF?eLFJps^3m*ahp8<-FrepGtSE zZe)n7x<(xgj-cdC*uImDEK0cT>7xy2kEP2K9G58j_eHz`eKdIT{d(!jJK!HMkJfD%}Ove5*SdBvX};)SA6z{=IG~t#w@qWr>6) zkXjba1d|0dKHGqBE3cS^gptJZ^;X#dP)9^Z(aTlErsOSpAh}3wltPsWl zFuu2<{Hh7BdU+o4!KTP&;#sWQFCs=-9Mq-I@m}7NX(zB||U1eg1ugG5qV|#MCvhv=#ei;B^b z=(1||;TQy>?xGGCk*$I8nkVk%^Aj$nNhkNo%rL+y*3uR!l9)Xsr8A0`VX9|7mrd+n zpKT8npeWcIb9YoA4@hYoekj_Gm=`Rw9|~%_#H{+V!l>Zq2lE&;`9p`n)XIB(kd3&W zzx#vZ`^U`>piJ@XcrHJ41gtbbGM(qN(#iRf>=YMIBz29LvGJ*3NgBHO?YZfkj6>P; zRW;y)c?iJs0emBnJYQxs@SYK-^WOMG@I+)VSea6%`PC`D`*V{U#~XbU9of0EY`ov* zEbj6n2>~{1_(@WH1Ww(lN)IEL@O9aiHZmNhEQU zI2t%;=x8oKlW}iWRux__{2tNZl8?8O7X)ARv+%&zK|w+PT6Otd#PECal;+pVHmcTz zR9zk7{HxC%B401(^1yMi-o&a#=8Qqx5aT4C^w2ZO70_1lhqEp29gzLtyM-JFefjj(*me~B^xyhG?DO>v+57*x@WM5&OiS=1q*Xs1_ z$RTdo*@s`Qt{%Bo>Cn<@x(Z7&Im6Uv!21otG`Cb?qR zd@)WrUys~(ko}i?OxGxX9ac@H$2r8%%!2oicq@zO8s;hC-VWD_iU$MNu7_lSuk(lt zjnvYQdYKgty2sjK#1*&*=gY+FVF`VpnSRyy+83GSbK~uk08mCX5+=5oQLRnXh>K5t zwAqD?Ga*iwomir;l{6wk7Ay&7lq-gdNbQOvy+x!t$xm=?wH?1of|H$qRO}$GLDSh= zgrE+3r(vP9e<|c`-92iy(LKHj93rjY^r-Phy sRe9v9?_lZb@x<8zV)O*|+`{wP9cvd`ZL`ft@O#KT7419ux6J+j7xeT3L;wH) literal 12741 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

      c9xDml3~b)z!WG9(T1p5tbPoOO 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 OK1-a9Me&8}k$(bE*Mn~W literal 0 HcmV?d00001 diff --git a/src/pug/pages/index.pug b/src/pug/pages/index.pug index 973fa6b..0d5677c 100644 --- a/src/pug/pages/index.pug +++ b/src/pug/pages/index.pug @@ -378,7 +378,7 @@ block page-content ul.portfolio__site-items li.portfolio__site-item.item#vue-social-network .item__title-wrap - a.item__title(href="https://visualyuki.github.io/custom-vue3-datepicker/dist/" target="_blank") Плагин для валидации полей формы. + a.item__title(href="https://visualyuki.github.io/custom-vue3-datepicker/dist/" target="_blank") NPM плагин для валидации полей формы. .item__desc ul li В планах: создать библиотеку через vite и выложить ее в npm, создать документацию на vuepress, @@ -388,14 +388,19 @@ block page-content li | За основу взят jquery-validation ссылка на документацию - ul.item__subitems li.item__subitem - a.item__subitem-title.default-link() Форма + a.item__subitem-title.default-link() Демо форма. a(href="../min-img/portfolio/input-validation-next/1.png" data-fancybox="input-validation-1") picture.item__subitem-picture source(srcset="../gifs/preloader.gif" data-srcset="../webp-img/portfolio/input-validation-next/1.webp" type="image/webp" class="lazyload") img( srcset="../gifs/preloader.gif" data-src="../min-img/portfolio/input-validation-next/1.png", alt="" class="lazyload") + li.item__subitem + a.item__subitem-title.default-link() Документация: главная страница. + a(href="../min-img/portfolio/input-validation-next/docs-index.png" data-fancybox="input-validation-docs-index") + picture.item__subitem-picture + source(srcset="../gifs/preloader.gif" data-srcset="../webp-img/portfolio/input-validation-next/docs-index.webp" type="image/webp" class="lazyload") + img( srcset="../gifs/preloader.gif" data-src="../min-img/portfolio/input-validation-next/docs-index.png", alt="" class="lazyload") li.portfolio__site-item.item#vue-social-network .item__title-wrap a.item__title(href="https://visualyuki.github.io/custom-vue3-datepicker/dist/" target="_blank") Браузереное расширение - блокировщик рекламы во вконтакте.