Как стать автором
Обновить
4
0
Алексей Данченко @DAleby

Программист

PostgreSQL и временные таблицы

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 26K

Мы много лет уже используем в качестве основной базы данных PostgreSQL. За это время он зарекомендовал себя быстрой и надежной СУБД. Однако, есть в PostgreSQL одна проблема, с которой приходится сталкиваться достаточно часто. К сожалению, реализация логики временных таблиц в нем имеет ряд недостатков, которые отрицательно сказываются на производительности системы.

Одним из свидетельств наличия проблемы является то, что для временных таблиц в Postgres Pro была добавлена специальная функция fasttrun, а в Postgres Pro Enterprise существенно доработана работа с ними (см. пункт 4). 

Наиболее активно временные таблицы используют платформы, в которых разработчик не работает напрямую с базой данных, а таблицы и запросы генерируются непосредственно самой платформой. В частности, к ним относится платформа или ее открытый и бесплатный аналог - платформа lsFusion.

В этой статье я опишу почему приходится использовать временные таблицы, в чем суть проблемы, и как улучшить производительность путем настроек операционной системы и PostgreSQL.

Читать далее
Всего голосов 51: ↑50 и ↓1 +49
Комментарии 45

Диагностика работы приложения на платформе lsFusion

Время на прочтение 22 мин
Количество просмотров 1K

Часто на нашей практике у пользователей возникают жалобы, что “программа тормозит”. За долгое время поддержки, у нас сформировался большой опыт по диагностике и решению таких проблем. Речь пойдет о приложениях, написанных на открытой и бесплатной платформе lsFusion. В частности, о самом сложном решении - lsFusion ERP, на котором работают крупнейшие розничные сети Беларуси, а также розничные сети в России и Узбекистане.

За несколько лет сформировалось некоторое сообщество разработчиков на платформе lsFusion, у которых на больших объемах данных могут возникать схожие проблемы. В этой статье я опишу основные причины торможений и последовательность действий по их выявлению. Некоторые из причин актуальны только для решений на основе платформы, но многие из описанных проблем касаются любых java-приложений, работающих с PostgreSQL.

Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Комментарии 0

Настройка и мониторинг Java приложений

Уровень сложности Средний
Время на прочтение 18 мин
Количество просмотров 7.3K

За годы работы у нас сформировался определенный опыт диагностики и решения проблем, связанные с производительностью наших Java-приложений. В этой статье я опишу причины торможения, с которыми приходилось столкнуться, и возможные пути их исправления. Также опишу основные настройки, которые мы делаем, и ресурсы сервера, которые использует приложение.

Речь пойдет о бизнес-приложениях с одним сервером Java-приложения и одним сервером базы данных PostgreSQL, в каждом из которых одновременно работают от 500 до 2000 сотрудников компании. Приложения разработаны на базе открытой и бесплатной платформы lsFusion (пример приложения), но все описанные проблемы и настройки не являются специфическими именно для нее.

Читать далее
Всего голосов 26: ↑24 и ↓2 +22
Комментарии 3

Особенности логики lsFusion  в ERP для торговли

Уровень сложности Простой
Время на прочтение 11 мин
Количество просмотров 1.7K

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

Самый распространенный на сегодня коммерческий продукт, разработанный на платформе - lsFusion ERP. Это решение для управления розничной и оптовой торговлей, которое используют ⅔ крупных торговых сетей Беларуси, и активно начинают внедрять в России и Узбекистане.

В этой статье будут описаны отдельные отлаженные механизмы, которые доказали свою продуктивность за 10 лет использования клиентами, при этом их реализация значительно отличается от способов решения сходных задач в других торговых системах. Как они работают можно посмотреть в демоверсии системы.

Читать далее
Всего голосов 20: ↑19 и ↓1 +18
Комментарии 12

Консерватизм пользователей программных продуктов

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 4.1K

За последние несколько лет мы несколько раз переводили наших клиентов на новые версии платформы. При этом в графическом интерфейсе постоянно происходили какие-то изменения. Естественно, с нашей стороны все делалось исключительно ради улучшения удобства работы с программой. Но каждый раз мы сталкивались с недовольством пользователей, которые требовали все вернуть назад.

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

Читать далее
Всего голосов 22: ↑20 и ↓2 +18
Комментарии 53

Визуальное программирование vs DSL

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 3.3K

В последнее время набирают популярность low-code и no-code платформы. В них для разработки приложений предлагается использовать визуальное программирование. При таком подходе, разработчики, в качестве которых выступают обычные бизнес-пользователи, вместо написания программного кода создают приложение при помощи мыши в графическом интерфейсе. Также визуальное программирование в некотором виде используется, например, в Конфигураторе 1С.

