Как стать автором
Обновить
22
0
neyronius @neyronius

Пользователь

Отправить сообщение
Нравится или нет?
Вот, кстати, отличное сравнение синтаксиса PHP/PERL/Python/Ruby.

hyperpolyglot.org/scripting
hyperpolyglot.org/scripting2
Поступил в аспирантуру по теоретической информатике, собирался заниматься компьютерной лингвистикой, но не получилось совмещать работу, учебу и семью. Пришлось оставить до лучших времен :-)

Интересно, сколько может зарабатывать человек с такой специализацией?
Спасибо, а то сам ФАВТ окончил, только в Таганрогском Радиотехническом Университете.
Можно еще медицинское добавить. Но это маловероятно совместить.
Тоже переехали в опенспейс. Стараемся соблюдать культуру совместной работы. Есть конечно и отвлекающие факторы, но мне так больше нравится. Видно как бы всю компанию целиком, кто чем занят, появляется чувство команды.
Мне кажется, что язык, в данном случае Java — это молоток. А вот фреймворки скорее всего представляют собой наборы готовых элементов для сборки шкафов — чуть допили, прикрути, подправь — и шкаф готов. Сначала выбери тот набор, который лучше всего подходит для нужного шкафа, потом берешь молоток с легкостью приводишь шкаф в нужное состояние. Конечно, лучше всего получится, когда ты уже несколько раз использовал этот набор. Ошибся с выбором — шкаф будет сделать тяжело, потому что придется много допиливать.
Появление тем для Twitter bootstrap — вполне ожидаемое событие. Я тоже не знал, что это уже есть, но был уверен, что кто-нибудь сделает. Чем не Zen Garden?
А кто потом будет разнимать?
Спасибо. Пропустили, видимо :-)
Интерфейс так и задумался, чтобы быть похожим на Flickr — пользователю понятнее, как пользоваться сервисом. А всех вариантов использования сервиса еще не знает никто — они рождаются в процессе работы с сайтом.
про «яблочко» — это был тончайший троллинг в сторону конкурентов :-)
А как в этом случае указать элементу несколько классов одновременно? всегда делали так class=«class1 class2» Без кавычек такое не прокатит вроде.
Обычно лучше, чем старая версия порошка. Люблю читать, что написано в рекламе мелким шрифтом.
Обычно главная закеширована еще на стороне сервера, если контент не зависит от конкретного пользователя. Наибольший эффект от 2-х проходного рендеринга может быть достигнут, если время отработки бизнеслогики достаточно большое. Но в этом случае на помощь приходит AJAX — грузим страницу, а потом догружаем особо долгие блоки.
Да не везде велосипед, конечно. В качестве базового фреймворка я в последнее время использую Slim, а в качестве ORM php.activerecord. Использую я их потому, что они мне идеологически близки, и я понимаю, почему авторы сделали так, а не иначе.

Что же касается Symfony2, то мы в компании сделали на ней пробный проект, чтобы понять, что это такое. И честно говоря — отгребли кучу проблем — скорее всего идеология разработчиков не совсем совпадает с нашими представлениями. Очевидно, что мы просто не научились ее готовить. Но честно говоря, я не хочу с ней связываться после этого. А как я смогу написать что-то хорошее, если мне не нравится инструмент?

Конкретно про формы я могу сказать следующее — пока я не нашел ничего, что соответствовало бы моим запросам. Symfony Forms довольно близки к идеалу. Но как добавить в нее собственные контролы? И таких мелочей очень много.

Кстати, не подскажете, может быть знаете какие-нибудь альтернативы для обработки форм? Мне нужно, чтобы я создал класс для формы, добавил в нее объекты контролы, засунул в них объекты валидаторы, и все это использовал бы в контроллере как в Symfony. Есть такая штука — phorms. Но мне не нравится качество исходников, активность разработки и некоторые архитектурные решения.

На счет форм я считаю, что нужно иметь 2 уровня валидации — на уровне модели и на уровне формы. Форма должна быть объектом со своими валидаторами, потому что не всегда модель данных напрямую отображается в форму и наоборот. Те валидаторы, которые работают с базой могут некорректно работать с пользовательскими данными. Да, возможно дублирование валидации, но это позволит избежать подобных проблем. На счет форм в PHP у меня есть свой велосипед :-)
А что вы имеете ввиду под partials?

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

/* @var $this Template */
<?php $this->openBlock(''content'); ?>
<h1>Переопределенный контент</h1>
<?php $this->closeBlock('content'); ?>


а все проверки осуществлять в классе шаблона. Нужно будет попробовать. Но тогда мы придем почти к PHP TI, только с объектами. А идея простая, но честно говоря не вижу чем она сильно плоха кроме не сильно лаконичного синтаксиса.
Дело вот в чем. Хабр читают люди разного уровня. Думаю, что для кого-то пост будет полезен. И уже почему-то более 60 человек добавили его в избранное. Значит, действительно это кому-нибудь было нужно.

Я часто вижу, как делаются представления в проектах — это либо include header & include footer либо 2-уровневый шаблон с layout и с шаблоном контента. Мне не нравятся оба подхода. Первый — за то, что в каждый файл дублирует подключения блоков. Второй — за то, что content обычно весь body, а если не весь, то теряется гибкость или приходится иметь несколько layout.

Идея наследования мне очень нравится. И вот я прошелся по основным методам добавить наследование в проект — от высокопрофессиональных типа Twig, до простейших — типа предложенного мной варианта. И честно говоря — я еще не видел, чтобы кто-нибудь его применял — этот простейший вариант. Возможно он не красив внешне, но поверьте — делает работу с шаблонами намного приятней и проще.

Информация

В рейтинге
Не участвует
Откуда
Таганрог, Ростовская обл., Россия
Дата рождения
Зарегистрирован
Активность