Ответы пользователя по тегу Веб-разработка
  • Из кого состоит команда разработки WEB приложения?

    @rPman
    Что значит должен?
    В конце концов от денег все идёт, нет денег- совмещает должности до фулстак в одном лице

    Если серьезно то от сложности задач, чем она проще тем меньше людей понадобится.

    Общий вопрос - такой и ответ
    Ответ написан
    Комментировать
  • Безопасно ли отправлять данные по HTTPS?

    @rPman
    Все сказанное другими отвечающими верно, но стоит очень осторожно подойти к вопросу - от кого защищаться

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

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

    @rPman
    Можно, все можно
    Начинать с веб (основ) лучше чем начинать с узкой специализации реализации бота (тем более там по хардкору сразу в асинхронное программирование новичка бросает), причем лучше потрогать без высокоуровневых фреймворков как серверную часть и базы данных так и клиентскую, причем в обоих ипостасях, и html+css и javascript.

    Язык программирования и задачи, чаще всего стоят максимально друг от друга, и связь между ними исключительно в том какие фреймворки для каких языков под какие задачи уже написаны, но как я надеюсь все понимают, можно обойтись и без высокоуровневых решений, а низкоуровневые (не придется разбирать http заголовки или самому рисовать окна UI) есть для всех языков.
    Ответ написан
    Комментировать
  • Сколько может стоить создание копию существующего веб сервиса?

    @rPman
    с упрощенным функционалом (без лишнего)
    самая большая засада в этом кроется, так как лишнее может быть как 99% функционала так и 1%, и соответственно трудозатраты на создания будут отличаться на порядки

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

    и вот уже с этим ТЗ топать на площадки и спрашивать, за сколько сделаете.

    иначе - гадание на кофейной гуще с неопределенным результатом
    p.s. я скажу вам вчерашний студент тяп ляп сделает за пару сотен баксов три формочки и вдруг вас это устроит?
    Ответ написан
    Комментировать
  • Как подключить оплату криптовалютой к онлайн сервису?

    @rPman
    Совершенно 'не понимаю' зачем маркетплейсу участвовать в финансовой жизни своих участников, если используется криптовалюта... рекламная площадка?

    Сами участники пусть переводят друг другу монеты со своих кошельков, а чтобы маркетплейс понимал, когда оплата произведена, пусть участники (те кто ждет приема монет) сообщают маркетплейсу какие у них адреса, он смотрит в блокчейн и если появились транзакции на нужную сумму (в этом случае получатель должен заводить специально адрес для этого, что нормально для bitcoin но неудобно для erc20 так как там 1 адрес = 1 человек, и если хочешь больше - везде нужно для комиссии эфир складывать). Можно попросить отправителя сообщить id транзакции, тогда все будет универсально, проверяем у этой транзакции получателя и сумму и если совпадает с ожидаемой - считаем что оплата прошла.

    p.s. есть еще 2-уровень тенологии типа лайтинг, тут чтобы удостовериться что оплата прошла, нужно будет маркетплейсу вставать прямым узлом посредником (требование такое выкатить), в принципе это не плохо (но не гибко), заодно через это посредничество можно и комиссии собирать за использование маркетплейса но лично я считаю в принципе маркетплейс лишним, это должно быть что то децентрализованное, с публикацией товаров/услуг в какой-нибудь dht сети (или той же лайтинг, так как сама сеть может использоваться для передачи сообщений, даже чат/форум такой есть).
    Ответ написан
    Комментировать
  • Какой робот или API может зайти на веб-страницу для активации PHP скрипта?

    @rPman
    браузеры пока еще позволяют GET запросы со смешанным контентом и игнорируя CORS (будет варнинг в консоли), чтобы можно было встраивать на странице к примеру изображения с чужих сайтов (предупрежение будет но по крайней мере это работает), поэтому чтобы отправить запрос на страницу с другим контекстом можно динамически создавать элемент на странице (например img или script с указанием типа контента, какой бы он там не был), кстати при использовании script можно даже получить результат с http сервера, если это будет скрипт выполнения функции, определенной ранее на странице, т.е. пример вернуть с типом text/javascript
    my_callback([1,2,3,4,5]);
    а на странице определить функцию по обработке полученных данных
    function my_callback(data) {...}

    именно так давным давно реализовывали прародителя ajax

    p.s. опс, уже все, запретили
    и это хорошо, а то к примеру относительно недавно страничка сбербанка онлайн активно 'пинговала' локальные адреса на машине
    Ответ написан
    Комментировать
  • Где лучше хранить массив объектов? json или бд?

    @rPman
    Множественный одновременный доступ к данным - однозначно выбор ограничивается базами данных с поддержкой транзакций (есть исключения но лучше о них не думать), так как в тегах есть sql то наверное под БД понимается она? то да, лучше используй sql, там 99% проблем решены либо предоставлены инструменты для их решения а главное это правильный подход к разработке

    лично я бы не рекомендовал начинающему работать с nosql базами типа mongodb, они хоть и поддерживают транзакции но правильно их использовать может только опытный человек понимающий что к чему
    Ответ написан
    4 комментария
  • Есть ли возможность писать standalone-приложения c GUI для Ubuntu Desktop на PHP или JS/Vue - как?

    @rPman
    Есть мнение что веб технологии (а именно - браузер как интерфейс пользователя и бакэнд как основная часть с бизнеслогикой) - будущее всего интерфейса, пример с тьмой приложений на electron это показывает. И там где с данными приложения будут работать сразу несколько человек или подразумевается работа из нескольких мест - очень правильное направление, так как облегчает развертывание и фактически нет почти никаких требований к рабочему месту, почти не требует их обслуживание, что красиво ложится в стратегию тонкий энергоэффективный и дешевый клиент.

    Поэтому да, это имеет место быть, если вы готовы платить ресурсами за приличный оверхед как на стороне браузера так и на бакэнде. Благодаря таким технологиям как sqlite и готовым реализациям веб серверов на php (да просто однострочник использовать php -S ....) то почему нет, разворачивать такое приложение относительно легко, но нужно помнить, что веб приложение может быть использовано без клиентской части (api можно вызывать из любого другого приложения) и контролировать этот процесс не просто (на самом деле легко, нужно токен авторизации выдавать на любой запуск приложения, хранить в браузерном хранилище и процесс установки такого приложения - авторизация, т.е. выдача этого токена, даже если бакэнд тут же рядом запущен)

    p.s. мое мнение, когда речь идет о приложения для одного места и человека, то ... это отвратительное направление развития, но красиво/правильно/эффективно - не те слова что нравятся большинству, поэтому скорее всего так и будет.
    Ответ написан
    Комментировать
  • Необходимо скачать либо закешировать любыми способом карты из Wikimapia, как это возможно сделать?

    @rPman
    wikimapia.org
    Wikimapia is turned off for some time (days or even weeks). The site is under cyber attack all these days. Stay tuned. Explanation later.
    вообще то у них же был какой то штатный способ для этого, идеологически это же вики
    так как я видел некоторые сайты которые это для себя сделали
    ну или вот первый же запрос в гугл выдал торент 33гб с кешем от яндекса и векором викимапии (на конкретно этом сайте есть новее карты но уже без викимапии)
    Ответ написан
    Комментировать
  • Какую работу надо проделать для оптмизации сайта?

    @rPman
    Проблема явно не в сервере, повторное воспроизведение видео так же лагает, нагрузки на процессор нет, выглядит как глюк плеера (на linux лагает в 2-3fps в firefox, в chromium нет), при этом сама панорама, вращающаяся в фоне работает без единого лага.

    Совет, попробуй избавиться от mov формата (еще с древних времен его использование несло за собой кучу проблем), используй другие кодеки, начиная с mp4 h264 или webm

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

    @rPman
    соединиться с сайтом на определенном IP адресе
    как понимать это?
    ip адрес это адрес машины в интернете, с которой соединяешься
    на одной машине может быть несколько сайтов под разными доменными именами

    Бывает когда на один адрес может выдаваться несколько ip адресов- geodns, если это надо обойти, то можно локально для себя (в своей сети) настроить dns на выдачу конкретного ip адреса либо тупо прописать в /etc/hosts

    p.s. у утилиты curl есть ключ
    --connect-to <HOST1:PORT1:HOST2:PORT2>
    какраз для подмены подключений HOST1:PORT1 на HOST2:PORT2
    еще есть
    --resolve <host:port:address[,address]...>
    Provide  a  custom address for a specific host and port pair


    соответствующие им олпции curl_opt - CURLOPT_CONNECT_TO и CURLOPT_RESOLVE
    Ответ написан
    4 комментария
  • Нужно ли дополнительно покупать HTTP сервер для сайта или хостинга хватит?

    @rPman
    Не смейтесь над человеком, он правильно спросил, это вы не поняли.

    http web server это программа, их тьма тьмущая и в подавляющем большинстве своем они бесплатные, покупать отдельно ничего не потребуется.

    Самый популярный веб сервер это nginx - настоятельно советую
    Самые известные для новичков это apache или майкрософтовский IIS

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

    Обычно приложение не должно знать под каким веб сервером запускается, т.е. не привязывает тебя но конечно это возможно, например майкрософт любит привязывать разработчиков к своим продуктам и если это делать бездумно, оказывается что приходится закупать кучу дорогих лицензий (т.е. веб сервер бесплатен как сервис но на сервере с дорогой лицензией)

    У веб сервера есть обычно два основных способа работы с программой (ок три, он ниже) - режим запуска плагином (когда веб сервер умеет запускать приложение веб сервера, написанного на его языке, т.е. знает умеет и работает по своему) и cgi, когда приложение может быть на любом языке хоть бинарник, просто веб сервер его запускает на каждый запрос и перенаправляет ввод вывод от браузера в него как стандартный консольный ввод вывод. Первый подход позволяет во многих случаях сильно оптимизировать работу... хотя есть ситуации когда второй эффективнее. Есть режим 'статики' - раздача просто файлов веб сервером минуя веб приложение, благодаря хорошей оптимизации файлы раздаются максимально эффективно, когда как веб приложение будет потреблять процессорное время (в конечном счете то самый 'дорогой' ресурс, вместе с оперативной памятью).

    Если проект не highload (это миллионы активных пользователей) то на одной машине обычно совмещают и веб сервер и само веб приложение, мало того, в некоторых ситуациях функцию веб сервера может на себя взять это приложение но так не делают, ибо это дополнительная точка отказа и поэтому все равно ставят веб сервер в режиме прокси (мир подключается к nginx а он уже перенаправляет согласно настроек запросы к внутреннему серверу-приложению)

    p.s. на время разработки при использовании к примеру того же php в качестве бакэнда, можно воспользоваться встроенным веб сервером в сам php (запускать php -S 0.0.0.0:8080 - запустит http сервер на порту 8080 )
    так же существуют 'однострочники' на почти любых языках программирования, так что что бы ты не выбрал, на время разработки вебсервером может быть простой скрипт.

    upd. вместе с хостингом, необходимо продумать кто будет заниматься администриарованием сервера, если хостинг универсальный vps/vds то настройка и поддержка по умолчанию обычно не включена в тариф, но вот SaaS хостинги, предлагающие не сам сервер а услугу , например хостинг веб приложения, могут включать в тариф как раз администрирование (в самых дешевых вариантах - это вебпанелька, интерфейс в консоли провайдера где типовые задачи решаются мышевозекательным способом)
    Ответ написан
    Комментировать
  • Как правильно создать бесплатный музыкальный сервис?

    @rPman
    Чтобы вас не заблокировали - у вас не должно быть места хранения информации, буквально.

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

    Так что технически реализовать можно, вопрос в мелочах.
    Ответ написан
    1 комментарий
  • На своем сайте надо организовать возможность онлайн трансляции через iр камеры. Как это сделать?

    @rPman
    Самое 'простое', установить на сервере ffmpeg и используя простую публиковать видеопоток в нужном формате
    гуглить ffmpeg webcam video streaming
    например вот
    Ответ написан
    Комментировать
  • Как получить m3u8 файл с сайта?

    @rPman
    Попробуй сконвертировать m3u8 файл в готовый видеофайл с помощью ffmpeg (он умеет загружать), чтобы не перекодировало указывай кодек -c copy

    Если сайт смотрит на http заголовки, который отправляет плеер/качальщик, и блокирует их, то очевидно их придется вручную подставлять, копируя из девконсоли браузера, один раз скопируй команду загрузки куска видео затем напиши скрипт, загружающий этой командой все куски локально и собирай с помощью ffmpeg
    Ответ написан
  • Возможно ли использовать антикапчу для браузера, не поддерживающего расширения?

    @rPman
    запилить свою на основе autoit, это скриптовый язык с фреймворком и компилятором для автоматизации действий.

    делаешь скриншот определенной области экрана, делаешь запрос на распознование капчи, вставляешь текст в нужное место (кликаешь мышкой в нужное место на экране)

    если браузер создает системные контролы (inputbox, что маловероятно) то эти элементы можно будет отслеживать и получать их координаты, иначе только распознованием текста с экрана (вплоть буквально до getpixel)
    Ответ написан
    2 комментария
  • А как выглядит настоящее, большое, корпоративное "Энтерпрайз" веб-приложение?

    @rPman
    Есть мнение - миром правит не заговор а глупость.

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

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

    Любая крупная компания страдает последствиями закона Парето или даже эффекта Рингельмана.
    Чем больше людей задействованы в создании чего либо (а когда это что то делают долго, этого не избежать) тем больше усилий будут тратиться и в среднем эффективность каждого человека в отдельности будет уменьшаться. В конце концов старые компании со старыми продуктами вынуждены тратить огромные ресурсы просто на поддержание этого монстра на плаву.

    p.s. мое мнение, использовать крупный готовый фреймворк - это мина замедленног действия, не менее страшная чем создание своего самописного движка с нуля.
    Красивого ответа, а как надо, нет, на это пишут толстые книги, философы много рассуждают, созданы сложные принципы типа TDD которые позволяют если не исключить ряд проблем, появляющимися из-за старения продукта, но хотя бы его отсрочить и облегчить работу по внесению изменений в будущем.
    Ответ написан
  • Как реализовать ограничение доступа к личному web-ресурсу?

    @rPman
    Либо настроить фаервол на сервере vps чтобы ограничить доступ с личного ip адреса (он должен быть статичным), обычно фаервол в linux на основе iptables но бывает в панели администрирования соответствующие пункты (например у амазона).

    Ограничения по ip адресу клиента настраиваются и у самого веб сервера, обычно это проще фаервола.

    Либо (если к примеру личный ip адрес динамический) настроить сервер на локальную для vps сервера сеть (или localhost) и настроить перенаправление портов (например с помощью ssh) либо поднять vpn подключение (vps и твоя локальная сеть подключаются к чьему то vpn либо настроить vpn сервер на vps)

    Либо, самое простое, настроить аутентификатцию средствами веб сервера на vps, basic auth настраивается в пару строк в конфиге:
    https://docs.nginx.com/nginx/admin-guide/security-...
    https://httpd.apache.org/docs/2.4/howto/auth.html

    basic auth будет однократно спрашивать пароль в браузере при первом доступе, при закрытии страницы и повторном открытии снова запросит пароль.
    Ответ написан
    Комментировать
  • Как сделать многостраничный сайт без PHP/python/React?

    @rPman
    Начинать изучение веб технологий нужно было с этого, а не с фреймворков.

    Кстати многостраничным сайт может быть и с одной физической страницей, когда содержимое меняется с помощью javascript. Никаких фреймворков для этого не надо, максимум упростить себе жизнь, используя готовый шаблонизатор (можно найти минимальный в виде простенькой функции из десятков строк, а сами шаблоны хранить тут же в документе внутри <script type='text/html'>).

    Пример, рисуешь в пределах одного документа сразу несколько страниц, буквально разместив каждый в своем контейнере (div), указав им каждому стиль display:none, затем навигацию между страницами реализуешь с помощью anchor # (адрес страницы размещается в ссылке после #, такие ссылки не перегружают страницу с сервера но ловить изменения можно либо на onclick значимых ссылок либо по таймеру), поочередно меняя нужным частям документа на display:block и обратно.

    Если на странице есть информация 'о документе по ссылке', то заполняешь ее тем же скриптом, простейший пример document.getElementbyId('идентификатор').innerText или value позволит поменять значение на нужное.

    Если нужна коммуникация с сервером, используй ajax, который по факту внутри штатный XMLHttpRequest, и даже не сильно многословный код получится.

    p.s. 99% бонусов, получаемых от фреймоврков - это решение проблем с кроссплатформенностью и кроссбраузерностью. Мое мнение, все остальное - это проблемы, стоимость решения которых зачастую выше тех профитов, которые получаешь от фреймворка.

    С другой стороны фреймворки это как стандарт, написал один, разберется любой, что для бизнеса важнее скорости, затрат ресурсов и прочего.
    Ответ написан
  • Для чего нужно название товара в ulr строке?

    @rPman
    Полагаю потому что это

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

    Мое мнение - это абсолютно лишнее, большинство пользователей не воспринимают адресную как источник информации, а некоторые браузеры (опера например) и вовсе скрывают все кроме доменного имени от пользователя.
    Ответ написан
    1 комментарий