require 'ipaddr'
def is_ip?(ip)
!!IPAddr.new(ip) rescue false
end
is_ip?("192.168.0.1")
=> true
is_ip?("www.google.com")
=> false
Или, если вы не против расширения базовых классов:
require 'ipaddr'
class String
def is_ip?
!!IPAddr.new(self) rescue false
end
end
"192.168.0.1".is_ip?
=> true
"192.168.0.512".is_ip?
=> false
Думаю, у меня есть идея, почему это внутреннее и внешнее различие возникло в вашем предыдущем вопросе.
Использование MVC для внешних веб-сайтов дает вам гибкость, необходимую для поддержки большего количества браузеры и упрощает разработку сайтов, соответствующих веб-стандартам. MVC требует немного больше работы, чтобы делать некоторые из тех же вещей, что и веб-формы, но у вас больше контроля над тем, что выводится клиенту.
Использование веб-форм для внутренних приложений рекомендуется, потому что вы полностью контролируете какие браузеры используются в вашей сети. Кроме того, внутренние приложения обычно не имеют такого же бюджета, как внешние сайты. Веб-формы позволяют объединить сетку базы данных, разбиение на страницы, сортировку и т. Д. За считанные минуты путем перетаскивания кода на страницу ASPX. Я считаю, что мотивация основана исключительно на деньгах и времени.
Я, однако, не думаю, что эта линия на песке - хорошая линия. Я знаю, что есть некоторые веб-сайты, над которыми я работал с WebForms, для которых требовалось много выдергивания волос, чего бы просто не произошло, если бы я использовал MVC. Но у меня также есть сайты, которым не нужен уровень гибкости, поэтому я использовал WebForms.
Самым большим преимуществом, которое я вижу в ASP.NET MVC, является AJAX. Мне проще работать с запросами jQuery AJAX при использовании MVC, а не WebForms. Я также помешан на управлении, поэтому использование MVC удовлетворяет и этот аспект ...
Но у меня также есть сайты, которым не нужен уровень гибкости, поэтому я использовал WebForms.Самым большим преимуществом, которое я вижу в ASP.NET MVC, является AJAX. Мне проще работать с запросами jQuery AJAX при использовании MVC, а не WebForms. Я также помешан на управлении, поэтому использование MVC удовлетворяет и этот аспект ...
Но у меня также есть сайты, которым не нужен уровень гибкости, поэтому я использовал WebForms.Самым большим преимуществом, которое я вижу в ASP.NET MVC, является AJAX. Мне проще работать с запросами jQuery AJAX при использовании MVC, а не WebForms. Я также помешан на управлении, поэтому использование MVC удовлетворяет и этот аспект ...
Местоположение не очень важно, объяснялось, что типичный веб-сайт интрасети имеет следующие свойства:
Так что разработка с помощью MVC может быть излишней, вместо того, чтобы объединять что-то вместе с WebForms.
Я думаю, что различия между внутренними и внешними веб-сайтами лучше классифицировать как веб-сайты, управляемые данными, чем веб-сайты, управляемые содержанием.
IM (очень) HO, использующий текущую версию MVC для создания, например, систем ввода данных с большим количеством табличных данных, встроенного редактирования, сортировки, разбиения по страницам, фильтрации и т. Д. - это довольно большая работа по сравнению с использованием WebForms.
Однако, если веб-сайт больше заинтересован в представлении контента конечному пользователю (типичные веб-сайты: блоги, приложения для электронной коммерции, порталы), MVC предоставляет много преимуществ по сравнению с WebForms. Обычно такие веб-сайты больше озабочены проблемами презентации (что может стать проблемой, если вы чрезмерно полагаетесь на серверные элементы управления WebForms для рендеринга).
Для меня преимущество веб-форм ASP.NET в том, что их можно разрабатывать быстрее, чем ASP.NET MVC. Стоимость: сложнее сделать их современными приложениями, совместимыми с CSS, и вес Viewstate и жизненный цикл страницы.
Если у вас не работает ASP.NET MVC, нет причин не использовать это для приложений интрасети.
] Если вы потратили несколько лет на сокращение веб-форм ASP.NET, вы, вероятно, сможете использовать их для Интернет-приложений.
MVC обеспечивает лучшее разделение проблем, чем веб-формы, однако он сопряжен с некоторыми накладными расходами, которые труднее оправдать в небольших проектах. Решение использовать одну модель вместо другой должно основываться не на том, является ли это решение для интрасети или Интернета, а на таких факторах, как долговечность, ремонтопригодность и масштабируемость. По моему опыту, MVC - лучший выбор, если проект большой, имеет большую и разнообразную команду разработчиков и, вероятно, потребуется постоянное обслуживание. Webforms лучше подходит для быстрой разработки небольших краткосрочных проектов.
Само собой разумеется, что WebForms может использоваться и использовался в больших проектах, поскольку MVC может использоваться в небольших проектах. Вам нужно увеличить преимущества каждого, исходя из потребностей вашего проекта.
В качестве дополнения к другим ответам, в среде интрасети соглашения об именах URL-адресов (например, / controller / method ... и т. Д.) Намного менее важны, поскольку не требуется SEO.
I don't see the difference in this two in context of public/intranet applications, I only see difference in approach and the style of writing the application, so, choose whatever you like :)
cheers