В последнее время я многое узнал о веб-технологиях, и я хочу собрать небольшой аккуратный веб-сайт, чтобы поиграть в html, css, javascript, flash и что там у вас.
Я знаю, что в том, что касается веб-браузера, все, что мне нужно сделать, это отправить текстовый файл (обычно HTML) с моего сервера, используя HTTP через TCP.
К настоящему моменту я прошел несколько руководств по Rails, но у меня много проблем с тем, чтобы заставить вещи работать и понять, как работают компоненты, даже если бы я мог заставить их работать, слепо следуя указанным учебникамна письмо.
Мне кажется, я понимаю концепцию MVC.Очевидно, что бизнес-модель приложения имеет смысл хранить отдельно от реализации представления и т. Д. Конечно, это нормально.Из того, что я понимаю, RoR нуждается (?) В базе данных.Конечно, когда мой веб-сайт вырастет до такой степени, что мне нужно будет отслеживать клиентов и обрабатывать данные, я захочу этого.
Но где мне взять реальную функциональность?Где я могу указать, как мой сервер отвечает на запросы браузеров?Разве это не должно быть просто?Нужно ли мне настраивать базу данных только для того, чтобы поднять мою страницу "Привет, мир"?
Я думаю, что может случиться, что Rails предназначен для того, чтобы делать то, что мне не нужно (пока?).Это делает для меня много вещей, которые я не понимаю, и для того, чтобы я чувствовал себя комфортно, мне нужно было покопаться в большом количестве материала, чтобы понять это.
Что привело меня к этому моменту, так это то, что я ищу «следующий шаг» после того небольшого сервера, с которым я играл:
require 'socket'
server = TCPServer.open(8080)
loop {
Thread.start(server.accept) do |client|
client.puts(Time.now.ctime) # server sends dynamic page consisting of current time
client.flush
while (str = client.gets) do
puts "recvd >> "+str # show what server gets from client
if str.chop.length == 0 then break end # detect end of transmission
end
puts "done"
client.close
end
}
Этот небольшой кусочек кода более чем на полпутитам, что мне нужно сделать.Я застрял на чем-то довольно глупом.Я до сих пор не знаю, как просто взять файл на диске и отправить его клиенту.Я полагаю, я бы открыл поток для запрошенного файла и направил его в сокет ... Не знаю, как это сделать в ruby.Так что я подумал, эй, может быть, Rails сделает это за меня.
Теперь я следую кучу указаний, наконец-то запускаю сервер на mongrel и пробую это: ruby script\generate controller MyTest
и все равно получаю "Ошибка маршрутизации ", когда я открываю его в браузере.Я получаю гигантский уродливый след стека на cmdline.Винт это!
Очевидно, я должен взять урок, который покажет мне, как использовать Rails и, что более важно, вне зависимости от того, является ли это излишним для моих целей.Итак ... я должен продолжать пытаться понять это?Если так, может кто-нибудь показать мне хороший учебник или объяснить, почему учебники, которые я видел, мне не помогают?
Должен ли я просто использовать EventMachine для создания своего сервера?Я просто хочу сделать хороший простой быстрый веб-сервер.
Спасибо за чтение.:)