Lesosib.Ru | Форум | Регистрация | Вход | PDA
 
Суббота, 20 Апреля 2024, 19:23:38
Приветствую Вас Гость | RSS
Новые сообщения · Участники · Правила форума · Поиск
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: STEFANI  
Форум » Компьютер - образ жизни » Программирование » ASP.NET (технология построения динамических сайтов)
ASP.NET
SullenДата: Вторник, 27 Ноября 2007, 20:02:17 | Сообщение #11
Старейшина
Группа: Проверенные
Сообщений: 418
Д.рег: 26 Февраля 2007
Статус: Offline
Откуда: Красноярск
Спорить не могу по причине .NET молодая технология
вот ещё вопрос по Перлу, доки котрые читал (не исключён вариант,что они устарели), подход к программированию довольно древний, по стилю ещё древней старого,доброго Си и насколько понимаю классами о объектами там совсем не болуют.

Но вобщем эта песня не о чём. Каждый кулик своё болото хвалит.

Вопрос ко всем соображающим.
Каким образом можно прогрузить сервак под Windows Server 2003. Цель - проверить какую возможную нагрузку потянет сервак, т.е. при каком количестве подключений на серваке начнутся тормаза. А именно есть желание проверить сайт под ASP.NET на С#.
Может как нибудь это локально проверить можно.


Жалко палку,бьёт по псу, Палка, я тебя спасу.
Понедельник начинается в субботу.
 
SullenДата: Вторник, 27 Ноября 2007, 21:14:44 | Сообщение #12
Старейшина
Группа: Проверенные
Сообщений: 418
Д.рег: 26 Февраля 2007
Статус: Offline
Откуда: Красноярск
Набрал в Яндексе "PHP и ASP.NET" все вопросы отпали. Смысла грузить севак нет. Статья написана в 2005 г.

Code
11 февраля 2005 г.  
Производительность приложений ASP.NET и PHP
Как-то я на каком-то форуме прочитал, что PHP по производительности обходит ASP.NET значительно и что для ASP.NET необходимо много очень дорогого "железа" и что ASP.NET ужасно неустойчиво работает и вообще, что зря его только придумали. Что ж, как человеку, выбор на чем писать за которого делает заказчик, мне все-таки захотелось лично проверить неправоту (в чем я почему-то не сомневался) этих утверждений.
Для тестирования было выбрано одно небольшое Web-приложение, написанное на PHP. Три дня я добросовестно переписывал его на ASP.NET, по возможности сохраняя некоторую "похожесть" кода и выполняемых им действий (хотя, согласитесь, это сложно, поскольку механизм форм/событий ASP.NET все-таки превносит очевидную непохожесть). Но в какой-то момент я понял, что подобный тест будет немного неполным, ведь в нем я не учту время разработки. Поэтому я переписал проект с нуля (кстати, потом его отправил заказчику PHP проекта и, возможно, он тоже будет установлен на одном из серверов).
Итого: написание кода проекта на PHP - ~48 рабочих часов. Разработка аналогичного кода проекта на ASP.NET ~18 часов! (Заметное преимущество!). Сюда не входит время разработки архитектуры, а только чистый кодинг+отладка. Даже если учесть, что не пришлось писать HTML код (я его бессовестно взял из PHP проекта), все равно, разработка под ASP.NET почти вдвое быстрее!
Далее провел тесты - на одной и той же машине, на разных HDD установил Win2k3 Server, затем Free BSD Unix 5.2. ASP.NET показал на 20-30% большую производительность. Это много, это очень много. Но меня это не остановило, я решил немного покопаться. Для начала в PHP и ASP.NET коде заменил хранимые процедуры на SQL код генерируемый конкатенацией строк - ASP.NET дал превосходство на 30-40%!!! Так, сказал я, это уже интересно, неужели в PHP основные тормоза на связи с базой данных?
Там, где это было возможно, заменил чтение из базы данных на работу с текстовыми файлами (упростил до чтения и последующего split'а записей). ASP.NET опередил PHP где-то на 2-3%. Я не остановился на этом, выкинул весь код чтения данных с диска и источника данных, все записи "вшил" в код, преимущество ASP.NET составило -3-5%!!! То есть PHP обощел по производительности ASP.NET на 3-5%!Таким образом, следует заключить, что все-таки интерпретатор PHP работает шустрее, чем генератор кода ASP.NET. Это, может быть, неверно, но это экспериментальный факт. Хотя, в других приложениях это может быть и не так.
Наверное, изложение несколько сумбурно, но все-таки за этими словами стоит немаленькая работа, подробнее о результатах которой дальше.

Это все описание эксперимента, теперь перейдем к выводам и обсуждению результатов :).

