Задать вопрос
  • Как анализировать рынок IT, чтобы помочь ребенку с выбором направления?

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

    Adamos
    @Adamos
    Только по ответам понял, что вопрос о том, зачем вообще могут быть нужны симлинки.
    Пример из жизни: Стим хранит свое добро в ~/.steam.
    Добра у геймера много, а хомяк не резиновый.
    Берет ушлый геймер да кладет в хомяк симлинк ~/.steam -> /media/storage/free_petabytes.
    И все просто работает ;)
    Ну, или банально запускаешь программу не из репы (например, сам же и собирал, но под прошлую версию системы). А она истошно жалуется - нет необходимой библиотеки libbackdoor123-666.so, а без неё работать никак нельзя! Ну, не флатпакать же по этому поводу - делаешь симлинк libbackdoor123-666.so -> libfakedoor00.so, и все заверте.
    Ответ написан
    7 комментариев
  • Как прочитать ответ сервера после отправки формы?

    Adamos
    @Adamos
    Файлы через ajax спокойно отправляются, и даже прогресс-бар можно прикрутить.
    Пример (jQuery, WinterCMS, Bootstrap):
    postFiles: function($form, request, callback)
        {
            var formData = new FormData($form[0]);
            var input = $form.find('input[type=file]')[0];
            for(var n in input.files) {
                if(input.files[n].size > 104857600) {
                    alert('Максимальный размер загружаемых файлов - 100 Мб!');
                    return;
                }
            }
            $.ajax({
                url: window.location.href,
                headers: {
                    'X-WINTER-REQUEST-HANDLER': request? request : $form.attr('data-request') // это для WinterCMS
                },
                method: 'POST',
                dataType: 'json',
                type: 'POST',
                processData: false,
                contentType: false,
                data: formData,
                success: function(data) {
                    $('#file-upload-progress').remove();
                    if(callback) {
                        callback(data);
                    } else {
                        eval($form.attr('data-request-success'));
                    }
                },
                error: function(data) {
                    $('#file-upload-progress').remove();
                    if(data.responseText) {
                        alert(data.responseText);
                    }
                },
                xhr: function() {  // custom xhr
                    var myXhr = $.ajaxSettings.xhr();
                    if(myXhr.upload) {
                        myXhr.upload.addEventListener(
                            'progress',
                            function(evt) {
                                if (evt.lengthComputable) {
                                    var $progress = $('#file-upload-progress');
                                    if($progress.length === 0) {
                                        $progress = $(
                                            '<div id="file-upload-progress" style="position: fixed; top: 0; left: 45%; text-align: center; background-color: white; border-radius: 1em; padding: 0 1em 1em 1em; border: 2px solid #CEF; z-index: 2000">' +
                                            '<h6>Загрузка файлов</h6>' +
                                            '<div class="progress" style="margin-bottom: 1em">' +
                                            '<div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>' +
                                            '</div>' +
                                            '</div>'
                                        );
                                        $progress.append(
                                            $('<button class="btn btn-sm btn-default"><i class="icon-remove"></i>&nbsp;Отменить загрузку</button>')
                                                .click(function() {
                                                    myXhr.abort();
                                                    $progress.remove();
                                                })
                                        )
                                        $('body').append($progress.hide());
                                    }
                                    var percentComplete = Math.round(evt.loaded / evt.total * 100);
                                    if(percentComplete === 1) {
                                        $progress.hide();
                                    } else {
                                        $progress.find('div.progress-bar').css('width', percentComplete + '%').attr('aria-valuenow', percentComplete).html(percentComplete + ' %');
                                        $progress.show();
                                    }
                                }
                            },
                            false
                        );
                    }
                    return myXhr;
                }
            });
            return false;
        },
    Ответ написан
    Комментировать
  • Какой моноблок посоветуете поставить в цех?

    Adamos
    @Adamos
    Нужно решение достаточное для запуска 1С

    Вообще не факт. Веб-интерфейс к простенькому серверу, который уже будет держать связь с 1С, оптимальнее.
    Более того - он вообще может устранить необходимость в отдельной машине, если потыкать можно будет с мобильного устройства.

    Какие моноблоки можете посоветовать

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

    Я в цех сначала ставил древние машины, потом задолбался чистить пыль и поставил OrangePi4LTS в безвентиляторном корпусе. Для отображения веб-интерфейса - за глаза. При любых проблемах - просто ставится запасная... Правда, в одной ситуации - рядом с силовым оборудованием - такая игрушка глючила. Подозреваю, ловила наводки на WiFi-антенну. Но так и не собрались это проверить, увы. Там так и стоит старый системник.
    Ответ написан
    7 комментариев
  • Какова оптимальная вложенность компонентов?

    Adamos
    @Adamos
    А вам конкретное число уровней посоветовать?
    Так это литературу надо читать. Ответ на этот вопрос дан еще полвека назад.
    42.
    Ответ написан
    2 комментария
  • Как в Битрикс с помощью PHP скрывать одну или несколько характеристик если они пустые?

    Adamos
    @Adamos
    Скорее всего, более полный код можно еще скомкать, сразу отсеяв ненужное.
    С этим конкретным можно обойтись, например, так (дальнейшая проверка уже не потребуется):
    $paramsArray = [];
    foreach(['fasad', 'karkas', 'ruchki', 'mehanism'] as $key) {
        $val = $prop[$key]['VALUE'];
        if($val !== '') {
            $paramsArray[$prop[$key]['NAME']] = $val;
        }
    }
    Ответ написан
    Комментировать
  • Как воспринимать преподавателя?

    Adamos
    @Adamos
    Прочитать об эффекте Даннинга-Крюгера и осознать, на каком именно пике графика находятся специалисты, безапелляционно вещающие о чем бы то ни было.
    Ответ написан
    Комментировать
  • Xampp vs OpenServer – кто шустрей?

    Adamos
    @Adamos
    Чтобы самому ничего не настраивать - по-прежнему рабочий вариант: https://habr.com/ru/articles/251529/
    Ответ написан
  • Как легко и просто развернуть curl для проекта С++?

    Adamos
    @Adamos
    Для виндов в исходниках libcurl отдельная папочка winbuild с инструкцией и Makefile,
    Только прочитать и исполнить.
    Или проблема в том, чтобы скачать исходники открытой библиотеки?

    P.S. А если (и скорее всего) Вижуал Студия - там даже готовые проекты приложены в projects/Windows.
    Ответ написан
  • Как смонтировать сетевую папку из Windows на чтение и запись без рута в Debian 13?

    Adamos
    @Adamos
    Прописать в fstab это монтирование, разрешить его юзеру.
    А насчет доступа на запись - это Винда решает, а не Дебиан.
    Ответ написан
  • Сборка заказов: как подобрать камеру, которая не мылит штрих-коды?

    Adamos
    @Adamos Автор вопроса
    Выводы по итогам внедрения описанного решения.
    Во-первых, дешманской камеры DEXP за 1700 рублей - достаточно для поставленной задачи.
    Во-вторых, главное - не камера, а организация съемки. Спасибо всем за обсуждение этого аспекта.
    Итак:
    1. Камера должна быть как можно ближе к коробу, лишь бы не мешала укладывать в него товар.
    2. Каждый пакет при укладывании нужно секунду-две подержать над коробкой, чтобы ШК попал в кадр и фокус.
    (на самом деле, Озон удовлетворяет и претензии с видео, где ШК ни хрена не разобрать, но по видео можно подсчитать количество товара, и оно совпадает с нашим списком, а не принятым. Правда, у нас товар дешевый, не особенно придираются)

    Нетривиальные моменты, с которыми столкнулся именно при записи MediaRecorder прямо в браузере:
    1. Firefox под Убунтой пишет только .webm.
    1.1. Тот .webm, который записывается из браузера, страдает кривым таймингом, так что видео, загруженное на Яндекс.Диск, например, не проигрывается его плеером, хотя его можно скачать и просмотреть любым плеером.
    1.2. Эта кривизна исправляется постобработкой ffmpeg -c copy -fflags +genpts - поскольку в команде нет перекодировки, исполняется она буквально за секунды даже на одноядерном VPS.
    2. Chromium пишет .mp4, и с ним все должно быть в порядке, но я не пробовал. Мои сборщики уже несколько лет работают в ФФ, ко всем нюансам приспособились, и что-то менять - себе дороже.
    Ответ написан
    Комментировать
  • Почему Thunderbird не отображает исходящие?

    Adamos
    @Adamos
    Подозреваю, дело в том, что ТВ настроен хранить такие папки одним большим файлом (mbox), и гонять его туда-сюда по сети накладно. Можно попробовать хранение сообщений отдельными файлами (maildir).
    Ответ написан
  • После переезда на новый хостинг перестал работать сайт?

    Adamos
    @Adamos
    Старый сайт вдруг сломался при переезде с хостинга на свой сервер?
    Скорее всего - настроенный по дефолту php.ini с выключенным short_open_tag.
    Ответ написан
    3 комментария
  • Существует ли инструмент (система) автоматизации форматирования текста в docx по предопределенным правилам?

    Adamos
    @Adamos
    Нейросетки выполняют те действия, на которые их натренировали.
    Те действия, которые нужны конкретным пользователям, никакие волшебные палочки не исполнят.

    С вашей проблемой вы, имхо, начали не с того конца. Вам нужно работать с информацией? Прекрасно, для начала ее нужно вытащить из помойки офисных форматов, потом все станет проще и прямее.
    Правила разбора вы уже более-менее прикинули. Осталось поднять локальный сервер и написать скрипты, которые распарсят DOCX-файлы и вынут из них осмысленные блоки текста, списков, таблиц и картинок.
    С возможностью потом составить из этого хоть DOCX, хоть PDF. И использовать в дальнейшей работе, указывая конкретную информацию для конкретных блоков, оставляя компьютеру оформление, которое достаточно прописать один раз.
    Ответ написан
    1 комментарий
  • Как запустить IOS на windows 10?

    Adamos
    @Adamos
    Виртуалка + хакинтош + XCode Simulator = iOS с лютыми тормозами.
    Ответ написан
    Комментировать
  • Есть ли альтернатива wkhtmltopdf?

    Adamos
    @Adamos
    Ответ написан
    Комментировать
  • Какую выбрать cms для интернет магазина с 10-30 тыс товаров?

    Adamos
    @Adamos
    Важный момент - готовы ли вы сами поддерживать этот сайт.
    Раз вы задаете такой вопрос - своего специалиста у вас нет, и это дело хотелось бы минимизировать.
    модули доставки (сдек, Боксбери,почта России)

    То, что они есть сейчас, еще не означает, что при очередном изменении условий они будут актуальны и быстро обновятся.
    Соответственно, если вы хотите один раз сделать магазин и потом им пользоваться, не нанимая штатного программиста - вам стоит посмотреть на сайтах СДЕК, ББ и ПР готовые модули, которые они предлагают и поддерживают сами. Из этого списка и будет выбор.
    То же самое - по платежным системам, которыми вы собираетесь принимать платежи, и фискализации этих платежей.
    Получится довольно короткий список, из которого требование
    очень желательно современные php и mysql

    сразу вычеркнет Битрикс ;)
    Ответ написан
    4 комментария
  • Как настроить кросскомпиляцию Qt6 + TDLib под Windows на Arch Linux, если при сборке постоянно возникают ошибки?

    Adamos
    @Adamos
    Не скажу за телеграм-библиотеки, но Кьют под Линуксом можно через MXE, например.
    Ответ написан
    Комментировать
  • Есть ли программа где можно открыть рядом два HTML файла и перетаскивать ссылки?

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