Программирование ради программирования
Редко простые задачки оборачиваются маленькими приключениями, но настройка отладчика RubyOnRails в NetBeans 6.8 как раз из их числа.
Итак, задача: на локальной машине отладить логику RoR приложения, соответствующую url-у www.a.line.ru/site_setup/forum.
Заходим в File → ProjectProperties(...) и видим там поле URL, а прямо под ним замечание в скобках (relative...). Не веря своим глазам, вписываем туда абсолютный адрес и проверяем, что он будет воспринят как относительный, например в нашем случае получится http://localhost:3005/www.a.line.ru/site_setup/forum. Разочаровавшись в NetBeans после пары попыток я пустился в хождения по форумам с целью понять, как избавиться от этого глупого ограничения. Оказалось, что проблему может решить только команда NetBeans, которая уже в курсе и все исправит в новой версии. Не сидеть же сложа руки тем, кому сейчас нужно работать и кого не устраивает один localhost?
Стал просматривать конфигурационные файлы NetBeans и тупо перебирать все пункты меню, чтобы найти хоть какую-то зацепку...И я кое-что нашел!
Во вкладке General пункта Tools → Options есть возможность выбора браузера... Вот если бы был браузер, умеющий подставлять вместо localhost произвольное имя - это бы решило проблему... и почему IE, FireFox и Chrome так делать не научили...
И тут в голове пронеслась мысль: "Ты же программист, возьми и научи". Сел и написал на C#:
Теперь дело за малым:
Итак, задача: на локальной машине отладить логику RoR приложения, соответствующую url-у www.a.line.ru/site_setup/forum.
Заходим в File → ProjectProperties(...) и видим там поле URL, а прямо под ним замечание в скобках (relative...). Не веря своим глазам, вписываем туда абсолютный адрес и проверяем, что он будет воспринят как относительный, например в нашем случае получится http://localhost:3005/www.a.line.ru/site_setup/forum. Разочаровавшись в NetBeans после пары попыток я пустился в хождения по форумам с целью понять, как избавиться от этого глупого ограничения. Оказалось, что проблему может решить только команда NetBeans, которая уже в курсе и все исправит в новой версии. Не сидеть же сложа руки тем, кому сейчас нужно работать и кого не устраивает один localhost?
Стал просматривать конфигурационные файлы NetBeans и тупо перебирать все пункты меню, чтобы найти хоть какую-то зацепку...И я кое-что нашел!
Во вкладке General пункта Tools → Options есть возможность выбора браузера... Вот если бы был браузер, умеющий подставлять вместо localhost произвольное имя - это бы решило проблему... и почему IE, FireFox и Chrome так делать не научили...
И тут в голове пронеслась мысль: "Ты же программист, возьми и научи". Сел и написал на C#:
using System;
using System.Diagnostics;
using System.Text.RegularExpressions;
namespace browser
{
class Program
{
static void Main(string[] args)
{
if (args.Length != 2) return;
var re = new Regex(@"^(.*?)localhost(.*?)\/([^\/]+)") ;
var url = args[0];
var browser = args[1];
var m = re.Match(url);
Func<int,string> f = i => m.Groups[i].Value;
if (m.Success) url = f(1) + f(3) + f(2);
Process.Start(
new ProcessStartInfo(browser, url)
{
UseShellExecute = false,
CreateNoWindow = true
}
);
}
}
}
Теперь дело за малым:
- добавляем в Tools → Options новоиспеченный браузер с аргументами {URL} iexplore (к примеру)
- в File → ProjectProperties(...) пишем site_setup/forum/www.a.line.ru