1. ASP.NET за счет использования разнообразных серверных контролов позволяет создавать приложения значительно быстрее (одни валидаторы чего стоят!). Да и функции Framework помогают там, где в PHP их просто нет и необходимо создавать их самому. Использование самописных функций в PHP и функций Framework давало закономерное преимущество ASP.NET, причем иногда на 500-600% (закономерно, ведь интерпретатору PHP всякий раз приходилось эти функции анализировать и выполнять заново).
2. Работа с SQL Server в ASP.NET значительно превосходит работу в PHP, что с хранимыми процедурами, что без. (Тоже закономерно, ведь SQL Server все-таки роднее ASP.NET'у). Кстати, тут стоит отметить и тот факт, что SQL Server по функциям и производительности превосходит MySQL. По функциональности - значительно, по производительности (не используя хранимых процедур, которых в MySQL пока нет) не так уж и сильно, но учитывая возможности SQL Server, можно считать и здесь победу весьма ощутимой.
3. Работа с файлами и генерация кода и там и там происходят сравнимо (разницу в производительности можно и игнорировать, поскольку она лежит в предеах погрешности эксперимента).
4. Работа с XML файлами, различными кодировками текста проста до безобразия.

А теперь немного добрых слов в адрес PHP:
4. Все-таки PHP дает контролировать HTML код целиком и полностью. Когда-то это плюс, а когда-то ASP.NET, генерирующий код под конкретный броузер, основываясь на его возможностях, все-таки более предпочтителен.
5. Маленькие тестовые приложения на PHP работают быстрее. Возможно за счет небольшого количества кода и вызываемых функций, тогда вся мощь Framework все-таки не нужна и "висит мертвым грузом"
6. Обновление файлов программной логики в ASP.NET требует перекомпиляции сборки, в PHP же этого не надо, файлы являются отдельными частями системы, а в ASP.NET сборка является "цельным куском".

И вывод. Все-таки писать под ASP.NET ощутимо легче и быстрее. Конечно и тут есть проблемы, например с ценой ПО под Windows :).

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


Жалко палку,бьёт по псу, Палка, я тебя спасу.
Понедельник начинается в субботу.
 
MikeDMДата: Среда, 28 Ноября 2007, 13:57:02 | Сообщение #13
Группа: Удаленные
батенька перл давно классовый язык, если у вас поверхностные знания что в перле что в пхп что в аспе, тогда зачем вы поднимаете такого рода темы ?
 
SullenДата: Среда, 28 Ноября 2007, 20:59:31 | Сообщение #14
Старейшина
Группа: Проверенные
Сообщений: 418
Д.рег: 26 Февраля 2007
Статус: Offline
Откуда: Красноярск
Quote (Sullen)
Интересно занимается кто-нибудь этим вопросом?

Quote (MikeDM)
батенька перл давно классовый язык, если у вас поверхностные знания что в перле что в пхп что в аспе, тогда зачем вы поднимаете такого рода темы ?

Вопрос в первой строке, а вопросы про PHP & Perl подняты
Quote (MikeDM)
начнем с того, что технология ASP привязывает разработчика кконкретной ОСи а именно к масдайке.
чего не скажешь про перл и пых пых.
ЗЫ мну не уважает быдлокодеров на аспе но это мое личное мнение.

Quote (MikeDM)
=) перлу уже столько лет а он до сих пор используется где только можно.
от веб программирования до написанияполноценных приложений, кроссплатформенных кстати.
чего не скажешь про .NET технологию

В вопросе не содержался вопросы про PHP & Perl, вопрос был про ASP. Но подняв эту тему пришлось прочитать с десяток обзоров про PERL,PHP и ASP.
Quote (MikeDM)
батенька перл давно классовый язык, если у вас поверхностные знания что в перле что в пхп что в аспе, тогда зачем вы поднимаете такого рода темы ?

