Ответы пользователя по тегу Веб-разработка
  • Как осуществить ленивую загрузку js файлов?

    Для этого придумали динамический import. Либо пользуйтесь им нативно (если ваша среда исполнения это позволяет), либо пропускайте это через бандлер. Пример для вебпака.
    Ответ написан
    Комментировать
  • А как выглядит настоящее, большое, корпоративное "Энтерпрайз" веб-приложение?


    Это я вам дал примеры БОЛЬШИХ веб-приложений. "Энтерпрайзные" в пример привести сложно, потому что обычно это значит "внутренние" или "ориентированные на конкретный тип бизнеса". Впрочем, какая разница, если речь идёт об оценке сложности.
    Ответ написан
    1 комментарий
  • Как WEB-страница может получить текущее имя пользователя Windows?

    существует ли способ идентификации пользователя на WEB-ресурсе по текущему логину Windows?

    Существует. Протокол называется Kerberos в сочетании с SPNEGO. Существует RFC по его использованию вместе с HTTP, http-схема аутентификации называется Negotiate. Читайте подробно тут: RFC4559. Если очень коротко, то веб-сервер должен прислать заголовок www-authenticate со значением negotiate если готов поддерживать такую схему аутентификации. Браузер, в свою очередь, отвечает токеном.

    В большинстве браузеров можно настроить поддержку этой схемы аутентификации. Со стороны сервера тоже разумеется нужна поддержка. Возможно вы захотите прибегнуть к помощи упомянутых Иван Шумов identity-серверов. Например Keycloak точно поддерживает Kerberos. На нём же можно и LDAP подцепить в качестве базы данных пользователей. Обычно так поступают, т.к. протоколы federated identity вроде OpenID Connect обычно гораздо проще реализовать со стороны веб-приложения, нежели все тонкости аутентификации вроде вашего случая или, например, двухфакторной авторизации через Google Authenticator.

    Надеюсь это отвечает на ваш ИЗНАЧАЛЬНЫЙ вопрос о ТЕКУЩЕМ логине в домене. Т.к. сам по себе LDAP подключенный к сервису это хорошо конечно, но это всё-таки не SSO.

    Вот доки по настройке этого в Keycloak: https://github.com/keycloak/keycloak-documentation...
    Ответ написан
    Комментировать
  • Решается ли вопрос поддержки актуальности данных в вебе?

    В вебе традиционно забивается на синхронизацию данных - так я думаю.

    Здравствуйте:

    Так что да - проблема глубокая, глобальная, встречается в большинстве многопользовательских информационных систем и уже довольно неплохо проработана на разных уровнях - от различного уровня изоляции транзакций в БД, до высокоуровневых механизмов в том же HTTP (см. ссылке выше). То что вы так думаете - это вы просто ещё не сталкивались, т.к да, многие в своих относительно примитивных веб-задачах забивают на проработку этих вопросов.

    А если вам гугл-докс, так это уже куда более сложные материи, см. Operational transformation и CRDT.
    Ответ написан
    Комментировать
  • Какие инструменты написать самому?

    Новичку можно написать пару проектов для предметных областей по вкусу, а потом быстро станет ясно, каких инструментов ему как разработчику не хватает. Самое главное - не писать библиотек только ради написания библиотек. На гитхаб не обязательно выкладывать только то, что нужно другим разработчикам, можно написать законченное приложение или сервис, которые нужны простым людям.
    Ответ написан
    1 комментарий
  • C#. Как исправить ошибку 415 Unsupported Media Type?

    Nipheris
    @Nipheris Куратор тега C#
    А на кой вы ставите Content-Type в GET запросе? Этот заголовок ставит та сторона, которая отправляет тело - либо сервер, когда отправляет ответ с телом, либо клиент, когда отправляет запрос с телом (т.е. POST или PUT).

    Как уже отметил Олег Погребняк , вам нужен заголовок Accept.
    Ответ написан
  • Какие технологии использовать для создания чата?

    > Нашел статью на хабре от 2010 года:
    > HTML5 WebSockets -могут возникнуть проблемы со старыми браузерами

    2010 по меркам фронтэнда это до рождества Христова. Нужно искать актуальную информацию, чистых вебсокетов или решений на их основе более чем достаточно.
    Ответ написан
    Комментировать
  • С каких пор появился фронтенд?

    Когда произошла точка перелома, что "тонкие" клиенты теперь популярней и почему? Хотя ведь мобильные приложения, это ведь тоже "толстый" клиент

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

    Будем говорить о веб-клиентах и нативных клиентах (либо ненативных, но на не-веб платформе, например на дотнете или джаве).

    Основная причина, по которой веб-клиенты всем нравятся - это идеальное решение вопроса деплоя приложения. Хорошо, не идеальное, но самое удобное для пользователя.
    Чтобы какой-то код работал, его нужно либо доставить конечному потребителю, либо запустить у себя и доставить результат.
    Сначала запускали у себя и доставляли результат в виде полностью готовой HTML-странички с минимумом скриптов или вообще без них. Это было время генерации страниц на сервере.
    Клиент всегда хотел быстрого отклика и различных красивых анимашек, в общем хорошего user experience. Когда user experience и быстрый отклик был важнее, писали нативный клиент (и до сих пишут, когда это важнее).
    Потом как-то собрались хорошие инженеры и запилили v8. Оказалось, что можно даже JS выполнять быстро. Планка скорости поднялась, остальные (SpiderMonkey и т.д.) начали подтягиваться.
    Отклик уменьшился, больше кода стало возможным разместить на клиенте. Анимация 20 снежинок на странице больше не грузила процессор клиента на 100%.
    Вопрос лёгкости деплоя кода начала перевешивать вопрос тормозного JS. Выяснилось, что facebook лучше смотреть на веб-страничке, чем скачивать отдельное приложение. А, ну и да - веб-песочница кроссплатформенна. Да, есть несовместимости между браузерами (особенно раньше), но жить гораздо приятнее, чем писать версии приложения под каждую ОС и собирать их. Программисты дешевле в разы.
    Мобильные платформы тормозят сильнее. Под них продолжают писать нативные приложения.

    Итог: всегда приходится решать, стоит ли приложение того, чтобы клиент заморачивался с его установкой и следил за ним. Это дело продакт-менеджера. Нет ничего проще установки и обновления веб-приложения - нужно нажать F5. Но тем не менее я всё еще хочу видеть свою IDE в качестве десктопного приложения. Ну и большинство решений на том же Электроне - это жесть. Возможно, через 10 лет всё будет совсем по-другому.

    P.S. Насчёт взлома приложений не согласен - ключевую логику можно держать и на сервере, но это можно делать и в случае веб-клиента, и в случае десктопного.
    Ответ написан
    3 комментария
  • Верно ли я понимаю суть webpack, таск-раннеров, requirejs и модулей?

    Иными словами, похожего результата я добьюсь варварским методом, склеивая файлы без всяких модулей через gulp (инкапсулируя содержимое при помощи объектов). Верно?

    В каком-то смысле да.
    Чтобы использовать модульный подход на клиенте, например, при помощи RequireJS, нужно его подключить, позволить ему отработать и засунуть в код страницы на лету нужные файлы.

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

    Сравнения со стеком C/C++:
    - модули это единицы компиляции (compilation unit). Настоящих модулей в C++ мы никак не дождёмся, так что это пока лучшая аналогия :); модули, написанные на языке, отличном от целевого JS (например на TypeScript или ES2015) подлежат компиляции; JS, являющийся результатом компиляции похож на объектный файл;
    - вебпак похож на линковщик, с той разницей, что плюсовый линкер собирает в бинарник только то, что ему дают, а вебпак наоборот, может запрашивать компиляцию модулей (для чего существует концепция загрузчиков - loaders). Представьте, если бы линковщик просил компилятор С++ скомпилить нужный файл. Так ведёт себя вебпак;
    - выходные большие файлы - бандлы - это вроде готовых lib файлов или бинарников. В них напихано много скомпилированных модулей, и их можно либо слинковать с чем-то еще (если это библиотека), либо запустить (если это бандл для загрузки на HTML-страницу);
    - как линковщик (пусть и с возможностью запроса нужного модуля) не заменяет make, так и вебпак не заменяет таск-раннеров.
    Ответ написан
    Комментировать
  • Какой из этих подходов в ООП лучше и как они называются?

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

    Подкласс нужно создавать тогда, когда у вас есть дополнительная логика что называется для конкретных случаев. По вашему примеру, если Magick - это класс всяких магов, то подкласс водяных магов может определять свой magick, который он умеет кастовать. Ну или образовывать более конкретную, "водяную" магию.

    Второй вариант подразумевает, что магия может полностью задаваться извне, и Magick только кастит её, но в её "формировании" не участвует.

    Сейчас вы не решили для себя, что такое Magick. Вам нужно это сделать, и вопрос отпадёт сам собой.
    Ответ написан
    1 комментарий
  • О чем речь в POST запросе на C#?

    Nipheris
    @Nipheris Куратор тега C#
    1) из хранилища сертификатов текущего пользователя вытаскивается сертификат по его серийному номеру;
    2) к запросу прикладывается полученный из хранилища клиентский сертификат;
    3) содержимое poststr пишется в тело POST-запроса;
    4) запрос отправляется и программа ждет ответ от сервера;
    5) ответ перекодируется в строку result и выводится в консоль;

    Как в ноде вытащить сертификат из Виндового хранилища - понятия не имею. С остальным вы и сами разберетесь.
    Ответ написан
  • Как хранить массив байт в базе данных?

    Доки пробовали открывать?
    sqlite.org/datatype3.html
    BLOB. The value is a blob of data, stored exactly as it was input.
    Ответ написан
    Комментировать
  • Какие есть архитектурные паттерны без ORM для ASP.NET MVC?

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

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

    Даже если вы не хотите ORM целиком, вы возможно захотите часть из её функционала реализовать самостоятельно для удобства. Например, вы вероятно все-таки захотите иметь Identity Map, что ваши объекты (которые будет отдавать ваш Репозиторий, реализованный ручными SQL-запросами) действительно были объектами, а не записями. Или даже какой-нибудь Lazy Load.

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

    Какая в меня ошибка ?

    Ваша ошибка: Fatal error: Call to undefined function pg_connect() in /var/www/mysite/lab2/stocks.php on line 17
    Как ее исправить ???

    Если уж вы используете расширение для работы с постгрес, его необходимо загрузить. Конкретный рецепт зависит от вашей операционки: stackoverflow.com/questions/7438059/fatal-error-ca...
    Ответ написан
    Комментировать
  • Для чего нужны боты на сайт?

    Суть любого робота в автоматизации того, что делать руками не хочется или невыгодно. А что конкретно автоматизировать, это зависит от конкретного случая.

    Примеры:
    • боты для DDOS - см. определение DDOS-атаки
    • боты для сайтов/форумов/чатов - рекламный спам, авторегистрация пользователей; бывают и полезные вещи, например боты-нотификаторы. В ICQ был в своё время популярен бот, отвечающий на ряд запросов - можно было спросить прогноз погоды или рассказать анекдот;
    • боты в MMO-играх: сбор ресурсов, ожидание в очередях и т.п. Также спам в чаты (продажа ресурсов/золота, как легальная так и не очень, рекрутинг в гильдии);
    Ответ написан
    4 комментария
  • Где разместить список используемых библиотек и фреймворков?

    Nipheris
    @Nipheris Куратор тега C#
    Откройте для себя NuGet, NPM и Bower.
    Ответ написан
    Комментировать
  • Что думаете насчет идеи создать такой сайт, который объединяет разные социальные сети, точнее профили пользователей?

    Также появилась идея слить сюда еще и почту

    Не надо мою почту никуда сливать.

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

    А те, кто о таких вещах не задумывается, пользуются одной-двумя социалками, и одной почтой (и то редко). А кто задумывается, тот прекрасно понимает - разные почты/аккаунты они на то и разные, чтобы никто их не мог увязать друг с другом.

    А вообще, посты с лент можно было бы читать в RSS-читалках, если бы социалкам было выгодно отдавать RSS-стримы. Однако, они этого почему-то не делают.
    Ответ написан
    Комментировать
  • Возможна ли аутентификация в web приложении по token windows?

    Если вы имеете в виду NTLM аутентификацию, то для каждого браузера будут свои решения. Вот например попробуйте для firefox: superuser.com/questions/664656/how-to-configure-fi...

    А лучше посмотрите federated login, например ADFS (у вас же домен, я правильно понял?).
    Ответ написан
    Комментировать