В последние 4 года работаю в направлении BigData. Программирую на Pyspark, Scala, разрабатываю даги Airflow для промышленных ETL-процессов. Автоматизация разработки через Docker.

Так же работал фулстек программистом в двух банках ПАО "Сибнефтебанк" (6 лет) и ПАО "Запсибкомбанк" (с 2015 года) в областях обязательной и аналитической отчетности.

ClickHouse

2023-01-08

Свой Архитип для Java или Scala приложений

Хорошее приложение - это когда оно создано по общепринятым канонам, его код легко читается и в нём легко разбиратся. Каркас такого приложения можно писать каждый раз руками. Но есть автоматический способ - Maven.

Apache Maven — фреймворк для автоматизации сборки проектов на основе описания их структуры в файлах на языке POM. При создании приложения можно воспользоваться готовыми шаблонами из репозитория maven repository , Взять подходящий под ваши цели Архитип и на его основе создать свое Scala, JAVA или Android приложение, которое уже будет содержать в себе структуру для автоматической сборки и тестирования. Но можно создать свой собственный Архитип приложения, и уже от него создавать свои приложения. Это необходимо, когда разработка ведется в команде и все приложения должны соответствовать строго определенной структуре.

Как создать свой архитип Maven, и на основе него создать свое приложение можно узнать из моего проекта на github.

ClickHouse

2022-11-30

Работа с источником данных СУБД ClickHouse

Моей целью было настроить pipeline загрузки данных из базы данных ClickHouse в Hive.
ClickHouse - это колоночная аналитическая СУБД с открытым кодом, позволяющая выполнять аналитические запросы в режиме реального времени на структурированных больших данных (wikipedia) Она позволяет хранить большие данные в столбчатой структуре. Поддерживает репликацию данных. Также работает с форматами данных на вход и выход: TXT, CSV, JSON, PARQUET. Передача данных может осуществлятся по ssl-соединению с использованием сертификата.
ClickHouse поддерживает 3 способа подключения к БД:

  • http-Requests (данные получаем только в txt-формате)
  • ClickHouse-Driver (python library, данные только в txt-формате)
  • ClickHouse-client (консольная утилита, формат данных: txt, parquet, csv, json и т.д.)
Объем ежедневной загрузки: 150-200 миллионов записей, 2.5 GB in parquet-file. Проблема в том, что если использовать http-запрос, то 200 млн записей в формате txt будут передаваться очень долго, так как общий объем будет 50 ГБ данных. Кроме того, после получения этих данных их необходимо обработать на своей стороне.

Окончательное решение было загрузка ClickHouse-client, входящие параметры: sql-запрос, а на выходе получали готовый файл в формате "parquet" (это в 11 раз меньше, чем txt-формат), который формируется на стороне сервера ClickHouse.

Существуют расхождения между типами данных ClickHouse и Spark. Но это все решается на стороне Clickhouse с помощью функции cast.

nginx_php_mysql Docker

2023-03-21

Простой старт для web-разработки

Этот проект позволяет развернуть работу с тремя сервисами в Docker

  • Nginx
  • MySQL
  • PHP

Сервисы взаимосвязаны, поэтому в этом проекте можно заниматься локальной разработкой на PHP, используя MySql в качестве базы данных.

Проект рассчитан на начальный уровень подготовки и не требует специальных навыков.

Для того чтобы начать локальную разработку или познакомиться с базами данных, просто скачайте этот проект с github и следуйте инструкциям в файле README.MD.
Как установить Docker на свой компьютер можно узнать тут.

2015-03-20

Учет личных финансов

Содержит следующие разделы:
  • Учет остатков на счетах: перевод со счета на счет
  • Расходы/доходы – с иерархией по категориям, бесконечная глубина вложенности
  • Планирование доходов/расходов в будущее
  • Каталог категорий – иерархический с бесконечной глубиной вложенности
  • Лимиты – отражение текущих затрат по категориям
  • Отчеты – статистика по расходам за период
  • Распознавание кассовых чеков по QR-code
image
Календарь покупок
image
Детали покупок
image
Лимиты трат
image
Отчеты
image
QR-code чека

2018-09-14

Учет приготовленных блюд

Сервис подсказывает, как давно вы готовили то или иное блюдо, позволяет описывать приготовленные блюда и прикреплять изображения блюд.

image
Журнал блюд
image
Описание блюда

Бизнес аналитика

QlikView
  • Администрирование системы BI QlikView
  • Установка настройка компонентов системы QlikView на сервере:
    • настройка взаимодействия компонентов QlikView между серверами
    • настройка автоматического процессинга кубов
    • учет пользовательских лицензий
  • Разработка и сопровождение кубов на основе технологии BI QlikView.
QlikView
  • Сопровождение olap-кубов на основе Microsoft Analysis Services.
  • Организация источников данных на базе MS SQL Server и Oracle Database.
  • Разработка и сопровождение решений на pl/sql Oracle Database.
  • Разработка и поддержка отчетов MS Office на VBA.
  • Работа с системами контроля версий Git, SVN.
  • Разработка desktop приложений

    delphi7
    • Навыки объектно-ориентированного программирования в средах разработки: BorlandDelphi 7, BDS 2006, CodeGear RAD Studio 2009:
      • Клиент-серверные приложения на СУБД MS SQL Server
      • Разработка многопользовательских систем
      • Разработка отчетов на базе MS Office и OpenOffice
      • Прикладные программы различной направленности: работа с почтой, XML, работа с операционной системой Windows на уровне API.
    delphi2007
  • Работа с СУБД MS SQL Server (T-SQL): оптимизация запросов, хранимые процедуры, представления, рекурсивные запросы.
  • Разработка программ для подразделений банка в областях:
    • межбанковское кредитование
    • депозиты юридических лиц
    • ценные бумаги
    • автоматизация расчета банковской отчетности по формам
    • lоработка функционала АБС РС-Банк 5.5 в виде макросов на встроенном языке RSL
  • image