Веб-разработка обучения env - PullRequest
1 голос
/ 25 апреля 2010

В настоящее время я изучаю Ruby on Rails. В настоящее время я делаю все свои разработки на моем ноутбуке. Тем не менее, я знаю, что во всех ситуациях «реального мира» я буду подключаться к выделенному серверу, который будет содержать сайт.

Итак, вот мой вопрос: каковы преимущества и недостатки разработки на машине, которую я использую, по сравнению с запуском веб-сайта на отдельном сервере?

Ответы [ 3 ]

3 голосов
/ 25 апреля 2010

Проблема локального развития заключается в том, что обычно вы не беспокоитесь об инфраструктуре. Например, веб-сервер внешнего интерфейса или мы забываем, какие гемы установлены в нашей среде разработки. Чтобы действительно попытаться смоделировать вашу производственную среду, вы должны установить веб-сервер apache + Passenger (пассажир - это mod_rails, модуль для запуска rails в веб-сервере apache).

Несколько советов, которые я даю вам: установите тот же сервер SQL, который вы притворяетесь использовать в производственной среде (избегайте разработки с использованием sqlite3 и запускайте в работу под управлением MySQL), локально используйте apache + passenger на рабочей станции разработки и напишите документ КАЖДЫЙ GEM, который вы установили с момента начала разработки (возможно, вывод списка командных гемов поможет вам определить, что вы используете).

Что мне нравится делать, так это: я запускаю виртуальную машину (virtualbox), работающую под той же ОС, которую я буду запускать в производстве, со всеми необходимыми компонентами программного обеспечения, которые мне нужны, и я рано начинаю развертывание в моей виртуальной машине. машина. Благодаря такому подходу, начиная с первого теста, я уже знаю, как будет работать мое приложение на производстве, что не вызовет слишком много сюрпризов в будущем.

Итак, в итоге: подумайте об инфраструктуре, сохраняйте согласованность и разворачивайтесь раньше. Благодаря этим 3 шагам у вас будет хороший шанс добиться успеха в разработке RoR.

0 голосов
/ 25 апреля 2010

Я делаю все свои разработки локально. (В прошлом я занимался удаленной разработкой в ​​других средах, но это большая боль ... J2EE Я смотрю на тебя).

Различия в настройках между локальным и удаленным интерфейсом могут быть проблемой, но Rails и Ruby многое из этого сделают для вас.

Я использую RVM (Ruby Version Manager) для настройки сред с конкретными версиями Ruby и GEM, которые отражают мое целевое развертывание. Вы можете использовать новый Gem Bundler, чтобы создать манифест зависимостей вашего приложения.

Я бы также предложил использовать ту же базу данных локально, что и развернутая среда. Между базами данных есть тонкие различия, которые могут сбить вас с толку. Это не проблема для простых систем, но как только вы начнете выполнять сложные запросы по нескольким моделям или использовать агрегатные функции, вы сможете отлаживать на удаленном сервере.

Для постановки и тестирования я просто использую бесплатную учетную запись Heroku для развертывания и проверки своей работы ... проста в настройке и обеспечивает потрясающую проверку работоспособности.

0 голосов
/ 25 апреля 2010

Ну, без различий! После того, как вы создали приложение rails, оно будет полностью готово к развертыванию! Правила Rails!

Возможно, речь идет о проблеме с сервером rails! поэтому, если вы используете скрипт / сервер для запуска приложения на своем компьютере, то на веб-сервере необходимо использовать что-то вроде Passenger.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...