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

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

    все это можно заменить на if (name.includes(3)) {
    Ответ написан
    1 комментарий
  • В Windows на жёстком диске установлены программы более чем на 100г и игры более чем на 150г, куда это добро установится в linux?

    shambler81
    @shambler81 Куратор тега Linux
    В линуксе другая иерархия ОС
    если в винде философия хранить все файлы программы в папке этой проограммы
    То в линуксе программа рассыпается по всей системе
    запускаемые файлы к запускаемым
    логи к логам
    библиотеки к библиотекам и тд
    и не забывайте что линукс это конструктор по этому вариантов сверху еще миллион.
    В общем нет одной папки как правило.
    Ответ написан
    2 комментария
  • Какие библиотеки и фреймворки стоит изучить в c++?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Бесполезно учить библиотеки - это примерно как учить телефонный справочник - вроде знаний много, и они полезные, но пользу из них можно извлечь только тогда, когда кому-то нужен телефон Иванова.

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

    То есть, нужно сформировать у себя способность решать задачи на C++ и искать информацию в интернете.

    Попросят вас нарисовать текстурированный вертящийся кубик - вы буквально эту формулировку можете набить в гугл, оттуда получить сведения о том, что кубики можно рисовать вручную, написав весь 3d код самостоятельно (это интересно и увлекательно, кстати), или есть три кита opengl, d3d и vulkan, которые рисуют

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

    Короче, на рынке полезно не знание наизусть телефонного справочника, а умение искать в нем телефоны.
    Ответ написан
    1 комментарий
  • Зачем требуются различные СУБД, если можно использовать структуры данных языка, например словари и списки в питоне?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Если на структурах языка реализовать весь набор функций, предоставляемых СУБД, то получится новая СУБД. Зачем тратить время и силы на написание СУБД, если есть уже готовые?
    Ответ написан
    Комментировать
  • В чем разница между M.2 и PCI Express 2.0 x4?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Не знаю, какую вики читает ваше впечатление, но M.2 - это универсальный интерфейс, который, в зависимости от ключа, может предоставлять и PCI-E, и SATA, и USB и другие интерфейсы.
    https://ru.wikipedia.org/wiki/M.2#%D0%A4%D0%BE%D1%...
    Ответ написан
    2 комментария
  • Почему Service Locator это зло и что использовать вместо?

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

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

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

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


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

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

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

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    40083994-maks-shlee-qt-5-10-professionalnoe-programmirovanie-na-c-40083994.jpg
    Ответ написан
    Комментировать
  • Как лучше проверять приходящие данные PHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Это все полная бессмыслица.
    "типо от атак" никакие "проверки" вообще не нужны
    функция testInput - это вообще какаой-то ужас, который кочует из отного видео в другое

    Надо понимать две вещи

    1. "от атак" ничего никогда не проверяют. Нормально написанному коду никакие атаки не страшны. Поэтому надо просто писать нормальный код.
    2. проверять данные в принципе можно. Но не "от атак", а просто для удобства. Нормальное рест апи всегда скажет клиенту, если у него данные не в том формате. Только в случае, если проверка не прошла, надо не молча корёжить данные, а вежливо ответить что они не подходят. А сейчас у тебя код только тупо портит входящие данные.
    Ответ написан
    4 комментария
  • Как установить kali linux второй системой на андроид телефон?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Никак. Если кто-то спрашивает "как поставить kali" - она ему не только не нужна, она ему категорически противопоказана.

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

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Битрикс - это не РНР. Это битрикс.
    Чтобы заниматься битриксом, надо учить битрикс. И задания выполнять на битриксе.

    Да, и в любом случае, перед тем как учить любой язык программирования, сначала надо научиться гуглить.
    Чтобы научиться находить тот миллион ответов на твой вопрос, который уже написан в интернете.
    Ответ написан
    7 комментариев
  • Чем плох Microsoft SharePoint Designer?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Любой WYSIWYG генерирует мусорную разметку.
    Ответ написан
    1 комментарий
  • Как вы изучаете языки программирования и технологические стеки БЫСТРО?

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

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

    А остальные пункты норм, их отбрасывать как раз нельзя.
    Ответ написан
    8 комментариев
  • Как вы изучаете языки программирования и технологические стеки БЫСТРО?

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

    схема: - читаете getting started, чтобы было общее представление о чем это и где искать инфу. Потом стартуете - пилите любой проект, по ходу дела решая вопросы которые возникают. Так вы изучаете то что вам надо реально а не "все подряд". через неделю уже нормально пишете на этом новом, через месяц - хорошо.

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

    @dzhebrak
    if(in_array($_GET['year'], ['2016', '2017', '2018', '2019', '2020', '2021', '2022', '2023', '2024', '2025'])) {
    	$jndns['year'] = $_GET['year'];
    }

    https://www.php.net/manual/ru/function.in-array.php
    Ответ написан
    4 комментария
  • Как включить рут нормально и на постоянную основу?

    @q2digger
    никого не трогаю, починяю примус
    не работай под рутом. никогда.
    это все что надо знать и молодому и старому, если он вдруг по недоразумению поставил себе Linux.
    Ответ написан
    Комментировать
  • Почему Windows сообщает "Нет доступа" при копировании файлов, хотя я админ?

    HemulGM
    @HemulGM Куратор тега Windows
    Delphi Developer, сис. админ
    ОС понимает, что сейчас все кругом с правами админа и все поголовно *диоты. Вот и запрашивает подтверждение, чтобы вы *ерни не наворотили.

    А если серьезно, то винда запускает софт с ограниченными правами, проводник в том числе. Делается это для повышения безопасности от кривых рук.
    Ответ написан
    1 комментарий
  • Ларавел миграция?

    glaphire
    @glaphire
    PHP developer
    Автоинкремент все равно должен возлагаться на id как primary key, а не на stock_status_id, как у Вас сейчас в примере. Логику "дубли или автоинкремент" нужно делать на уровне приложения, а точнее уровня модели и события вставки.
    Ответ написан
    Комментировать
  • Почему все рекомендуют использовать linux как ОС для разработки?

    @Vitsliputsli
    Все зависит от того что делаете. Если разрабатывает для nix-серверов, то рекомендуется использовать такую же систему для разработки, иначе вместо нормальной работы будете выдумывать костыли как обойти тот функционал, который в Windows не работает. Либо сразу создавайте виртуальные машины, linux в windows или иные решения.
    Второй момент GNU-инструменты, но они уже портированы на Windows и там более менее нормально работают.
    В остальном ваши личные предпочтения, например не хочется в 2020 году разбираться с кодировками, которые в Windows системе одна, в ее консоли другая, а нужно работать вообще с UTF-8. Или раздражает что система живет своей жизнью и вы ей никак не управляете. Или вы часто используете типичный для Windows софт, а в Linux это все придется запускать костылями, а то и вообще не получится.
    Что значит, пока не попробуешь не узнаешь.
    Ответ написан
  • Почему все рекомендуют использовать linux как ОС для разработки?

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

    Psixodelik
    @Psixodelik
    Преподаватель на Hexlet
    Это вы себя накручиваете.

    Никто специально не сидит и не учит все термины. Тут как с другим языком — чем больше общаешься, тем лучше запоминаешь. Тут тоже самое: чем больше используешь определённые технологии, тем больше будешь знать терминов из этой области. А что не используешь, то конечно же забываешь. Не бери в голову. Если собес не проходит только из-за :not, то оно и к лучшему
    Ответ написан
    Комментировать