Вопрос был не про обсуждение. Выложил статью именно по производительности.
К вопросу по поверхностным знанием по Перл сиотрел сайт http://perl.find-info.ru/Может на этом сайте устаревшая инфа?
А к вопросу ASP так это сейчас встанет вопрос практики, через практику будет добиваться теория.
Шаблон простейшего сайта есть, небольшая БД написана, первые результаты уже получены, мелочь а приятно.
Повисают некоторые вопросы, но думаю что после некоторого рытья Инета и литературы по ASP я их решу.


Жалко палку,бьёт по псу, Палка, я тебя спасу.
Понедельник начинается в субботу.


Сообщение отредактировал Sullen - Среда, 28 Ноября 2007, 21:50:05
 
MikeDMДата: Четверг, 29 Ноября 2007, 16:28:18 | Сообщение #15
Группа: Удаленные
Если писать будешь только для win машин то рекомендую изучать, а если не только для винсерверов то рекомендую перл и пых пых.

ЗЫ после изучения аспа досконально ты узреешь какие там костыли =)

 
SullenДата: Четверг, 29 Ноября 2007, 19:35:22 | Сообщение #16
Старейшина
Группа: Проверенные
Сообщений: 418
Д.рег: 26 Февраля 2007
Статус: Offline
Откуда: Красноярск
Quote (MikeDM)
ЗЫ после изучения аспа досконально ты узреешь какие там костыли =)

Наверно даже сами производители не знают до конца всех возможностей(ИМХО).
Quote (MikeDM)
Если писать будешь только для win машин то рекомендую изучать, а если не только для винсерверов то рекомендую перл и пых пых
Хочу написать для своей конторы небольшой сайт, а у нас почти всё под Windows.
А именно форум, фотоальбом и новостную ленту. Соответсвенно с разделением прав.
И вопрос один к тебе, не восприми как камень в твой огород, мне и в правду интересно.
Асп знаешь или откуда инфа по его костылям или это может обычное предположение?


Жалко палку,бьёт по псу, Палка, я тебя спасу.
Понедельник начинается в субботу.
 
SullenДата: Четверг, 29 Ноября 2007, 20:07:34 | Сообщение #17
Старейшина
Группа: Проверенные
Сообщений: 418
Д.рег: 26 Февраля 2007
Статус: Offline
Откуда: Красноярск
Под OpenSource есть проект Mono предназначенный для поддержки .NET
Вот некоторая инфа источник Click_mi_;)
Полная версия статьи

//-----------------------------------------------------------------------------------------------------------------------------------
Програм мирование на .NET в Linux

В последние годы здорово набирает популярность новая технология программирования от Microsoft, названная .NET. И несмотря на то, что в ней нет ничего революционного по сравнению с другими технологиями (взять хоть бы те же Java, Ruby, Perl и пр.), все же это немалый шаг вперед.

Часть 1. Обзор возможностей

В последние годы здорово набирает популярность новая технология программирования от Microsoft, названная .NET. И несмотря на то, что в ней нет ничего революционного по сравнению с другими технологиями (взять хоть бы те же Java, Ruby, Perl и пр.), все же это немалый шаг вперед. Неудивительно, что программистам всего мира так понравились новые возможности, предложенные Microsoft. Каждый, кто пишет программу, должен задать себе вопрос: чего он хочет? Применить все свои таланты, чтобы за огромные сроки написать на низкоуровневом языке красивый с точки зрения других программистов код или быстро разработать качественный продукт? Посмотрим правде в глаза: каким бы красивым ни был код, если он ничего толкового не делает или в нем пропала необходимость из-за задержек в разработке... ну, вы меня поняли:-).

