Задать вопрос
  • Какие еще проекты сделать junior на php помимо дефолтных?

    nefone
    @nefone
    Junior PHP разработчик
    Junior разработчиком после выполнения пары проектов в отвратительном качестве не стать.

    в моей голове junior - это тот, кто пишет круды и что-то там допиливает в проектах

    Этот тот которому дают простое задание и говорят, как делать и он делает, так как ему сказали.


    Я могу сделать какой-нибудь обычный crud с sql, но, видимо этого не достаточно.

    У Вас не обычный CRUD, а тот который никогда делать не надо. Следует узнать о шаблозаторах Twig и Smarty. Попробовать сделать свою простую шаблонизацию на PHP, что бы отделять верстку о логики.

    Также у меня есть пару книг популярных по этому языку и там тоже нечего взять полезного.

    Я думаю, если бы Вы прочитали PHP 7 Котерова, может быть не задавали бы такого вопроса. Можете начать с PHP 7, и обязательно выполнять задания, которые там даны в конце каждой главы. Если хочется быстрее понять PHP можете пройти интенсив. (бонус, что будет опытный наставник и работа с системой контроля версий).

    После того, как будет понимание о языке PHP и его возможностях, следует посмотреть на работу с SQL, создать несколько баз данных руками, попробовать JOIN из нескольких таблиц, написать простой CRUD каталог по архитектуре MVС, что бы понять, как реализуется роутинг.

    Поиграться с каким нибудь API, делать получение и отправку запросов.

    Изучать тему Linux и как работать в консоли, настройка LAMP и LEMP окружения.

    Желательно посмотреть на Docker и Vagrant, запустить их у себя на машине и установить внутри какой нибудь обычный WordPress.

    Попробовать работу с PHP фреймворками, сделать несколько простых проектов.

    Изучать лучшие практики работы PHP правильный путь

    P.S. и постоянно учиться чему то новому...
    Ответ написан
  • Как ускорить скорость загрузки сайта, метрика и движовосайт тянут вниз?

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

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

    profesor08
    @profesor08 Куратор тега PHP
    Вот это order_fields поле должно быть объектом. В целом, если хочется удобства, целостности данных и надежности, то неплохо бы вместо ассоциативных массивов использовать обычные объекты, самые простые с обозначенными типами для полей, да хоть с паблик полями, или сделать их readonly.
    Ответ написан
    5 комментариев
  • ООП: Правильно ли архитектурно так делать?

    Vamp
    @Vamp
    Возможно, это нормально, так и должно быть ? или как архитектурно правильно решать подобное?

    Это нормально. Безликие массивы становятся осмысленными сущностями. Такой код становится проще понимать и поддерживать.

    Используемый вами подход называется data transfer object (DTO). Широко распространенная практика. DTO отлично сочетается с иммутабельностью, которая присутствует в ваших классах.

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

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

    Называется ORM. Находится в ответственности ORM слоя/фреймворка.
    Ответ написан
    4 комментария
  • Какой будет ответ var_dump(0 == "wow"); ??

    @Vitsliputsli
    Нет, не так.
    В 7 версии: т.к. сравниваем число и строку, то преобразовываем строку в число (int)"wow" = 0, и сравниваем результат: 0 и 0 - true.
    В 8 версии: т.к. сравниваем число и строку, то проверяем содержит ли строка число, в данном случае - нет, не содержит (что-то вроде is_numeric("wow")), а раз не содержит - false.

    Отсюда вывод, не стоит использовать подобные конструкции. Всегда пользуйтесь сравнением с учетом типов, если нужно, то приводите к нужному типу вручную. Такая конструкция возможна только в самом крайнем случае.
    Ответ написан
    2 комментария
  • Как убрать лаги при просмотре 4К 60fps видео снятого на Go - pro 9?

    @rPman
    4k и 8k при 60fps это экстремальные параметры видео, для этого требуется аппаратная поддержка и специфический софт. Очень мало плееров способны это проиграть на универсальном железе (pc gpu).

    Windows media player это худший плеер на свете, как по функционалу и юзабилити так и по производительности. Я думал на него забили все более чем полностью.

    только один KM-player вытягивает нормально
    ну тогда какие проблемы?
    при установленном k-light codec pack должен установиться еще и media player classic, неужели в нем тоже лагает? всем всегда на windows рекомендую только его это лучший плеер.

    Еще (на linux) наилучшие результаты я получал от ffmpeg (точнее его утилиты ffplay) смотрел 8к видео и больше с разными fps на достаточно слабой машине.

    p.s. самый функциональный и эффективный плеер поставляется с браузером, только в нем я запускал проигрывание 8к (я уже не помню сколько там было пикселов точно, огромное) в режиме повтора, и только html video делает это без паузы
    Ответ написан
    3 комментария
  • Как убрать лаги при просмотре 4К 60fps видео снятого на Go - pro 9?

    @Drno
    Никто не пользуется встроенным проигрывателем в винде.
    Попробуйте vlc плеер
    Ну и смотрите Вы с диска пк, не с карты же?
    Ответ написан
    1 комментарий
  • Кто-то уже окунался в разработку с Nuxt 3?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    Вы соберёте все проблемы и завалите все дедлайны. :)

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

    Причём после релиза было ощущение что "сейчас всё быстренько допилят" (потому что и без того релиз на полгода откладывали), но динамика показывает, что ближайшие полгода - вряд ли, а то и год.

    Да и вообще есть ощущение, что они слишком фанатично пытаются всё упростить и обвешать магией, ушли куда-то не туда.
    Всякий сахарок - это прикольно, но должно быть опционально и навешиваться поверх уже готовой, работающей системы, а там половина issue - это борьба с теми проблемами, которые они сами себе придумали в погоне за "хотим, чтобы тут одну строчку написать - и дальше оно всё само".
    Но альтернатив не видно, поэтому пока Nuxt 2, возможно Nuxt Bridge, но и то смотреть надо.

    Другой вопрос - а зачем вам SSR для CRM? Для морды можно и пререндер сделать, а всё что за авторизацией - кому вообще интересно, есть там серверный рендеринг или нет?
    Ответ написан
    4 комментария
  • Чем отличается putFile от обычного store??

    GogElf
    @GogElf
    Хокаге
    store это обертка над putFileAs для удобства - смотрите здесь
    putFile тоже использует putFileAs
    Ответ написан
    Комментировать
  • Что и как общепринято возвращать из функции destroy() контроллера для API, можно пример?

    @kandrash
    Кратко о себе
    Вот более стандартные статусы https://developer.mozilla.org/en-US/docs/Web/HTTP/... ИМХО 404 тут вообще не в тему

    В исходниках Laravel или каких-то официальных пакетов они 204 вроде возвращают. Т.е. как бы уже по статусу 2** очевидно что запрос успешен, и всякие 'Удалено' там не нужны
    Ответ написан
    1 комментарий
  • Как найти "скрытые" include? РНР код обращается к переменной, но она нигде явно не задана?

    JustOxlamon
    @JustOxlamon Автор вопроса
    .net core backend разработчик
    Итак для тех кто, так же как и я, не будет видеть "скрытых" include. Но будет думать, что они ДОЛЖНЫ быть по всей логике, ответ следующий: для сервера apache есть .htaccess (да еще и не один, а во многих папках) и там будут правила перенаправления запросов RewriteRule (или аналогичные, например, вот справка https://httpd.apache.org/docs/2.4/howto/htaccess.html). Именно эти правила и могут вам помочь. В моем случае срабатывало правило

    RewriteRule ^(Frameset|Journal|Objects|Reports)/(viewFooter|viewHeader|Structure|Operation)/$ index.php?mode=$1&action=$2

    которое перенаправляло запросы вида /frameset/viewFooter на адрес /index.php с параметрами, а уже там был нужный include.
    Ответ написан
    1 комментарий
  • Почему рекомендуют использовать Vuex как прослойку для работы с API (через axios)?

    @TheAthlete
    Perl 5, C, C++, компьютерные сети
    Когда следует использовать Vuex?
    Flux-библиотеки похожи на очки: вы будете точно знать, когда они вам понадобятся.


    Если не понимаете, зачем vuex вам нужен - пока не используйте)
    Ответ написан
    Комментировать
  • SCSS использование &?

    delphinpro
    @delphinpro Куратор тега Sass
    frontend developer
    Работает. На выходе получится

    a:nth-child(2) {
      margin-left: auto;
      background: none;
      border: none;
    }
    a:nth-child(2):hover {
      color:#1F8EFA;
    }
    Ответ написан
    Комментировать
  • Подойдет ли 72% NTSC для работы с цветом или только 100% srgb?

    72% NTSC = 72% Adobe RGB = 100% sRGB
    Если вам нужно работать с цветом в пространстве Adobe, то не подойдёт.
    Если вы работаете с цветом в пространстве sRGB, то подойдёт.

    sRGB имеет смысл выбирать, если вы планируете, что вашу работу будут смотреть обычные люди на обычных мониторах. (например вы занимаетесь веб дизайном)
    Adobe RGB следует выбирать, если вы планируете потом свою работу пускать в печать (например вы работаете с фото и хотите потом напечатать их в журнале)
    Ответ написан
    4 комментария
  • Как задать queue name в laravel?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Laravel
    Полагаю, что на самом деле вы спрашиваете «откуда берется очередь emails». Сущности очереди, по большому счёту, в Laravel нет с точки зрения простого сайта. Вы названия нужных очередей указываете в конфигах приложения и супервизора, а дальше фреймворк сам под капотом их создаёт.
    Ответ написан
    Комментировать
  • Где можно взять не лендинговые макеты сайтов?

    pro100taa
    @pro100taa
    Берете Wordpress, устанавливаете. Идете в официальный каталог тем https://wordpress.org/themes/ и выбираете необходимую. Там большинство - темы многостраничники.

    Вот темы из семейства Астра (популярная тема) https://wpastra.com/starter-templates/?page-builde.... Половина бесплатные.
    Ответ написан
    Комментировать
  • Webpack нужен только для SPA?

    Нет, не только. Вебпак может что угодно собирать.
    https://dev.to/marcinwosinek/tutorial-for-building...
    Ответ написан
    Комментировать
  • Почему появляется ошибка при установке расширения через composer?

    kawabanga
    @kawabanga
    lapaygroup/russianpost[0.4.5, ..., 0.4.12]

    В теге https://github.com/lapaygroup/RussianPost/blob/0.4... "guzzlehttp/guzzle": "^6.3",
    Выберите другую версию пакета RussianPost
    Ответ написан
    Комментировать
  • Как выглядит Команда Cron для удаления папки на сервере (со всеми файлами) каждые 30 минут?

    DevMan
    @DevMan
    */30 * * * * rm -rf /systen/storage/cache/exchange1c


    но, мне кажется, что удалять каждые 30 минут - не верно. нужно удалять в 30 (или больше) минут каждого часа. 30 * * * * rm -rf /systen/storage/cache/exchange1c
    Ответ написан
    4 комментария
  • Как прочитать файл созданый npm run serve файл?

    npm run serve в этом коде serve это название скрипта, прописанного в package.json чтобы понять что там запускается, нужно как раз содержимое строки с serve
    Ответ написан
    Комментировать