Поступил в аспирантуру по теоретической информатике, собирался заниматься компьютерной лингвистикой, но не получилось совмещать работу, учебу и семью. Пришлось оставить до лучших времен :-)
Интересно, сколько может зарабатывать человек с такой специализацией?
Тоже переехали в опенспейс. Стараемся соблюдать культуру совместной работы. Есть конечно и отвлекающие факторы, но мне так больше нравится. Видно как бы всю компанию целиком, кто чем занят, появляется чувство команды.
Мне кажется, что язык, в данном случае Java — это молоток. А вот фреймворки скорее всего представляют собой наборы готовых элементов для сборки шкафов — чуть допили, прикрути, подправь — и шкаф готов. Сначала выбери тот набор, который лучше всего подходит для нужного шкафа, потом берешь молоток с легкостью приводишь шкаф в нужное состояние. Конечно, лучше всего получится, когда ты уже несколько раз использовал этот набор. Ошибся с выбором — шкаф будет сделать тяжело, потому что придется много допиливать.
Появление тем для Twitter bootstrap — вполне ожидаемое событие. Я тоже не знал, что это уже есть, но был уверен, что кто-нибудь сделает. Чем не Zen Garden?
Интерфейс так и задумался, чтобы быть похожим на Flickr — пользователю понятнее, как пользоваться сервисом. А всех вариантов использования сервиса еще не знает никто — они рождаются в процессе работы с сайтом.
Обычно главная закеширована еще на стороне сервера, если контент не зависит от конкретного пользователя. Наибольший эффект от 2-х проходного рендеринга может быть достигнут, если время отработки бизнеслогики достаточно большое. Но в этом случае на помощь приходит AJAX — грузим страницу, а потом догружаем особо долгие блоки.
Да не везде велосипед, конечно. В качестве базового фреймворка я в последнее время использую Slim, а в качестве ORM php.activerecord. Использую я их потому, что они мне идеологически близки, и я понимаю, почему авторы сделали так, а не иначе.
Что же касается Symfony2, то мы в компании сделали на ней пробный проект, чтобы понять, что это такое. И честно говоря — отгребли кучу проблем — скорее всего идеология разработчиков не совсем совпадает с нашими представлениями. Очевидно, что мы просто не научились ее готовить. Но честно говоря, я не хочу с ней связываться после этого. А как я смогу написать что-то хорошее, если мне не нравится инструмент?
Конкретно про формы я могу сказать следующее — пока я не нашел ничего, что соответствовало бы моим запросам. Symfony Forms довольно близки к идеалу. Но как добавить в нее собственные контролы? И таких мелочей очень много.
Кстати, не подскажете, может быть знаете какие-нибудь альтернативы для обработки форм? Мне нужно, чтобы я создал класс для формы, добавил в нее объекты контролы, засунул в них объекты валидаторы, и все это использовал бы в контроллере как в Symfony. Есть такая штука — phorms. Но мне не нравится качество исходников, активность разработки и некоторые архитектурные решения.
На счет форм я считаю, что нужно иметь 2 уровня валидации — на уровне модели и на уровне формы. Форма должна быть объектом со своими валидаторами, потому что не всегда модель данных напрямую отображается в форму и наоборот. Те валидаторы, которые работают с базой могут некорректно работать с пользовательскими данными. Да, возможно дублирование валидации, но это позволит избежать подобных проблем. На счет форм в PHP у меня есть свой велосипед :-)
К сожалению пока я не представляю, как можно сделать наследование более красиво. Разве что исполнять шаблоны в контексте класса. Тогда можно будет написать
а все проверки осуществлять в классе шаблона. Нужно будет попробовать. Но тогда мы придем почти к PHP TI, только с объектами. А идея простая, но честно говоря не вижу чем она сильно плоха кроме не сильно лаконичного синтаксиса.
Дело вот в чем. Хабр читают люди разного уровня. Думаю, что для кого-то пост будет полезен. И уже почему-то более 60 человек добавили его в избранное. Значит, действительно это кому-нибудь было нужно.
Я часто вижу, как делаются представления в проектах — это либо include header & include footer либо 2-уровневый шаблон с layout и с шаблоном контента. Мне не нравятся оба подхода. Первый — за то, что в каждый файл дублирует подключения блоков. Второй — за то, что content обычно весь body, а если не весь, то теряется гибкость или приходится иметь несколько layout.
Идея наследования мне очень нравится. И вот я прошелся по основным методам добавить наследование в проект — от высокопрофессиональных типа Twig, до простейших — типа предложенного мной варианта. И честно говоря — я еще не видел, чтобы кто-нибудь его применял — этот простейший вариант. Возможно он не красив внешне, но поверьте — делает работу с шаблонами намного приятней и проще.
hyperpolyglot.org/scripting
hyperpolyglot.org/scripting2
Интересно, сколько может зарабатывать человек с такой специализацией?
Что же касается Symfony2, то мы в компании сделали на ней пробный проект, чтобы понять, что это такое. И честно говоря — отгребли кучу проблем — скорее всего идеология разработчиков не совсем совпадает с нашими представлениями. Очевидно, что мы просто не научились ее готовить. Но честно говоря, я не хочу с ней связываться после этого. А как я смогу написать что-то хорошее, если мне не нравится инструмент?
Конкретно про формы я могу сказать следующее — пока я не нашел ничего, что соответствовало бы моим запросам. Symfony Forms довольно близки к идеалу. Но как добавить в нее собственные контролы? И таких мелочей очень много.
Кстати, не подскажете, может быть знаете какие-нибудь альтернативы для обработки форм? Мне нужно, чтобы я создал класс для формы, добавил в нее объекты контролы, засунул в них объекты валидаторы, и все это использовал бы в контроллере как в Symfony. Есть такая штука — phorms. Но мне не нравится качество исходников, активность разработки и некоторые архитектурные решения.
К сожалению пока я не представляю, как можно сделать наследование более красиво. Разве что исполнять шаблоны в контексте класса. Тогда можно будет написать
а все проверки осуществлять в классе шаблона. Нужно будет попробовать. Но тогда мы придем почти к PHP TI, только с объектами. А идея простая, но честно говоря не вижу чем она сильно плоха кроме не сильно лаконичного синтаксиса.
Я часто вижу, как делаются представления в проектах — это либо include header & include footer либо 2-уровневый шаблон с layout и с шаблоном контента. Мне не нравятся оба подхода. Первый — за то, что в каждый файл дублирует подключения блоков. Второй — за то, что content обычно весь body, а если не весь, то теряется гибкость или приходится иметь несколько layout.
Идея наследования мне очень нравится. И вот я прошелся по основным методам добавить наследование в проект — от высокопрофессиональных типа Twig, до простейших — типа предложенного мной варианта. И честно говоря — я еще не видел, чтобы кто-нибудь его применял — этот простейший вариант. Возможно он не красив внешне, но поверьте — делает работу с шаблонами намного приятней и проще.