Ответы пользователя по тегу Веб-разработка
  • Sublime вместо кириллицы показывает это РћРЎРљРђР. В чем ошибка?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Сразу видно, что это текст в UTF-8, который хотят отобразить в кодировке Windows-1251.

    Для начала надо понять, в какой кодировке сам файл. То, что вы сюда скопипастили, ничего не говорит о файле. Желательно использовать именно UTF-8 в файле. Далее, сервер в HTTP-заголовке должен отдавать сообщение о том, что файл именно в этой кодировке. И если сервер не умеет или вам лень его настраивать, то можно в самом HTML указать, что файл в этой кодировке. Как-то так:
    <meta charset="UTF-8">

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Пользователь должен отправить боту смс. За свой счёт, естественно.

    Ещё можно, чтобы бот бросал трубку сразу, не дожидаясь ответа пользователя. Номер всё равно останется у пользователя в неотвеченных. А за попытку набрать номер деньги разве берут?
    Ответ написан
  • Общая таблица учеников онлайн школы. Есть готовые решения?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Google Doc, а точнее Google Sheets (гуг таблицы) решают вашу проблему.

    Для этого нужно расшарить её не по ссылке, а выдать доступ каждому индивидуально, по e-mail с правом на редактирование. Далее, если кто-то всё удалит за 2 секунды, то в истории документа (таблицы) вы сможете посмотреть, кто именно это сделал. Можно откатить изменения.

    Далее есть такая штука, как Google Forms. Вы можете создать форму типа формы регистрации, только простую - вводишь свои ФИО и дату занятия (к примеру). Эту форму можно сконнектить с гугл таблицей, куда будут поступать данные. Саму таблицу открыть только для чтения или вообще не открывать (лишь преподавателю нужно будет ее смотреть).

    Вот вам и база данных + UI. Дешево и сердито.

    Я уж молчу про то, что там можно и скрипты прикрутить, если будет необходимость. Можно защищать отдельные диапазоны таблицы и т.д. Собственно, думаю, вам всё же понадобится скрипт в случае использования Google Forms. Во-первых, нужно посылать письмо, что место забронировано или что места кончились. Ведь может быть так, что два человека регистрируются одновременно, а место осталось одно. Плюс когда места кончились, нужно автоматически менять форму, чтобы она была закрыта и превращалась просто в уведомление "мест больше нет".

    PWA - тоже выход. Понадобится один фрилансер (программист, желательно с уклоном в UI/UX) для создания приложения и немного денег на хостинг (12 руб в месяц). Готовых решений нет.
    Ответ написан
    Комментировать
  • Можно ли получить данные с сервера, имитировав post запрос?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Зависит от продуманности защиты сервера.
    Если защиту проектировали любители, то там будет много дыр, не обязательно именно эта. Надо щупать, чтобы понять, какие дыры есть. Но вам это может аукнуться постфактум.
    Ответ написан
  • Как снять блокировку сайта в opendns?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    1. Нужно написать в суппорт opendns и выяснить точную причину блокировки.
    2. Устранить причину.
    3. Снова написать и попросить разблокировать.
    4. Ждать и молиться. Если ни по какому закону они не обязаны вас разблокировать, то они могут этого и не делать (вечно).

    К примеру, этот вопрос модератор может удалить. Просто так. Может указать причину и уведомить вас, а может и не делать этого. В соглашении сказано, что вам никто ничего не обязан. Вы можете пожаловаться на беспредел по вашему мнению, и вопрос даже могут восстановить. Но не потому, что вам должны или что так справедливо и правильно, а потому что захотят (по своим личным соображениям добра и морали). Такие правила.
    Ответ написан
    Комментировать
  • Как сделать подмену размера экрана?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Нужно запустить виртуальную машину. В ней вы настраиваете размер (виртуального) экрана штатными средствами, а далее в ней можно запускать браузер. Также есть всякие новомодные онлайн сервисы, но это такое себе решение, не для всех задач.
    Ответ написан
    Комментировать
  • Что означает "?v=1" при подключении .css?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Означает, что какая бы ни была кеширующая система на сервере и на клиенте, добавление такой фигни форсирует кеш (почти) без вариантов, потому что это как бы другой файл. То есть если что-то изменили в css, можно это добавить, и в новой страничке загрузится новая версия css, а не из кеша.
    Ответ написан
    4 комментария
  • Какие языки нужны для написания игр и приложений на Android?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Для начала немного не по теме вопроса:
    • Чтобы стать разработчиком игр, нужно знать не только языки. Причем, языки составляют где-то 10% от всех знаний.
    • Разрабатывать игры в одиночку почти невозможно. Конечно, если это не пятнашки без особых фич. Средние игры, и даже хорошие игры с оригинальной идеей будут приносить околонулевой доход. Игра должна быть отличной, чтобы шанс на успех был выше нуля. А для этого нужен широкий спектр знаний и навыков, которые одном человеку освоить сложно (долго).

    По теме вопроса:
    • Делать игры лучше на Unity, поэтому язык C#. Но Unity это не только язык, это ещё и движок конкретно для игр, который на сегодня (2019), можно сказать, победил все остальные движки. Он имеет большие возможности, производителен, удобен в использовании, и всё это в купе с простотой освоения (низкий порог вхождения).
    • Для собственного сайта подойдёт почти любой язык, но выбор зависит от игры. Ведь вам нужен не столько сайт, сколько игровой сервер (бэкенд). И реализация будет зависеть от специфики игры. Если у вас игра сама как сайт, т.е. переходы по страницам через кнопки, то можно игровой сайт поместить в приложение. В этом случае и PHP подойдёт. Если игра в реальном времени (типа шутера или гонок), при этом огромное число пользователей, то узким местом станет нагрузка на сервер, да и вообще стабильность. Так что бэкенд придется делать на высокопроизводительном языке, таком как C/C++. Ну или, например, Elixir (Erlang). Если у вас что-то среднее между этим, то подойдёт, опять-таки, любой язык, умеющий работать с сокетами и поддерживать сессию игрока. Как я и говорил в преамбуле, всё это сложно, и даже для выбора и реализации архитектуры сервера желателен отдельный специалист.
    Ответ написан
    Комментировать
  • Насколько сложно защитить веб-приложение от основных видов атак?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Зависит от того, что за конкретное приложение и кому может понадобиться его ломать, сколько он готов будет вложить времени и денег. Ответ на это определит возможный вектор атак и соответствующие меры и стоимость защиты.

    Насчет ddos вы, видимо, не совсем понимаете, что это такое. Если у сервера узкий канал, то проверки ip внутри приложения не спасут вообще никак. Если же канал широкий и у вас достаточное количество мощностей, а само приложение (бэк) хорошо оптимизировано, то можно спокойно жить под ddos, не беспокоясь об этом. Кроме того, есть облака, которым (как раз по этой причине) пофиг на ddos. В общем, это сложная тема, в пару слов не уложусь.

    В общем, вы сейчас пытаетесь изобрести универсальный рецепт приготовления обеда из абстрактных ингредиентов в вакууме. Выбирайте, либо вы тратите кучу времени на чтение кучи книг и изучение темы ИБ в целом, либо вы решаете конкретную задачу и изобретаете что-то своё или берёте от ИБ то немногое, что понадобится в рамках этой задачи. А просто перечислить в 300 символов, что хорошо и что плохо, - не получится.
    Ответ написан
    4 комментария
  • С помощью каких технологий лучше всего делать интерактивные географические карты для веб-игр?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Поиск пути и обход препятствий - алгоритм A* (AStar) и его модификации. При этом мир предполагается разбить на зоны.

    Что касается карты, то однозначно ответить нельзя.

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

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

    В общем, я бы на вашем месте не искал готовое решение, а делал своё, и составлял бы функционал игры из более мелких кирпичиков - отдельно алгоритм генерации (плюс свои хотелки типа генерации координат городов), отдельно сделать зум карты (свой или нагуглить), отдельно сами города и т.д. Генерация карты, соответственно, тоже составляется чисто под вашу игру из еще более мелких кирпичиков. Алгоритмов генерации множество, с их поиском у вас не будет проблем.
    Ответ написан
    Комментировать
  • Как организовать процесс тестирования с отдельным тестировщиком?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Зависит от квалификации тестировщика. Если это джун или студент какой-нибудь за доширак, то какие претензии к нему?

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

    Ну и наличие тестировщика не отменяет штатных тестов самими программистами. А в случае с вебом, да и вообще с любым сетевым ПО, или БД, или всякие разрозненные API, где всё так шатко, тесты должны быть встроены в само ПО. Тот же бек тоже не должен падать, а должен отдавать хоть какие-то данные, пусть даже это данные об ошибке. Клиент должен их обрабатывать, плюс учитывать свои ошибки, когда данные не сходятся. Ну а тестировщик нужен для отлова того, что не выловлено на этих стадиях. А если выявлено, то по текстам ошибок сразу можно найти виновника, даже если 3 часа ночи, и фронт с беком спят богатырским сном.
    Ответ написан
    Комментировать
  • Можно ли создать информер на своём сайте с информацией чужого сайта?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Можно.

    Через чистый js нельзя, если cors не позволяет. То есть сайт должен разрешить брать с себя инфу. В идеале официально предоставить код информера для вставки на ваш сайт.

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

    По закону за это ничего не будет. Ведь информация публичная, не охраняется авторским правом, не является персональными данными, и не является противозаконной.
    Ответ написан
    5 комментариев
  • Какой движок выбрать для создания интернет-магазина аддонов\модов для игры?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Такое лучше делать в самой игре.

    На примере Стима - есть воркшоп. Но если игра поддерживает моды, то в ней встроена возможность создания и публикации прямо в самой игре. Возможно, есть отдельный редактор. Возможно, есть отдельный публикатор (приложение для публикации). Но напрямую в воркшоп заливать нельзя.

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

    На примере Террарии: сделали браузер модов внутри самой игры. Именно такое решение.

    Ну а так разработчик может и без магазинов выложить своё детище на каком-нибудь itch.io например. Платно или бесплатно, по желанию. Там и обновлять может, и юзеры могут скачивать апдейты без доплаты и т.д.
    Ответ написан
  • Как обезопасить себя от кидка с оплатой?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    В коде JS зашить бекдор или плановое устаревание, а сам код сильно обфусцировать. После оплаты предоставить клиенту бесплатное обновление без всего этого. Если клиент захочет исходники, то также только после оплаты. Универсальных рецептов нет.

    Но об этом надо думать заранее. А когда УЖЕ отдал готовый проект, то ситуация такая же, как если вы захотите сделать плохо любому другому незнакомому человеку. Сразу скажу, что это возможно. Но вам придется тратить СВОИ время и силы на то, чтобы сделать плохо. Это называется месть (а не справедливость, как вы сказали). В целом, месть - это не очень разумно, имхо. Но реально. Так что если хотите, можете заниматься этим. Для этого нужно будет изучить врага, что ему дорого, слабые места, и бить по ним. Например, затаскать по судам (тратить время клиента, даже если проиграете). Или бить по репутации, по отзывам и т.д. Можно, например, агрессивно продвигать сайт клиента за свой счет, чтобы в какой-то момент поисковики исключили его из выдачи. Ну хотя я не в курсе, сработает ли такое в наши дни. Но суть та же - это война. В общем, дорогое удовольствие. Не советую. Проще в будущем быть мудрее.
    Ответ написан
    2 комментария
  • UserAgent у сервиса?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Такой и есть: a.pr-cy.ru
    Ответ написан
    Комментировать
  • Какие специальные символы нужно запретить для ввода в Input?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Нужно запретить все символы, кроме символов из белого списка типа a-zA-Z0-9_
    Проверка должна быть на сервере. На клиенте проверка нужна, только чтобы не перегружать страницу лишний раз.
    Ответ написан
    6 комментариев
  • Как заблокировать доступ к сайту определённому клиенту?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Можно. Всем без исключения пользователям не показывать контент, пока не заработает метрика. Затем можно перевести в куки, но дальше стратегия очевидна. Другой вопрос, устроит ли вас подход, когда сайт блокируется для всех, у кого не работает метрика (например, стоит блокировщик рекламы).
    Ответ написан
    9 комментариев
  • Как обойти такую блокировку? И каким образом она вообще реализована?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Попробуйте свой VPN сделать. Не публичный покупной, а свой сервер купить, и на нём поднять Open VPN, например (на всякий случай на нестандартном порту). Соседей быть не должно.
    Ответ написан
    5 комментариев
  • С помощью какого инструмента можно создавать Landing Page?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Статический сайт можно разместить на github.com например. Всяко лучше, чем wix и ucoz.

    Если не знаете HTML, то не мучайтесь ради одной страницы. Наймите спеца на фрилансе или попросите друга. Он вам за бутылку пива сделает (друг, в смысле).

    Про заработок не скажу. Зависит от того, как и что вы продаёте вообще, какой товар. Но в любом случае, предсказывать будущее - неблагодарное занятие. А уж давать гарантии и подавно. Ваш бизнес - ваши риски, вам и нести за них ответственность.
    Ответ написан
    Комментировать
  • Как убрать отступы в мобильной версии сайта, но оставить в полной?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Делать две версии сайта - мобильную и полную.
    m.habr.com и habr.com - тому пример.
    spoiler
    max-width: 780px;
    Ответ написан
    6 комментариев