Отложенная перезагрузка windows.

Приветствую всех! Системные администраторы чья работа связанна с администрированием серверов, по тем или иным причинам приходиться делать отсроченную перезагрузку серверов. Многие из них не задумываясь скажут, что введут cmd команды или power shell и этого будет достаточно для этих целей. Однако как показала мой опыт по мимо того, что приходиться запоминать команды, а если их […]

Паттерн Состояние на C#

Паттерн Состояние управляет изменением поведения объекта при изменении его внутреннего состояния. Внешнее это выглядит так, словно объект меняет свой класс. Паттерн Состояние позволяет объекту иметь много разный вариантов поведения в зависимости от его внутреннего состояния. В отличие от процедурных конечных автоматов, состояние в этом паттерне представляется полноценным классом. Поведение контекста реализуется делегированием выполняемых операций текущему […]

Паттерн Компоновщик на C# на примерах

Паттерн Компоновщик объединяет объекты в древовидные структуры для представления иерархий часть\целое. Компоновщик позволяет клиенту выполнять однородные операции сами отдельными объектами и их совокупностями. Паттерн Компоновщик позволяет клиенту выполнять однородные операции с комбинациями и отдельными объектами. Паттерн Компоновщик предоставляет структуру для хранения как отдельных объектов, так и комбинаций. В реализации паттерна Компоновщик приходится искать баланс между […]

Паттерн Итератор на C# на примерах

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

Паттерн Шаблонный Метод на примерах

Паттерн Шаблонный Метода задает скелет алгоритма в методе, оставляя определение реализации некоторых шагов субклассам. Субклассы могут переопределять некоторые части алгоритма без изменения его структуры. Основной задаче паттерна является создание шаблона алгоритма, то есть метод определяющий алгоритм в виде последовательности шагов. Один или несколько шагов определяются ввиде абстрактных методов, реализуемых субклассами. Таким образом гарантируется неизменность структуры […]

Возраст на сегодня по дате рождения

Простая задача — определить возраст человека на текущую дату по его дате рождения — часто встречается в разработке. Это может понадобиться в формах регистрации, анкетах, расчете возраста для скидок и т. д. Покажем, как с помощью C# можно корректно рассчитать возраст на сегодняшний день, учитывая, прошёл ли день рождения в этом году. using System; using […]

Как проверить подключение к интернету на компьютере

Проверка наличия интернет-соединения — задача, с которой сталкиваются многие разработчики. Хотя кажется, что всё просто, на практике есть нюансы: фаерволы, DNS, доступность серверов. Мы рассмотрим простой и надежный способ — отправку HTTP-запроса к сайту Google. Если сервер отвечает с кодом 200 (OK) — значит, интернет есть. В противном случае — нет. using System; using System.Collections.Generic; […]

Криптография и защита

Криптография — важнейший инструмент в защите данных. В C# платформа .NET предоставляет мощные средства для шифрования, подписей и проверки целостности данных. В данном примере мы создадим цифровую подпись с помощью алгоритма RSA, а затем проверим её — то есть сверим, соответствует ли подпись исходному сообщению. Что мы реализуем: Проверку подписи по открытому ключу. Генерацию ключей […]

Пример приема и передачи файла по сети C#

Вы этой статье я покажу как можно создать клиентско серверное приложение для передачи файлов по сети. Для начала напишем проект для передачи файла: using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Runtime.Serialization.Formatters.Binary; using System.IO; using System.Net; using System.Net.Sockets; namespace File_Sender { /// <summary> /// Summary description for Form1. /// </summary> […]

Как получить позицию курсора C#

Ниже я покажу как можно при помощи C# получить позицию курсор мыши на экране и переместить ее, использовать мы будет функцию WinAPI GetCursorPos(); using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; using System.Threading; namespace CursorPosition { public partial class frmMain : Form { public frmMain() { InitializeComponent(); […]