Платформа .NET позволяет быстро разрабатывать приложения любой сложности. Среди программистов ходит байка, дескать, некто сравнивал работу на языках С, С++ и C# (.NET). И вышло, что при кодировании на С 30% времени уходило непосредственно на написание текста программы, а 70% — на отладку написанного. В C++ этот показатель был уже 50/50%, а в C# — 70/30%. Что ж, на мой взгляд, это истинная правда. Какое-то время только пользователи MS Windows имели возможность применять такую классную технологию, как .NET. Но Microsoft зарегистрировала свою платформу .NET как стандарт ECMA. Поэтому появилась возможность для сторонних разработчиков реализовать свою собственную платформу, совместимую с MS .NET. Мне известно по крайней мере о двух таких проектах: dotGNU и Mono. Оба разрабатываются сообществом OpenSource, и безусловным лидером среди них является Mono. Именно о Mono и пойдет речь в этой статье. Mono — это открыто разрабатываемая платформа .NET, спонсируемая Novell, UNIX-версия платформы разработки Microsoft .NET. Цель Mono — дать возможность UNIX-разработчикам писать кроссплатформенные приложения .NET. Идея свободной кроссплатформенной реализации .NET принадлежит хакеру Мигелю де Икаца (Miguel de Icaza), он же и выполнил основную часть работы по созданию framework'а. Ранее Мигель занимался разработкой ядра Linux, много сделал для GNOME. А еще, думаю, всем пользователям *nix-платформ известен его файл-менеджер Midnight Commander. Мигеля всегда беспокоила проблема повторного использования кода. В UNIX эта технология была не слишком распространена, и он попытался создать новое решение — компонентную архитектуру Bonobo на основе CORBA. Однако это решение, в чем-то напоминающее COM из MS Windows, было недостаточно эффективным (IMHO, оно устарело еще до своего «рождения», учитывая существование на тот момент Java). Надо отдать должное Мигелю, он признал свою ошибку и взялся за реализацию самой передовой на 2001 год технологии — .NET. Но главная цель, которой он хотел достичь, осталась той же — внести в мир UNIX средства быстрой разработки приложений. На данный момент Mono реализует уже почти все технологии MS .NET, стандартизированные в ECMA. Чтобы не быть голословным, приведу пару примеров реализованных технологий.

1. Common Language Environment (CLR) — основа виртуальной машины .NET. При компиляции программы .NET-компилятор создает код на общем промежуточном языке (Common Intermediate Language — CIL). Во время исполнения CLR транслирует CIL в настоящий процессорный байт-код, что позволяет приложению .NET быть таким же эффективным по скорости, как и традиционные приложения. Для CLR, реализованного в Mono, уже разработано несколько высокоуровневых языков: C#, VB.NET, Java, Nemerlie, Boo.

2. Garbage Collector (GC). Основан на библиотеке сбора мусора Boehm. Эта библиотека работает по старому проверенному алгоритму и ищет объекты без ссылок на них только в памяти, выделенной GC. Это значит, что все объекты, создаваемые в Mono традиционным способом, будут взяты «на карандаш» самой платформой, а за объектами памяти, созданными при помощи malloc, должен следить программист.

3. Кроме самой платформы .NET, в Mono реализованы различные технологии. Среди них — и три наиважнейших: ADO.NET, ASP.NET, Remoting. Список этот можно продолжать долго. Но Mono — это не просто клон MS .NET. Здесь есть свои собственные технологии, библиотеки. Вот несколько компонент Mono, которых нету в MS .NET:

1. Gtk# — привязки к популярной библиотеке графических интерфейсов Gtk. Gtk хороша тем, что она реализована как под UNIX-системы, так и под MS Windows. А это значит, что любое оконное приложение, правильно разработанное под Linux, без изменений и даже без повторной компиляции будет работать и в Windows.
2. Tao Framework — привязки к OpenGL. Думаю, комментариев не требуется: в игры ведь все играли;-)?
3. Mono.Data — поставщики данных для ряда баз данных: PostgreSQL, MySql, Sybase, DB2, SqlLite, Tds (SQL server protocol) и Oracle.
4. Mono.Remoting.Channels.Unix — Remoting, основанный на UNIX-сокетах.
5. Mono.Security — расширенная и улучшенная платформа криптографии.

И т.д.