Однако, возникает вопрос. Какие преимущества дает визуальное программирование по сравнению с Domain Specific Language ? Безусловно это зависит области применения. С одной стороны, в классических языках визуальное программирование практически не используется. В то же время при разработке графического интерфейса такой подход конечно же имеет много преимуществ. Однако, при создании интерфейсов, например, с помощью популярной библиотеки React все-таки больше используется плоский код.

Читать далее
Всего голосов 22: ↑19 и ↓3 +16
Комментарии 27

Время переходить на open-source

Время на прочтение 8 мин
Количество просмотров 5.1K

В последнее время большое количество крупных мировых поставщиков бизнес-приложений ушли с российского рынка. Например, SAP, Microsoft и Oracle. Однако, много их решений все еще используются в российских компаниях. За время их работы накопилась значительная экспертиза по их доработке и поддержке как внутри компаний, так и в ИТ-интеграторах. Можно продолжать их использовать их еще определенное время, но никто не защищен от внезапных проблем, которые, например, случились с Meraki.

К сожалению, основная проблема в том, что для многих узкоспециализированных решений от крупных мировых поставщиков не существует готовых российских аналогов. И одним из немногих выходов в таком случае является создание нового решения “с нуля”. Однако, разработка с использованием классических языков программирования занимает много времени и человеческих ресурсов, что в условиях значительного оттока ИТ-специалистов в РФ является существенной проблемой. 

Одним из решений этих проблем является использование платформ для быстрой разработки приложений (RAD). В этой статье сделан краткий обзор современной открытой и бесплатной платформы lsFusion, которая очень хорошо подходит для решения вышеописанных задач. При этом платформа может быть запущена с использованием исключительно программ из Единого реестра российского ПО (Astra Linux, Liberica JDK, Postgres Pro). При этом лицензия платформы позволяет создавать собственные решения на ее основе и вносить их в реестр.

Читать далее
Всего голосов 23: ↑20 и ↓3 +17
Комментарии 30

Почему и как написать убийцу 1С

Время на прочтение 7 мин
Количество просмотров 27K

Думаю, сразу нужно разъяснить, особенно для тех, кто не сталкивался с 1С, что она состоит из двух частей. Есть платформа 1С, на которой можно разрабатывать тиражирумые приложения баз данных, или конфигурации. И есть сами коммерческие конфигурации, из-за плохой маркетинговой политики в основном от самой фирмы 1С.

Я никогда не сталкивался со средами разработки, где так же эффективно, как в 1С можно разрабатывать тиражирумые приложения баз данных. Поэтому считаю, что 1С — самое простое и эффективное средство такой разработки.

Возник вопрос — а как разрабатывать подобные приложения так же быстро и эффективно, как в 1С, какой набор инструментов собрать, какими качествами должна обладать среда разработки. Попробуем разобраться в этом вопросе.

Читать далее
Всего голосов 36: ↑20 и ↓16 +4
Комментарии 460

Организуем собственный мини-тотализатор на матчи ЧЕ 2020 по футболу

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 4.9K

Через несколько дней начнется чемпионат Европы по футболу - второй по значимости турнир среди сборных. Как и в любом другом турнире в нем будут как интересные, так и достаточно проходные для нейтрального болельщика матчи вроде “Дания - Финляндия” или “Польша - Словакия”. Смотреть такие матчи не всегда интересно, поэтому мы придумали в офисе игру, благодаря которой всегда есть за кого болеть, что значительно добавляет интерес просмотру. Мы играли в нее во время каждого крупного футбольного турнира, и правила игры претерпели ряд изменений по сравнению с первоначальными, чтобы сделать ее более интересной.

Игра представляет собой тотализатор с элементами покера, в которую могут играть любое количество участников. Лучше всего в нее играть с коллегами, чтобы была возможность каждый день обсудить перепетии всех событий вчерашних матчей. В этой статье я опишу механику игры, и как быстро и легко организовать ее у себя в офисе среди коллег - футбольных болельщиков.

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 12

Почему lsFusion, а не 1С?

Время на прочтение 32 мин
Количество просмотров 27K


Предыдущая статья “Почему не 1С?” вышла больше года назад и вызвала достаточно живой интерес (совсем немного не дотянула до 100к просмотров и 2к комментариев). Впрочем, как и ожидалось, у многих возник резонный вопрос: “Если не он, то кто?” Безусловно, как многие поняли, та статья писалась не просто так, а чтобы вслед за ней выпустить еще одну, где было бы рассказано, как описанные в первой статье проблемы можно и нужно решать. Однако, по различным причинам, выпуск этой “ответной” статьи был отложен на весьма долгое время. Но, как говорится, лучше поздно, чем никогда.

