• Не работает функция wait() в Lua на nginx - что делать?

    yellow79
    @yellow79
    Senior Software Engineer
    Назовите свою локальную переменную  wait по-другому, похоже она переопределяет глобальную
    Ответ написан
    Комментировать
  • Какой язык лучше учить для олимпиад?

    @malaev
    Студент
    Если под олимпиадами имеется в виду олимпиадное(спортивное) программирование, то в основном все пишут на C++(если посмотреть статистику на codeforces), но так же для олимпиад подходят и другие языки, например python или java. Лично я пишу на C++, потому что он быстрый, да и я к нему привык.
    PS Даже не пытайтесь писать контесты на каком нибудь паскале или чистом С, С++ объективно лучше, проще учиться, на нем проще пишется, про python вообще молчу.
    Ответ написан
    Комментировать
  • Как правильно прописать пути в nginx?

    Softer
    @Softer
    location = / {
      content_by_lua_file /var/www/html/index.lua;
      lua_code_cache off;
    }
    Ответ написан
    1 комментарий
  • Как все-таки правильно разделять back-end от front-end?

    @0x131315
    По возможности стоит следовать принципу MVC, разделяя код на слой данных, слой логики и слой отрисовки - это сгруппирует однотипный код, и сильно упростит его поддержку.
    Специфичные вещи, например работу с внешним API, следует оформлять в отдельные классы, модули, хэлперы - это облегчит работу с такими вещами, упростит отладку (сам класс можно протестировать отдельно), сгруппирует код: код, отвечающий за конкретное API, весь в одном месте. И когда этот код понадобится вновь - всё уже готово и отлажено, подключи класс и пользуйся.
    Сразу весь функционал реализовывать не нужно - по мере надобности недостающее допишется. В крайнем случае можно набросать заглушки (пустые методы) для чего-то, что должно быть, но пока не нужно.

    Что касается конкретно отрисовки - да, активное использование ajax и реактивных фреймворков серьезно улучшает приложении: гораздо проще реализовывать странички со сложным поведением, не нужно перерисовывать куски страниц, думать как разбить и обновить контент, просто отдаёшь данные, шаблон, и фреймворк сам перерисовывает нужные части.
    Но что-то простое гораздо быстрее отрендерить на сервере, просто вставив в нужные места верстки php-код. Плюс серверный рендеринг скрывает промежуточные данные - в страничку вшивается только результат вычислений, и у пользователя нет никаких способов получить промежуточные данные, или даже узнать о том, что они существуют.
    Так что для простых или важных вещей стоит пользоваться php, для сложных - отдавать данные по ajax, отрисовывать их на клиенте, а для неответственных данных можно даже вычисления перенести на клиент, но стоит помнить, что js немного неожиданно работает с некоторыми вещами: приведение типов, время, математика, числа с плавающей точкой.
    Как промежуточный вариант можно пользоваться шаблонизаторами - с ними в несколько раз быстрее раскидать данные по шаблону, чем на чистом php, и код получается чище, но для сложного поведения все равно лучше реактивный фреймворк.
    Ответ написан
    1 комментарий
  • Как все-таки правильно разделять back-end от front-end?

    самый простая и эффективная архитектура:

    клиент через ajax передает и получает json-данные по https
    авторизационные пароли внутри json-данных
    кросдоменные запросы


    так можно и сайт и моб-приложение делать
    для большинства задач этого хватит - начинающему самое то

    то есть php-сервер это web-api
    это проще и лучше чем rest

    json-web-api

    воспринимай сервер как объект твоего ооп
    Ответ написан
    2 комментария
  • Как все-таки правильно разделять back-end от front-end?

    oxyberg
    @oxyberg
    Продуктовый дизайнер ВКонтакте
    Правильно так, чтобы задача решалась оптимально.
    1. Если вам нужен простенький сайтец с базой, то ПХП можно встраивать в ХТМЛ и отдавать это в браузер.
    2. Если у вас какое-то более-менее сложно приложение с несколькими разделенными частями (ака клиент, сервер, еще что-то), то придется инкапсулировать: сделать какой-нибудь контракт по взаимодействию (ака АПИ) и общаться только по нему. Тогда получится универсально использовать сервер, который будет отдавать данные строго в определенном формате.
    Ответ написан
    Комментировать
  • Как все-таки правильно разделять back-end от front-end?

    @stul5tul
    Почти везде показано, что если, к примеру, брать PHP, то его можно встраивать сразу в HTML


    Мало ли что там "почти везде показано".
    Почти все примеры кода в интернете - существенно упрощены для вящего понимания.
    Эти примеры нужно использовать с умом.

    Типично:
    Реальный код содержит кучу проверок на возможные ошибки.
    Если использовать такой полноценный рабочий код в качестве примера - то неофиты просто не поймут где там главная мысль, что именно хотел сказать автор. Всевозможные проверки, которые на каждом шагу в реальном коде, просто рассеят их внимание и отвлекут от главного.

    Поэтому практически во всех примерах нет этих проверок на ошибки.
    Но это не значит, что в реальности эти проверки делать не нужно.

    Так вот, собственно, какой все таки метод правильный - писать PHP прям в HTML, или же, все таки, использовать PHP как API сайта, и посылать к нему запрос от JS?

    Нет безусловно правильного метода.

    Если вы будете писать полноценное API для мелкого проекта - вы существенно затяните сроки и стоимость своих работ. А это полноценное API и не нужно будет.

    Ну и наоборот. Писать сложный проект, мешая в одном файле JS/PHP/HTML - будет просто неудобно поддерживать и развивать по мере разрастания проекта.

    Выбор правильного решения в том или ином случае - как раз показатель вашей квалификации.

    Освойте просто все методы.
    Ответ написан
    1 комментарий
  • Переменная $_SESSION в PHP?

    Stalker_RED
    @Stalker_RED
    Короткий ответ: да уникальна для каждого.

    Похоже, вам нужно осознать что вообще значит слово "сессия".
    Можно начать отсюда: https://en.wikipedia.org/wiki/Session_(computer_sc...
    Ответ написан
    Комментировать
  • Переменная $_SESSION в PHP?

    Lyrium
    @Lyrium
    Web developer
    можете посмотреть примеры написанные на Хабре много лет назад: например, наглядно как, что и куда. Либо посмотреть как устроена авторизация в современных фреймворках.

    А также почитать о сессиях и куках здесь
    Ответ написан
    1 комментарий
  • Переменная $_SESSION в PHP?

    Да, она уникальна для каждого пользователя. В некоторых (очень редких) случаях могут происходить коллизии хэшей (когда сессия вдруг совпадет с другой), но в 99.999% для среднего сайта со средней посещаемостью это никогда не произойдет.

    Поэтому ответ - данное значение будет применено только к определенному пользователю.
    Ответ написан
    1 комментарий
  • Переменная $_SESSION в PHP?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    почитайте про cookies и принцип работы сессий, так будет проще понять как это работают. Данное значение будет применено только для конкретной сессии
    Ответ написан
    1 комментарий
  • Видимость переменных в JavaScript?

    Почитайте здесь: jquery.page2page.ru/index.php5/Ajax-%D0%B7%D0%B0%D...
    и здесь qaru.site/questions/33557/return-value-from-inside...
    Еще укажите пaраметр dataType: 'json'. (Данный параметр говорит о том, что вы получаете в ответ json)
    function isAdmin() {
      $.ajax({
        url: '../php/index.php',
        type: 'POST',
        data: {'method': 'user.is_admin'},
        dataType: 'json',
        success: handleResponse
      });
    }
    function handleResponse(result)
    {
    //здесь код для работы с результатом
    }


    Вы вызываете функцию isAdmin -> она получает ответ и вызывает функцию handleResponse с параметром result.
    Ответ написан
    1 комментарий
  • Видимость переменных в JavaScript?

    konstantindeveloper
    @konstantindeveloper
    developer
    При вызове функции isAdmin начинает выполняться асинхронно ajax-запрос при котором выполнение функции не блокируется и происходит возврат из функции return result;.

    В вашем случае можно поступить немного другим образом. Воспользоваться методом done()

    Пример:
    function isAdmin () {
    	var result = $.ajax({
    		url: '../php/index.php',
    		method: 'POST',
    		data: { 'method': 'user.is_admin' },
    	})
    
    	return result
    }
    
    isAdmin().done(function (res) {
    	if (res.status === "true") {
    		// do something
    	} else {
    		// do something
    	}
    })
    Ответ написан
    1 комментарий
  • Как добавить такой элемент в jQuery?

    TommyV888
    @TommyV888
    -
    Добавляйте текст ошибки не в body, а после нужного input при помощи after. Либо оберните input в div и к нему уже применяйте append. Вот пример1 и пример2
    Ответ написан
    Комментировать
  • Как добавить такой элемент в jQuery?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    Добавлять текст этот нужно после каждого input, а ты добавляешь просто в body. Создай тэг с ошибками после полей для ввода и после получения ошибки добавляй текст с помощью .html()
    Ответ написан
    Комментировать
  • Как добавить такой элемент в jQuery?

    Vlad_IT
    @Vlad_IT Куратор тега JavaScript
    Front-end разработчик
    Код картинками... тогда ловите :D
    5bc10727062e3718259344.png
    UPD: я там в условии забыл отрицание, но мне лень картинку перезаливать.
    Ответ написан
    1 комментарий
  • Как сделать перенос строки?

    YardalGedal
    @YardalGedal
    yeah boy
    В wall.get ВК возвращает <br>, а в wall.post нужно отправлять символ переноса строки (каретки) \n.
    Ответ написан
    Комментировать
  • Локальный сервер в Ubuntu 18.04?

    @pfg21
    ex-турист
    согласен, виртуалбокс единственное доступное средство под виндовс.
    ставить однозначно. сетевое соединение поставить в режим мост для удобного доступа. гуест аддишн ставить по вкусу.
    настроить ssh на доступ по ключу, ты ж на серверную линуху ориентировался :) нарисовать батник на быстрый запуск.
    разобраться с режимом запуска виртуалки без окна, нарисовать батник VBoxManage startvm "VM name" --type headless
    засунуть команду сохранения сеанса виртуалбокса в выключение винды на всякий случай (правда не помню уже куда это правильно впиховывается).
    ну и все - локальный сервер с линухой у тебя в кармане.
    поковыряешься годик-другой - поставишь сие добро на железку.
    Ответ написан
    3 комментария