Александр @akubintsevread-only
Tech lead
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity
Specialization
Backend Developer
Lead
From 450,000 ₽
Golang
PHP
Linux
High-loaded systems
PostgreSQL
Redis
Docker
2. Писали — наступили на грабли. Некоторые сразу увидели, некоторые спустя какое-то время
3. У нас весь роутинг в nginx, приложение получает только GET запрос.
Проблема тут не совсем в том, где роутинг изначально делался. Когда вы работаете один или в команде есть человек, который стоял у истоков и всё хорошо знает — замечательно. Но часто бывает, что проект живет больше 5 лет и люди менялись каждые полгода-год. В итоге приходит человек вроде меня и видит не то, что даже вавилонскую башню, а просто сборную солянку. И всё потому, что изначально был задан дурной тон в разработке, велосипедостроение, никакой оглядки на best practices и стандартизацию. Всё начинается с мелочей, а заканчивается «разбитыми окнами». Разобраться и навести порядок — не знаю реально ли. Уже не первый раз в такое попадаю. Раньше сваливал побыстрей.
Сейчас работаю в проекте под большой нагрузкой, где делали изначально роутинг на веб-сервере. Вышел такой некислый кусок nginx строк на 800. Прошло несколько лет, наняли SEO-оптимизатора. Интересно, вы представляете, сколько грабель было собрано на продакшене, пока отрубали банальный trailing slash в ссылках?
Вот тут в конце упомянули про библиотеку под Android. Как-то то ли на Тостере, то ли у знакомого всплывал вопрос на тему её использования. Ничего толкового нагуглить не удалось. В лучшем случае были отсылки на экзотические способы установки node.js на рутованые девайсы. Так как же на самом деле обстоят дела?
Делал чатик с помощью Ratchet, замечательно работает под этим браузером.
Надо попробовать.
empty($array[$key]) ~ !isset($array[$key]) || $array[$key] == false
Я считаю легко еще отделался.
Мне надо что-то вроде 50% функционала стандартного Symfony 2. То есть с yaml-роутингом и конфигурационными файлами, symfony-translate, twig и DI хоть в каком-нибудь виде. Мне показалось проще допилить Silex до этой комплектации, чем урезать Symfony. По крайней мере в случае с Silex накоплена обширная база знаний.
P.S. я вспомнил еще один нюанс с компонентами 2.8 — негарантированная поддержка php 5.3, что опять же существенно для меня в настоящий момент, увы.
Конечно в лидерах по такому опросу будут RAD-фреймворки из-за количественного преобладания задач по созданию типовых веб-сайтов.
А если я занимаюсь поддержанием и развитием legacy кода под большой нагрузкой, в котором много backend логики реализовано?
Я лично выбрал Silex.
Описанный подход можно конечно использовать, но он мне кажется больше сопряжен с возможностью накосячить.
Достаточно было использовать адаптивную верстку.
С другой стороны, есть свой проект, как раз SPA, но делал через пень-колоду на голом jquery и requirejs. Надо бы перевести его на js-фреймворк. Наверное ваш опыт поможет сократить время :)
Тогда мне, как бекенд-разработчику меньше работы, чтобы отдавать структурированные данные и не забивать себе голову клиентской частью.
Либо в случае, когда приложение начинает всё больше походить на SPA и тогда серверный рендеринг становится действительно 5-м колесом.