Томск, www.depo.ru
Информационные технологии, системная интеграция, интернет... Показать еще
Программист
DEPO Computers
Томск, www.depo.ru
Программист
Разработка и поддержка ПО с использованием технологий .NET, C#, WPF, MVVM Light, WCF, UWP, Xamarin, Java, Spring, Kotlin, JavaFx, JUnit, Maven, Crystal Report, Jasper Report, Aspose.
Проекты:
Проект: Система печати этикеток на принтерах Zebra, CAB для целей производства.
В рамках проекта стояла задача создать систему печати, похожую на печать отчетов, однако итоговый вывод должен был быть произведен в формат, специфичный для принтера этикеток, на языках jScript для CAB, Zpl для Zebra. В реализации проекта система позволяет создавать описание этикеток в виде шаблона на XML (реализация дизайнера предполагается на следующих этапах). Шаблон позволяет описать структуру входных и статических данных, их типы, а так же выражения на языке Java или JavaScript (которые будут вычисляться на стадии исполнения шаблона), расположение различных элементов печати: линия, прямоугольник, эллипс, вычисляемые текстовые блоки с указанным форматированием для вывода, различные штрих-кода и QR-кода, изображения. Для исполнения шаблона используется промежуточная модель, с подготовленными скомпилированными выражениями. Значения (данные) для подстановки могут быть как зашиты в шаблоне, так и поступать извне в виде XML, JSON, SQL. Подключение данных унифицировано и легко расширяется. В рамках расчетной модели выражений реализованы агрегатные функции для кортежей и линейные выражения для Java. При построении приложений применялись принципы SOLID и паттерны проектирования. В рамках проекта реализован REST - сервис исполнения и печати этикеток на базе Java — Spring, с интеграцией в существующую инфраструктуру.
Описание проекта
Технологии .Java, JasperReports, UnitTests
Количество участников: 1
Личный вклад: Самостоятельная разработка.
Проект: Проект многопоточного сервиса генерации документов.
Описание проекта: Сервис генерации пакетов отчетов/документов с выводом на печать, отсылкой на почту, в качестве очереди обработки для балансировки нагрузки использован MSMQ/RabbitMQ. В качестве возможных вариантов отчетов CrystalReports (.net), Word(.net, Aspose), Jasper Report (Java Version). Сервис .Net построен как Windows Service, с интерфейсов WinForms для отладки. Сервис отвечает за динамическую подгрузку сборок типов отчетов указанных в пакете, последующее заполнение отчетов из данных переданных в пакете и последующую обработку: экспорт, отправка на почту (в том числе создание вложений и тела письма), печать в соответствии с параметрами и настройками пакета. Сервис способен масштабироваться как отдельными экземплярами, так и количеством доступных потоков, в следствии чего в архитектуре сервиса заложена блокировка принтеров для обеспечения гарантии порядка отправки отчетов на печать в разрезе пакетов и принтеров, не зависимо от количества параллельно работающих распределённых экземпляров. В сервисе реализованы счетчики Windows, телеметрия Application Insight и локальное логирование. Сервис интегрирован с корпоративной информационной системой компании. В рамках кроссплатформенной реализации был создан аналог на Java, с типом отчетов Jasper Report, с идентичным функционалом.
Количество участников: 1
Используемые технологии: .net, Java, Async/Await, Multithreading, Aspose, JasperReports, CrystalReport, XML, JSON, MSMQ, RabbitMQ.
Личный вклад: Самостоятельная разработка по техническому заданию.
Проект: Удаленное управление с планшета интерактивными досками через локальную сеть
Описание проекта: Проект реализован с помощью трех приложений: клиента на базе WPF (прототип на UWP), сервера/сервиса и экранного приложения для интерактивной доски, связь между клиентом и сервером реализована на базе WCF. Клиент реализован в двух версиях WPF и UWP(прототип, на тот момент существовали сложности в реализации протокола SOAP), для сопряжения сервера и клиента используется QRCode. В процессе реализации был написан собственный контрол клавиатуры на WPF. Экранное приложение - отвечает за список доступных приложений для запуска, контроль запущенных приложений, блокировку запуска приложений не из списка и блокировку выхода на рабочий стол Windows. Клиент за взаимодействие с пользователем отсылку команд, информирование о состоянии сервера. Сервер - отслеживание нажатий клавиатуры, переключение раскладки и прочее. В проекте внедрена телеметрия Application Insight, при желании легко можно заменить на любой логгер.
Технологии .net, WPF, UWP, MVVM Light, WCF, WinApi. Паттерны MVVM, Observe, Service Locator.
Количество участников: 2 (второй участник тестер)
Личный вклад: Самостоятельная разработка по техническому заданию.