Задать вопрос
  • Как сайту на кириллическом домене отправлять почту?

    profesor08
    @profesor08
    1. Не использовать кириллические доменные имена
    2. В случае проблем смотреть первый пункт
    Ответ написан
    Комментировать
  • Как реализовать SMTP отправку почты PHP?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Поскольку вы не дожидаетесь ответа сервера, то ваши команды уходят на сервер до того, как он будет готов их принять.
    Ответ написан
    Комментировать
  • Как понять есть ли нагрузка на БД?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Почему больше всего подписчиков всегда слетается на самые дурацкие вопросы?
    Которым место в мусорке, а не на главной Хабра.
    Ну ведь как в прошлый раз же, весь текст - какие-то бессвязные эротические фантазии, не имеющие ничего общего ни с реальностью, ни друг с другом, ни - главное - с собственно вопросом, который был задан.

    Так вот: я смотрю, что получил 1500 строк из базы за 0.0316 секунд. Это нормально?

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

    База растёт и строк к выводу станет больше.

    С КАКОГО, я стесняюсь спросить, перепугу, с ростом базы строк к выводу станет больше?
    На тостере с каждым днем прибавляется сотня дебильных вопросов.
    Ты уверен что количество запрашиваемых из базы строк тоже растёт? А если подумать? А если прям вот хорошенько подумать?

    Этот ход мысли напоминает старый еврейский анекдот, который рассказывал Джоэл Спольский в далёком 2001 году:
    Маляр Шлёма подрядился красить пунктирные осевые линии на дорогах. В первый день он получил банку краски, поставил её на дорогу, и к концу дня покрасил 300 метров осевой линии. «Отлично! — сказал прораб. — Быстро работаешь!» и заплатил ему.
    На следующий день Шлёма покрасил 150 метров. «Мда, это, конечно, не так здорово, как вчера, но приемлемо», — сказал прораб и снова заплатил ему.
    Ещё через день Шлёма покрасил всего 30 метров. «Всего лишь 30! — заорал прораб. — Это никуда не годится! В первый день было в десять раз больше! В чём дело?»

    «Ничего не могу поделать, — говорит Шлемиэль. — Каждый день я ухожу всё дальше и дальше от банки!»


    Тебе не кажется что эта логика напоминает твоё "но с каждым днём в БД появляется всё больше и больше записей!"?

    На что ориентироваться? На показатели загрузки процессора или время выполнения запроса или расход памяти?

    На учебники. В которых разжевывают все эти бессмысленные страдания на первых страницах. И где учат решать реальные проблемы, а не метаться в страхе перед неведомым.

    И вопрос в догонку: если одним запросом я получаю 1500 строк и если в запросе я установлю select нужных мне столбиков - это усложняет запрос или нет? Ведь в первом случае я получаю информацию как есть, а во втором случае процессору надо время чтобы перебрать нужные столбики?!

    Судя по количеству восклицательных знаков - это самый важный вопрос во всём этом и так целиком гениальном тексте. Процессор опасносте!!! Срочно надо спасать!

    Запрос выполняется три сотых секунды, дом рисуется 10, но вопрос почему-то "как узнать , не тормозит ли база?"
    Ну ей-богу, снова как в анекдоте - "Где логика??! Где разум??".

    Сейчас я кеширую результаты php на 60 минут,

    Вот это я понимаю. Сразу заходим с козырей.
    странно что на 60 минут, а не на 24 часа. или вообще сделать сайт статикой. тогда вообще всё летать будет. Или вообще перенести всю БД на клиента. Чего не сделаешь ради борьбы за миллисекунды.

    Как понять есть ли нагрузка на БД?/

    Посмотреть, есть ли нагрузка.
    Тормозит ли сайт, есть ли загрузка по процу и памяти, есть ли отказы в обслуживании, ошибки в логах.
    Если ничего этого нет, то сидеть на попе ровно и ничего не трогать!

    А вместо всяких "оптимизаций" типа кэширования на 60 минут запроса, который выполняется пару сотых секунды, или не на покупки бессмысленного диска, а на букварь про работе с БД. И прочитать там про нормализацию, индексы, базовые команды SQL, пагинацию, в конце концов.

    И тогда и твоя микроскопическая БД в 10 тыщ записей, и нормальная база с миллионами строк, будут работать одинаково быстро и эффективно.
    Ответ написан
    8 комментариев
  • Как с помощью jquery получить числовое значение тега?

    v3shin
    @v3shin
    Веб-шаман
    let x = $('td:nth-child(3)').eq(0).text();
    x = +x.replace(/[^0-9.]/g, '');
    // теперь x - число
    Ответ написан
    Комментировать
  • Защита на js от рипла дизайна сайта?

    @alekcena
    Нелинейный наставник
    Никак. (Странно что вы знаете о существовании).
    Когда вы загружаете страницу вы по факту устанавливаете на локальное устройство все файлы для отображения этого сайта.
    Дело в понимании как работает "Интернет"
    Ответ написан
    2 комментария
  • Где есть годные БЕСПЛАТНЫЕ уроки для vue.js?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ответ написан
    Комментировать
  • Почему сбрасывается 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 комментария