Системный анализ уязвимостей сервера резервного копирования сетевой файловой системы

 

1. Мета і задачіпрактики


Мета завдання - засвоєннятеоретичних та практичних знань з мови С#, з використанням програмного забезпечення MSVisualStudio 2010.

Задачі технологічної практики передбачають:

оволодіння студентами сучасними методами роботи, які допомагають закріпленню теоретичних знань, отриманих в процесі навчання;

отримання практичних навичок при виконанні індивідуального завдання.

Під час проходження технічної практики студенти повинні:

отримати завдання від керівника (викладача, співробітника кафедри);

виконати завдання відповідно з вимогами керівника;

вивчити і суворо дотримуватись правил охорони праці, техніки безпеки і виробничої санітарії;

оформити звіт про проходження технічної практики.

Технічні засоби:під часпроходження практикибуловикористано програмне забезпечення MSVisualStudio 2010.



Вступ


Технологічна практика студентів являється складовою частиною освітньо-професійної програми, яка включає в себе задачі закріплення і впровадження теоретичних та практичних знань.

Короткі відомості про мову програмування (С#):# (вимовляється Сі-шарп) - об'єктно-орієнтована мова програмування з безпечною системою типізації для платформи .NET. РозробленаАндерсом Гейлсбергом, Скотом Вілтамутом та Пітером Гольде під егідою Microsoft Research (прифірмі Microsoft).

Синтаксис C# близькийдо С++ і Java. Мова має строгу статичну типізацію, підтримує поліморфізм, перевантаження операторів, вказівники на функції-члени класів, атрибути, події, властивості, винятки, коментарі у форматі XML. Перейнявши багато що від своїх попередників - мов С++, Delphi, Модула і Smalltalk - С#, спираючись на практику їхнього використання, виключає деякі моделі, що зарекомендували себе як проблематичні при розробці програмних систем: так, C# не підтримує множинне спадкування класів (на відміну від C++) або виведення типів (на відміну Haskell).



1. Історія виникнення мови C#

# є дуже близьким родичем мови програмування Java. Мова Java була створена компанією SunMicrosystems, коли глобальний розвиток інтернету поставив задачу роззосереджених обчислень. Взявши за основу популярну мову C++, Java виключила з неї потенційно небезпечні речі (типу вказівників без контролю виходу за межі). Для роззосереджених обчислень була створена концепція віртуальної машини та машинно-незалежного байт-коду, свого роду посередника між вихідним текстом програм і апаратними інструкціями комп'ютера чи іншого інтелектуального пристрою.набула чималої популярності, і була ліцензована також і компанією Microsoft. Але з плиномчасу Sun почалавинуватити Microsoft, щотаприствореннісвогоклону Java робитьїїсумісноювиключно з платформою Windows, чим суперечить самій концепції машинно-незалежного середовища виконання і порушує ліцензійну угоду. Microsoft відмовилася піти назустріч вимогам Sun, і тому з'ясування стосунків набуло статусу судового процесу. Суд визнав позицію Sun справедливою, і зобов'язав Microsoft відмовитися від позаліцензійного використання Java.

Нововведенням C# стала можливість легшої взаємодії, порівняно з мовами-попередниками, з кодом програм, написаних на інших мовах, що є важливим при створенні великих проектів. Якщо програми на різних мовах виконуються на платформі .NET, .NET бере на себе клопіт щодо сумісності програм (тобто типів даних, за кінцевим рахунком).

Станом на сьогодні C# визначено флагманською мовою корпорації Microsoft, бо вона найповніше використовує нові можливості .NET. Решта мов програмування, хоч і підтримуються, але визнані такими, що мають спадкові прогалини щодо використання .NET.

Назва мови: Символ # у назві мови можна інтерпретувати і як дві пари плюсів ++, що натякають на новий крок в розвитку мови в порівнянні з C++ (подібно до кроку від C до C++), і як музичний символ дієз, разом з буквою C, що становить в англійській мові назву ноти до-дієз. Останнє і дало назву мові. Попри те, що символ # (октоторп) насправді є символом для позначення номера на більшості клавіатур і відрізняється від символу дієз ? (Unicode U+266F), Microsoft, як автор мови, неодноразово зверталася до своїх клієнтів з проханням прийняти таку стилізацію.



2. Особливості та версії мови С#


.1 Особливості мови

# розроблявся як мова програмування прикладного рівня для CLR і, як такий, залежить, перш за все, від можливостей самої CLR. Це стосується, перш за все, системи типів C#. Присутність або відсутність тих або інших виразних особливостей мови диктується тим, чи може конкретна мовна особливість бути трансльована у відповідні конструкції CLR. Так, з розвитком CLR від версії 1.1 до 2.0 значно збагатився і сам C#; подібної взаємодії слід чекати і надалі. (Проте ця закономірність буде порушена з виходом C# 3.0, що є розширеннями мови, що не спираються на розширення платформи .NET.) CLR надає C#, як і всім іншим .NET-орієнтованим мовам, багато можливостей, яких позбавлені «класичні» мови програмування. Наприклад, збірка сміття не реалізована в самому C#, а проводиться CLR для програм, написаних на C# точно так, як і це робиться для програм на VB.NET, J# тощо.


.2 Версії


Версія 1.0

Проект C# був початий в грудні 1998 і отримав кодову назву COOL (C-styleObjectOrientedLanguage). Версія 1.0 була анонсована разом з платформою .NET у червні 2000 року, тоді ж з'явилася і перша загальнодоступна бета-версія; C# 1.0 остаточно вийшов разом з MicrosoftVisualStudio .NET у лютому 2002 року.

Версія 2.0

Проект специфікації C# 2.0 вперше був викладений Microsoft в жовтні 2003 року; у 2004 році виходили бета-версиі (проект з кодовою назвою Whidbey), C# 2.0 остаточно вийшов 7 листопада 2005 року разом з VisualStudio 2005 і .NET 2.0.

Нові можливості у версії 2.0:

Частковітипи (розділенняреалізаціїкласубільшніжнаодинфайл).

Узагальнені, або параметризовані типи (generics, «дженерики»). На відміну від шаблонів C++, вони підтримують деякі додаткові можливості і працюють на рівні віртуальної машини. Разом з тим, параметрами узагальненого типу не можуть бути вирази.

Нова форма ітератора, що дозволяє створювати співпрограми за допомогою ключового слова yield, подібно Python і Рубі.

Анонімні методи, що забезпечують функціональність замикання.

Оператор ??: returnobj1 ?? obj2; означає (у нотації C# 1.0) returnobj1!=null ? obj1 : obj2;.

Типи-значення, що обнуляються (nullable), (що позначаються знаком питання, наприклад, int? i = null;) є тими ж самими типами-значеннями, що можуть nfrj; приймати також значення null. Такі типи дозволяють поліпшити взаємодію з базами даних через мову SQL.

Версія 3.0

В червні 2004 року Андерс Гейлсберг вперше розповів на сайті Microsoft про плановані розширення мови в C#3.0.[1]. У вересні 2005 рокубуловипущенопроект специфікації C# 3.0 і бета-версія C# 3.0, щовстановлюється у виглядідоповненнядоіснуючих Visual Studio 2005 і .NET 2.0 [2]. Офіційно версія C# 3.0 побачила світ 19 листопада 2007 року у складі .NETFramework 3.5.# 3.0 буде сумісний з C# 2.0 за генерованим MSIL-кодом; поліпшення в мові - чисто синтаксичні і реалізуються на етапі компіляції. Наприклад, багато з інтегрованих запитів LINQ можна реалізувати в поточних версіях використовуючи безіменні делегати в поєднанні з предикативними методами над контейнерами, на кшталт List.FindAll і List.RemoveAll.

Версія 4.0

Нові можливості в версії 4.0:

Динамічнатипізаціяоб'єктів:

Динамічнийперехід,

Динамічнийвикликметоду.



3. Індивідуальне завдання


Індивідуальне завдання видається на початку практики керівником підрозділу, де студент буде проходити практику. Попередньо теми і місце проходження практики узгоджуються з керівником практики.

Індивідуальне завдання на технологічну практику:

Приклад програми виведення на екран «Hello, world!».

Приклад програми виведення поточної дати та часу.

Приклад програми музичного програвача (У візуальному режимі).

Приклад програми виведення на екран «Hello, world!».

Програмний код:

System;System.Collections.Generic;System.Linq;System.Text;HelloWorld

{

class Program

{

static void Main(string[] args)

{.WriteLine("Hlleo, world!");.ReadLine();

}

}

}


Результат виконання програми:



Приклад програми виведення поточної дати та часу.

Програмний код:

System;System.Collections.Generic;System.Linq;System.Text;DateTime

{

class Program

{

static void Main(string[] args)

{.WriteLine("Сьогоднiшнядата: " + System.DateTime.Now.ToLongDateString());.WriteLine("Поточнийчас: " + System.DateTime.Now.ToLongTimeString());.ReadLine();

}

}

}


Результат виконання програми:



Приклад програми музичного програвача (У візуальному режимі).

Програмний код:

System;System.Collections.Generic;System.Text;System.Runtime.InteropServices;Media

{

public class Player

{

private String Pcommand;

private boolisOpen;

[DllImport("winmm.dll")]

private static extern long mciSendString(string strCommand, StringBuilderstrReturn, intiReturnLength, IntPtrhwndCallback);

private static Player player;

private intbaseVolumn;

private inttrebleVolumn;

private intleftVolumn;

private intrightVolumn;

private intmasterVolumn;

public Player()

{.Bass = 10 * 100;.LeftVolume = 10 * 100;.MasterVolume = 10 * 100;.RightVolume = 10 * 100;.Treble = 10 * 100;

}

public static Player GetPlayer()

{

if (player == null)

player = new Player();

return player;

}

public void Close()

{= "close MediaFile";(Pcommand, null, 0, IntPtr.Zero);= false;

}

public void Open(string sFileName)

{= "open " + sFileName + " type mpegvideo alias MediaFile";(Pcommand, null, 0, IntPtr.Zero);= true;

}

/// <summary>

/// Програвання вже відкритого файлу по кругу

/// </summary>

public void Play(bool loop)

{

if (isOpen)

{= "play MediaFile";

if (loop)+= " REPEAT";(Pcommand, null, 0, IntPtr.Zero);.Bass = this.Bass;.LeftVolume = this.LeftVolume;.MasterVolume = this.MasterVolume;.RightVolume = this.RightVolume;.Treble = this.Treble;

}

}

/// <summary>

/// Програвання вибраного файлу

/// </summary>

public void Play(string FileName)

{

if (isOpen == true)

{

Close();

}

Open(FileName);

Play(false);

}

/// <summary>

/// Встановлення паузи

/// </summary>

public void Pause()

{= "pause MediaFile";(Pcommand, null, 0, IntPtr.Zero);

}

/// <summary>

/// Отримання поточного статусу

/// </summary>String Status()

{= 128;.Text.StringBuilderstringBuilder = new System.Text.StringBuilder(i);("status MediaFile mode", stringBuilder, i, IntPtr.Zero);

return stringBuilder.ToString();

}

/// <summary>

/// Встановлення гучності лівого динаміку

/// </summary>

public intLeftVolume

{

get

{

return leftVolumn;

}

set

{(string.Concat("setaudioMediaFile left volume to ", value), null, 0, IntPtr.Zero);= value;

}

}

/// <summary>

/// Встановлення гучності правого динаміка

/// </summary>

public intRightVolume

{

get

{

return rightVolumn;

}

set

{(string.Concat("setaudioMediaFile right volume to ", value), null, 0, IntPtr.Zero);= value;

}

}

/// <summary>

/// Встановлення загальної гучності

/// </summary>

public intMasterVolume

{

get

{

return masterVolumn;

}

set

{(string.Concat("setaudioMediaFile volume to ", value), null, 0, IntPtr.Zero);= value;

}

}

/// <summary>

/// Встановлення гучності низких частот

/// </summary>

public int Bass

{

get

{

return baseVolumn;

}

set

{(string.Concat("setaudioMediaFile bass to ", value), null, 0, IntPtr.Zero);= value;

}

}

/// <summary>

/// Встановлення звуку високої якості

/// </summary>

public int Treble

{

get

{

return trebleVolumn;

}

set

{(string.Concat("setaudioMediaFile treble to ", value), null, 0, IntPtr.Zero);= value;

}

}

/// <summary>

/// Перевірка паузи

/// </summary>

public boolIsPaused()

{

return Pcommand == "pause MediaFile";

}

/// <summary>

/// Перевірка чи виконується програвання

/// </summary>boolIsPlaying()

{

return Status() == "playing";

}

/// <summary>

/// Перевіркачивідкритийякийсь файл

/// </summary>

public boolIsOpen()

{

return isOpen;

}

}

}


Результат виконання програми:



Висновки


Хоча визначення мови C# і CLI стандартизовані ISO та Ecma, що забезпечує розумний і недискримінаційний ліцензійний захист (RAND) від патентних позовів, Microsoft використовує C# і CLI у своїй бібліотеці BaseClassLibrary (BCL), яка є фундаментом їхньої власницької платформи .NETframework, і яка забезпечує безліч нестандартизованих класів (розширений I/O, GUI WindowsForms, веб-служби, тощо). У деяких випадках, де патенти Microsoft відносяться до стандартів, використаних у .NETframework, документовані Microsoft, і застосовані патенти доступні через інші RAND умови або через Обітницю Відкритої Специфікації Microsoft (Microsoft'sOpenSpecificationPromise, OSP), які випускають патентні права публічно.

Під час проходження практики було вивчено головні елементи мови C#, такі як:

Статична типізація;

Поліморфізм;

Перевантаження операторів;

Вказівники на функції - члени касу;

Атрибути;

Події;

Властивості;

Винятки;

В ході проходження практики булу зроблено індивідуальне завдання, яке складалося з трьох задач: програма виведення на екран «Hello, world!», програма яка виводить поточну дата і час та музичний програвач.


програма мова код музичний програвач

Список використаної літератури


1. Ендрю Троелсен. Мова програмування C # 2010 і платформа. NET 4.0 = Pro C # 2010 and the. NET 4.0 Platform. - 5-е изд. - М.: Вільямс, 2010. - С. 1392. - ISBN 978-5-8459-1682-2

. Герберт Шилдт. C # 4.0: повне керівництво = C # 4.0 The Complete Reference. - М.: «Вільямс», 2010. - С. 1056. - ISBN 978-5-8459-1684-6

. Джон Скит. C #: програмування для професіоналів, 2-е видання = C # in Depth, 2nd Edition. - М.: «Вільямс», 2011. - 544 с. - ISBN 978-5-8459-1555-9

. Крістіан Нейгел, Карлі Уотсон і ін Visual C # 2010: повний курс = Beginning Microsoft Visual C # 2010. - М.: Діалектика, 2010. - ISBN 978-5-8459-1699-0

. Трей Неш. C # 2010: прискорений курс для професіоналів = Accelerated C # 2010. - М.: Вільямс, 2010. - С. 592. - ISBN 978-5-8459-1638-9

. Крістіан Нейгел, Білл Івьен, Джей Глінн, Карлі Уотсон, Морган Скіннер. C # 4: Платформа. NET 4 для професіоналів = Professional C # 4 and. NET 4. - М.: Діалектика, 2010. - С. 1440. - ISBN 978-5-8459-1656-3


1. Мета і задачіпрактики Мета завдання - засвоєннятеоретичних та практичних знань з мови С#, з використанням програмного забезпечення MSVisualStudio 2010

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