Наши услуги

Мы предлагаем

serv2
Сайт визитка - лендинг
Одна шаблонная страница - когда надо сегодня
serv2
Сайт магазин с CRM
Главная страница, каталог товаров/услуг, личный кабинет продавца
serv2
Дизайн для своего сайта
Нарисуем вам новый дизайн
serv2
Доработка существующего сайта
Когда что-то сломалось
serv2
Дизайн печатной продукции
Визитки, баннеры, стикеры и прочее нецифровое, что можно будет потрогать :)
serv2
Не знаю как объяснить - посмотрите сами
И такое делаем :)

Почему мы?

Минимум взаимодействий
Минимум взаимодействий
Из материалов только ваша страница или сайт
Всегда на связи
Всегда на связи
Голосовые, текст, видео - как удобно :)
Бывает и дорого, но есть бесплатно
Бывает и дорого, но есть бесплатно
Качество не зависит от цены
Индивидуальный подход
Индивидуальный подход
Разумеется :)
business
Коротко

О нас

wow5
2015
работаем успешно с
wow3
5
Реализованных проектов

Это начало интересного текста обо мне

Чуть позже напишу тут интересный текст

Партнёров пока нет
Но, ты пиши если что :)

Наши работы

Работа 1
Работа 2

Ознакомьтесь с нашим сервисом и комфортным сотрудничеством

Тарифы

Сайтик фри
0
Точно такой лендинг
checkedВаши фото, контакты и тексты
checkedИмя сайта имя.dencompany.ru
checkedБез мелкого шрифта и камней
Лайт
от
5 000
₽/год
Когда сайт пробник понравился и надо расширяться
checkedСамостоятельное имя сайта
checkedИндивидуальные настройки
checkedCRM (личный кабинет продавца)
checkedБез мелкого шрифта и камней
Хочу всё
от
15 000
₽/мес
Когда налажен процесс или не очень, но надо много и не хочется вникать
checkedСамостоятельное имя сайта
checkedИндивидуальный дизайн
checkedCRM (личный кабинет продавца)
checkedПеренос товаров с текущего сайта
checkedБез мелкого шрифта и камней

Профессионалы своего дела

Наша команда

Фото
Fullstack ведущий программист
Денис

О нас говорят

Отзывы клиентов

Фото отзыв
Я — специалист по SMM
Linda
Дизайнер
Фото отзыв
Отзыв 1
Mark
Backend разработчик
Смотреть все

Все, что нужно знать о бизнесе

Блог

Читать блог
Фото блог
16
05.2026
5 основных инструментов для продвижения интернет-бизнеса
Я — специалист по SMM.
Фото блог
16
05.2026
5 основных инструментов для продвижения интернет-бизнеса
Раньше работала дома.
Фото блог
16
05.2026
5 основных инструментов для продвижения интернет-бизнеса
Я работала дома.

Все, что нужно знать о создании сайтов

Статьи

