Vitalychez: что? Это колбэк, обработчик события что пришло сообщение. Он вызывается ровно тогда, когда у вас приходит сообщение. Избавьтесь от глобального window.блабабла и просто обрабатывайте входящее сообщение.
Иван Соломенников: я знаете ли мысли читать не умею. Из контекста не совсем понятно было зачем человеку substr если эту задачу красиво и легко выполняет rtrim. Да и в Go аналог есть, называется TrimRight
Владислав Турчинский: что значит "отказ от грида"? Вы просто грид на flexbox будете использовать. По сути уменьшится количество CSS + можно делать весьма сложные штуки тривиальным способом.
в тренде нынче domain-centric подходы при которых база данных генерится на основе мэппингов сущностей, представляющих собой бизнес объекты (Hibernate, Doctrine, etc). Но я просто прохожу мимо.
phxdev: смотреть на другие языки тоже полезно. Мне например было полезно в свое время практика с Python и Javascript что бы чуть по новому взглянуть на вещи. Но конечно же сначала сконцентрируйтесь на чем-то одном. Читайте книги (и не только по PHP, огромное количество годной литературы по Java написано, и большая часть оной была написана до 2010-ого, в принципе все что нужно знать придумано еще в конце 90-х и как-то забылось (Боб Мартин связывает это с крахом доткомов в начале 2000-ых).
По поводу "писать как попало" - да, есть такое. Нужна определенная культура разработки. Очень хорошо дурь из головы выбивает поддержка чужого говнокода.
Андрей: я не пользуюсь хостингами, могу посоветовать вам только digitalocean. последний хостинг который мне приходилось видеть - hoster.by, и это связано со спецификой законодательства страны где находился бизнес.
Повторюсь, если ваш хостер предоставляет SSH доступ (большинство предоставляют) то значит все хорошо. Если нет - могу посоветовать воспользоваться сервисами по подбору хостингов: pickuphost.ru/shared/filtr/ssh
Даша Циклаури: кастомные шаблоны в рамках ng-repeat не особо нужны. Можно просто выводить там компонент результата поиска (что будет правильнее).
Степан Кормилин: я не знаю о чем вы, причем тут ng-submit и т.д. Просто еще одно состояние для отображения результатов поиска. Или просто директивка. Все должно быть директивкой (тобишь. компонентом).
furyon: проблема в том что у вас в принципе не должно быть ошибок... ну то есть если вы выполили один запрос, а второй зафэйлился, то надо откатывать всю транзакцию. Оба запроса. Конечно есть случаи когда это не так, но это весьма редкий кейс и обычно разработчик вкурсе того что он хочет сделать.