• Актуален ли Yii2 Фреймворк в 2020?

    myks92
    @myks92 Куратор тега Yii
    Нашёл решение — пометь вопрос ответом!
    Тут много нюансов и ответить однозначно сложно. Как уже написал Иван Шумов фреймворк - это инструмент. Каждый инструмент подбирается под конкретную задачу:

    • СMS - система управления сайтом (Wordpress, Joomla и т.д.). Создан для простого и удобного управления сайтом (контентом). Как правило, доступен для работы простому пользователю, без знания языков программирования. Подойдёт для: простых сайтов, блогов, там где не требуется нагрузка и безопасность.
    • RAD framework (Yii2) - фреймворк для быстрой разработки. RAD Фреймворк имеет, монолитную и связанную архитектуру. Он является антипаттенрном и позволяет вам делать всё что угодно, лишь бы вы быстро собрали свой проект. (Используется паттерн Table First - спроектировали базу и по схеме сгенерировали модели данных). При этом Вам никто не говорит, что он не может использоваться для серьёзных проектов. Например, DNS..
    • Компонентные фреймворки (Symfony, Laravel). Это фреймворки, которые разделены на независимые компоненты, которые вы можете подключать к своему проекту при необходимости. В самом фреймворке заложен только необходимый минимум, а всё остальное вынесено в компоненты. Эти компоненты могут использоваться (или не использоваться). Могут использоваться для другого фреймворка (сам Yii2 использует компоненты симфони). Doctirine, которая позволяет вам забыть о базе данных и сосредоточиться на коде. Фреймворк задаёт вам некий стиль, некую структуру и типизацию и требует более хорошего и обдуманного кодинга. Например, при использовании twig вы не сможете сделать запрос в view. Чего нельзя сказать про Yii. Вы там можете построить хорошую бизнес логику, что и встречается...
    • Микрофреймворки (Slim). В таких фреймворках заложен самый минимум, а всё остальное программист должен искать или писать самостоятельно, выстраивать свою архитектуру приложения. Он легкий и простой. Кто-то и Symfony относит к микрофреймворкам. Тут меня многие могут упрекнуть. Подойдет для очень простых, гибких, легких приложений, например, микросервисов. Фреймворк не задает вам никаких правил и архитектуры. Вы должны сами продумать все детали приложения. Где-то используете twig, где то Data Mapper, где-то ActiveRecord. Для работы с таким фреймворком требуется много знаний и опыта. Так как вам всё придется делать самому. Здесь за вас никто не подумал.

    Что же для чего выбрать?
    Решать вам исходя из конкретной задачи. Здесь нет понятия хуже/лучше. Чтобы что-то выбрать нужно на каждом попробовать собрать пару проектов. Тогда и будет понимание когда и что выбирать. Это как автомобиль. Какой лучше BMW или LADA? Оба автомобиля, но каждый для своей аудитории, по своим потребностям, для своих задач.

    Почему другие говорят что Yii2 плохой?
    • 2 версия морально устарела. Это не значит что ВЕСЬ фреймворк плохой, просто им давно никто не занимался. Сейчас идет разработка Yii3, которая многократно лучше 2 версии, но 3 версия доступна только в демо. Поэтому, если хочется писать НОВЫЙ проект на Yii, то я бы не стал выбирать 2 версию. Можете подождать Yii3, но никто не знает когда будет релиз. Можете начать писать используя Yii3-demo, но там может всё поменяться к моменту релиза.
    • Он монолитный. Если вам требуется сделать проект используя много приложений с разными компонентами, то пойдёте по пути Advanced шаблона, где каждое приложение будет папкой: backend, forntend, console. Однако при большой нагрузке вам потребуется разносить приложения. Тогда ваш core будет дублироваться во всех приложениях. Там будет то, что вам даже не требуется. Потому что Yii2 монолит.
    • В Yii2 используется Actvie Record. AR - это не плохо. Его многие любят, многие ценят и хвалят. Но для больших проектов он предоставляет неудобства. Например, при изменении поля в базе данных - приходится менять все свойства и надеяться что везде поменяли, так как в GrigView используется магия, при получение значений из модели 'value' => 'profile.last_name'. Так же нельзя сделать свойства модели (сущности), приватными. Из-за чего состояние модели можно изменить где угодно и вы никак не проконтролируете это.
    • Много абстракции, которую не распознает редактор. Например, вы можете вызвать в контроллере Yii::$app->user->id. Вам приходится делать докблок, что User это common/auth/Identity, а не yii/web/User


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

    jamessvetsky
    @jamessvetsky
    Специалист по почтам и рассылкам
    ns-записи можно прописать у любого регистратора, по крайней мере с которыми я сталкивался.
    А вот остальные, увы, не у каждого можно прописать бесплатно.
    Примеры из наших - nic.ru, где для этого создана платная услуга DNS-мастер и atex.ru, где несмотря на самые низкие цены на домены ru и рф тоже приходится пользоваться сторонними dns-хостингами.
    Из бесплатных dns-хостингов могу посоветовать три:
    mail.ru - можно одновременно с созданием почты для домена в Майл ру для бизнеса
    cishost.ru - там же можно сделать бесплатно редирект
    dns.he.net - просто удобный бесплатный DNS-хостинг
    Ответ написан
    Комментировать
  • Какой ЯП (профессию) выбрать?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    чем банальный Вэб

    Разработчики онлайн-банкингов и Netflix'овских микросервисов обиделись.
    Ответ написан
    2 комментария
  • Как заняться делом в 13 лет (брать заказы)?

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

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

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

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Иван Шумов и другие - сказали уже всё.
    Я лишь кратко в двух строках добавлю...

    Архитектор (IT) - это тот, кто может спроектировать "ядро" информационной системы так, чтобы она работала быстро, легко расширялась (вширину или вглубину), обслуживалась с минимальными трудозатратами, дорабатывалась новым функционалом, интегрировалась с другими системами, была отказоустойчивой.

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

    Для гита все равно, табы или пробелы
    Ответ написан
    Комментировать
  • Какой формат кода лучше использовать для работы с Git?

    SilenceOfWinter
    @SilenceOfWinter Куратор тега PHP
    та еще зажигалка...
    git'y пофиг
    Ответ написан
    Комментировать
  • Стоит ли идти в веб-разработку?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Web-разработка - это не только сайты для малого и среднего бизнеса. И HTML+CSS+JS - это лишь малая часть web-разработки. Самый главный минус в том, что на входе огромная конкуренция. Но если прорваться через это барьер, то тут не хуже, чем в любых других направлениях ИТ.
    Ответ написан
    9 комментариев
  • Как запретить запись экрана?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Никак.
    Ответ написан
    Комментировать
  • Есть ли какие нибудь проекты для тренировки (анализ данных)?

    tf.keras.datasets:
    • boston_housing module: Boston housing price regression dataset.
    • cifar10 module: CIFAR10 small images classification dataset.
    • cifar100 module: CIFAR100 small images classification dataset.
    • fashion_mnist module: Fashion-MNIST dataset.
    • imdb module: IMDB sentiment classification dataset.
    • mnist module: MNIST handwritten digits dataset.
    • reuters module: Reuters topic classification dataset.
    Ответ написан
    Комментировать
  • Какой код ответа возвратить, если ресурс не существует и доступ к ресурсам этого же типа запрещен?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Код ошибки в порядке следования цепочек проверок.
    401 - верно.
    Ответ написан
    Комментировать
  • Как построить работу в компании без средств?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Виктор, возможно у вас просто бизнес не работает, цифры не сходятся, расходы больше чем доходы и все такое?
    Тогда ответ - в текущей ситуации - никак.
    То есть надо или менять что-то в самой бизнес-модели, или признать что компания убыточная и закрывать ее.

    Важный момент: "тратить на ФОТ меньше чем он реально того требует" - такая себе оптимизация бизнес-процессов. Это как заложить на аренду офиса 2000р когда она стоит 5000. от того что вы на бумаге выделили 2000 потому что "бюджета больше нет" - его вам автоматически за эту цену не сдадут.

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

    DevMan
    @DevMan
    весьма странно, что продьюсер находится в неконтроллируемой среде.
    могу порекомендовать либо пересмотреть подход, либо с продюсера слать на другого продюсера, где валидировать и расталкивать по консьюмерам.
    Ответ написан
    Комментировать
  • Как изучить сервисы Azure?

    kshnkvn
    @kshnkvn
    yay ✌️ t.me/kshnkvn
    А чем не устраивают официальные курсы от Microsoft + очень хорошая документация?
    Ответ написан
    1 комментарий
  • Правильное добавление/обновление таблиц в базах данных?

    Можно в Memcached выполнять агрегацию лайков пачками по 10k плюс ограничением по времени до 5 сек. и затем обновлять агрегированные значения в БД. Напрямую или через очередь.
    Для начала хотя бы так.
    Кроме этого, на клиенте можно оттягивать отправку после 1-го клика при помощи техники debounce. Также по теме https://levelup.gitconnected.com/debounce-in-javas...
    Ответ написан
    3 комментария
  • Как стать data scientist?

    @dmshar
    Не иссякаем поток.
    Надеюсь вы уже ознакомились со ВЧЕРАШНИМ постом:
    Машинное обучение, что нужно знать в математике?
    Прошли по ссылкам, посмотрели, оценили, выбрали наиболее подходящие именно для вас ( в том числе - по уровню подготовки, по финансовым и пр. возможностям) и пришли спрашивать о каких-то конкретных "ресурсах" а не "о вообще". Или хотите узнать мнения конкретных людей, а не обезличенных пользователях Тостера с непонятным отношением к Data Science. Ну, или приведенные в указанных постах рекомендациях вам по какой-то причине вообще ничего не подошло и вы хотите получить еще пару десятков ссылок для углубленного ознакомления?
    Ответ написан
    Комментировать
  • Снимается ли бан сайта от РКН после регистрации домена?

    @Kostik_1993
    Web Developer
    Нет не снимается. Но если вы новый арендатор домена вам достаточно отправить письмо на электронную почту, в нем вы так и должны написать здравствуйте я новый владелец домена, сообщаю что на сайте отсутсвует запрещённые материалы и прошу убрать сайт из реестра запрещённых
    Ответ написан
    5 комментариев
  • Снимается ли бан сайта от РКН после регистрации домена?

    Oxyd
    @Oxyd
    Linux enthusiast
    Разумеется нет. Что-б познать всю бездну тлена и безысходности, читайте Неугомонного Фила.
    Ответ написан
    5 комментариев