Задать вопрос
  • Почему сбрасывается ob_start()?

    Adamos
    @Adamos
    Битрикс буферизирует все сам. С момента подключения header и по самый footer. Вот вы с ним и конфликтуете.
    Ответ написан
    Комментировать
  • Как подключать less и sass файлы?

    profesor08
    @profesor08
    Такая информация отображается если настроить правильно sourcemaps.
    Ответ написан
    Комментировать
  • Какие еще преимущества у юнит-тестов, кроме того, что они отлично обеспечивают регрессионное тестирование?

    Писать тесты может джун, это правда. Понимать что и как тестировать — это бывает и для опытного человека сложно.

    Описанные недостатки — очень спорные. Метод пристального взгляда находит баги только в первые 10 минут, пока голова свежая.

    Но да, с тем, что автотестами нужно покрывать не всё, я лично полностью согласен. Вдобавок, часто высокоуровневые функциональные или end-to-end тесты писать проще, а для проекта они полезнее. Тут надо искать баланс для себя. И еще в это уравнение добавить ручное тестирование. Какой-то общей формулы, понятно, нет.

    А вопрос-то ваш в чём? Пока выглядит как «вы тут меня поуговаривайте писать тесты, а я вам буду объяснять, почему не буду этого делать». Не хотите — не пишите. Если для вашего проекта и для вашей команды тесты не несут большой пользы, то и не пишите их.
    Судя по вашим прошлым вопросам, вы считаете, что всё знаете лучше других, соответственно, вопрос нужен, чтобы потешить ЧСВ? Ну или вы нарвались на какой-то карго-культ-секты-стопроцентного-кавереджа? В таком случае — сочувствую.
    Ответ написан
  • Какие есть принятые названия для классов CSS?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Учите английский. Все эти названия тупо значат то чем они являются. Просто забейте в переводчик.
    вот вам для начала
    https://material.io/components?platform=web
    еще от мелкомягких
    https://developer.microsoft.com/ru-ru/fluentui#/co...

    На самом деле их куча этих руководств
    Ответ написан
    Комментировать
  • Как ограничить выполнение функции mousemove 1 раз в секунду?

    wapster92
    @wapster92 Куратор тега JavaScript
    Комментировать
  • Какой выбрать 3D принтер?

    @evgeniy_lm
    3D-принтер для дома. Нужен не DIY, а готовый. Без лишних заморочек. Бюджет до 50 тыс. Р.

    Слишком много противоречий в связи с не пониманием ситуации.
    Разницы между DIY и "готовый" в указанном вами ценовом диапазоне нет, это один и тот же принтер только в первом случае его собрали вы, а в другом кто-то за вас и, разумеется, вы ему хорошо заплатили (45-60% от потраченной суммы).
    Увы, пока еще 3D-принтер в корне отличается от, например, 2D-принтера. К сожалению формула "купи и печатай" здесь не работает, "заморочек" вас ждет вагон и, как минимум, пара маленьких тележек. Без заморочек лучше заказать печать у соседского пацана

    ЗЫ "Закрытую камеру" лучше купить отдельно в виде подходящего шкафчика, это будет существенно дешевле. Шкаф какой нужно можно заказать в ближайшей мебельной мастерской.
    ЗЫ
    Ответ написан
    Комментировать
  • Как правильно документировать rest api?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    OpenAPI, Swagger
    Ответ написан
    Комментировать
  • Запуск приложения на стороне клиента из php на web- странице?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Если приложение уже стоит в системе и зарегистрировало определенные ссылки/типы файла как свои, то можно на странице просто сделать ссылку. По клике на нее броузер, если все настроено, спросит: а не хочет ли пользователь открыть ссылку в этом приложении.

    Сделать это незаметно для пользовател в браузере невозможно из-за соображений безопасности.
    Ответ написан
    2 комментария
  • Как защитить соединение между двумя приложениями?

    @cicatrix
    было бы большой ошибкой думать
    VPN не? Как бы для этого и предназначено
    А вообще это задача сисадмину, чтобы эндпоинты от деймонов не смотрели в открытую сеть.
    Ответ написан
    8 комментариев
  • Как правильно определить потребляемую память?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Давайте определим точную границу, где проходит увеличение объёма потребляемой памяти. Это 33554432 элементов.
    3355443210 = 200000016
    Поищем предыдущий скачок. Он происходит на 16777216 элементах.
    1677721610 = 100000016
    Проверим дальше. Получим следующие значения:
    838860810 = 80000016
    419430410 = 40000016
    209715210 = 20000016
    104857610 = 10000016
    ...
    810 = 816
    Вывод - PHP резервирует память округляя количество элементов вверх до ближайшей степени двойки.
    Ответ написан
    1 комментарий
  • Существует ли библиотека для трансляции php кода в node.js?

    neuotq
    @neuotq
    Прокрастинация
    Технически сам язык конечно же можно перевести в другой, я думаю даже простенькие функции будут работать.
    НО! Дальше будет куча но. Обычной трансляцией не обоёдешься, так как много подводных камней и особенностей самого API PHP, принципов работы многих встроенных библиотек, хаков, костылей и просто приёмов которые используют люди в своих проектах и тп.
    В таком огромном и сложном проекте как Wordpress этого всего просто нереальное количество.
    Вы же понимаете часто даже код больших проектов, в рамках одного языка(любого) тяжело переводить с версии на новую версию. А тут на другой язык/платформу исполнения кода.
    Это в любом случае ручной труд, а автоматический транслятор вам только будет помогать переводить конкретные конструкции, а так огромное количество ручного труда для каждого файла/класса/функций и тп.
    Технически это возможно, но займёт огромное количество человека-часов, легче с нуля написать.
    Второй вариант найти решение с условной виртуальной машиной, которая исполняет php код внутри js окружения. Были когда-то подобные пакеты, но спроса нет и всё заглохло. Это тоже трудоёмкий процесс, нужно бежать и развивать свою такую штуку.
    Поэтому сегодня есть только условные прокси на node.js, которые запускают php скрипты на php(тем или иным способом, но исполняет их именно php).
    Поэтому мы приходим к технологии WebAssembly, там есть например проект wasmer, с помощью которого можно запускать wasmer-php. Но снова таки, это не трансляция кода, а просто запуск php в среде браузера, js тут уже чисто для управления и запуска самого wasmer...
    Ответ написан
    Комментировать
  • Как реализовать страницу для тестирования учеников?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    Во-первых, непонятно в каком объеме у вас на данный момент реализовано текущее приложение на Spring.

    Сайт на подобие визитки.

    И вообще странно, что если это просто сайт-визитка, то зачем она писалась на Spring + VueJS. Там банально CMS WordPress хватит с лихвой. Ну в крайнем случае можно было взять рнр фреймворк (Yii2, Laravel) - обошлось бы дешевле для школы)

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


    1) Эндпоинты для ЛК учителя и ученика должны быть разными.
    2) Эндпоинты аутентификации учителя и ученика тоже можно сделать разными.
    3) Тестирование бывает разным. Нужно для начала разобраться с тем, какое тестирование вам нужно и как его можно реализовать.

    Например, есть тестирование при котором проверяется правильность выбранного ответа. Т.е. пользователь выбрал ответ "а" и соответственно, проверяем корректный ответ, хранимый в БД. Этот тест можно усложнить тем, что каждый раз при прохождении теста изменять местами варианты ответов, чтобы ученики не запоминали ответы по буквам.

    Другой вид тестирования, когда каждому ответу присваивается определенный балл. Далее высчитывается набранная сумма и выдается ему некий результат (часто встречается в психологических тестах).
    Иной вид тестирования, когда проверяется количество выбранных ответов варианта "А", "В" и т.д. Т.е. пользователь выбрал "А" - 5 раз, "В" - 2 раза. И если например, А < 5 и B >2, то отдаем один результат, иначе другой и т.д.

    4)
    Особенно как лучше сделать саму логику обработки ответов и последующую их проверку?

    Например, по мере прохождения теста формируем массив ответов и записываем их в LS, чтобы в случае чего не потерять данные. Затем по сабмиту "отправить на проверку" отправляем массив на сервер и перебирая ответы сравниваем их со значениями в БД. Если предусматривается возможность изменение варианта ответа для того или иного вопроса, то при изменении ответа, вносим правки в массив и сохраняем LS.

    Как реализовать страницу для тестирования учеников?

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

    Либо попробуйте поискать готовые решения, которые потом можете встроить в сайт. Правда, не самое лучшее решение.
    Например, https://www.classmarker.com/online-testing/how-to-...
    https://quiz.proprofs.com/how-do-i-embed-a-quiz-on...
    https://www.riddle.com/blog/embed-online-quizzes-site/
    Google

    В общем, все зависит от ваших навыков программирования, от бюджета, от сроков и т.д.
    Самое быстрое решение возможно, использование CMS с готовыми плагинами.
    Например, WordPress + плагины
    https://ru.wordpress.org/plugins/quiz-master-next/
    https://ru.wordpress.org/plugins/wp-quiz/
    https://www.wpbeginner.com/showcase/best-quiz-plug...
    https://ru.wordpress.org/plugins/hd-quiz/
    https://ru.wordpress.org/plugins/quiz-maker/
    Google

    Для более объективного ответа нужно больше данных.
    Ответ написан
    2 комментария
  • Почему мелкие вставки в базу дают максимум 4мб/с на ssd?

    @vitaly_il1
    DevOps Consulting
    Два направления:
    1) innodb_flush_log_at_trx_commit=0 или 2 (https://dev.mysql.com/doc/refman/8.0/en/innodb-par...) и прочие базисные настройки
    2) bulkinsert как уже сказали и т.п., см. https://medium.com/@benmorel/high-speed-inserts-wi...
    Ответ написан
    1 комментарий
  • Как лучше верстать сайты с векторными элементами?

    Get-Web
    @Get-Web Куратор тега CSS
    Front-End Developer
    Если не лень, то можно сохранить каждую фигуру отдельно(желательно в svg) и позиционировать на фоне, таким образом у фигур будет плавающая позиция и на других экранах можно перестроить по другому, убрать половину на мобильных и т.д.. выглядеть это будет примерно так :
    background: url(../images/other/decor-figure-1.svg) no-repeat 53% 6%,
                url(../images/other/decor-figure-2.svg) no-repeat 45% 22%,
                url(../images/other/decor-figure-3.svg) no-repeat 82% 22%,
                url(../images/other/decor-figure-4.svg) no-repeat 45% 96%,
                url(../images/other/decor-figure-5.svg) no-repeat 83% 82%
    Ответ написан
  • Как работает DNS хостинг?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Для поддержки любой DNS зоны стандартно нужно иметь минимум 2 DNS сервера с этой зоной.
    Если управление зоной делегировано на эти сервера, никто кроме них не сможет ответить на запросы о DNS записях в этой зоне.
    На DNS серверах уровнем выше будут только записи, куда делегирована ваша зона и все.

    И будьте добры, расставьте знаки препинания и поправьте ваш текст - он трудночитаем и понять его сложно.
    Ответ написан
    9 комментариев
  • На что можно переехать с сервиса 3D для товаров?

    @rPman
    такое вращение это просто набор из статичных картинок (именно это по ссылке), если они у вас есть, не нужно ничего особого разрабатывать, кода минимум.

    Статика не создает никакой нагрузки на сервер (она минимальна, только сетевой трафик) поэтому уходите от готовых решений на свои
    Ответ написан
    4 комментария
  • Почему не работает \Bitrix\Iblock\ElementTable::update?

    В ядре убрана возможность использовать операции добавления/удаления/обновления для элементов ИБ (таблица \Bitrix\Iblock\ElementTable) через ядро D7. При обновлении элемента ИБ нужно довольно много данных в других таблицах менять (поисковые индексы, фасеты и т.д.). Поэтому в коде bitrix/modules/iblock/lib/element.php можно увидеть такое :
    public static function add(array $data)
    	{
    		$result = new ORM\Data\AddResult();
    		$result->addError(new ORM\EntityError(
    			Loc::getMessage('ELEMENT_ENTITY_MESS_ADD_BLOCKED')
    		));
    		return $result;
    	}
    
    public static function update($primary, array $data)
    	{
    		$result = new ORM\Data\UpdateResult();
    		$result->addError(new ORM\EntityError(
    			Loc::getMessage('ELEMENT_ENTITY_MESS_UPDATE_BLOCKED')
    		));
    		return $result;
    	}
    
    	public static function delete($primary)
    	{
    		$result = new ORM\Data\DeleteResult();
    		$result->addError(new ORM\EntityError(
    			Loc::getMessage('ELEMENT_ENTITY_MESS_DELETE_BLOCKED')
    		));
    		return $result;
    	}


    В документации на метод прямо указано:
    Метод заблокирован. Используйте метод CIBlockElement::Update
    Ответ написан
    3 комментария