Чего нет в Mono, что есть в MS .NET? Разработчики Mono посчитали, что некоторые редко используемые технологии реализовывать чересчур накладно или долго. Поэтому часть компонент, реализованных Microsoft, но не стандартизированных в ECMA, решили не разрабатывать. Это, например, Passport и software-as-a-service. Думаю, сюда же нужно добавить и Windows.Forms. На самом деле они, конечно, реализованы в Mono (для UNIX-систем на основе Wine), и притом неплохо. Вот только их реализация от Microsoft меняется чаще, чем погода осенью, и совместимости с ней добиться слишком сложно. Что касается взаимодействия Microsoft и Novell по реализации Mono, то официально его нет. Но неофициально у программистов обеих компаний хорошие отношения, и они часто помогают друг другу. Так, в FAQ'е Mono выражается признательность сотрудникам Microsoft, которые помогли лучше понять стандарт .NET и правильно его реализовать.

Рассказывая о платформе разработки, нельзя не упомянуть о средствах разработки. В Microsoft прекрасно понимают всю важность инструментов для разработчиков и прилагают все усилия, чтобы их Visual Studio была лучшей в мире средой для программистов. И если вы хотите разработать коммерческое приложение .NET, и у вас есть лишних тысячи полторы американских денег на покупку среды разработки, то, безусловно, ваш выбор — MS Visual Studio! Вот только для большинства венчурных проектов такая сумма слишком велика, а штрафы за нелегальное использование MS VS в коммерческих целях грандиозны. Ситуация с Mono совершенно иная. Здесь как платформа, так и среда разработки MonoDevelop совершенно бесплатны и доступны в исходных кодах. Mono можно использовать в любых целях в соответствии с лицензией GPL, по которой она распространяется. Дистрибутив Mono размером примерно 60 Мб поставляется вместе со средой разработки MonoDevelop, документацией, напоминающей MSDN, и массой полезных компонент. Скачать все это можно здесь: сайт

MonoDevelop — уже вполне толковая IDE, внешне очень похожая на MS Visual Studio. Здесь похожее управление проектами, приличный редактор кода с подсветкой и автодополнением, редактор соединений с базами данных и т.д. Однако проект Mono все еще на стадии разработки, и некоторые вещи сделаны не до конца. Так, например, дебагер пока не интегрирован в среду разработки. Впрочем, разработчики Mono клятвенно обещают, что уже скоро он будет встроен в MonoDevelop. Интересная ситуация с визуальным редактором интерфейсов. Проще говоря, его нет. Зато есть компонент, позволяющий строить интерфейсы на основе файлов ресурсов, которые генерирует Glade2.

Кроме того, уже достаточно давно ведется разработка своего собственного редактора интерфейсов Stetic. Он пока доступен только из SVN- репозитория, но, опять же, по обещаниям разработчиков, скоро будет встроен в MonoDevelop. Ну и на закуску расскажу о нескольких проектах, связанных с Mono. X-Develop — коммерческая среда разработки от Omnicore для Mono и JVM. У нее очень красивый интерфейс и масса полезной функциональности. Даже если сравнивать хотя бы редактор кода с аналогичными в тех же MonoDevelop или MS VS, то сразу бросается в глаза, что он умеет несколько больше, чем его конкуренты. В X-Develop так почти все: как у конкурентов, но немножко лучше. Есть даже свой собственный .NET- дебагер, которого так не хватает MonoDevelop'у. Единственное, что меня не очень впечатлило — встроенный редактор интерфейсов. Мне, больше привыкшему к qt-designer'у или Visual Studio, он показался несколько неудобным. На этом перед MonoDevelop преимущества X-Develop заканчиваются, а начинаются перед MS VS. Как уже было сказано, лицензия на Visual Studio стоит больше тысячи «вечнозеленых», а на X-Develop — около $300. При этом политика лицензирования у Omnicore довольно гибкая: так, к Новому году эта цена была на целый месяц снижена до $150; кроме того, есть отдельные виды лицензии для студентов, преподавателей, членов каких-то загадочных организаций и т.д. Короче говоря, самая низкая цена лицензии на X-Develop составляет... $15.

