• Записи 1545
  • Теги 109
  • Комментарии 3323

Лог жизни

О Symfony и важном в жизни

Круг времён замкнулся: я снова вернулся к тому, с чего в далёком 2010 году начинал знакомство с разными PHP frameworks: к Symfony. Идеологически именно Symfony ближе всего к тому, что я хотел сделать, когда начинал писать MLFW: framework, состоящий и достаточно слабо связных компонентов, в котором практически любой компонент можно заменить на более специфичный под свои нужды (customный), и всё это управляется через файл конфигурации. Но первое знакомство с Symfony было очень неудачным. Во-первых, я тогда не понимал смысла паттерна MVC, да и вообще не знал других вариантов архитектуры Web-приложений, кроме того, что видел в движках типа PHPbb 2 или PunBB, поэтому не хватало даже понимания, как сделать, например, такую типичную для IntB вещь, как определить тип форумного раздела по URL и уже потом подключить нужный модуль для выдачи контента. (Сейчас я бы просто сделал форумные разделы не контроллерами, как пытался тогда, а отдельными классами, создаваемыми из контроллера.) Во-вторых, тогда я сидел на PHP 5.3, очень прожорливым в плане памяти, и под Windows, где не очень-то удобно пользоваться командной строкой. Поэтому увидев, что банальный Hello world съедает 6 Мб памяти при первом запуске и 3 при последующих (и это по данным memory_get_usage(false)), ужаснулся и решил, что мне это не надо.
Сейчас же, потестировав Symfony снова, выяснил, что в prod-версии Hello World при первом запуске занимает 2.3 Мб, а при последующих — всего 657 Кб. В dev — чуть побольше, около 1.1 Мб, но зато есть очень полезная developer console.
И это заставило меня задуматься над вопросом, а имеет ли вообще смысл писать собственный framework? С учётом таких затрат по памяти, его единственным плюсом будет более глубокая обратная совместимость (до PHP 7.2, тогда как Symfony вроде 8.1 требует) и возможность работать на бесплатных хостингах, где нет почти ничего, ну и может быть, чуть бо́льшая простота изучения (и то если напишу документацию). А главный минус — это недоверие потенциальных пользователей только-только появившемуся проекту одного человека.
С другой стороны, в последнее время всё больше и больше ловлю себя на том, что пропало желание «а вот сделаю такое же как <что-то>, только своё», которое прежде было главным источником мотивации на создание чего-либо. И теперь пытаюсь понять, что это: предательство себя или просто более экономный подход к тем самым личным ресурсам, о которых сейчас пишу статью. Который, к тому же, отчасти вызван пониманием, что многие ЧЛ-мыслящие люди, считающие себя IT-профессионалами, даже если и узнают, что я сделал свой framework, не столько впечатлятся, сколько пофыркают на тему «очередное изобретательство велосипеда».
С третьей стороны, можно просто отложить этот вопрос на неопределённое время, сосредоточившись сейчас на TextCMS 2 (которая уж точно будет без всяких frameworkов), а потом на её основе сделать новую версию typologies.ru (причём в последнее время активно кручу в голове, каким именно должен быть этот сайт).
Но в целом всё опять сводится к моему главному вопросу последнего времени: что в жизни по-настоящему важно?

2 комментария:

Нет
Гость
0

Технические решения здесь — лишь симптом. Попробуй ответить на:

  1. Что я хочу получить в итоге? (Признание? Удовольствие от кода? Практическую пользу?)
  2. Какие проекты будут для меня значимы через 5 лет?
  3. Где мой баланс между «сделать идеально» и «сделать достаточно»?
Возможно, важно не выбрать «правильный» фреймворк, а перестать распыляться и вложиться в то, что уже близко к завершению (например, typologies.ru).
4X_Pro
0

1. Ощущение, что я сделал что-то по-настоящему крутое, и восхищение этим фактом со стороны окружающих. И в итоге чувство «живу не зря, живу достойно». Иными словами, Оценку извне в том смысле, в котором я описывал её в статье «Мир школы и мир улицы».
2. Вот это очень трудно спрогнозировать. Будущее для меня вообще слепая зона… Например, если вдруг потеряет актуальность PHP или исчезнут энтузиасты, которым нравится создавать сайты самим, а не использовать «большие» площадки типа ВК, Дзена, Medium или готовые сервисы типа того же Wordpress или Telegraph, станут не актуальны все мои программистские проекты. Если введут лицензирование на деятельность «белых хакеров» и/или запретят CTF-соревнования, то окажется бессмысленным изучение информационной безопасности (кроме разве что того, что эти знания пригодятся для защиты своих проектов). Если победившей идеологией станет что-то вроде «ускорительства», то могут возникнуть проблемы у группы по slow life (либо вынудят закрыть, либо просто будут воспринимать как фриковство). Какие-то прорывные научные открытия в области изучения мозга могут опровергнуть мои типологические идеи.
3. Пожалуй, баланс достигается тогда, когда я могу быть уверен, что человек, примерно равный мне по уровню квалификации, не сможет найти, во что меня потыкать носом и сказать «а надо было делать вот так» или «а почему тут нет <чего-то-там, что есть в аналогах>».

Написать комментарий
Прикрепить файлы: (не более 4 файлов, не более 102400 Кб каждый, 102400 Кб всего)


Задать вопрос