• Зачем в условии if такое?

    greyhard
    @greyhard
    Программист, автолюбитель
    .match возвращает массив
    [] пустой массив
    если в строке не будет символа 3 то массива не будет
    || означает или
    это нужно что бы потом сработало .length !== 0
    так как если .match не вернет соответствие то мы подставим [] и уже от него посчитаем .length
    иначе будет ошибка для строки без символа 3

    все это можно заменить на if (name.includes(3)) {
    Ответ написан
    1 комментарий
  • Как анонимизировать запись голоса? Как скрыть/удалить шумы?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Преобразовать голос в текст
    Текст преобразовать в голос любой доступной говорилкой
    Ответ написан
    5 комментариев
  • Почему Service Locator это зло и что использовать вместо?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Все эти страшные слова - они на самом деле всегда про одно и то же - про связность. Когда ты хардкодишь внутри класса вызов какого-то конкретного сервиса - ты намертво к нему привязываешься. И чтобы поменять сервис на другой, ты будешь вынужден поменять код класса. Окей, поменял. И тут же в другом месте, где этот же класс использовался, что-то сломалось! И что теперь? Делать два класса, которые различаются одной строчкой? Нет конечно. А как тогда использовать один и тот же класс для обработки разных входящих данных (или одних и тех же данных, но разными способами)? Сделать его поведение изменяемым. То есть сделать изменяемыми те инструменты, которыми он пользуется - т.е. его зависимости.

    Поэтому все зависимости обычно передаются через конструктор (и поэтому и называются инъекция зависимостей.)

    Таким образом мы можем менять поведение класса, не меняя его код

    Но тут надо понимать, что всё это работает только при правильном применении ООП. А точнее просто при применении ООП. Потому что 98% "ООП" кода, который пишется на РНР - это голимая процедурщина, даже если она обёрнута в классы и методы. Если у тебя метод класса представляет из себя стену кода, которую ты тупо перенёс из файла, инклюдившегося в любимое похапешное спагетти - то это не ООП. Это та же процедурщина, вид сбоку. И смысл использования dependency injection ты с ним не почуствуешь. Будешь конечно применять, но в качестве карго культа - потому что тебе это на тостере написали.
    А вот когда твой код начнет становиться действительно объектным - тогда стразу станет понятнее.


    Похожим на сервис локатор является сервис- или DI-контейнер. Используемый вручную, он является тем же самым сервис локатором. Поэтому вручную его никогда не надо вызывать - что и запрещается в симфоневских конроллерах - а только для автоматического создания классов. В МВЦ у тебя ведь очень многие объекты создаются автоматом - сущности, контроллеры. И вот для того, чтобы при автоматическом создании экземпляра класса у тебя были на руках все требуемые сервисы - и нужен контейнер.

    Соотвтственно, ответ на вопрос "что использовать?" очень простой:
    - при ручном создании экземпляра объекта, все зависимости передавать в него через конструктор, а не получать "из воздуха" в коде.
    - при автоматическом создании экземпляра объекта, использовать dependency injection container

    В этим смысле очень полезно освоить Симфони - строгий фрейворк, в котором нет сервис локатора и в котором запрещено пользоваться контейнером напрямую.
    Ответ написан
    4 комментария
  • Отправка http-запросов через Postman vs js на сервер с ограниченным доступом?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Postman - это расширение браузера, а не обычная страница. У него другие права. В частности, он игнорирует политику CORS.
    Ответ написан
    Комментировать
  • Как не попасть в "неправильный" PHP?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    нормальной архитектурой, качеством кода, нормальным современным процессом с CI/CD и т.д.

    От говнопроекта не застрахован никто, вне зависимости, php, java, c#, js, brainfuck...
    Чаще всего архитектура, качество кода и вот это вот все развито там, где это критично для бизнеса и бизнес понимает, либо пишем нормально, либо жопа. Но таких, к сожалению, мало. Можете на собесе спросить, какой даунтайм допускается и как часто они происходят. Если адунтайм в минуту надо согласовывать за неделю и более - скорее всего об качестве пекутся. Если даунтайм в пол часа не особо проблема - всем нас*ать))

    С одной стороны в требованиях были знания стильно-модно-молодежных Redis, Symfony понимания Git-Flow, Agile и т.д. и там же указаны - знание WP 1С-Битрикс. Как это можно понимать?

    Это некомпетентность составившего вакансию, не более.

    Как то, что придется занимать разно плановыми задачами?

    Задайте вопрос рекрутеру))

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

    Задайте несколько вопросов:
    0. Вы продуктовая компания?
    1. Что с их точки зрения легаси, какой его процент в проекте и как часто возвращается технический долг?
    2. Какой процесс разработки от начала и до конца?
    3. Какие стандарты и требования используются?
    4. Какое покрытие тестами?
    Ответ написан
    Комментировать
  • Как запретить доступ для юзеров с VPN?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    От накручивания не баны впнов помогают, а верификация. Например, по номеру телефона.
    Ответ написан
    2 комментария
  • Как вы изучаете языки программирования и технологические стеки БЫСТРО?

    Zoominger
    @Zoominger Куратор тега IT-образование
    System Integrator
    начинать с курсов ... а доки приберечь на потом

    Это вы-то не новичок? Только новички пренебрегают официальной документацией от разработчиков, предпочитая курсики или убогонькую литературу, которая пересказывает ту же документацию, привязав её к таким же убогим частным случаям. Изучая частное, вы будете обезьянкой (я сейчас не про веб, честное слово, просто другого слова нет), которая надрессировалась делать что-то определённое, а на другой задаче растеряется.

    А остальные пункты норм, их отбрасывать как раз нельзя.
    Ответ написан
    8 комментариев
  • На React нельзя делать конкурентов Facebook?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Это лицензия реакта с гитхаба. Тут английским по белому написано, что любая персона, получившая копию реакта имеет право делать с ним все что хочет, в том числе копировать, компоновать, публиковать, распространять или продавать.

    MIT License

    Copyright (c) Facebook, Inc. and its affiliates.

    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the "Software"), to deal
    in the Software without restriction, including without limitation the rights
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    copies of the Software, and to permit persons to whom the Software is
    furnished to do so, subject to the following conditions:
    Ответ написан
    Комментировать
  • На React нельзя делать конкурентов Facebook?

    alex_shevch
    @alex_shevch
    Frontend Developer
    А с чего вы вообще это взяли?

    Реакт распространяется по лицензии MIT, в рамках которой:
    "разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, слияние, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, а также лицам, которым предоставляется данное Программное Обеспечение"
    Ответ написан
    Комментировать
  • На React нельзя делать конкурентов Facebook?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Все что не запрещено то разрешено. Один из принципов права.
    Ответ написан
    Комментировать
  • Селектор пользовательского атрибута HTML5 есть в CSS?

    profesor08
    @profesor08 Куратор тега CSS
    Комментировать
  • Могуть ли забанить в вк за баг?

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

    newross
    @newross
    Product owner
    Нигде.
    Самостоятельное решение задач требует более высокого уровня квалификации. Есть хорошие и дорогие фриленсеры, которые и ТЗ сами составят, утвердят с вами и полный бюджет помогут рассчитать.
    Средний уровень компетенции достаточно хорошо оплачивается. Зачем миддлу бесплатно участвовать в очередном проджекте с мутными перспективами?
    Так что если хочется сэкономить - либо пишите ТЗ фрилансерам, либо работайте с джунами.
    Ответ написан
    4 комментария
  • Какой есть простой дебаггер PHP?

    glaphire
    @glaphire Куратор тега PHP
    PHP developer
    xdebug+phpstorm (или другая ide, но со штормом лучше). Один раз надо отмучаться и разобраться, дальше будет легче. В качестве API клиента - Postman (там можно настроить, чтобы запрос из него активировал xdebug)
    Ответ написан
    2 комментария
  • Есть ли уроки по интеграции Laravel и Яндекс.Кассы?

    Sanes
    @Sanes
    Какие тут могут быть уроки? Вам достаточно знаний Laravel и умение читать документацию Яндекс Кассы.
    Ответ написан
    4 комментария
  • Нужен ли ID в базе mysql?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Ты не понимаешь одной очень простой вещи. Что база у тебя реляционная. Это всё.
    Как только поймёшь - сразу станет ясно, что в таблице пользователей поле id необходимо.

    В реляционной базе данных таблицы между собой связаны. И что ты будешь писать в связанную таблицу - е-мейл? Серьезно? А если пользователь поменяет его? Будешь по всем таблицам бегать и менять?

    У строки в бд, если она хранит какую-либо информацию, должен быть уникальный, неизменяемый, прикрепленный к ней навечно идентификатор.
    Чтобы независимо от изменения самих данных в строке, ее всегда можно было идентифицировать.
    Ответ написан
    2 комментария
  • Нужен ли ID в базе mysql?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    шоб ты понимал(а) - Мускуль все равно его создаст, просто не покажет
    а ты себя ограничишь при индексах и запросах
    Ответ написан
    2 комментария
  • Как запустить redis-server на Laravel?

    darakanoit
    @darakanoit
    Батенька, predis/predis и redis-server это лишь библиотеки, вам нужна сама программа(сервис) редиса установить на ваш сервер\локальную машину. Редис например идёт в комплекте поставки опенсервер, либо сами нагуглите как поставить.
    Ответ написан
    Комментировать