Ну, а тот, кто не уверен, нужна ли ему X-Develop, может воспользоваться ею бесплатно в течение 20 дней в ознакомительных целях. Коммерческих приложений Mono уже достаточно. Но традиционно в мире UNIX отдают предпочтения свободному софту. Пожалуй, лучшим примером OpenSource-приложений Mono будет поисковой движок Beagle от Novell. Думаю, все пользователи Windows наслышаны о тех революционных возможностях, которые будут реализованы в назревающей Windows Vista. Среди них — интеграция интернет-поисковика Microsoft с локальной файловой системой. Но насколько это будет гениально, инновационно и уникально — судить пока рано, т.к. релиза этой ОС еще не было. А поисковик по файловой системе давно есть, правда, не от Microsoft. И, надо сказать, он меня здорово порадовал. Представьте себе эдакий google.com, работающий только по вашему компьютеру! Beagle в фоновом режиме индексирует документы по всем каталогам, на которые он настроен, после чего поиск становится практически мгновенным. А знает он следующие типы документов: файлы электронной почты, логи чат-клиентов и интернет- пейджеров, web-страницы, RSS-ленты, документы Open Office и Microsoft Office разных форматов, документы AbiWord, документы в Rich Text Format, pdf, исходные тексты программ на разных языках, документация в форматах Man Pages, TeX, chm, изображения разных форматов, аудио разных форматов и т.д., и т.п.

Для платформы Mono существует уже множество интересных проектов. В дальнейшем я расскажу, как при помощи MonoDevelop быстро писать
кроссплатформенные приложения и тем самым встать в ряды Mono-разработчиков.
//-------------------------------------------------------------------------------------------------------------------------------------------- -----------

м некоторые интересные мнения по поводу MONO Ссылка
В общем комментировать не буду, по отзывам сырой проэкт и очень.
А по приведёному куску статьи, то же как бы не всё нравится. Читай сам, посмотри.Content-Disposition: form-data; name="smiles_on"

1


Жалко палку,бьёт по псу, Палка, я тебя спасу.
Понедельник начинается в субботу.


Сообщение отредактировал Sullen - Четверг, 29 Ноября 2007, 20:43:33
 
SullenДата: Вторник, 18 Декабря 2007, 22:29:47 | Сообщение #18
Старейшина
Группа: Проверенные
Сообщений: 418
Д.рег: 26 Февраля 2007
Статус: Offline
Откуда: Красноярск
Сделал первую страницу сайта - фотоальбом, а в частности вывод фотографий с превьюшками

Работает с БД - Access. Три таблицы: категории, темы, альбомы. Альбомы разбиты на темы, а темы входят в категории.
Соответственно выборка альбома через SQL. Сверху превьюшки, Фото внизу - увеличенная третья фотография.
Проблеммы
1. Оформление(хрен его знает, чем это разукрашивать)
2. Поиск как при загрузке файла-картинке уменьшить в размерах, до 100px*100px. Cейчас делал вручную, но переделаю на автомат однозначно.
3. Каким образом, хранить инфу, о сообщениях в форуме и новостной ленте, т.к. встаёт проблемма хранить информацию и всех её атрибутах.

Вот попробовал - запустить страничку, на своём компе под IIS. После этого рапустил страничку сайта ещё с трёх компов. Комп нагрузки не ощутил, совсем, малость а приятно )


Жалко палку,бьёт по псу, Палка, я тебя спасу.
Понедельник начинается в субботу.


Сообщение отредактировал Sullen - Вторник, 18 Декабря 2007, 22:33:10
 
MikeDMДата: Среда, 19 Декабря 2007, 09:20:10 | Сообщение #19
Группа: Удаленные
храниться инфа в базе данных, access не используй, работай с mssql, после 10 одновременных подключейний твоя венда выдаст тебе "достигнут предел ограничения сетевых подключений вашей лицензии" =)
 
SullenДата: Среда, 19 Декабря 2007, 20:10:13 | Сообщение #20
Старейшина
Группа: Проверенные
Сообщений: 418
Д.рег: 26 Февраля 2007
Статус: Offline
Откуда: Красноярск
спасиб...
нда, надо попоробовать, не хочется как то попадать на таком...
Один момент ещё, а это на всех Access-ах фишка? (сейчас пользуюсь офисом 2007 )


Жалко палку,бьёт по псу, Палка, я тебя спасу.
Понедельник начинается в субботу.
 
Форум » Компьютер - образ жизни » Программирование » ASP.NET (технология построения динамических сайтов)
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:


Copyright Evgeniy Rybin © 2024