Наши услуги

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

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 разработчик
Смотреть все

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

Блог

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

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

Статьи

08.08.2026
Сравнение фреймворков для Clipper: взгляд сеньора Когда речь заходит о Clipper, большинство современных разработчиков пожимают плечами. Однако для сеньора, заставшего эпоху DOS-приложений и миграции на Windows, эта тема — не археология, а практическая инженерия. Clipper (Summer'87, 5.x, а затем и его наследники вроде Clip, FlagShip, xBase++) — это не просто язык, а целая парадигма работы с данными. Сравнивать здесь «фреймворки» нужно не как React и Vue, а как слои абстракции над терминальным вводом-выводом и драйверами баз данных. Для сеньора критично понимать, что выбор фреймворка в 2026 году — это выбор стратегии поддержки легаси и цены миграции. Ключевые игроки на поле Clipper Прежде чем углубляться в сравнение, стоит разделить инструменты на три условные категории, потому что сравнивать их напрямую — методологическая ошибка. Для сеньора это разделение — база для принятия архитектурного решения. Классические библиотеки визуальных компонентов (например, FiveWin, Clip4Win) — это обёртки над Windows API, дающие окна, кнопки и гриды. Терминальные фреймворки (Say/Get, TBrowse, а также их расширенные версии вроде Jet.dll от Alaska Software) — работают в консоли, эмулируя текстовый интерфейс. Современные гибриды (xHarbour + HWGUI, или FlagShip с собственным рантаймом) — пытаются объединить скорость разработки на xBase с современными контролами. Сеньор должен понимать: выбор фреймворка здесь — это выбор уровня риска. Ни один из них не даст той плавности разработки, что даёт C# или Java. Но они дают то, что критично для бизнеса — сохранение бизнес-логики, написанной 20 лет назад. Сравнение по критериям для сеньора Ниже приведено сравнение по параметрам, которые важны не для новичка, а для архитектора, отвечающего за жизненный цикл системы. 1. Управление памятью и утечки Классический Clipper (до 5.3) использовал ручное управление памятью с пулами. Современные фреймворки (Harbour, xHarbour) имеют сборщик мусора, но он не детерминированный. FiveWin в этом плане капризен: при работе с объектами Windows (HWND) часто возникают утечки, если не вызывать Release() явно. HWGUI (построенный на Harbour) более предсказуем, но его сборщик мусора может «подвисать» при интенсивной работе с массивами. Для сеньора это означает, что нельзя полагаться на RAII или using-блоки — нужен строгий аудит кода на предмет освобождения ресурсов. 2. Работа с базами данных Это ахиллесова пята всех наследников Clipper. Родные драйверы (DBFNTX, DBFCDX) работают быстро, но не поддерживают современные транзакции на уровне сервера. FlagShip предлагает встроенную поддержку SQL через ODBC, но его реализация далека от идеала: курсоры часто «съезжают» при параллельном доступе. xHarbour с библиотекой RDD (Replaceable Database Drivers) позволяет подключать MySQL и PostgreSQL, но требует от сеньора глубокого понимания внутреннего устройства RDD, чтобы настроить пул соединений. В отличие от них, FiveWin для работы с SQL требует сторонних библиотек (например, FWH's ADO), что добавляет уровень сложности и непредсказуемости. 3. Модель событий и потоки Классический Clipper был однопоточным. Современные фреймворки пытаются добавить потоки, но делают это неуклюже. Harbour имеет нативную поддержку потоков (HB_THREAD), но работа с GUI из фоновых потоков — это боль. FiveWin требует, чтобы все обращения к контролам происходили в главном потоке, иначе — мгновенный краш. Clip4Win (более старый) вообще не имеет понятия потоков, что вынуждает сеньора использовать асинхронные паттерны на основе таймеров. Вывод: если ваша система требует реальной многопоточности (например, для фоновой обработки отчётов), ни один из этих фреймворков не даст вам удобной модели. Придётся писать костыли через внешние DLL. 4. Совместимость с современными API Здесь лидирует xHarbour в связке с HWGUI. Эта связка позволяет вызывать любые функции WinAPI напрямую, что даёт сеньору возможность интегрировать современные библиотеки (например, для работы с JSON или HTTP-запросами). FiveWin также предоставляет доступ к API, но его синтаксис перегружен макросами, что усложняет чтение кода. FlagShip — самый закрытый вариант: он компилируется в промежуточный код, и вызов нативных функций требует специальных обёрток, что снижает гибкость. Практические рекомендации для сеньора Если вы пришли в проект, где уже есть код на Clipper, не пытайтесь переписать всё на C#. Это экономически нецелесообразно. Вместо этого оцените, какой фреймворк позволит вам постепенно мигрировать. Мой опыт подсказывает, что оптимальным выбором для долгосрочной поддержки является Harbour + HWGUI. Причины: Harbour активно развивается, имеет открытый исходный код и поддерживает современные стандарты C++ (через компилятор MinGW). HWGUI предоставляет достаточно стабильный набор контролов, а его исходники доступны для модификации. Вы можете писать новые модули на C или C++ и вызывать их из Harbour, сохраняя старый код на Clipper нетронутым. В то же время, если проект заморожен и не требует новых фич, а бюджет ограничен — оставьте FiveWin на старой версии, но обязательно зафиксируйте окружение (виртуальная машина с Windows 7) и не пытайтесь обновлять библиотеку, так как это может сломать существующий код. Заключение Сравнение фреймворков для Clipper — это не выбор «лучшего», а выбор «наименее худшего» для конкретной бизнес-задачи. Сеньор должен трезво оценивать риски: ни один из этих инструментов не даст вам современного DX, но они дают возможность сохранить работающий бизнес-процесс. Гла
04.08.2026
Интеграция AI/ML в Dart: простое объяснение для новичков Уважаемый читатель, если вы решили разобраться в том, как работают современные программы, которые умеют распознавать лица, переводить тексты или предсказывать погоду, то вы обратились по адресу. Сегодня мы поговорим о языке программирования Dart и о том, как в него встраивают искусственный интеллект (AI) и машинное обучение (ML). Не пугайтесь сложных слов — я объясню всё простым языком, как для пенсионера, который впервые сел за компьютер. Что такое Dart и зачем он нужен? Dart — это язык программирования, созданный компанией Google. Представьте себе, что программа — это рецепт приготовления борща. Язык программирования — это тот язык, на котором написан рецепт. Dart — это такой «кулинарный язык», на котором пишут инструкции для компьютера. Главная особенность Dart в том, что он позволяет создавать приложения, которые работают на разных устройствах: на телефонах, планшетах, компьютерах и даже на холодильниках с экраном. Самый известный пример — это приложения, написанные с помощью фреймворка Flutter, который тоже создан на базе Dart. Что такое AI и ML простыми словами? Искусственный интеллект (AI) — это способность компьютера выполнять задачи, которые обычно требуют человеческого ума. Например, отличать кошку от собаки на фотографии или отвечать на вопросы. Машинное обучение (ML) — это метод, с помощью которого компьютер учится выполнять эти задачи. Вместо того чтобы писать точные инструкции «если видишь уши — это кошка», мы даем компьютеру много примеров (фотографий кошек и собак), и он сам находит закономерности. Это как учить внука отличать яблоко от груши: вы показываете ему много разных фруктов, и он постепенно запоминает их признаки. Как интегрировать AI/ML в Dart? Теперь самое главное. Как же соединить язык Dart и искусственный интеллект? Есть несколько способов, и я расскажу о них подробно, чтобы вам было понятно. Способ 1. Использование готовых библиотек Представьте, что вы хотите испечь пирог, но не знаете, как замесить тесто. Вы идете в магазин и покупаете готовую смесь. В мире программирования такие «смеси» называются библиотеками. Для Dart есть несколько библиотек, которые уже содержат готовые алгоритмы машинного обучения. Вам не нужно самому писать сложные математические формулы — всё уже сделано за вас. Например, библиотека tflite_flutter позволяет запускать модели TensorFlow Lite прямо в вашем приложении на Dart. TensorFlow — это мощная система машинного обучения от Google, а Lite — её облегченная версия для телефонов. С помощью этой библиотеки вы можете добавить в своё приложение распознавание изображений, голоса или даже жестов. Как это работает на практике? Вы берёте готовую модель (это файл с уже обученными «правилами»), кладёте её в папку вашего проекта, и ваша программа на Dart может «спрашивать» у модели: «Что на этой картинке?» Модель отвечает: «Это кошка», — и ваша программа показывает этот ответ на экране. Способ 2. Обучение моделей прямо в Dart Если вы хотите не просто использовать готовую модель, а обучить свою собственную, то это тоже возможно. Правда, это сложнее, и для больших задач лучше использовать другие языки, например Python. Но для небольших экспериментов есть библиотека ml_algo. Она позволяет создавать простые модели машинного обучения прямо в коде на Dart. Например, вы можете обучить модель предсказывать цену на квартиры по площади и количеству комнат. Вы даёте модели таблицу с примерами, и она находит зависимость. Для пенсионера это можно объяснить так: вы учите компьютер, как бабушка учит внука считать сдачу в магазине. Вы показываете много примеров: «2 яблока стоят 50 рублей, 5 яблок стоят 125 рублей». Компьютер запоминает закономерность и потом сам может посчитать, сколько будут стоить 10 яблок. Способ 3. Общение с внешними сервисами Самый простой и часто используемый способ — это не встраивать искусственный интеллект прямо в программу на Dart, а обращаться к внешнему сервису через интернет. Представьте, что вы звоните по телефону в справочную службу и спрашиваете: «Какая завтра погода?» Вам отвечает оператор, который находится в другом здании. Так и здесь: ваша программа на Dart отправляет запрос в облачный сервис (например, Google Cloud AI или OpenAI), а сервис возвращает ответ. Для этого в Dart есть специальные средства для работы с интернетом. Вы пишете код, который отправляет картинку в сервис распознавания, ждёт ответа и получает текст: «На фото изображён кот породы мейн-кун». Этот способ очень удобен, потому что вам не нужно разбираться в сложных алгоритмах — всё делает мощный сервер. Пошаговый план для начинающего Давайте составим простой план действий, если вы хотите попробовать интегрировать AI/ML в свой проект на Dart. Не бойтесь, если что-то не получится с первого раза — это нормально. Установите Flutter. Это самый простой способ начать работать с Dart. Flutter — это набор инструментов, который позволяет создавать красивые приложения. Установка похожа на установку обычной программы на компьютер. Создайте новый проект. В терминале напишите команду flutter create my_ai_app. Это создаст папку с готовым шаблоном. Добавьте библиотеку. Откройте файл pubspec.yaml (это как список продуктов для рецепта) и добавьте туда название нужной библиотеки, например tflite_flutter. Напишите простой код. Начните с малого: загрузите модель и попросите её распознать текст на картинке. Даже если это займёт несколько дней, вы получите бесценный опыт. Тестируйте и улучшайте. Запустите приложение на телефоне или в эмуляторе. Посмотрите, как оно работает, и попробуйте изменить что-то в коде. Важные советы для новичка Пре
31.07.2026
Выбор IDE для разработки на Kotlin: объясняю стоматологу Представьте, что вы стоматолог. У вас есть отличные инструменты: бормашина, пинцет, скальпель. Но если вы попытаетесь лечить зуб обычным кухонным ножом, результат будет плачевным. В программировании то же самое: IDE (Integrated Development Environment) — это ваш профессиональный «стоматологический кабинет», где есть всё необходимое для создания качественного кода. Для языка Kotlin выбор правильной среды критически важен, так как от этого зависит скорость работы и отсутствие «боли» (ошибок). Почему Kotlin требует особого подхода? Kotlin — это современный язык, который чаще всего используется для разработки под Android, но также работает на серверах и в десктопных приложениях. Как в стоматологии разные материалы требуют разных инструментов (пломба — светоотверждаемая, коронка — металлокерамика), так и Kotlin требует IDE, которая «понимает» его особенности: нулевую безопасность, корутины (асинхронные задачи) и совместимость с Java. Без хорошей среды вы будете тратить время на рутинные действия, как если бы вам пришлось каждый раз вручную искать анестезию и сверло. Лучший выбор: IntelliJ IDEA Для Kotlin IntelliJ IDEA — это как универсальная стоматологическая установка с микроскопом и рентгеном. Её создала компания JetBrains, которая придумала сам Kotlin. Поэтому среда «из коробки» знает все тонкости языка. Умные подсказки: IDE сама предлагает, как исправить код, аналогично тому, как стоматолог видит на снимке, где скрытый кариес. Рефакторинг: вы можете переименовать переменную или функцию, и IDE автоматически обновит все ссылки на неё — как если бы вы заменили один инструмент в лотке, и все ассистенты знали об этом. Интеграция с Android: если вы пишете мобильное приложение, IntelliJ IDEA (или её специализированная версия Android Studio) позволяет запускать код на виртуальном телефоне, как на тренажёре для отработки пломбирования. Альтернативы: когда основной инструмент недоступен Иногда у вас нет возможности установить IntelliJ IDEA (например, слабый компьютер). Тогда можно использовать Visual Studio Code с плагином для Kotlin. Это как компактный набор для неотложной помощи: он легче, но требует ручной настройки. Вы не получите всех «фишек», но базовые функции — подсветка синтаксиса и автодополнение — будут работать. Для серьёзной разработки это неудобно, как лечить зуб без бормашины, только ручным инструментом. Что выбрать новичку? Скачайте IntelliJ IDEA Community Edition — это бесплатная версия, которая подходит для Kotlin. Установите плагин Kotlin (обычно он уже встроен). Создайте первый проект — IDE сама предложит шаблон. Если вы планируете делать приложения для телефонов, используйте Android Studio — это та же IntelliJ IDEA, но с дополнительными инструментами для Android (как стоматологическая клиника с отдельным кабинетом для рентгена). Заключение Выбор IDE для Kotlin — это не вопрос вкуса, а вопрос эффективности. IntelliJ IDEA даёт вам максимальный комфорт и безопасность, позволяя сосредоточиться на логике программы, а не на поиске скобок и точек с запятой. Как стоматолог не будет работать тупым инструментом, так и программист не должен писать на Kotlin в Блокноте. Установите правильную среду — и ваш код будет «без кариеса» и «с анестезией» от ошибок.
Открыть все статьи
bg_1
Остались вопросы? Задавайте их немедленно.
мы проконсультируем совершенно бесплатно