Ответы пользователя по тегу Веб-разработка
  • Подходит ли TALL стэк для крупных проектов?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Подходит.

    X очень маленький фреймворк, и поэтому не подходит для крупных проектов

    Весьма странное утверждение.
    Ответ написан
    7 комментариев
  • Как сделать список "избранных" пользователей?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Это many-to-many по одной таблице:

    # users
    id - integer
    name - string
    
    # favorite_users
    user_id - integer, foreign key on users.id
    favorite_user_id - integer, foreign key on users.id


    Подсказка от Тейлора: https://github.com/laravel/framework/issues/441#is...
    Ответ написан
    Комментировать
  • Какой ЯП выбрать как дополнение к php - Go или Python?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Если нужно дополнение к php + скорость работы + микросервисы то однозначно Go, ибо компилирование, многопоточность и concurrency, сборка мусора и все такое. И не забывайте про FFI.
    Ответ написан
    Комментировать
  • Проблема с CLS: значение показателя выше порогового (0,25). Устройство: мобильные устройства. Как решить?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Вы хоть почитали что такое CLS?

    CLS - Cumulative Layout Shift, это на сколько сдвигаются элементы вашей страницы в процессе ее загрузки. В идеале, CLS 0 означает что изначально страница размечается со всеми элементами нужных размеров, и по мере подгрузки этих элементов (картинок, например) соседние элементы не скачут.

    В вашем же случае страница скачет как бешеная. Вот начало загрузки:

    5fa3d64ceab73443827463.jpeg

    У шапки нету размера, у картинок категорий нету размеров и тд - и так по всей странице. А теперь подгрузилась шапка, и все остальное уехало вниз (чем сильно бесит пользователей и гугл):

    5fa3d684e5c46484632593.jpeg

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

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    1. Не работать без предоплаты.
    2. Не работать с мудаками и нищебродами (фильтровать их еще на входе, в том числе размером требуемой предоплаты).
    Ответ написан
    Комментировать
  • Банальный вопрос - как быть дальше?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Собственно, если вырезать из текста всю лирику, то остается один вопрос:

    В какую нишу мне пристроиться

    И ответ на него до банального прост - в ту, которая интересна. Потому что в неинтересной ничего не получится - не хватит мотивации. А пахать надо в любой нише.
    Ответ написан
    Комментировать
  • Почему сайт не работает после подключения к Cloudflare?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Там же написано - сервер ответил bad gateway, это 502я ошибка:

    HTTP серверный код ответа на ошибку 502 Bad Gateway указывает, что сервер, действуя как шлюз или прокси, получил неверный ответ от восходящего сервера.

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

    На странице с ошибкой есть Ray ID или как там оно называется, это идентификатор события, по которому в логах CloudFlare можно получить дополнительную информацию. Обратитесь с эти в поддержку CloudFlare, а они уже или исправят ее (если проблема на стороне их прокси), или подскажут как сформулировать вопрос для вашего хостера, если ошибка у них.
    Ответ написан
    Комментировать
  • Какой сервер выбрать для доски объявлений, загруженность сайта в первое время 10-20 тыс. хостов в день?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    1) Какой сервер выбрать нужно бюджетно но не в ущерб производительности.

    Не тот вопрос задаете. Любой крутой и мощный сервер будет ДЕШЕВЛЕ чем реклама, необходимая для 50к пользователей, и будет растворяться в маркетинговом бюджете. Какой сервер (или сервера) ваш девопс или бекендер посоветует, такой и будете брать.
    2) какой движок выбрать (думал на wordpress сделать).

    WordPress только в 2х вариантах:
    - дешеве и быстро протестировать идею / нишу, тогда имеет смысл собрать на коленке из недорогой темы и пробовать
    - или же делать по уму если в нишу верите - тогда нормальный бюджет и знающие WordPress- разработчики смогут сделать конфетку. Выберете недостаточно опытных разрабов - получите проблему, потеряете время и деньги. И потом в итоге все равно придете к более опытным переделывать все это. Ну или закроетесь.
    Ответ написан
    Комментировать
  • Быть разработчиком веб-сайтов невыгодно?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    сроки разработки веб-сайта могут достигать одного или даже двух месяцев, а оплата во многих случаях не превышает 10 000 - 15 000 рублей

    Сроки разработки по разным задачам/проектам могут быть от получаса до нескольких лет, а с учетом постоянного развития проекта – пока он жив. Оплата может быть от 0 и до десятков тысяч долларов в месяц. Все очень относительно. Вопрос не в технологиях, рынке и профессии, а в вашем месте в этом всем.
    Ответ написан
    Комментировать
  • Как быть медлительному разработчику?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    1. Даже опытные разрабы часто ошибаются в оценках и делают дольше - именно поэтому опытные ПМы наши оценки всегда умножают на коэфициент. У хорошего ПМа даже есть матрица коэфициентов - благодаря магии статистики можно посчитать на сколько в среднем ошибается тот или иной разраб в команде. Jira вообще умеет это считать сама.
    2. Чем детальнее задача прописана/поставлена, тем проще и быстрее ее делать. Если задачи не идеальны (а они всегда не идеальны), часто будет всплывать что-то непредусмотренное, что сдвинет сроки. Это нормально.
    3. Очень полезный совет Strannyk - лимит на тупление. Именно это один из главных скилов джуна, который надо развивать. Максимум час времени на самостоятельный разбор, если гугл и документация не помогли за это время - идем к более опытным товарищам за советом. Лиды для этого и существуют, а не для получения более высоких зарплат (как некоторым из них кажется).
    4. Определите ВСЕ нюансы, которые влияют на вашу скорость. Что именно вас тормозит. И устраните то, что можно, а с остальным учитесь жить, возможно даже использовать в свою пользу. Мне известны очень крутые разрабы, которые достаточно медленные в классическом понимании из-за их "задротства" - у них всегда вместе с кодом идут тесты, документация и тд, в том числе грамматика в документации в порядке. Какой-то команде такой стиль работы не подойдет и там такой разраб не продержится, а в какой-то наоброт, именно такие и нужны. Где-то нужно "*уяк-*уяк и в продакшн", а где-то важно качество/стабильность/надежность/безопасность, а сроки вторичны.
    5. Набираться опыта. Больше опыта - точнее оценки и быстрее все делается.
    Ответ написан
    Комментировать
  • Создание личного сайта 18+?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Я бы не советовал ввязываться в self-hosted и self-managed решения, объем технической работы, который необходимо будет выполнить (и продолжать выполнять более-менее регулярно) колоссален, не стоит оно того. Есть специализированные площадки, которые покроют большинство ваших задач, советую начать с onlyfans.com.
    Ответ написан
    3 комментария
  • Как оптимизировать Script Evaluation?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Script evaluation time зависит от количества JS кода, который браузеру надо выполнять. Меньше кода - быстрее выполнение, меньше блокируется основной поток. Два джедайских пути - использовать меньше js вообще, и разгружать основной поток (на заставлять браузер выполнять все за раз в основном потоке, блокируя рендеринг - здесь частично поможет асинхронность).

    Полезное чтиво:

    https://developers.google.com/web/fundamentals/per...
    https://developers.google.com/web/fundamentals/per...
    Ответ написан
    Комментировать
  • Какую программу использовать для написания мобильного сайта?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Кроме обычных браузеров есть еще удобные инструменты типа Sizzy, Polyplane и тд. Я использую Sizzy - весьма удобная штука. Кроме одновременного синхронного просмотра есть кучка очень полезных фич:

    5e7747d85c65f261952774.jpeg
    Ответ написан
    7 комментариев
  • Как из ACF получить значения группы полей для всех записей?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    SELECT * 
    FROM `wp_postmeta` 
    WHERE `meta_key` = 'field_name';

    Для более детального ответа уточните ваш use case. Чем более детально описана ситуация / проблема, тем более точно на нее можно ответить.
    Ответ написан
  • Цвет опции на английском языке?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    На перечисленных сайтах англоязычные обозначения цветов используются в основном для электроники, где цвет часто является частью названия продукта / модели и тд, разумеется на английском. Например, цвета iPhone (rose gold и тд) или какого-нибудь Samsung Galaxy S10e (у которого классические простые цвета - black, white, yellow, green). У таких товаров цвет также содержится в названии модели. И все потому, что пользователи часто ищут именно конкретную "модификацию", например "Apple Watch 4 silver gray" (вы же, кстати, не ждете что товар будет называться Часы Яблоко 4 серебристо-серые, правда?). А вот другие товары, у которых цвета просто являются вариациями и не продвигаются отдельно, чаще всего написаны на русском/украинском, никто не заморачивается даже склонением - это тупо параметр. А часто в название товара запихивают даже оба варианта - опять же, ключевые слова для поиска. Сравните например на розетке смартфон и тапочки:
    5dbacfe226fa0507423305.jpeg
    5dbacfeaccabe391071946.jpeg

    На других сайтах (комфи, цитрус и тд) это не так заметно, потому что там все связано с электроникой и бытовой техникой. Но если присмотреться внимательней, например зайти в рабочий инструмент на том же комфи, то в характеристиках цвет будет обозначен на русском/украинском. А вот для смартфонов, смарт часов и прочего в UI фильтров комфи вообще название цвета не пишет, только в названии. Зачем - см. выше. Названия цветов для многих категорий товаров являются частью "модели", цвета эти самые часто не обычные стандартные цвета, а "фирменные", даже один и тот же товар в разных цветах может стоить по разному.
    Ответ написан
    Комментировать
  • Можно ли рассчитать стоимость системы без ТЗ?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    С помощью хрустального шара.
    Ответ написан
    Комментировать
  • Как ускорить скорость загрузки сайта, метрика и движовосайт тянут вниз?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Отложить загрузку на 5 секунд - выход, но грубоватый (имхо конечно). Я делаю по-другому - оборачиваю код в скролл-ивент + задержка в 1 секунду. То есть, сайт загрузился быстро, и как только пользователь начал скроллить хоть чуть-чуть - секундный таймаут и загрузка дополнительных ресурсов. Гугл доволен, пользователи вообще не замечают задержки:

    var fired = false;
    
    window.addEventListener('scroll', () => {
        if (fired === false) {
            fired = true;
            
            setTimeout(() => {
                // Здесь все эти тормознутые трекеры, чаты и прочая ересь,
                // без которой жить не может отдел маркетинга, и которые
                // дико бесят разработчиков, когда тот же маркетинг приходит
                // с вопросом "почему сайт медленно грузится, нам гугл сказал"
            }, 1000)
        }
    });
    Ответ написан
    29 комментариев
  • Как решить правильно простенькую задачку по php?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    // По вашему коду:
    $source_string = 'abcdefghijklmnopqrstuvwxyz';
    $string_randomized = str_shuffle($source_string); // Перетасовали буквы внутри строки
    echo substr($string_randomized, 0, 6); // Вывели первые 6, без повторений и каждый раз после str_shuffle - уникально-рандомно (относительно, но задача именно этого и требует)
    
    // По красоте:
    $characters = 'abcdefghijklmnopqrstuvwxyz';
    echo substr(str_shuffle($characters), 0, 6);
    
    // Тестируем в psych:
    >>> $characters = 'abcdefghijklmnopqrstuvwxyz';
    => "abcdefghijklmnopqrstuvwxyz"
    >>> echo substr(str_shuffle($characters), 0, 6);
    fzpvad
    >>> echo substr(str_shuffle($characters), 0, 6);
    bzeiyj
    >>> echo substr(str_shuffle($characters), 0, 6);
    pgkuaq
    >>> echo substr(str_shuffle($characters), 0, 6);
    otjszx
    >>> echo substr(str_shuffle($characters), 0, 6);
    zjwaox
    >>> echo substr(str_shuffle($characters), 0, 6);
    rxuhnv
    >>> echo substr(str_shuffle($characters), 0, 6);
    rihoec
    >>> echo substr(str_shuffle($characters), 0, 6);
    uwdfgn
    >>>
    Ответ написан
    5 комментариев
  • Стоит ли становиться fullstack?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Не стоит.

    Я сам лет 12 был FullStack и даже активно отстаивал точку зрения, что FullStack это круто, это удобно клиентам, это полезно (даже must have) знать все составляющие и тд и тп. Потом я как-то принял решение уйти полностью в бекенд. И спусть несколько лет понял что это было одним из самых важных и самых правильных решений в моей жизни/карьере.

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

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Вам понадобится посмотреть код плагина кеширования и найти то место, где можно включиться и помочь ему понять, что если wp_is_mobile() у нас true, то берем (или создаем и берем) мобильный кеш, если false - десктопный. Если используется их метод кеширования через mod_rewrite, то и настройки этих rewrite надо будет подкрутить, на уровне сервера определяете desktop/mobile.

    В описании плагина есть:

    8. Enable/Disable cache option for mobile devices


    То есть, плагин уже умеет различать девайсы, по определению. Возможно стоит поискать есть ли у него там хуки.
    Ответ написан
    Комментировать