Сегодня 16 июля, среда ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7281
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
coding4.net
coding4.net
Голосов: 1
Адрес блога: http://www.coding4.net/
Добавлен: 2012-06-11 20:16:46
 

Расширенные возможности с MS Office 365 Premium

2013-03-24 03:02:00 (читать в оригинале)


MS Office 365

Компания Майкрософт сделала доступным новое расширенное приложение для обычных пользователей Microsoft Office 365 Home Premium. Сегодня MS Office помимо всего прочего предоставляет облачные услуги, что очень удобно тем, кто пытается определить золотую середину между рабочими, домашними делами и временем для отдыха.Сервис состоит из целого комплекта обновлённых программ Office, большего объёма на SkyDrive-хранилище. Офис 365 можно устанавливать на 5 устройств, например, на персональный компьютер с ОС Windows, планшет или MAC-устройство. В Российской Федерации подписка на этот сервис будет стоить две тысячи пятьсот девяносто девять руб. в год или двести семнадцать рублей в месяц.По мнению главы корпорации Майкрософт Стива Баллмера, расширенный офис представляет собой нечто большее, нежели просто обновление пакета офисных программ. Компания переосмыслила свою концепцию, дополнив привычные приложения расширенными возможностями облачного сервиса. Это огромный прорыв в деле продвижения своих устройств и доступных сервисов.Открытый доступ к новым функциональным возможностям появится незамедлительно после их выхода. Это не похоже на привычный алгоритм работы Майкрософт по 3-летнему циклу выпуска новой продукции. Теперь пользователи смогут пользоваться той версией, которая актуальна на определённый момент времени.Кроме этого, был представлен обновлённый Office 365 for Students со стоимостью для российских студентов — две тысячи пятьсот девяносто девять рублей за четыре года подписки. Были обновлены и выпущены традиционные версии пакетов: MS Office для дома и учёбы 2013, Office Home and Business 2013, и Office Professional 2013.С двадцать седьмого февраля стал доступным новый пакет приложения Офис 365 для бизнеса с расширенными возможностями и функциями.Office 365 Home Premium доступен на двадцати одном языке в ста шестидесяти двух странах. Он состоит из:Полного комплекта обновлений офисных программ MS Word, MS Excel, Powerpoint, Onenote, Outlook, Publisher & Access.Одной лицензии на семью, которой будет достаточно, чтобы использовать на 5 разных устройствах.Возможности трансляции Office на любой PC с ОС Windows 7 или 8 при помощи услуги под названием «Office по запросу». Имея подписку Офис 365, пользователь получит возможность работать с программами документов на любом устройстве без установки полной версии Офиса (к примеру, в интернет-кафе). После завершения работы и закрытия программ происходит естественное удаление c этого компьютера.Предоставления сервисом Office 365 Home Premium двадцати гигабайтов на облачном сервисе СкайДрайв, что почти втрое больше того объёма памяти, который предлагается при открытии аккаунта в этом хранилище на бесплатных условиях.Майкрософт обещает обновления в будущем для поддержки услуги в актуальном режиме.Сервис 365 расширенный преследует единственную цель — оптимизировать деятельность людей и «освободить» время для досуга и близких. Результаты проведённого среди десяти тысяч людей опроса подтверждают необходимость этого шага. Почти шестьдесят процентов опрошенных жалуются на нехватку времени для личной жизни, а восемьдесят процентов могли бы «высвободить» час или два в день в условиях большей организованности.По мнению Ольги Масек, руководящей отделом продвижений MS офисных программ на территории РФ, корпорация верит в реализацию повсеместной информативной доступности. Именно с этой целью и разрабатываются новые решения, которые упрощают выполнение ежедневных дел и обмен данными и идеями. В каком бы месте человек ни находился, он везде сможет найти доступ, работая в удобном сервисе, повышать свою эффективность, затрачивая при этом меньше обычного времени.



Вопросы на собеседовании C#, Net, ASP.NET, SQL

2013-03-24 01:52:00 (читать в оригинале)


Продолжая тему вопросов на собеседовании. Нашел еще одну подборку. Оригинал лежит здесь . Перенес, чтобы не затерялось. Есть вполне вменяемые ответы (хотя, на некоторые вопросы ответил бы по-другому). Ответы находятся после списка вопросов, я их не менял.

23. Что такое шаблон проектирования Model/View/Controller? Как и зачем его применяют?

26. Какие функции никогда не могут быть виртуальными?

27. Что такое компьютерная программа?

28. Последователдьность событий при загрузке HTML страници на клиенте и что на каждом событии делается?

29. Почему класс String sealed?

30. Чем отличаются HttpHandler и HttpModule?

31. Что такое маршалинг?

32. Что такое сериализация?

33. Как в dataset накладывать различные ограничения?

34. Чем коллекции отличаются от массивов?

35. Что такое COM+ и зачем он нужен?

41. Что такое delegate, MulticastDelegate и Delegate?

42. Protected internal - это и protected и internal или либо protected либо internal?

43. Могут ли в интерфейсе быть обьявленны event'ы?

44. Напишите функцию обхода произвольного дерева?

45. Методы-аксессоры add/remove.

46. Домены и процессы, для чего нужны и как взаимодействуют?

47. Что такое Lazy Initialization?

48. Что такое Abstract Factory?

49. Что такое WSDL?

50. Каков размер типа int в С#?

51. Как обьявляют двумерный массив в С#?

52. Какой проверить открыта коннекция к базе или закрыта?

53. Как выбрать все теги с одинаковым именем, не зависимо от их положения в иерархии?

55. UML диаграммы.

56. Что такое preceding-sibling?

57. Чем отличается visibility:hidden от display:none?

58. Какова максимальная длина строки запроса?

59. Чем Get запрос отличается от Post запроса?

60. Назовите методы аутентификации в .Net?

61. Обьясните 2 технологии ASP.NET используемые для отслеживания сессии?

62. В чем разница между Server.Transfer и Response.Redirect?

63. Какие есть способы управления состоянием сессии в ASP.NET?

64. Зачем нужна функция GetHashCode?

65. Чем Delegate от Event'a отличается?

66. Что такое Inversion of Control?

Вопросы по SQL server:

36. Что такое хранимые процедуы? Назовите их достоинства и недостатки.

37. Что такое Primary key?

38. Что делает конструкция HAVING?

39. Когда вставленно 5 строчек а @@IDENTITY возвращает 45?

40. Какие есть Join'ы?

54. Зачем нужны функции в MS SQL?

Вопросы на эрудицию.

24. Есть 6 баночек с таблетками, по шесть таблеток в каждой. В одной из банок содержится яд. Таблетки с ядом весят 9 грамм, обычные таблетки весят 10 грамм. Как определить в какой баночке лежит яд, с помощью весов, воспользоваться которыми можно только 1 раз(после 1-ого взвешивания они ломаются).

