Лучшим шагом, который я сделал, был переход от Java к PHP.
Остерегайтесь сложности. В первую очередь ключом к отличному программному обеспечению является простота, и именно поэтому PHP в сочетании с хорошей структурой убивает Java.
С помощью Java вы рискуете стать рабом контейнера сервлета и инфраструктуры. Выберите простейшую и гибкую структуру. Элементы управления и пользовательские теги - дьявол. Вы будете тратить дни на изучение вещей, которые были разработаны, чтобы сделать развитие быстрее, но в конечном итоге слишком сложные и негибкие. Java замедлит разработку из-за сложности, компиляции и статических типов. Вы будете ненавидеть исключения нулевых указателей.
Редактирование: Инструменты в стороне, Java и PHP очень аналогично структурированы языки стиля "C". Гораздо больше, чем Пайтон или Руби. Именно статическая типизация и сложные инструменты делают Java таким чужим.
-121--1119790-Это разные инструменты для разных целей.
mysqli _ real _ escape _ string делает данные безопасными для вставки в MySQL (но параметризованные запросы лучше).
Htmlentities делает данные безопасными для вывода в HTML-документ
addslashes делает данные безопасными для нескольких других ситуаций, но недостаточными для MySQL
-121--3853767-Честно? Когда разработчики просыпаются и начинают работу над Rails 3/Ruby 1.9 в своих драгоценных камнях и плагинах. Они знают, что это происходит уже несколько месяцев, и большинство даже не удосужилось обновить. В частности, я хотел бы отметить authlogic, один из наиболее используемых плагинов аутентификации там. Это все еще не работает для Рельсов 3.
Возгласы!
EventHandableList
используется классами, которые предоставляют большое количество событий для более эффективной обработки памяти путем выделения места только для поля поддержки событий, когда это необходимо, а не когда событие объявлено. Поэтому все события для основной формы хранятся там.
Я ожидаю, что дочерняя форма отслеживала, когда ее родитель может закрыться (это обычный случай использования) и она не отписалась от события FormClosing
или FormClosed
, когда она получила это событие. Однако, это всего лишь предположение. Чтобы подтвердить, просмотрите реализацию дочерней формы и найдите все случаи, когда она подписывается на события из родительской формы, а затем убедитесь, что имеется соответствующая отмена подписки на эти события.
Обновить
Обнаруженный обработчик меню, который не был удален, вполне может быть корнем проблемы. Попробуйте добавить вызов remove и проверьте, устранена ли утечка.
Поведение strtotime ()
основано главным образом на форматах ввода даты GNU spec. Но не следует ожидать, что он будет читать мысли. Разрешение ввода даты пользователя в свободной форме требует постоянных проблем.
Я не планирую. Я уверен, что я в очень маленьком меньшинстве, но мое большое приложение все еще работает 1.2.6. Каждый раз, когда я рассматриваю возможность обновления, кажется, что Rails снова меняется.
Он делает то, что я хочу, зарабатывает хорошие деньги, и, несмотря на ощущение, что все больше и больше остается в стороне на морозе, у меня просто нет достаточно веских причин для его обновления.
Я отвечу на свой вопрос.
Я не уверен, сколько будет бета-версий для Rails 3, но я собираюсь отложить преобразование моего приложения blog до следующей бета-версии или финальной версии. Я думаю, что это будет довольно трудоемкий процесс, потому что у меня есть много помощников представления, которые создают разметку, много именованных областей и довольно сложную маршрутизацию.
Я хочу сначала добавить кеширование страниц, прежде чем приступать к Rails 3!
Я не собираюсь обновлять какие-либо приложения до rails 3.
Однако я просто решил, что все новые проекты в будущем будут на rails3. Отсутствие поддержки плагинов не является большой проблемой, поскольку я рассматриваю это как возможность отделить свои приложения от плагинов, чтобы я мог потом менять их, когда захочу.
Я также подозреваю, что большие плагины будут обновляться очень быстро, так как они не захотят, чтобы их бросали в пыль.
Следите за статусом плагина здесь.
Я держал свои приложения на уровне 2.3, но, поскольку в Rails 3 есть много фундаментальных изменений, я, вероятно, установлю бета-версии, работайте над их преобразованием и надеемся быть готовыми к тому времени, когда она станет стабильной.
Я также рад, что до RailsConf еще много времени, так что я действительно могу познакомиться с новыми функциями Rails 3 и не чувствовать себя потерянным / подавленным.
Я не думаю, что обновлю какое-либо из моих приложений. Это был бы большой объем работы по сравнению с тем, что я получил бы от этого. Также в некоторых случаях плагины / драгоценные камни, которые я использовал в своем приложении, несовместимы с Rails 3, поэтому обновление было бы невозможно или потребовало бы разветвления драгоценных камней ... слишком много времени.
Если бы мне пришлось обновиться, я бы, наверное, еще немного подождал, пока все драгоценные камни / плагины будут обновлены до Rails 3. Конечно, любое новое приложение, которое я буду разрабатывать, будет сделано с использованием Rails 3.
{ {1}}Опробовав бета-версию и не желая работать с какими-либо командами, я решил дождаться новой бета-версии.
Тикет на выдачу уже открыт.
Все мои приложения Rails в настоящее время работает под управлением Rails 2.3.5, и каждое приложение имеет LOC 80% или больше. Это всегда было ключевым требованием для каждого продукта, который я создаю для себя или управляю на работе.
Обычно обновление до второстепенного выпуска / исправления ошибок занимает всего несколько минут. Изменить версию GEM, требования к обновлению, запустить тесты, исправить проблемы и зафиксировать.
Rails 3.0 - это серьезная переработка, и самая большая проблема связана с совместимостью плагинов. Плагины не находятся под моим непосредственным контролем. По этой же причине мне было трудно перейти на Ruby 1.9.1 .
Однако я уже играю с Rails 3. Я хочу узнать о наиболее важных изменениях в Rails 3 как можно скорее, чтобы начать перемещение существующих приложений в правильном направлении . Более того, как автору плагина для меня важно начать работать с Rails 3, чтобы мои плагины были совместимы.
Вчера я начал с самого простого приложения. Ну, по крайней мере, я привык так думать об этом. В любом случае, это приложение с меньшим количеством внешних зависимостей (менее 3 Gems), и потребовалось около 1 часа для обновления и 3 часа, чтобы выяснить, почему Rails не может загрузить мои маршруты. Оказалось, что компонент Rails Metal борется с новым стеком Rails 3.
Есть некоторые незначительные проблемы, которые мне нужно решить, но я могу сказать, что я успешно перенес свое первое приложение на Rails 3.
Я планирую как можно скорее перенести все свои приложения Rails на Rails 3, один раз Будет доступна стабильная версия Rails 3. Или, по крайней мере, как только я смогу выяснить, действительно ли зависимости работают с Rails 3. К счастью, на http://railsplugins.org/ был запущен проект с намерением перечислить все совместимые / несовместимые плагины Rails.
Моя удаленная среда уже совместима с Rails 3, я использую Passenger с Ruby Enterprise Edition (1.8.7). Единственная проблема с блокировкой - это плагины.
Думаю, пройдет как минимум месяц, прежде чем большая часть моего приложения Rails будет готова для Rails 3, и я, вероятно, не начну обновление, пока не выйдет стабильная версия Rails 3 или мне действительно понадобится новая версия для некоторых функций блокировки (например, маршрутизации на основе субдоменов).