Данный сайт является моим личным проектом для демонстрации моих навыков программирования. Он создавался в мое личное, свободное от работы время. В силу ограниченности этого времени я не планировал уделять большое внимание верстке сейта. Также в силу отсутствия у меня дизайнерских талантов, внешний вид данного сайта оставляет желать лучшего. Это не являлось целью данного проекта.
Сайт создан на основе платформы ASP.NET. Основной язык программирования C#, дополнительно HTML, CSS. База данных MS SQL. Из сторонних модулей: для редактирования текста используется публичная бесплатная версия CKEditor. Состоит демонстрационная версия сайта из двух разделов: менеджер задач и контроль финансов. Блок контроля финансов заполнен произвольными данными, всего более 20 тыс. записей операций, для симулирорвания работы с заполненной записями базой данных.
Коротко, о моем опыте:
Имею техническое высшее образование по одной из радио-электронных специальностей. Закончил аспирантуру без защиты. 4 года работал инженером с уклоном в инженерное программирование.
Коммерческим программированием занимаюсь с 2019 года.
Основной профиль: декстопное программирование, также работал с веб-программированием и программированием сайтов, минимальные навыки в мобильном программировании (android);
Основной язык C#;
Работал с базами данных MS SQL, Postgre SQL, CE SQL, SQLite; Занимался миграцией данных и написанием универсальной бибилиотеки для указанных БД, а также промежуточной библиотеки для связи с основным кодом приложения; Работа с БД из приложения напрямую или через сервер-посредник и http-запросы, прямые команды или хранимые процедуры; Создание приложений развертывания базы данных на сервере клиента; Разработка структуры базы данных, оптимизация работы базы данных; Составление запросов в базу данных (включая прямые запросы из нескольких таблиц, JOIN-запросы, WITH ... AS ... запросы);
Работал с фреймворками .net framwork, .net core, asp.net, Avalonia, немного знаком с xamarin; Занимался переносом кода с .net framwork/Windows на Avalonia/Cross Win+Lin; Написание кода под Avalonia/Cross Win+Lin
Системы: Windows / Linux, немного Android; Опыт работы с Linux: Установка и настройка дистрибутива; Работа с командной строкой; Написание кода и публикация приложения для Linux из Windows; Работа в Visual Studio Code непосредственно в среде Linux, отладка кода, запуск проектов
Опыт в администрировании: Разворачивал сервера MS SQL, Postgre SQL; Разворачивал и настраивал сайты на сервере lls; Разворачивал сервер корпоративного мессенджера (хостинг Linux, rocket.chat + BBB)
Сторонние api: Guardant, DirectShow; Опыт работы с API Guardant: Работа с программными и аппаратными ключами Guardant для лицензирования ПО; Работа с локальными и сетевыми ключами; Разработка схемы защиты и структуру ключа; Разработка внутреннего кода ключа; Написание библиотеки для работы с API Guardant; Адаптация схемы защиты, структуры ключа и библиотеки под новые требования с сохранением поддержки старых клиентов; Работа с обращениями клиентов, связанными с ключами;
Дополнительно: HTML, CSS, JS, частично PHP;
Механики: враждую с ассинхронностью (были проблемы при переносе синхронного приложения .net framwor на Avalonia, решено); Разрабатывал библиотеки, в т.ч. выкладывал Nuget; Работал с http-запросами (как ос стороны клиента, так и со стороны сервера); Работал с сессией и куками в веб-приложениях, авторизация через куки + запись в БД;
Работал преимущественно с монолитной архитектурой с клиент-серверными элементами, но знаком с сервисом Apache Kafka для микро сервисной архитектуры; Легко осваиваю новое. Готов к изучению новых технологий.
Участвовал в проектах
Десктопное приложение, система протоколирования с сохранением данных в базу.
Система Windows -> Windows / Linux; Платформа: .Net Framework -> Avalonia (на базе .Net); Основной язык C#, БД: MS SQL, CE SQL, PostgreSQL; Сторонние api (с которыми работал непосредственно я): Guardant, DirectShow.
Роль в проекте:
Разработка библиотек работы с: БД (CE SQL, SQL, PostgreSQL), DirectShow(захват изображений из потока видео);
Разработка библиотеки для защиты (Guardant: работа с аппаратными ключами Code, Net, работа с программными ключами DL), разработка и ведение схемы лицензирования;
Работа над пользовательским интерфейсом и связанными с ним презентационной логикой и обработчиками событий;
Рефакторинг чужого кода;
Разработка собственной системы лицензирования через сервер лицензирования (клиент-серверная схема, разработка клиентской части, серверной части, базы данных);
Разработка службы обмена техническими сообщениями (схема клиент-сервер-клиент, разработка клиентской части, серверной части, базы данных);
Проверка работы под Linux используемых технологий БД / защиты;
Перенос кода на новую платформу и под кроссплатформенность;
Сайт фирмы.
Языки: HTML, CSS, JS, частично PHP.
Роль в проекте: Ведение, правки и администрирование сайта (изначально разработан был другим человеком);
Особенности: Отправка писем (внутри фирмы) с уведомлением; Интерактивная карта на svg;
Веб-Приложение для внутреннего пользования для ведения технической информации.
Платформа ASP.NET, языки: C#, HTML, CSS, JS. БД: MS SQL.
Роль в проекте: польностью личная разработка;
Особенности: Отправка писем (внутри фирмы) с уведомлением; Простой таскер и база знаний;
Установщики десктопного приложения и развертыватели базы данных.
Система: Windows -> Windows / Linux; Платформа: .Net Framework -> Avalonia (на базе .Net); Основной язык C#, БД: MS SQL, CE SQL, PostgreSQL
Роль в проекте: доработка, польностью личная разработка / добавление функционала (изначально база одного из приложений была разработана был другим человеком); Перенос кода на новую платформу и под кроссплатформенность;
Особенности: несколько проектов, для разных систем / БД, для разных задач обновления приложения / развертывания базы с начальными данными / Обновление базы. В основе большинства проектов лежит библиотека для изменения структуры базы данных и обновления данных в базе.
Десктопное приложение для внутреннего пользования для ведения записей экономического характера.
Система Windows, платформа .Net Framework, основной язык C#, БД: MS SQL;
Роль в проекте: польностью личная разработка;
Менее значительные сущности:
- Разработка библиотеки Nuget для внутреннего использования в проектах (несколько библиотек, общих сразу для нескольких проэктов);
- Участие в разработке Android-приложения на Avalonia (несколько библиотек, в том числе для http-запросов к серверу);
- Развертывание сервера корпоративного мессенджера (хостинг Linux, rocket.chat + BBB)
- Развертывание и администрирование сервера БД: MS SQL, PostgreSQL;
Возможные вопросы по стеку
Вопрос: Базовые интерфейсы;
Ответ: В качестве обучения реализовывал все базовые интерфейсы, но так как на практике это ни разу не пригодилось - торжественно все забыл. При необходимости вспомню снова;
Вопрос: LINQ;
Ответ: Сталкивался только в теории, на приктике ни разу не был в ситуации, где он бы пригодился. При необходимости освою;
Вопрос: Упаковка (boxing) и распаковка (unboxing);
Ответ: Станкивался, в некоторых api;
Вопрос: Принципы программирования;
Ответ: Много раз пытался выучить, но так как нигде они в реальности не нужны - на память не помню никакие; На практике использую все 4 принципа ООП и базовые приципи чистого кода;
Вопрос: Защита объектов при многопоточном выполнении
Ответ: В теории изучал Оператор lock, мониторы, семафоры; На практике не сталкивался с необходимостью реализации;
Вопрос: Очистка мусора / типы значений / Финализируемые объекты;
Ответ: С темой знаком;
Вопрос: Docker / Git;
Ответ: Немного работал;
Вопрос: Уровни изоляции транзакций;
Ответ: С вопросом ознакамливался;
Сколота В.А.
Демонстрационная Авторизация
Для демонстрационной авторизации просто войдите с данными по умолчанию