16.05.2026
Миграция фреймворка: Delphi и разработка CRM Миграция фреймворка — один из самых сложных и ответственных этапов в жизненном цикле программного продукта. Особенно остро эта задача стоит для систем, разработанных на Delphi, который долгое время был стандартом для создания корпоративных приложений, включая CRM-системы. Устаревшая кодовая база, зависимость от специфических библиотек и необходимость сохранения бизнес-логики делают миграцию нетривиальной инженерной задачей. Почему Delphi требует миграции в современных CRM? Несмотря на свою надежность, Delphi-приложения сталкиваются с рядом ограничений: Сложность интеграции с современными веб-сервисами и REST API. Отсутствие нативной поддержки кроссплатформенности (без дополнительных усилий). Устаревшие подходы к работе с базами данных и пользовательским интерфейсом. Дефицит специалистов, готовых поддерживать legacy-код на Delphi. Для CRM-систем, где критически важны гибкость, масштабируемость и скорость внедрения новых функций, миграция становится не просто техническим улучшением, а стратегической необходимостью. Этапы миграции фреймворка для CRM на Delphi Аудит существующего кода. Необходимо выявить ключевые модули: работа с контактами, сделки, отчетность. Особое внимание уделяется кастомным компонентам и прямым вызовам API операционной системы. Выбор целевого фреймворка. Наиболее популярные направления — .NET (C#) или Java/Spring для серверной части, а также React или Angular для фронтенда. Для сохранения части кода возможна гибридная архитектура с использованием RemObjects или Oxygene. Стратификация миграции. Рекомендуется разбить процесс на итерации: сначала перенос бизнес-логики (расчеты, валидации), затем — слоя данных, и в последнюю очередь — пользовательского интерфейса. Тестирование на каждом этапе. Использование автоматических регрессионных тестов обязательно, так как даже незначительное изменение логики может нарушить работу всей CRM. Постепенное внедрение. Запуск новой версии параллельно со старой (режим «big bang» здесь опасен). Пользователи должны иметь возможность переключиться обратно в случае критических ошибок. Особенности миграции Delphi-приложений для CRM При переносе CRM, написанной на Delphi, важно учитывать специфику предметной области: Работа с базами данных. Delphi часто использует BDE, ADO или прямые SQL-запросы. При миграции на ORM (Entity Framework, Hibernate) потребуется рефакторинг всех запросов и оптимизация производительности. Отчетность. Многие CRM на Delphi используют FastReport или ReportBuilder. Их необходимо заменить на современные решения (Stimulsoft, DevExpress Reports) или переписать генерацию отчетов на серверной стороне. Интеграции. Старые COM-объекты и DLL-библиотеки должны быть либо эмулированы, либо переписаны с нуля с использованием современных протоколов (gRPC, RabbitMQ). Пользовательский интерфейс. VCL-формы Delphi сложно конвертировать в HTML/CSS. Рекомендуется проектировать новый UI с нуля, ориентируясь на современные UX-паттерны для CRM. Риски и как их минимизировать Основные риски при миграции фреймворка Delphi: Потеря данных. Тщательное резервное копирование и тестирование на копии продуктивной базы. Снижение производительности. Оптимизация запросов и использование кэширования на новом стеке. Сопротивление пользователей. Поэтапное обучение и обратная связь на каждом этапе внедрения. Увеличение бюджета. Четкое планирование спринтов и выделение резерва времени на непредвиденные сложности. Заключение Миграция фреймворка для CRM-системы, написанной на Delphi, — это масштабный проект, требующий глубокого понимания как старой архитектуры, так и современных технологий. Однако грамотно проведенная миграция открывает новые возможности для развития продукта, упрощает поддержку и интеграцию, а также повышает конкурентоспособность бизнеса на рынке. Успех зависит от тщательного планирования, поэтапного подхода и вовлечения команды, которая одинаково хорошо разбирается как в legacy-коде, так и в современных фреймворках.
14.05.2026
Выбор базы данных для PHP-проекта: гайд для мидла К 2026 году экосистема PHP окончательно сформировалась вокруг нескольких ключевых СУБД. Для разработчика уровня middle выбор базы данных — это не просто вопрос «какая быстрее», а поиск баланса между архитектурой проекта, нагрузкой и стоимостью поддержки. Рассмотрим основные варианты и критерии их выбора. Реляционные базы данных (SQL) MySQL / MariaDB Классический выбор для большинства PHP-проектов. MariaDB стала де-факто стандартом в новых инсталляциях, предлагая улучшенную производительность и дополнительные движки хранения (например, Aria и Spider). Для мидла важно понимать: если ваш проект использует Laravel, Symfony или WordPress, MySQL/MariaDB — это путь наименьшего сопротивления. Вы получаете зрелые ORM (Eloquent, Doctrine), мощный инструментарий миграций и огромное комьюнити. Когда выбирать: CRUD-приложения, интернет-магазины, CMS, проекты с четкой схемой данных и транзакциями. Подводные камни: Проблемы с горизонтальным масштабированием (шардинг сложен), ограниченная поддержка JSON-типов по сравнению с PostgreSQL. PostgreSQL Серьезный конкурент, который в 2026 году окончательно перестал быть «нишевым» для PHP. PostgreSQL предлагает нативную поддержку JSONB, полнотекстовый поиск, сложные индексы (GIN, GiST) и отличную работу с конкурентными запросами. Для мидла это выбор, когда проект требует аналитики, сложных отчетов или работы с геоданными (через PostGIS). Когда выбирать: Финансовые системы, SaaS-платформы с кастомными отчетами, проекты, где целостность данных критична (ACID на уровне выше, чем в MySQL). Подводные камни: Выше порог входа для настройки производительности, меньше «из коробки» решений для репликации в популярных хостингах. NoSQL базы данных Redis Не замена SQL, а мощное дополнение. Для мидла Redis обязателен для кэширования, управления сессиями и очередей (через Laravel Horizon или Symfony Messenger). В 2026 году Redis также активно используется для реализации rate-limiting и real-time фич (через Pub/Sub). Когда выбирать: Высоконагруженные проекты, где нужно снизить нагрузку на основную БД, кэширование тяжелых запросов, очереди задач. Подводные камни: Данные в памяти — риск потери при сбое (без персистентности), ограниченный объем хранилища. MongoDB Документо-ориентированная БД, которая хорошо сочетается с PHP через современные драйверы (mongodb/mongodb) и ODM (Doctrine MongoDB ODM). Для мидла это выбор, когда схема данных постоянно меняется или когда структура документа глубокая и вложенная (например, каталог товаров с разными наборами характеристик). Когда выбирать: Прототипы, проекты с гибкой схемой (блоги, системы управления контентом), логирование, IoT. Подводные камни: Отсутствие транзакций (до версии 4.0 они появились, но ограничены), сложности с JOIN-подобными операциями, большее потребление памяти. Критерии выбора для мидла Тип данных и связи: Если у вас строгие связи между сущностями (заказы-товары-пользователи) — SQL. Если данные слабо структурированы — присмотритесь к MongoDB. Нагрузка и масштабирование: Для стартапа с MySQL вы быстро упретесь в потолок одной машины. PostgreSQL дает больше возможностей для оптимизации до шардинга. Redis и кластерные решения (Galera для MariaDB) помогают отложить этот момент. Экосистема проекта: Если команда использует Laravel, то MySQL/MariaDB будет поддерживаться лучше всего. Symfony более гибок, но требует больше ручной настройки под PostgreSQL. Стоимость и администрирование: Управляемые решения (Amazon RDS, DigitalOcean Managed Databases) в 2026 году делают выбор менее критичным — вы можете легко переключиться между MySQL и PostgreSQL, если изначально используете ORM. Практический вывод Для 80% PHP-проектов уровня middle оптимальной связкой остается MariaDB + Redis. Первая — для основных данных и транзакций, второй — для кэша и очередей. Если вы видите, что проект упирается в сложные запросы или требует аналитики в реальном времени — смело смотрите в сторону PostgreSQL. MongoDB стоит выбирать только тогда, когда вы точно понимаете, зачем вам отказ от реляционной модели, и готовы пожертвовать ACID ради гибкости схемы. Главное — не пытайтесь выбрать одну базу данных на все случаи жизни: комбинируйте их, и ваш проект будет готов к любым нагрузкам.
08.05.2026
Проектирование базы данных для CMS на FoxPro Разработка системы управления контентом (CMS) на языке FoxPro требует тщательного проектирования базы данных, так как от этого зависит производительность, масштабируемость и удобство администрирования сайта. FoxPro, несмотря на свой возраст, остается мощным инструментом для работы с табличными данными, особенно в legacy-системах и корпоративных решениях. Рассмотрим ключевые этапы и принципы создания такой базы данных. Основные сущности CMS Любая CMS оперирует несколькими базовыми сущностями. Для FoxPro их удобно представлять в виде отдельных DBF-файлов (таблиц). Пользователи (users.dbf): содержит логины, пароли (в захэшированном виде), права доступа и email. Страницы (pages.dbf): хранит URL, заголовки, мета-описания и основной контент. Категории (categories.dbf): древовидная структура для группировки материалов. Медиафайлы (media.dbf): ссылки на изображения, документы, видео с указанием путей и типов. Связи между таблицами Для обеспечения целостности данных в FoxPro важно правильно настроить индексы и связи. В отличие от SQL-серверов, здесь связи реализуются программно или через SET RELATION. Связь "страница-категория": поле category_id в таблице pages.dbf ссылается на уникальный id в categories.dbf. Это позволяет фильтровать контент по разделам. Связь "автор-страница": поле author_id в pages.dbf связывается с id в users.dbf для отслеживания, кто создал или редактировал материал. Медиа-галерея: отдельная таблица page_media.dbf с полями page_id и media_id реализует связь "многие ко многим" между страницами и файлами. Оптимизация производительности FoxPro чувствителен к структуре индексов. Для CMS, где важна скорость выборки контента, следует: Создавать первичные индексы по полям id для всех таблиц. Использовать составные индексы для часто используемых запросов, например, по полям status и publish_date для вывода только опубликованных страниц. Избегать хранения больших текстовых полей (мемо-полей) в основных таблицах, вынося их в отдельные файлы, если объем контента велик. Безопасность и целостность При проектировании базы данных для CMS на FoxPro необходимо предусмотреть защиту от повреждения данных: Использовать транзакции (BEGIN TRANSACTION и END TRANSACTION) при массовых операциях, таких как импорт статей или обновление структуры. Регулярно выполнять упаковку таблиц (PACK) для удаления помеченных на удаление записей и восстановления дискового пространства. Хранить настройки сайта в отдельной таблице settings.dbf с ключом и значением, чтобы избежать редактирования кода для изменения параметров. Заключение Правильно спроектированная база данных для CMS на FoxPro позволяет создать надежную и быструю систему управления сайтом, которая будет стабильно работать даже при значительных объемах контента. Уделив внимание нормализации таблиц, настройке индексов и программной реализации связей, вы получите решение, которое легко поддерживать и расширять в будущем.
Открыть все статьи
bg_1
Остались вопросы? Задавайте их немедленно.
мы проконсультируем совершенно бесплатно