Читать дальше →
Всего голосов 27: ↑25 и ↓2 +23
Комментарии 362

MyCompany — бесплатное и открытое решение для небольшого бизнеса

Время на прочтение 11 мин
Количество просмотров 15K


Около года назад мы выпустили открытую и бесплатную платформу для разработки бизнес-приложений lsFusion. В первую очередь, мы ориентировались на разработчиков, которые могут на ней быстро и легко создавать различные информационные системы. Тем не менее, разработка “с нуля” системы управления, даже небольшим бизнесом, остается достаточно трудоемким процессом.

По этой причине мы решили создать базовое решение с названием MyCompany, которое реализует основные бизнес-процессы малого бизнеса. Оно полностью бесплатно, выпускается под Apache лицензией, и ее исходники находятся на Github. Решение легко устанавливается и поддерживает российское законодательство.

В качестве системы управления базой данных используется PostgreSQL. На сервере решение устанавливается и запускается как Java приложение, состоящее из сервера приложений и веб-приложения под управлением Apache Tomcat. В качестве GUI может использоваться как веб-интерфейс, так и десктоп-клиент, запускающийся через Java Web Start.
Читать дальше →
Всего голосов 35: ↑35 и ↓0 +35
Комментарии 33

Зачем нам понадобился еще один язык программирования

Время на прочтение 5 мин
Количество просмотров 8.9K

Более чем год назад мы публично представили нашу открытую и бесплатную платформу lsFusion. Многие тогда задавали нам вопрос : зачем мы создавали свой собственный язык, ведь уже существует огромное множество других популярных языков.

Да, мы прекрасно понимали, что собственный язык значительно увеличивает порог входа в технологию. Нет, нам нужен был специализированный синтаксис не потому, что все остальные обладают фатальным недостатком. Мы - не сторонники изобретения велосипедов, и при разработке платформы, в отличие от 1С, старались максимально использовать уже готовые открытые решения.

Но оглядываясь назад я, к сожалению, не вижу вариантов, как мы могли поступить иначе. В этой статье я попытаюсь объяснить почему.

Читать далее
Всего голосов 33: ↑25 и ↓8 +17
Комментарии 64

lsFusion 5, 6: больше асинхронности, агрегация / расширение / пользовательская настройка форм, новые представления

Время на прочтение 11 мин
Количество просмотров 2.5K


После выпуска первой публичной (третьей) версии платформы мы получили огромное количество фидбэка, большая часть работы над которым нашла отражение в недавно вышедшей четвертой версии платформы. Впрочем, значительная часть этого фидбэка осталась “за бортом”, но не была забыта, и соответственно сформировала план развития платформы на ближайшее будущее. Именно об этом плане и пойдет речь в этой статье.


Читать дальше →
Всего голосов 20: ↑20 и ↓0 +20
Комментарии 0

lsFusion vis 1С

Время на прочтение 8 мин
Количество просмотров 16K

Узнал о существовании этой среды разработки, решил сравнить «Фузину» для тех, кто занимается 1С. Чтобы понять, годится ли эта белорусская разработка на Java на роль «убийцы 1С».

Читать далее
Всего голосов 39: ↑38 и ↓1 +37
Комментарии 130

lsFusion 4: сводные таблицы, графики, карты и календари, OAuth-аутентификация, темная тема и многое другое

Время на прочтение 24 мин
Количество просмотров 5.5K


Буквально на днях вышла новая четвертая версия бесплатной открытой платформы lsFusion. В этой статье я попробую вкратце рассказать об основных новых возможностях этой версии и максимально проиллюстрировать их gif-картинками и примерами (как минимум для тех кто не любит читать много текста). Также многие из этих возможностей можно попробовать онлайн на официальном сайте или, например в демо-версии одного из решений на lsFusion.


Третья версия была первой публичной версией lsFusion (правда только в русскоязычном сегменте). Соответственно по результату выпуска этой версии мы собрали большой объем совершенно разнопланового фидбека, работа над которым в конечном итоге и материализовалась в четвертую версию платформы (а также в план на следующие пятую и шестую версии, о которых совсем скоро будет рассказано в отдельной статье).


Стоит отметить, что если в предыдущих версиях акцент делался преимущественно на логику предметной области (то что под капотом), в четвертой версии основное внимание было уделено логике представлений (тому что на поверхности) — UI и всему что с этим связано.


Читать дальше →
Всего голосов 19: ↑18 и ↓1 +17
Комментарии 0

Особенности реализации динамических списков в пользовательских интерфейсах

Время на прочтение 9 мин
Количество просмотров 8.8K
image

