Задать вопрос
  • Какую посоветуете библиотеку + IDE для кросс-платформенной разработки GUI-приложения?

    Adamos
    @Adamos
    Лет десять использую wxWidgets, собирая в QtCreator под Линукс и VS под винды.
    Не наблюдаю никаких "специфических глюков" и не пользуюсь плагинами для мышеформ.
    Верстку на wxSizer проще и надежнее ручками прописать, не полагаясь на помогаторов.
    Ответ написан
    Комментировать
  • Существует ли нейросеть для краткого пересказа книг?

    Adamos
    @Adamos
    Сказано: "Даже о литературном произведении нельзя судить по содержащимся в нём словам!" (с) Шинкарев.

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

    В общем, чтобы изложить МЫСЛЬ - автор и пишет книгу, даже если кому-то она кажется слишком толстой. А вот выжать СЮЖЕТ (если он вообще есть, это необязательно) - это даже тупая нейросетка, наверное, сможет...
    Ответ написан
    3 комментария
  • Как можно делать бекапы с windows на linux?

    Adamos
    @Adamos
    Если на Винде всем все доступно через шары, то достаточно cron + mount -t cifs + rsync + umount на Дебиане.
    Ответ написан
    Комментировать
  • В VirtualBox вылазиет ошибка после запуска exe приложения, как решить?

    Adamos
    @Adamos
    Если хочешь запускать на машине и Ubuntu, и игрульки, не имеющие нативных версий, твой единственный реалистичный вариант - дуалбут.
    Ответ написан
    Комментировать
  • Как проверять статус оплаты?

    Adamos
    @Adamos
    Оплата через Робокассу предполагает, что у вас на сайте есть адрес, на который она сообщает об успешной оплате заказов. Вот там хранить и с этими данными сверять.
    Ответ написан
    Комментировать
  • Почему один пдф открывается, а другой нет?

    Adamos
    @Adamos
    Проблемы, скорее всего, не в файлах, а в той информации, которую вы опустили в вопросе.
    Впрочем, есть возможность проверить PDF-файлы на возможные проблемы формата.
    Например, бесплатный VeraPdf - очень качественный инструмент.
    Правда, он требует довольно качественного оператора - сообщения о проблемах еще нужно прочитать и понять...
    Ответ написан
    Комментировать
  • Почему перемещение объявления и инициализации переменной на новую строчку кода влияет на результат работы программы?

    Adamos
    @Adamos
    Я правильно понял, если после объявления неопределенной переменной X начать объявлять или менять значения другим переменным, то X "засорится"?

    Наоборот.
    int i;
    Под переменную i выделен участок стека, лежащее в нем значение не меняется. Но в учебной программе из пары строк там, скорее всего, будет 0, и это создаст иллюзию, что все нормально. Кроме того, некоторые компиляторы в некоторых условиях инициализируют любые переменные, что еще больше запутывает ситуацию.
    int i;
    for(int n = 0; n < 10; ++n) {}

    Под переменную i выделен участок стека, лежащее в нем значение не меняется.
    Под переменную n выделен следующий участок стека, его изменение никак на i не сказывается.
    for(int n = 0; n < 10; ++n) {}
    int i;

    Под переменную n выделен участок стека, его значение к концу цикла равно 10 - и уже ненужная переменная n уничтожается, освобождая место в стеке.
    Под переменную i выделен участок стека, лежащее в нем значение не меняется. Это вполне может быть тот самый участок, который только что освободился, в нем записано 10 (С++ не выполняет ничего, что явно не указал программист - это оптимальный язык). Так что i вполне может равняться 10. Или нет.

    Подобные ситуации называются "неопределенным поведением".
    Программист на С++ обязан исключить их из своей программы.
    Ответ написан
    1 комментарий
  • Как правильно определить mime_type файла в папке после распаковки zip?

    Adamos
    @Adamos
    application/octet-stream - правильно

    Это всего лишь означает "неизвестно что, какой-то файл". Для загрузки этого более чем достаточно, все заинтересованные механизмы просто видят, что это поток данных, с которым ничего делать не надо.
    application/zip

    Это означает "что-то, упакованное ZIP" (собственно, вам уже даже указали, как это определяется - по первым байтам "PK", характерным для этого формата). Под такое определение сейчас подходит куча форматов - например, большая часть офисных. Но с ними MIME-анализ идет глубже и определяет, что это ODT, например. А что такое CDW - ваш Линукс просто не в курсе, и ничего более вменяемого, чем "это что-то упакованное ZIP" он, естественно, сказать не может.

    В целом, вы занимаетесь ерундой, не имеющей никакого практического смысла. Продолжайте набираться знаний - и подобные вопросы просто отпадут сами собой.
    Ответ написан
  • Как узнать, что веб-адрес официальный?

    Adamos
    @Adamos
    "Какой-то сертификат" и у фишингового сайта будет.
    Если начать копать, внезапно окажется, что сам термин "официальный сайт" довольно размыт. У крупных IT-корпораций, например, число совершенно официальных сайтов может исчисляться десятками. А локальная мелочь может иметь только страничку во ВКонтакте...

    Задачу проще решать от противного - выделять не официальные сайты, а фишинговые.
    Собственно, Гугль это давно делает и предлагает список таковых в своем API.
    Ответ написан
    Комментировать
  • Как отправить сообщение с Linux на windows в локальной сети?

    Adamos
    @Adamos
    Берешь первый попавшийся вирус, переименовываешь его в Тебе_сообщение_лошара.exe и кидаешь в расшаренную папку.
    Дефендер делает стойку на файлик и показывает юзеру его название.
    Никаких сторонних программ ;)
    Ответ написан
    Комментировать
  • Как связать пользователей своего сайта с их аккаунтами телеграмм?

    Adamos
    @Adamos
    Сам как раз изучаю этот вопрос и буду рад, если более опытные товарищи расскажут более правильный вариант.

    Пока так: даете пользователю перейти по ссылке вида https://t.me/ИМЯ_БОТА?start=ТОКЕН.
    В токене шифруете ID пользователя и подпись (чтобы посторонний не подделал обращение).
    Он переходит по ссылке, подтверждает подписку на вашего бота, боту приходит сообщение, в котором есть и ID чата, и вот это сообщение с токеном, из которого вы вынете ID пользователя, которому надо прописать этот чат.
    Ответ написан
    9 комментариев
  • Используются ли встроенные базы данных помимо этапа разработки?

    Adamos
    @Adamos
    Популярная встраиваемая БД - SQLite, которую в продакшене используют почем зря.
    Например, браузеры и мессенджеры.
    Ответ написан
    Комментировать
  • Как генерировать PDF документы из шаблонов?

    Adamos
    @Adamos
    mPDF позволяет положить исходный PDF фоном и сверху (по координатам) налепить добавки.
    Но для произвольного PDF вы просто не будете знать, что куда положить.

    Стоит вернуться к задаче и пересмотреть ее. Откуда берется PDF у пользователя? Если это бланк, который он каким-то образом заполняет, а вы добавляете свою информацию - нужно просто дать ему форму на сайте, собрать его данные, добавить ваши и генерировать из них окончательный PDF.
    Ответ написан
    Комментировать
  • Битрикс ошибка 503?

    Adamos
    @Adamos
    Посмотрите Настройки - Настройки модулей - Веб-аналитика - Блокировать.
    Может, оно.
    Ответ написан
    Комментировать
  • Как грамотно построить дерево пользователей в Bitrix?

    Adamos
    @Adamos
    Вопрос в том, что вы хотите от этих данных, кроме рисования дерева. Поиск по ним, например.
    Так-то можно просто воткнуть пользовательское строковое поле, в котором через разделитель вписаны ID вышестоящих по дереву. Приглашенному просто вписывается это поле родителя + разделитель + его ID.
    Ответ написан
  • Конвертер файлов с Word/EXEL в PDF на своем хостинге?

    Adamos
    @Adamos
    Headless LibreOffice, совершенно обычное решение.
    Ответ написан
    Комментировать
  • В чем преимущества использования С++ в embedded?

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

    Конкретно embedded тут неважен, просто сейчас даже встройка стала достаточно богатой ресурсами, чтобы иметь возможность сместить баланс "оптимальность-гибкость" и "компактность-читаемость" вправо.
    Ответ написан
    2 комментария
  • Объясните, пожалуйста, что такое SRP (SOLID) на приведенном примере?

    Adamos
    @Adamos
    Ваш класс БД будет работать с таблицами. Зачем ему лезть в файлы? Его задача (и единственная ответственность) - прослойка между кодом, который обращается к БД, и кодом, который реализует хранение. Не нужно в него совать куски ни из того, ни из другого.
    Сделайте таблицу отдельным классом, который принимает имя файла в конструкторе. В нем уже читайте и пишите данные в файл.
    Сделайте фабрику, которая по имени файла выдает класс таблицы-файла либо создает его, проверяя наличие такого имени в системе и инкапсулируя в себе ВСЮ логику имен файлов, путей и проч. Классу БД об этом знать незачем, классу таблицы - тем более.
    В общем, делите код на то, что надо сделать вот здесь на этом уровне логики, и выкидывайте из него все, что требует опуститься на уровень ниже, в соответствующие классы. И работайте только с их методами, не вникая в реализацию. Не размазываете реализацию конкретных вещей по коду - собирайте ее в одно место, и пусть за нее отвечает только один класс.
    Ответ написан
    2 комментария
  • Какая система или CMS лучше всего подойдет для приюта для животных?

    Adamos
    @Adamos
    Чтобы сделать сайт один раз, CMS вообще не нужна.
    Вопрос не в том, приют там будет или отель, а в том, как будет редактироваться содержимое и какие распространенные модули могут понадобиться, когда захочется не просто страничек с фото, а более серьезного функционала. Причем если это будет узкоспециализированный функционал - CMS будет скорее мешать, чем помогать. А какой-нибудь банальный блог или форум, наоборот, проще не мудрить и взять готовый. Особенно это касается вопроса денег - если будут пожертвования, например.
    В общем, сформулируйте, чего вы хотите от этих страничек и как собираетесь с ними жить - тогда и выбор будет нагляднее.
    Ответ написан