25. В узлах клетчатой плоскости отмечено 5 точек. Доказать, что есть две из них, середина отрезка между которыми тоже попадает в узел.

Cтатьи, откуда я брал ответы.

23. Что такое шаблон проектирования Model/View/Controller? Как и зачем его применяют?

MVC - это тройка классов применяемых для постороения графических интерфесов взаимодествия программы с пользователем. Model - это объект приложения, View - его экранное представление. Controller - описывает реакцию интерфейса на управляющие воздействия пользователя. Model, View, Controller в сложных приложениях представляют ирархию классов. Основными отношения в схеме MVC описываются паттернами - наблюдатель, компоновщик и стратегия.



 

Вопросы на эрудицию.

 

24. Есть 6 баночек с таблетками, по шесть таблеток в каждой. В одной из банок содержится яд. Таблетки с ядом весят 9 грамм, обычные таблетки весят 10 грамм. Как определить в какой баночке лежит яд, с помощью весов, воспользоваться которыми можно только 1 раз(после 1-ого взвешивания они ломаются).

Надо расположить баночки в произвольном порядке. Из 1-ой баночки взять 1 таблетку, из 2-ой 2, из 3-ей - 3, из 4-ой - 4, из 5-ой - 5, из 6-ой - 6. И взвесить все эти таблетки предварительно отметив(маркером к примеру), из какой банки какие таблетки были взяты. Если общий вес закончится на число 9 - то 1-ая баночка с ядом, 8 - 2-ая, 7 - 3-ая, 6 - 4-ая, 5- 5-ая, 4 - 6-ая.

 

25. В узлах клетчатой плоскости отмечено 5 точек. Доказать, что есть две из них, середина отрезка между которыми тоже попадает в узел.