В интерфейсе каждого современного приложения в том или ином виде присутствуют списки объектов. При работе с ними у пользователя часто возникают потребности в однотипных действиях вроде сортировки, фильтраций, экспорта и так далее. Реализация этих операций часто осложняется тем, что списки могут быть “динамическими”. В этом случае данные будут по мере необходимости считываться не только с сервера на клиент, но и с сервера базы данных на сервер приложений.

В открытой и бесплатной платформе lsFusion все списки по умолчанию являются динамическими и добавляются на любую форму в несколько строк кода. В этой статье я расскажу некоторые технические подробности их реализации, а также возможности в интерфейсе, которые автоматически предоставляются пользователю при работе с любым списком на любой форме.
Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Комментарии 9

Где же начинается программирование

Время на прочтение 9 мин
Количество просмотров 16K
image


Давным давно мы разработали высокоуровневую платформу для разработки бизнес-приложений lsFusion. Оставалось дело за малым: найти того, кто будет на ней писать. Было решено разместить на сайтах по поиску работу соответствующую вакансию. Но возник вопрос: что указывать в качестве должности или профессии.

По уровню сложности язык платформы не сильно отличался от SQL, который изначально создавался не для программистов, а для бизнес пользователей. Поэтому мы также решили указать в качестве должности “Бизнес аналитик”.

Соискателям мы предлагали решить относительно несложное тестовое задание, в котором нужно было немного доработать простой пример. Некоторые люди справились, но от многих пришли гневные письма с возмущением вроде: “Вы ищите программиста или бизнес аналитика ?”.

В итоге мы нашли нужных нам людей, но анализируя этот опыт, я невольно задавался вопросом: где заканчивается бизнес анализ и начинается программирование?
Читать дальше →
Всего голосов 34: ↑31 и ↓3 +28
Комментарии 75

Make C++ great again!.. in Tula

Время на прочтение 11 мин
Количество просмотров 21K
Не так давно на базе нашего офиса мы провели бесплатный курс лекций «Современный и эффективный С++» и записали их на видео. Курс был рассчитан на недавно прибывших в наш коллектив программистов, стажеров и всех желающих. В этой статье мы хотели бы осветить цель данного курса, процесс подготовки к нему, подвести итоги. Надеемся, что для кого-то из вас наш курс лекций будет интересен и вы оцените наш труд. Желаем приятного просмотра докладов!

Всего голосов 67: ↑61 и ↓6 +55
Комментарии 16

Почему не 1С?

Время на прочтение 55 мин
Количество просмотров 108K


Совсем недавно мы опубликовали статью с описанием проблем одной из самых популярных технологий, используемых в IT, и на наше удивление она вызвала достаточно живой интерес (во всяком случае для технической статьи). Поэтому мы решили на этом не останавливаться, и сегодня мы «идем в гости» к одному из самых популярных продуктов на российском рынке разработки бизнес-приложений — платформе 1С.

Так сложилось, что на хабре многие 1С не любят, но порой складывается впечатление, что немногие из этих людей хорошо понимают, за что они его не любят. Этой статьей мы восполним этот пробел и убьем сразу двух зайцев: с одной стороны, расскажем, как в 1С все устроено изнутри, а с другой стороны — почему это все работает не так как нужно / хотелось бы. Надо сказать, что 1С многими своими решениями смог реально нас удивить, впрочем, не будем забегать вперед.

Статей с критикой 1С на Хабре достаточно (например, один, два, три), но, на мой взгляд, они либо слишком много внимания уделяют всяким мелочам, вроде неправильной организации меню, либо рассуждают о слишком абстрактных вещах, в которых 1С, возможно, и не виноват. В этой же статье, как и в статье про SQL, речь пойдет исключительно о фундаментальных (и вполне осязаемых) проблемах, которые касаются всех и каждого, кто разрабатывает / дорабатывает решения на 1С, и приводят либо к существенному росту порога вхождения, либо к серьезному падению производительности, либо к значительным трудозатратам со стороны разработчика.
Читать дальше →
Всего голосов 108: ↑98 и ↓10 +88
Комментарии 1789

Управление параметрами в бизнес-приложениях по аналогии с системой контроля версий

Время на прочтение 13 мин
Количество просмотров 3.6K
image

В различных приложениях регулярно возникает задача по поддержке логики изменения во времени некоторого атрибута объекта относительно некоторого субъекта (или субъектов). Например, это может быть изменение розничной цены товара в магазинах или показателей KPI для сотрудников.

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

Реализация будет представлена на базе открытой и бесплатной платформы lsFusion, но подобную схему можно применять и при использовании любой другой технологии.
Читать дальше →
Всего голосов 24: ↑24 и ↓0 +24
Комментарии 18
1

Информация

В рейтинге
Не участвует
Откуда
Минск, Минская обл., Беларусь
Работает в
Дата рождения
Зарегистрирован
Активность