Ответы пользователя по тегу Веб-разработка
  • Есть ли смысл ассеты сайта (css/js/img/fonts) грузить с поддоменов?

    riky
    @riky Автор вопроса
    Laravel
    Нашел ответ.
    Уважаемый Rubix дал ссылку на SO

    приведу перевод:

    Браузеры устанавливают ограничение в 6-8 подключений для каждого домена при использовании HTTP/1.1, в зависимости от реализации браузера. Это позволяет максимум 6-8 одновременных запросов на домен.

    При использовании HTTP/2 браузеры открывают только одно соединение для каждого домена. Однако благодаря функции мультиплексирования протокола HTTP/2 количество одновременных запросов на один домен не ограничивается 6-8, а практически не ограничено.

    Он практически неограничен в том смысле, что браузеры и серверы могут ограничивать количество одновременных запросов с помощью параметра конфигурации HTTP/2, называемого SETTINGS_MAX_CONCURRENT_STREAMS.

    Типичные ограничения составляют около 100 (значение Firefox по умолчанию для network.http.spdy.default-concurrent— обратите внимание на spdyимя здесь: это был протокол-предок протокола HTTP/2), но могут быть больше (или, реже, меньше), в зависимости от реализации браузера и на сервере, на котором вы работаете. подключиться к.

    Ожидайте, что эти ограничения будут меняться с годами по мере развития и более широкого использования HTTP/2 (так же, как это произошло с HTTP/1.1: браузеры начинали с 2 соединений и заканчивали 6-8 после нескольких лет использования, опыт и настройка).


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

    Александр Фалалеев справделиво заметил про кукисы, на обычном сайте с разными маркеттинговыми теркерами это может быть +2-3кб(в несжатом виде) или более к каждому запросу, поэтому может быть есть смысл иметь отдельный домен или CDN для асссетов.
    Ответ написан
    Комментировать
  • Как правильно считать посетителей сайта?

    riky
    @riky
    Laravel
    зависит от требований что хотите получить. и идеально сделать невозможно потому что нет четкой границы кто бот а кто не бот, второй запрос с одного ип это снова я зашел или моя сестра с нашего общего роутера.

    но в целом я бы рекомендовал так:

    1) популярных ботов можно отсеивать по юзер агентам (наверное есть готовые библиотеки).

    2) делать блокировку сохряняя в мемкеше на 30 мин ип+ид_стр (или например md5(ip + id) ) - простая и эффективная защита от F5.

    3) опционально можно делать как в п4 - через N сек отправлять запрос для обновления счетчика. если у кого то будет задача накрутить - они сразу его и будут дергать, поэтому как минимум нужна защита по ип (п2).

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

    riky
    @riky
    Laravel
    для вывода карты leaflet. непроходимые места можно сделать отдельным слоем, как битовая маска. причем достаточно сделать ее с низким разрешением просто (проверять цвет пикселя).
    Ответ написан
    Комментировать
  • Как с помощью PHP или JS показывать div в определенные дни?

    riky
    @riky
    Laravel
    $today = date('m-d');
    
    if ('11-21' <= $today && $today <= '11-25') {
       // показать
    }
    Ответ написан
    Комментировать
  • Какие подводные камни в android разработке?

    riky
    @riky
    Laravel
    проблема все таки не столько в вебе, сколько в вашем текущем месте работы. если фирма хватается за проекты на любом стеке, то чего еще ждать.
    точно так же можно найти программистов которые 5-10 лет пишут только на одном пхп и никаких фреймворков даже не видели.
    в общем хорошо там где нас нет.
    но не хочу отговаривать, если есть хоть малейшее желание и возможности - то дерзайте, вернуться всегда успеете, а жизнь не бесконечная.
    Ответ написан
    Комментировать
  • Качество работы штатного программиста. Как оценивать?

    riky
    @riky
    Laravel
    Честно говоря, меня такое довольно наплевательское отношение к качеству кода не устраивает.

    а вы им точно это говорите?

    PS не обязательно на них наезжать, можно просто спросить их "что мы можем сделать чтобы таски закрывались с меньшим количеством доработок?".
    Я уверен что и вы и они у вас взрослые люди, сами свою ситуацию лучше видят.

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

    riky
    @riky
    Laravel
    Очень мало людей могут довести проект в одиночку. Почитайте Ицхак Адизес, про 4 типа людей необходимых в каждом проекте. Очень сложно содержать в себе одновременно и инь и янь (это не у него, я от себя).
    Ищите единомышленников, которые будут дополнять то чего не хватает у вас.
    Ответ написан
    Комментировать
  • Как решать конфликты интересов между клиентами фрилансера?

    riky
    @riky
    Laravel
    многие тут советуют что все нормально, главное деньги, но взгляните с другой стороны, с заказчика.

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

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

    Многие тут пишут что важны только деньги, и это так, но есть сиюминутные деньги, а есть деньги в перспективе. Набирая честное имя и хорошую репутацию вы получаете реальные отзывы и поднимаете свой рейтинг и оплату, иначе всю жизнь придется возится в средней лиге безымянных и оплачиваемых по средней ставке.
    Ответ написан
    6 комментариев
  • В каких случаях стоит делать S.P.A. приложение?

    riky
    @riky
    Laravel
    без проблем используйте в закрытых админках и кабинетах. на поисковик там можно не ориентироваться.
    ну а иначе нужно заморочится на серверный рендеринг.
    Ответ написан
    Комментировать
  • Безопасен ли telegram bot?

    riky
    @riky
    Laravel
    если допущены sql иньекции то конечно может, не зависимо от наличия/отсутствия форм.
    Ответ написан
  • Как в PHP сохранять COOKIES при навигации по сайту для последующих автоматизированных HTTP-запросов?

    riky
    @riky
    Laravel
    при подмене ссылок запросто можно пропустить ссылки в js.
    то что вы делаете плохо попахивает, в плане безопасности юзеров. для многих сайтов конечно сработает, но не для всех, особенно там где есть хоть какая то защита (защиты от ddos, проверка ип и тд).

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

    riky
    @riky
    Laravel
    по-нормальному такое делается oauth авторизацией, тогда вы легко сможете связать акки одного человека.
    либо один из сайтов создает oauth сервер, а на втором вход через него, либо на обоих вход через сторонний oauth, наприер через вк.

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

    riky
    @riky
    Laravel
    у вас проблема не со временем, а в том что память заканчивается, или memory limit поднимайте или оптимизируйте алгоритм.
    очень подозрительный код, если это консоль, то зачем там ob_* функции и flush ?
    данные не нужно накапливать в памяти сохраняйте обработанные данные сразу в базу или файлы
    Ответ написан
    7 комментариев
  • Как попасть на hiload разработку, если ранее не было такого опыта?

    riky
    @riky
    Laravel
    романтизируете сильно.

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

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

    riky
    @riky
    Laravel
    делал тупо на ноде такое.
    все *.RU домены (5,5 млн) за несколько суток.
    Ответ написан
  • Что почитать об архитектуре CMS?

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

    для проектирования цмс первого типа, нужны общие знания о ООП в пхп и MVC. проект очень простой, нужно знать только ООП/MVC и желательно выбрать какой нибудь фреймворк symfony/laravel/yii.
    во втором случае система должна быть супер универсальной, функциональной. очень большие сложности возникают для обеспечения писателям плагинов(сторонним разработчикам) хорошего внутреннего апи (систему хуков hooks).

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

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

    riky
    @riky
    Laravel
    только для простых лучше уж не "yii2 или laravel" а микрофреймворки типа silex/slim. я сам люблю симфони, но для мелочи использую их. иначе мелкий проектик получается что весит более 100мб. и 90% их возможностей не используется.

    UPD. вспомнил еще хороший вариант Bolt CMS. она как раз на silex сделана. есть twig, все конфиги в yml файлах. довольно легковесная и в то же время функциональная. после нее на вордпресс смотреть тошно.
    Ответ написан
    Комментировать
  • Графический планшет + макеты = Возможно ли?

    riky
    @riky
    Laravel
    стандартом уже стали ваком планшеты. но они далеко не до 8к.
    из до 8к стоит присмотреться к китайским huion, которые часто сравнивают с вакомами. насколько я понял из серьезного не поддерживают только наклон кисти. но если вам не рисовать то вообще пофигу.
    заказал себе 10 дюймовый 1060pro, пока не пришел, подробнее сказать не могу.
    Ответ написан
    Комментировать