Введем систему координат на плоскости, так чтобы оси шли по линиям клеток, а начало координат было в любом узле. Тогда координаты любого узла имеют вид (a,b), где a и b -целые числа. Заметим, что середина отрезка с концами в точках (a,b) и (c,d) имеет вид ((a+c):2;(b+d):2). Четные числа обозначим буквой Ч, а нечетные числа - Н, тогда для обозначения узла у нас есть четыре возможности (Ч,Ч), (Ч,Н, (Н,Ч), (Н,Н). Так как точек 5, то есть, по крайней мере, два узла имеют одинаковый вид (принцип Дирихле) - они то и будут искомыми.
Принцип Дирихле(самая популярная формулировка): " Если (n + 1) кроликов сидят в n ящиках, то найдётся ящик, в котором сидит, по крайней мере, два кролика ".

Вопросы по С#.



 

26. Какие функции никогда не могут быть виртуальными?

Статические и закрытые (private). Так же можно запретить дальнейшее перекрытие виртуального метода перекрыв его с модификатором sealed (sealed override public void F() {})



 

27. Что такое компьютерная программа?

Компьютерная программа - это описание алгоритма и структуры данных.



 

28. Последователдьность событий при загрузке HTML страници на клиенте и что на каждом событии делается?

			Application_Start
			Session_Start
			 ----------------
			 События Web-формы:
			       Page_Init
			       Page_Load
			       Page_PreRender
			       Page_Unload
			       Page_Error
			       Page_AbortTransaction
			       Page_CommitTransaction
			       Page_DataBinding
			       Page_Disposed
			 ----------------
			Session_End
			Application_End
		

Page_Init - Загрузка и инициализация серверных элементов управления
Page_Load - Загрузка элементов в обьект Page
Page_PreRender - перед визуализацией обьекта Page
Page_Unload - выгрузка страници из памяти
Page_Error - при возникновении необработанного исключения
Page_AbortTransaction - при отмене транзакции
Page_CommitTransaction - при фиксации транзакции
Page_DataBinding - при привязке к источнику данных серверного элемента управления расположенного на странице
Page_Disposed - при освобождении объекта Page



 

29. Почему класс String sealed?

Типа String – тесно интегрирован с CLR, что повышает эффективность работы со строками. Поэтому, чтобы не нарушить связь CLR и String он обьявлен как sealed.



 

30. Чем отличаются HttpHandler и HttpModule?

HttpModule - глобальный обработчик запросов ко всем страницам приложения, с помощью которого можно "вклиниваться" в различные этапы обработки запроса. Например, при необходимости выполнять установку некоторых параметров. Важной особенностью HttpModule является то, что во время выполнения приложения существует только один экземпляр класса каждого модуля.

HttpHandler - обработчик конкретного запроса. В отличие от HttpModule, экземпляры HttpHandler создаются (или получаются из пула объектов) для каждого запроса. Можно назвать HttpHandler "запросо-специфичным", поскольку объект создается под каждый запрос и работает с данными, специфичными для конкретного запроса. Любая ASP.NET страница явзяется HttpHandler.



 

31. Что такое маршалинг?

Маршалинг - это механизм, который позволяет клиенту в одном процессе вызывать методы объектов в другом процессе.



 

32. Что такое сериализация?

Сериализация — способ перевода какой-либо структуры данных в последовательность битов.



 

33. Как в dataset накладывать различные ограничения?

В классе DataSet существует коллекция DataRelationCollection Relations, в которую можно добавлять различные отношения между таблицами в объекте DataSet. Так же в DataTable есть коллекция ConstraintCollection Constraints, туда можно добавлять ограничения ForeignKey и Unique, для реализации которых существуют классы ForeignKeyConstraint и UniqueConstraint. PrimaryKey назначается путём добавления сответсвущих столбцов в массив DataColumn[] PrimaryKey класса DataTable.



 

34. Чем коллекции отличаются от массивов?

Массив - это частный случай коллекции с возможностью доступа к элементу по индексу. Коллекция - это набор объектов, доступ к которым осуществляется путём последовательной обработки каждого элемента. Массивы реализовывают интерфейс IEnumerable и ICollection. Интерфейсы IEnumerable и ICollection содержат необходимые методы для такого доступа.



 

35. Что такое COM+ и зачем он нужен?

COM+ - это расширение использования COM от рабочего стола и локальных сетей до всего предприятия, включая Интернет. Технологии входящие в COM+ - Очередь сообщений Microsoft (Microsoft Message Queue, MQMS), Сервер транзакций Microsoft (Microsoft Transaction Server, MTS), Распределенная модель компонентных объектов (Distributed Component Object Model, DCOM), Queued Components и т.д..



 

41. Что такое delegate, MulticastDelegate и Delegate?

Делегаты предназначенны для ситуаций, когда требуется передать методы другим методам в качестве параметров. В основном используют в следующих случаях: Запуск потоков, Общие библиотечные классы, События. Изначально разработали 2 типа делегатов: одиночные(single-cast) и множественные (multicast). Множественные можно обьеденять в цепочки, одиночные нет. Класс MulticastDelegate (реализация multicast делегатов) наследник класса Delegate (реализация самого делегата). Возможно их обьединят в будущем, так как любой делегат это экземпляр класса MulticastDelegate.



 

42. Protected internal - это и protected и internal или либо protected либо internal?

Модификаторы protected internal означают, что доступ ограничен пределами данного проекта (internal) или классов, производных от данного класса. Т.е. PROTECTED or INTERNAL(не пересечение, а расширение).



 

43. Могут ли в интерфейсе быть обьявленны event'ы?

Могут. Любой event раскладывается компилятором в 2 метода и одно закрытое поле делегата. И несмотря на это закрытое поле компилятор не выдаёт ошибки, когда в интерфейсе обьявлен event.

				public event MailMsgEventHandler MailMsg;
				
				Компилятор транслирует в следующее:
				
				private MailMsgEventHandler MailMsg = null;
				[MethodImplAttribute(MethodImplOptions.Synchronized)]
				public virtual void add_MailMsg(MailMsgEventHandler handler)
				{
					MailMsg = (MailMsgEventHandler) Delegate.Combine(MailMsg, handler);
				}
				
				[MethodImplAttribute(MethodImplOptions.Synchronized)]
				public virtual void remove_MailMsg(MailMsgEventHandler handler)
				{
					MailMsg = (MailMsgEventHandler) Delegate.Remove(MailMsg, handler);
				}
			



 

44. Напишите функцию обхода произвольного дерева?

Проще всего применить рекурсию:

						ArrayList find(Node curNode)
						{
							MArrayList retVal = new ArrayList();
							...
							foreach(Node selNode in curNode.NodeList)
							{
								...
								retVal.Add(selNode);
								AddRange(find(selNode), retVal);
								...
							}
							...
						}
					 



 

45. Методы-аксессоры add/remove.

Add/remove используются в событиях. Позволяют соответсвенно добавлять и удалять делегат к связанному списку делегатов события.



 

46. Домены и процессы, для чего нужны и как взаимодействуют?

В современных операционных системах некий функционально законченный блок кода выполняется в специально отведенном для него адресном пространстве – процессе. Код, выполняемый внутри процесса, изолирован. Доступ к коду из другого процесса возможен только через прокси. Прокси находится в адресном пространстве вызывающего процесса и действует как заместитель удаленного объекта. С точки зрения вызывающего объекта прокси – это объект, перенаправляющий вызовы другому процессу.

Однако, с точки зрения скорости, взаимодействие между процессами требует относительно больших затрат времени. Чтобы минимизировать потери времени и ресурсов, в .NET был включён механизм доменов. Этот механизм позволяет запустить группу приложений в одном процессе, обеспечивая относительную изоляцию их друг от друга, в то же время позволяя им взаимодействовать друг с другом значительно быстрее, чем в случае отдельных процессов. Этот механизм в платформе .NET получил название доменов. Как и в случае процессов для неуправляемого кода, домен позволяет повысить устойчивость системы к сбоям, так как сбой внутри одного из доменов не приводит к сбоям внутри хост-процесса и других приложений.

Для каждого домена создаётся свой собственный экземпляр сборщика мусора, свои собственные настройки безопасности и собственные статические переменные.

Загрузка сборок в каждый домен происходит независимо. Таким образом, в каждом домене будет свой собственный экземпляр класса Assembly, даже если они используют одну и ту же сборку. Однако существует способ добиться того, чтобы код загружаемых сборок совместно использовался (share) разными доменами. Сборка, используемая совместно несколькими доменами, называется нейтральной по отношению к домену (domain-neutral).

Не существует какой-либо определенной связи между потоками операционной системы (threads) и доменами. Домен может порождать любое количество потоков, так же как поток может перейти к выполнению кода не в том домене, который его создал. Для каждого потока можно определить, в каком домене он в текущий момент выполняется, вызвав Thread.GetDomain(). Внутри потока текущий домен можно получить из свойства AppDomain.CurrentDomain.

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

Ненужный домен можно выгрузить, для этого достаточно вызвать метод AppDomain.Unload. Схема выгрузки при этом следующая. Если поток, вызвавший Unload, находится в том домене, который подлежит выгрузке, то для выгрузки будет создан другой поток. Если домен не может быть выгружен, то исключение CannotUnloadAppDomainException будет возбуждено именно в этом потоке, а не в потоке, вызвавшем Unload. Однако если поток, вызвавший Unload, находится за пределами выгружаемого домена, этот поток получит исключение. Потоки внутри домена при его выгрузке будут завершены при помощи метода Thread.Abort().

Когда сборка загружается в домен, то файл сборки оказывается заблокированным и удалить его уже нельзя. Для того чтобы этого избежать существует специальный механизм теневого копирования. Суть его в том, что перед загрузкой сборка копируется во временный каталог и только оттуда загружается. При этом оригинальный файл сборки оказывается незаблокированным и его можно заменить. Включить этот механизм можно только до загрузки первой сборки. Для этого нужно установить свойство AppDomain.ShadowCopyFiles в true, или, при создании, передать в качестве параметра экземпляр класса AppDomainSetup с соответствующим свойством, установленным в true.



 

47. Что такое Lazy Initialization?

Загрузка по требованию - процесс загрузки необходимых данные только тогда, когда они действительно понадобятся. Существует четыре основных способа реализации загрузки по требованию: инициализация по требованию, виртуальный прокси-объект, диспетчер значения и фиктивный объект.

Инициализация по требованию (lazy initialization)

Основная идея данного подхода заключается в том, что при каждой попытке доступа к полю выполняется проверка, не содержит ли оно значение NULL. Если поле содержит NULL, метод доступа загружает значение поля и лишь затем его возвращает. Использовать значение NULL в качестве признака незагруженного поля очень удобно. Исключение составляют лишь те ситуации, когда NULL является допустимым значением загруженного поля. В этом случае необходимо выбрать какой-нибудь другой признак того, что поле не загружено.

Виртуальный прокси-объект (virtual proxy)

Имитирует объект, являющийся значением поля, однако в действительности ничего в себе не содержит. В этом случае загрузка реального объекта будет выполнена только тогда, когда будет вызван один из методов виртуального прокси-объекта.

Диспетчер значения

Это объект, который выполняет роль оболочки для какого-нибудь другого объекта. Чтобы добраться к значению базового объекта, необходимо обратиться за ним к диспетчеру значения. При первом обращении диспетчер значения извлекает необходимую информацию из базы данных.

Фиктивный объект (ghost)

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



 

48. Что такое Abstract Factory?

Абстрактная фабрика - это паттерн проектирования. Предоставляет интерфейс для создания целых семейств объектов без указания конкретных классов. Объекты каждого семейства должны быть логически связаны между собой. Функционал у всех семейств схожий но сами семейства разные в рамках использования этих семейств в приложении.



 

49.Что такое WSDL?

WSDL - это XML-ориентированный язык, предназначенный для определения web-сервисов и доступа к ним.



 

50.Каков размер типа int в С#?

int - это System.Int32. Знаковое 32-битное целое.


 

51.Как обьявляют двумерный массив в С#?

C# поддерживает многомерные массивы двух видов. Первый вид - прямоугольные массивы. Двумерный прямоугольный массив - это массив в каждой строке которых одинаковое число столбцов. Он инициализируется так: string [,] (двумерный массив строк). Второй вид - неровные массивы. Каждый ряд неровного двумерного массива может содержать различное число столбцов. При создании нервных массивов на самом деле формируется массив массивов.


 

52.Какой проверить открыта коннекция к базе или закрыта?

Свойство State класса SQLConnection или OleDbConnection позвзоляют проверить это. Они вернут значение из перечисления типа ConnectionState.


 

53.Как выбрать все теги с одинаковым именем, не зависимо от их положения в иерархии?

Имеется ввиду XPath expressions. Чтобы все теги выбрать надо написать //имя_тега.
/* - это вернёт корень документа.
/bookstore - тег bookstore в корневом уровне и т.д..


 

55. UML диаграммы.

Диаграмма классов, Class diagram — статическая структурная диаграмма, описывающая структуру системы, она демонстрирует классы системы, их атрибуты и зависимости между классами.

Диаграмма компонентов, Component diagram — статическая структурная диаграмма, показывает разбиение программной системы на структурные компоненты и связи (зависимости) между компонентами. В качестве физических компонент могут выступать файлы, библиотеки, модули, исполняемые файлы, пакеты и т.п.

Диаграмма композитной/составной структуры, Composite structure diagram — статическая структурная диаграмма, демонстрирует внутреннюю структуру классов и, по возможности, взаимодействие элементов (частей) внутренней структуры класса.
Подвидом диаграмм композитной структуры являются диаграммы кооперации (Collaboration diagram, введены в UML 2.0), которые показывают роли и взаимодействие классов в рамках кооперации. Кооперации удобны при моделировании шаблонов проектирования.
Диаграммы композитной структуры могут использоваться совместно с диаграммами классов.

Диаграмма развёртывания, Deployment diagram — служит для моделирования работающих узлов (аппаратных средств, англ. node) и артефактов, развёрнутых на них. В UML 2 на узлах разворачиваются артефакты (англ. artifact), в то время как в UML 1 на узлах разворачивались компоненты. Между артефактом и логическим элементом (компонентом), который он реализует, устанавливается зависимость манифестации.

Диаграмма объектов, Object diagram — демонстрирует полный или частичный снимок моделируемой системы в заданный момент времени. На диаграмме объектов отображаются экземпляры классов (объекты) системы с указанием текущих значений их атрибутов и связей между объектами.

Диаграмма пакетов, Package diagram— структурная диаграмма, основным содержанием которой являются пакеты и отношения между ними. Жёсткого разделения между разными структурными диаграммами не проводится, поэтому данное название предлагается исключительно для удобства и не имеет семантического значения (пакеты и диаграммы пакетов могут присутствовать на других структурных диаграммах). Диаграммы пакетов служат, в первую очередь, для организации элементов в группы по какому-либо признаку с целью упрощения структуры и организации работы с моделью системы.

Диаграмма деятельности, Activity diagram — диаграмма, на которой показано разложение некоторой деятельности на её составные части. Под деятельностью (англ. activity) понимается спецификация исполняемого поведения в виде координированного последовательного и параллельного выполнения подчинённых элементов — вложенных видов деятельности и отдельных действий (англ. action), соединённых между собой потоками, которые идут от выходов одного узла ко входам другого.
Диаграммы деятельности используются при моделировании бизнес-процессов, технологических процессов, последовательных и параллельных вычислений.

Диаграмма деятельности, Activity diagram — диаграмма, на которой показано разложение некоторой деятельности на её составные части. Под деятельностью (англ. activity) понимается спецификация исполняемого поведения в виде координированного последовательного и параллельного выполнения подчинённых элементов — вложенных видов деятельности и отдельных действий (англ. action), соединённых между собой потоками, которые идут от выходов одного узла ко входам другого.
Диаграммы деятельности используются при моделировании бизнес-процессов, технологических процессов, последовательных и параллельных вычислений.

Диаграмма автомата, State Machine diagram (диаграмма конечного автомата, диаграмма состояний) — диаграмма, на которой представлен конечный автомат с простыми состояниями, переходами и композитными состояниями.
Конечный автомат (англ. State machine) — спецификация последовательности состояний, через которые проходит объект или взаимодействие в ответ на события своей жизни, а также ответные действия объекта на эти события. Конечный автомат прикреплён к исходному элементу (классу, кооперации или методу) и служит для определения поведения его экземпляров.

Диаграмма прецедентов, Use case diagram (диаграмма вариантов использования) — диаграмма, на которой отражены отношения, существующие между актёрами и прецедентами.

Диаграмма коммуникации, Communication diagram (в UML 1.x — диаграмма кооперации, collaboration diagram) — диаграмма, на которой изображаются взаимодействия между частями композитной структуры или ролями кооперации. В отличие от диаграммы последовательности, на диаграмме коммуникации явно указываются отношения между элементами (объектами), а время как отдельное измерение не используется (применяются порядковые номера вызовов).

Диаграмма последовательности, Sequence diagram — диаграмма, на которой изображено упорядоченное во времени взаимодействие объектов. В частности, на ней изображаются участвующие во взаимодействии объекты и последовательность сообщений, которыми они обмениваются.

Диаграмма обзора взаимодействия, Interaction overview diagram — разновидность диаграммы деятельности, включающая фрагменты диаграммы последовательности и конструкции потока управления.

Диаграмма синхронизации, Timing diagram — альтернативное представление диаграммы последовательности, явным образом показывающее изменения состояния на линии жизни с заданной шкалой времени. Может быть полезна в приложениях реального времени.


 

56. Что такое preceding-sibling?

XSLT: Preceding-sibling содержит всех предыдущих братьев контекстного узла.


 

57. Чем отличается visibility:hidden от display:none?

Видимость слоя (visibility) MSIE, Opera, Mozilla - .visibility="visible"/"hidden" (видимый/невидимый) Netscape 4 - .visibility="show"/"hide" (show/hide требуют только самые первые версии Netscape 4, более новые понимают и visible/hidden) Кроме видимости, в CSS есть еще "отображаемость" - display. От visibility он отличается тем, что невидимый (visibility="hidden") слой продолжает занимать место, а неотображаемый (display="none") места не занимает, словно его просто нету. В Netscape 4 динамически (т. е. скриптом) менять display нельзя.


 

58. Какова максимальная длина строки запроса?

Microsoft Internet Explorer: Начиная с четвертой версии браузера, максимальная длина воспринимаемого URL составляет 2,083 символов. При этом длина GET-запроса лимитирована 2,048 символа. На POST никаких ограничений не накладывается. Firefox: В старых версиях (1.5.x) было ограничение на 64 килобайта, но, вполне возможно, это был баг, который позже исправили. Теперь, по всей видимости, ограничения на длину URL снято вообще, либо оно существенно превышает «пределы разумного» (проверено, что Firefox может «съесть» URL длиной в 100,000 символов). Safari: Лимита на длину URL нет так же, как и в Firefox. Автор FAQ успешно протестировал адрес длиной 80,000 символов. Opera: По заявлению разработчиков, лимита нет. Успешно прошли тесты с 190,000 символами.


 

59. Чем Get запрос отличается от Post запроса?

Данные в методе GET передаются через HTTP-заголовки, а конкретно в адресе, а при передаче методом POST данные передаются через тело запроса.


 

60. Назовите методы aутентификации в .Net?

1.WINDOWS AUTHENTICATION
Применяется для идентификации и авторизации пользователей в зависимости от привилегий учетной записи пользователя. Работает аналогично обычным механизмам сетевой безопасности Windows и выполняется контроллером домена;
2.FORMS AUTHENTICATION
Пользователь вводит логин и пароль в Web -форме, после чего авторизация происходит по списку пользователей, хранящемуся, например, в базе данных. Применяется на большинстве Internet-сайтов при регистрации в Inernet -магазинах, форумах, пр;
3.PASSPORT AUTHENTICATION
Все пользователи имеют единое имя и пароль, используемые для сайтов, использующих данный тип авторизации. Пользователи регистрируются в службе Microsoft Passport.
4.NONE/CUSTOM AUTHENTICATION
None имеет смысл устанавливать если используется собственная схема аутентификации или анонимный доступ (для повышения производительности).


 

61. Обьясните 2 технологии ASP.NET используемые для отслеживания сессии?

Пользовательская сессия здесь - это доступ пользователя к своим ресурсам на сервере. Зная уникальный идентификатор сессии пользователь гарантированно может обращаться к своим данным на сервере не теряя сессию. Передавать этот идентифиактор можно 2-мя способами:
1.Hidden Fields In Forms
Значение уникального идентификатора сессии хранится в скрытом поле.
2.URL Rewriting
Значение уникального идентификатора сессии хранится в строке запроса.


 

62. В чем разница между Server.Transfer и Response.Redirect?

Response.Redirect отправляет ответ браузеру, а Server.Transfer просто начинает обрабатывать другую страницу в рамках того же запроса.
Вызывая метод Response.Redirect, сервер отсылает клиентскому браузеру HTTP header со статус-кодом (302), который означает, что обьект был перемещён. Так же в заголовке указывается новое место обьекта. Смотрим, что получается после вызова Response.Redirect("~/Default.aspx"):
HTTP/1.1 302 Found
Server: ASP.NET Development Server/9.0.0.0
Date: Thu, 04 Sep 2008 11:59:21 GMT
X-AspNet-Version: 2.0.50727
Location: /Default.aspx
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 130
Connection: Close

Если клиентский браузер нормально воспринимает перенаправления, то такой страницы вы не увидите. Браузер автоматически запросит ресурс по указанном Location.
На заметку:
1. В том случае, когда первоначальный запрос был вызван POST-методом, после перенаправления методом Response.Redirect на другую страницу теряются все данные формы.
2. Благодаря же тому, что браузер посылает второй запрос, его возможно перенаправить на внешний ресурс.
Теперь пару слов о Server.Transfer. В отличии от Response.Redirect данный метод перенаправляет выполнение с одной страницы на другую на сервере. Это хорошо проявляется, если посмотреть на Url, после перенаправления. Он такой же как и в первом запросе. Более подробно на примере:
Браузер запрашивает страницу http://localhost:4107/Default.aspx. Метод Page_Load страницы выглядит так
protected void Page_Load(object sender, EventArgs e)
{
Server.Transfer("~/Foo.aspx");
}
Смотрим на Url, он остался таким же (http://localhost:4107/Default.aspx), но в браузере отображена страница Foo.aspx.
Ещё одним замечальным свойством Server.Transfer является то, что он позволяет передавать второй странице данные формы и строки запроса первой. Если же такие данные на второй странице не нужны, можно почистить их передав вторым параметром false. Пример:
Server.Transfer("~/Foo.aspx", false);
На заметку:
1. Если первая страница записывает что-то в буфер ответа (Response), то перед вызовом Server.Transfer Response нужно почистить, иначе получится каша: содержимое второй страницы добавится после содержимого первой страницы.
2. Так Server.Transfer выполняется на сервере, невозможно перенаправить запрос на внешний сайт.


 

63. Какие есть способы управления состоянием сессии в ASP.NET?

1.In Process
Способ, унаследованный от предыдущих версий ASP. Сессия храниться в локальной памяти веб-сервера. В результате при сбое приложения или перезапуске веб-сервера все данные теряются. Это может быть вызвано, например, настройками из тега в файле machine.config (либо web.config). Один из возможных сценариев - преувеличение объема памяти, указанного в атрибуте memoryLimit. Поскольку каждый пользователь имеют свою собственную сессию, то увеличение нагрузки на сервер может потребовать достаточно большого объема ресурсов. Также перезапуск может вызвать изменение одного из файлов Global.asax или Web.config, либо директории \Bin приложения.
2.Session State Service
Сохранение сессии в отдельном процессе на отдельном сервере. Для использования этого метода необходимо убедиться, что ASP.NET State Service запущен на удаленном сервере, который планируется использовать для хранения сессии. Этот сервис инсталлируется вместе с ASP.NET и Visual Studio .NET и может быть найден по такому пути: systemroot\Microsoft.NET\Framework\versionNumber\aspnet_state.exe В web.config необходимо в атрибуте connectionString указать название удаленного сервера и используемый порт.
3.Storing it in MSSQL server
Данные сессии хранятся в базе данных SQL сервера
4.Custom
Пользовательская реализация хранения сессии.
5.Off
Сессии отключены, т.е. данные сессии никак не сохраняются.


 

64. Зачем нужна функция GetHashCode?

Хэш-код — это числовое значение, используемое для идентификации объекта во время проверки равенства. Он также может служить индексом для объекта в коллекции.
Хэш-функция используется для быстрого создания числа (хэш-кода), соответствующего значению объекта. Обычно каждому объекту Type соответствует своя хэш-функция, у которой в качестве входного аргумента должно использоваться хотя бы одно из полей экземпляра.
Хэш-функции должны обладать следующими свойствами:

  • Если два объекта при сравнении оказались равны, методы GetHashCode обоих этих объектов должны возвращать одинаковые значения. Однако если при сравнении оказалось, что эти объекты не равны, методы GetHashCode этих объектов не обязательно должны возвращать разные значения.
  • Метод GetHashCode должен последовательно возвращать для объекта один и тот же хэш-код, пока в состоянии объекта не произойдут изменения, определяющие значения, возвращаемые для объекта методом Equals. Обратите внимание, что это справедливо только для текущего выполнения приложения, и при повторном запуске приложения может возвращаться другой хэш-код.
  • Для оптимальной производительности значения хэш-функции должны подчиняться случайному распределению для всех входных аргументов.
Например, реализация метода GetHashCode, обеспечиваемая классом String, возвращает одинаковые хэш-коды для одинаковых строковых значений. Следовательно, два объекта String возвращают тот же хэш-код, если они представляют одно и то же строковое значение. Кроме того, этот метод использует все символы в строке для создания случайно распределенного результата, даже если входной параметр ограничен каким-либо диапазоном (например, многие пользователи применяют строки, содержащие только первые 128 символов набора ASCII, хотя строка может содержать любые из 65535 символов Юникода).

Для производных классов объекта Object метод GetHashCode можно делегировать реализации Object.GetHashCode в том и только в том случае, если эти производные классы определяют равенство значений как равенство ссылок, а соответствующий тип не является типом значения.

Предоставление хорошей хэш-функции для каждого класса может значительно ускорить добавление соответствующих объектов в хэш-таблицу. Поиск элементов в хэш-таблице при надлежащей реализации хэш-функции занимает постоянное время (например, операция O(1)). Скорость поиска элементов при плохой реализации хэш-функции зависит от числа элементов в хэш-таблице (например, O(n), где n — число элементов в хэш-таблице). Вычисление хэш-функций не должно отнимать значительный объем ресурсов.

Реализации метода GetHashCode не должны приводить к зацикливанию ссылок. Например, если метод ClassA.GetHashCode вызывает ClassB.GetHashCode, то метод ClassB.GetHashCode не должен вызывать ClassA.GetHashCode ни явным, ни неявным образом.

Реализации метода GetHashCode не должны выбрасывать исключения.

Производные классы, переопределяющие метод GetHashCode, должны также переопределять метод Equals для обеспечения равенства хэш-кода двух считающихся равными объектов; в противном случае тип Hashtable может работать неправильно.

 

65. Чем Delegate от Event'a отличается?

1. Событие нельзя запустить вне класса, в котором оно было объявлено
2. События могут быть помещены в интерфейс.
3. И событие и делегат можно объявить полем класса, но в отличие от делегата, событие не может быть локальной переменной метода

 

66. Что такое Inversion of Control?

Это вопрос на знание SOLID.
SOLID это аббревиатура пяти основных принципов дизайна классов в объектно-ориентированном проектировании.
S-(Single responsibility principle или Принцип единственности ответственности) - На каждый объект должна быть возложена одна единственная ответственность.
O-(Open/closed principle или Принцип открытости/закрытости) - Программные сущности … должны быть открыты для расширения, но закрыты для изменения.
L-(Liskov substitution principle или Принцип подстановки Лисков) - Объекты в программе могут быть заменены их наследниками без изменения свойств программы.
I-(Interface segregation principle или Принцип изоляции интерфейса) - Много специализированных интерфейсов лучше, чем один универсальный.
D-(Dependency inversion principle или Принцип инверсии зависимостей или Inversion of Control) - Зависимости внутри системы строятся на основе абстракций. Модули верхнего уровня не зависят от модулей нижнего уровня. Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.



Вопросы по SQL server:

 

36. Что такое хранимые процедуы? Назовите их достоинства и недостатки.

Хранимая процедура - это группа операторов SQL, которая компилируется один раз и после этого может выполняться многократно. Компиляция происходит при первом исполнении хранимой процедуры. Достоинства: Производительность. Повышение безопасности посредством изоляции и шифрования. Недостатки: Совмещение данных и кода работающего с ними в базе данных.



 

37. Что такое Primary key?

Первичный ключ - это столбец или комбинация столбцов, значения которых ун



Самый популярный интернет в Украине

2013-03-24 01:41:00 (читать в оригинале)


Украина

Интернет сегодня является одним из самых популярных способов взаимодействия в мире. Самое мощная коммуникация в мире - это всемирная паутина. В Украине сегодня интернет рынок не является окончательно сформированным. И все таки уже явно прослеживаются некоторые компании, которые считаются лидерами, а также некоторые виды интернета, которые пользуются большей популярностью.

Каким же интернетом пользуется большинство Украинцев? В первую очередь необходимо рассказать про охваченность интернетом нашей страны. Разумеется, что в городах количество интернет пользователей намного больше, чем в сельской местности. В этом нет ничего удивительного. Сегодня интернетом пользуется 70% населения. Этот процент достаточно низкий в сравнении с другими развитыми странами. В основном пользуются интернетом молодежь и люди до сорока лет. Поэтому средняя возрастная категория находится на уровне 18-35 лет. Именно этот возраст считается наиболее интернет активным. Львиная доля использования интернета приходится на социальные сети и разнообразные форумы. Не забывают наши пользователи про использование всемирной паутины для загрузки фильмов.

Теперь что касается типа подключения.

Если смотреть на уровне предприятий, тот здесь в основном используется Wi-Fi подключение. Это связано с тем, что на фирмах многим пользователям нужно пользоваться интернетом. Поэтому использовать для этого проводное подключение неудобно. Вот и получается, что практически на всех фирмах везде используется Wi-Fi. Разумеется, это делает работу с интернетом более комфортной и также избавляет от наличия в помещении огромного количества проводов.

Если говорить про домашнее подключение, то тут все еще лидирует проводной способ соединения. Это связано с тем, что в нашей стране использование разнообразных гаджетов не настолько популярно. В основном для подключения используется стандартный компьютер или ноутбук. Лишь в редких случаях дополнительно к интернету подключают планшеты, или мобильные телефоны, или второй компьютер.

Если говорить про подключение 3G интернета, то у нас этот процент остается очень низким. Если в более развитых странах использование 3G интернета стремительно растет, то у нас если и наблюдается прирост использования данной технологии, но очень низкий. Мобильный интернет в шей стране в основном используют лишь в тех местах, где работать с другими типами соединения просто нет технической возможности. Сегодня провайдеры стараются предложить какие-то интересные тарифы, но все таки стоимость продолжает остаться очень высокой.





Windows Blue обещает ускорить быстродействие системы

2013-03-15 02:09:00 (читать в оригинале)


Windows Blue

В Сети появляется все больше сообщений о нововведениях обновления Windows Blue по ходу разработки продукта. Как стало известно с китайского ресурса Win8China, корпорация «Майкрософт» планирует запуск новой ступени разработки под названием Milestone Preview, что означает начало публичного тестирования обновления.В соответствии с информацией, полученной из внутренних источников Microsoft, разработчики компании заострили особенное внимание на оптимизирование ядра NT. На сегодняшний момент восьмая версия Windows – это результат плодотворной работы редмондских программистов, продукт с улучшенным быстродействием, ускоренными процедурами загрузки и эффективной работы с файлами. Однако, по мнению компании, это не повод останавливаться и довольствоваться достигнутым. Обновление ядра NT до версии 6.3 позволит добиться более скоростной загрузки ОС, увеличенной энергоэффективности и затрачивания меньшего объема памяти.Нововведения не обошли стороной и пользовательский интерфейс. Пользователям планшетов диагональю до десяти дюймов будут предложены улучшенные возможности при масштабировании metro/modern интерфейса. Кроме этого, специалисты подразделения online services компании «Майкрософт» работают над улучшением Charms-панели, чтобы оптимизировать поисковый сервис Bing и персонализировать контент с помощью технологий поисковика.Примечательно, что в рамках выхода превью-версии обновления пользователи смогут протестировать данные функциональные возможности. Планируется, что финальный этап RTM, т. е. официальный релиз обновления, появится в начале этого лета. Поступление в продажу новых продуктов Windows с уже установленным обновлением начнется с августа 2013 года.Ввиду отсутствия официального подтверждения со стороны корпорации «Майкрософт» не стоит полагаться на достоверность всей этой информации. Возможно, это просто слухи как следствие появления шумихи вокруг нового редмондского продукта.



Темы собеседования на должность ASP.NET разработчика

2013-03-15 01:55:00 (читать в оригинале)


В продолжение темы вопросов на собеседовании. Нашел в интернете еще один представительный список с вменяемыми ответами. Хотя, конечно, на полноту ответы не претендуют. Оригинал лежит здесь . Перенес его сюда как есть не внося никаких изменений.
  1. Что такое полиморфизм, инкапсуляция, наследование. ООП
    • Полиморфизм: Язык программирования поддерживает полиморфизм, если классы с одинаковой спецификацией могут иметь различную реализацию.
    • Наследование: Механизм позволяющий создать новый класс, который наследует родительский класс при этом свойства и методы родительского класса заимствуються новым классом
    • Инкапсуляция: свойство языка программирования, позволяющее объединить и защитить данные и код в объект и скрыть реализацию объекта от пользователя (прикладного программиста). При этом пользователю предоставляется только спецификация (интерфейс) объекта.
  2. Какие виды типов есть в .Net (reference, by value). Существуют следующие типы Value type, reference type. Value type хранит значения в стеке (более быстрый доступ к данным) reference type хранит значения в куче(Больший объём памяти для хранения данных).string является ссылочным типом.
  3. boxing/unboxing Боксирование, процесс преобразования объекта из value type в reference type. Анбоксинг обратный процесс. http://msdn.microsoft.com/ru-ru/library/4d43ts61.aspx
  4. Managed code, Managed Envirovment, Security. Такой код, который управляеться средой .Net framework, в данном случае за безопасностью выполнения кода следит среда, которая может ограничить доступ приложения, если нет соответсвующих на то прав. Это означает, что CLR заботится об управлении памятью, о совместимости между платформами, о безопастности код
  5. ref, out:
    • ref - позволяет передавать типы данных по ссылке, т.е. внутри метода при передаче value type, мы будем иметь ссылку на значение, и сможем изменить значение, при этом после завершения метода значение будет обновленно, т.е. будет вести себя как ссылочный тип. В случае reference type и передаче по ref, мы можем уничтожить ссылку, и тогда объект будет потерян.
    • out - говорит о том, что вызывающий метод с параметром out должен обязательно присвоить значение, в противном случае возникнит ошибка компиляции.
  6. модификаторы
    • new позволяет в наследованном классе скрывать методы и свойства от родительского класса. При этом при приведении наследника к родителю и вызова метода, который объявлен наследнике как new, такой метод не будет вызван, вместо него вызоветься метод базового класса.
    • private - Доступ к закрытым членам можно получить только внутри тела класса или структуры, в которой они объявлены. Также если тело класса имеет внутренний класс, то ему тоже будет предоставлен доступ
    • public- член класса или тип будет виден без ограничений
    • protected- Доступ ограничен содержащим классом или типами, которые являются производными от содержащего класса.
    • internal- Доступ ограничен текущей сборкой.
    • override -  позволяет перегружать методы в наследуемом классе, которые в родительском объявленны, как virtual
    • virtual - используется для изменения объявлений методов, свойств, индексаторов и событий и разрешения их переопределения в производном классе. Например, этот метод может быть переопределен любым производным классо
    • extern - используется для объявления метода с внешней реализацией. Когда службы взаимодействия используются для вызова неуправляемого кода, модификатор extern обычно используется с атрибутом DllImport. В этом случае также необходимо объявить метод как static в соответствии со следующим примером:

      [DllImport("avifil32.dll")]
      private static extern void AVIFileInit();

    • static - используется для объявления статического члена, принадлежащего собственно типу, а не конкретному объекту. Модификатор static можно использовать с классами, полями, методами, свойствами, операторами, событиями и конструкторами, но нельзя — с индексаторами, деструкторами или типами, отличными от классов. На статический член нельзя ссылаться через экземпляр. а можно только через имя типа.
    • readonly - это модификатор, который можно использовать для полей. Если объявление поля содержит модификатор readonly, присвоение значений таким полям может происходить только как часть объявления или в конструкторе в том же классе. Поле с модификатором const может быть инициализировано только при объявлении поля. Поле с модификатором readonly может быть инициализировано при объявлении или в конструкторе.
    • sealed - запрещает другим классам наследовать от этого класса.
  7. Статические конструкторы вызываются на определенном этапе между запуском программы и созданием экземпляра класса.
    • Статические конструкторы обладают следующими свойствами.
      • Статический конструктор не принимает модификаторы доступа и не имеет параметров.
      • Статический конструктор вызывается автоматически для инициализации класса перед созданием первого экземпляра или ссылкой на какие-либо статические члены.
      • Статический конструктор нельзя вызывать напрямую.
      • Пользователь не управляет тем, когда статический конструктор выполняется в программе.
      • Типичным использованием статических конструкторов является случай, когда класс использует файл журнала и конструктор применяется для добавления записей в этот файл.
      • Статические конструкторы также полезны при создании классов-оболочек для неуправляемого кода, когда конструктор может вызвать метод LoadLibrary.
      • Если статический конструктор инициирует исключение, среда выполнения не вызывает его во второй раз, и тип остается неинициализированным на время существования домена приложения, в котором выполняется программа.
  8. AppDomain - представляет домен приложения, являющийся изолированной средой, в которой выполняются приложения. Данный класс не может наследоваться.
    Домены приложений, представленные объектами AppDomain, помогают обеспечить изоляцию, выгрузку и границы безопасности для выполнения управляемого кода. http://msdn.microsoft.com/ru-ru/library/system.appdomain.aspx
    • Используйте домены приложений для изоляции задач, которые могут нарушить работу процесса. Если состояние AppDomain, выполняющего задачу, становится нестабильным, AppDomain можно выгрузить, и это не отразится на процессе. Это важно для процессов, которые должны выполняться длительное время без перезапуска. Также домены приложения можно использовать для изоляции задач, которые не должны совместно использовать данные.
    • Если сборка загружается в используемый по умолчанию домен приложения, ее нельзя выгрузить из памяти, пока выполняется процесс. Однако, если открыть второй домен приложения для загрузки и выполнения сборки, эта сборка будет выгружаться, когда выгружается домен приложения. Используйте этот прием для минимизации рабочего набора долго выполняющихся процессов, время от времени использующих большие библиотеки DLL.
  9. Threads, Crytical section, Monitor, Semaphore, lock(monitor) Проблемы возникающие при работе с потоками:
    • Доступ к общим ресурсам
    • взаимоблокировка (один поток не может завершится до тех пор пока другой не завершит какой то процесс, при этом второй поток не может закончить, пока первый не закончил)
    • синхронизация потоков
    Для разрешения проблем возникающих при работе с потоками используются Crytical section, Monitor, Semaphore, lock(monitor)
  10. Жизненый цикл страницы, контролов, мастер пейдж (page_load) PreInit, Init, InitComplete (Load viewstate, post data),  PreLoad, Load (recursive for all children control calling load),Вызов всех событий, LoadComplete, PreRender, SaveStateComplete (viewstate), render, unload см. ссылку.Сначала грузится контент пейдж лоад, а потом мастерпейдж.ссылка
  11. Структуры Абстрактной структурі не существует. Структуры могут реализовывать интерфейс, но они не могут наследовать от другой структуры. По этой причине члены структуры нельзя объявить как protected.
  12. web servise class. Определяет необязательный базовый класс для веб-служб XML, обеспечивающий прямой доступ к общим объектам ASP.NET, таким как состояние приложения или сеанса. Если доступ к общим объектам ASP.NET не требуется, можно создавать веб-службы, не являющиеся производными от WebService. Доступ к дополнительным объектам ASP.NET возможен через Context.
  13. <%@ WebService Language="C#" Class="Util" %>
    
    usingn System;
    using System.Web.Services;
    
    public class Util: WebService {
    
        [WebMethod(Description="Returns the time as stored on the Server", EnableSession=false)]
        public string Time() {
            return Context.Timestamp.TimeOfDay.ToString();
        }
    }
    
  14. webmethod. Добавление этого атрибута к методу в веб-службе XML, созданной с помощью ASP.NET, делает возможным вызов этого метода для удаленных веб-клиентов. Этот класс не может быть унаследован.
  15. события в асп.нете и кастом евенты. Для реализации своих собітий необходимо унаследоваться от WebRequestEvent. Примеры http://msdn.microsoft.com/ru-ru/library/ms227545.aspx http://msdn.microsoft.com/ru-ru/library/system.web.management.webrequestevent.aspx
  16. events, delegate. delegate это класс, а event это член класса с типом delegate. События это особый тип многоадресных делегатов, которые можно вызвать только из класса или структуры, в которой они объявлены (класс издателя). Если на событие подписаны другие классы или структуры, их методы обработчиков событий будут вызваны когда класс издателя инициирует событие. Ключевое слово delegate используется для объявления ссылочного типа, который может быть использован для инкапсуляции именованного или анонимного метода.
  17. HttpHandler позволяет получать данные от сервера, при этом не обрабатывать все события стандартной веб страницы. Применяется для получения изображения из БД, получение RSS ленты и прочее. (.ashx)
  18. CLS, CTS.Common Type System (CTS) describes how types are declared, used and managed. CTS facilitates cross-language integration, type safety, and high performance code execution. The CLS is a specification that defines the rules to support language integration. This is done in such a way, that programs written in any language (.NET compliant) can interoperate with one another. This also can take full advantage of inheritance, polymorphism, exceptions, and other features. CLR - Common Language Runtime - среда которая выполняет код и предлагает службы, облегчающие процесс разработки. CTS - Описание и определение способов объявления, использования и управления типами в среде выполнения для поддержки интеграции языков программирования.
  19. Sql index cluster/non-cluster. Существует два типа индексов: кластерные и некластерные. При наличии кластерного индекса строки таблицы физически хранятся в заданном порядке и непосредственно связаны с элементами индекса, благодаря чему значительно ускоряется доступ к данным при использовании запросов, использующих данный индекс. Если в таблице нет кластерного индекса, таблица является неупорядоченной. Некластерный индекс, созданный для такой таблицы, содержит только указатели на записи таблицы, в связи с чем при выборке необходимо по крайней мере ещё одно обращение к диску для получения собственно записи.
  20. Интерфейс содержит только подписи методов, свойств, событий или индексаторов. Реализация членов выполняется в классе или в структуре, реализующей интерфейс
  21. Catch. Инструкция try-catch состоит из блока try, за которым следует одно или несколько предложений catch, в которых определяются обработчики для различных исключений.Можно использовать несколько предложений catch. В этом случае будет иметь значение порядок следования предложений catch, поскольку предложения catch будут проверяться именно в этом порядке. При использовании в качестве первого перехватчика Exception, появится сообщение об ошибке: A previous catch clause already catches all exceptions of this or a super type ('System.Exception')
  22. GAC - The global assembly cache stores assemblies specifically designated to be shared by several applications on the computer. Решает задачи версионирования сборок.



Страницы: ... 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 ... 

 


Самый-самый блог
Блогер ЖЖ все стерпит
ЖЖ все стерпит
по количеству голосов (152) в категории «Истории»
Изменения рейтинга
Категория «Авто/Мото»
Взлеты Топ 5
+265
299
MicheL1102
+238
257
Темы_дня
+230
258
Bisdiv.com
+220
259
Дневник
+177
284
Пофигист
Падения Топ 5


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.