Skip to content

Instantly share code, notes, and snippets.

View vertigra's full-sized avatar
😬
I may be slow to respond.

Alexey Nesterov vertigra

😬
I may be slow to respond.
View GitHub Profile
@vertigra
vertigra / console_write_without_nunit_adapter.md
Last active March 23, 2017 14:32
Вывод в консоль из nunit теста.

Вывод в консоль из nunit теста.

С установленым Reshaper без nunit test adapter так

Console.Out.WriteLine("Print string");
@vertigra
vertigra / arrayisnullorempty.md
Last active March 5, 2017 12:37
Проверка массива на null и 0 (C#)

Проверка массива на null и 0 (C#)

Отсюда

public static bool IsNullOrEmpty<T>(this IEnumerable<T> items)
{
  return items == null || !items.Any();
}
@vertigra
vertigra / update_grub.md
Last active March 1, 2017 03:50
Установка загрузчика grub после копирования системного разделов.

Восстановление загрузчика grub после копирования системного раздела.

После копирования разделов с помощью gparted необходимо установить загрузчик. Делается это из консоли gparted так:

# sudo mount /dev/sda1 /mnt
# sudo grub-install --root-directory=/mnt /dev/sda

где:

@vertigra
vertigra / intparseexample.md
Last active March 22, 2017 23:30
Конвертация string в int (C#)

Конвертация string в int (C#)

Конспект

//
// int.Parse(string s)
//
class Program
{
@vertigra
vertigra / howto-upgrade-debian-jessie-kernel.md
Last active February 14, 2017 23:38 — forked from minazou67/howto-upgrade-debian-jessie-kernel.md
How to upgrade the Linux Kernel of debian 8 jessie

How to upgrade the Linux Kernel of debian 8 jessie

Debian 8

Environment

  • Microsoft Windows Server 2012 R2
  • Hyper-V
  • Debian 8.2 jessie
@vertigra
vertigra / interface.md
Last active February 24, 2017 13:05
Интерфейсы (С#)

Интерфесы (С#)

Конспект статьи

Интерфейс (interface) представляет собой не более чем просто именованный набор абстрактных членов. Абстрактные методы являются чистым протоколом, поскольку не имеют никакой стандартной реализации. Конкретные члены, определяемые интерфейсом, зависят от того, какое поведение моделируется с его помощью. каждый класс (или структура) может поддерживать столько интерфейсов, сколько необходимо, и, следовательно, тем самым поддерживать множество поведений.

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

Для реализации интерфейса в классе должны быть предоставлены тела (т.е. конкретные реализ

@vertigra
vertigra / mock-object-conspect.md
Last active May 13, 2025 08:34
Введение в mock-объекты. Классификация

Введение в mock-объекты. Классификация.

Конспект статьи

Часто тестируемый метод может вызывать методы других классов, которые в данном случае тестировать не нужно. Unit-тест потому и называется модульным, что тестирует отдельные модули, а не их взаимодействие. Причем, чем меньше тестируемый модуль – тем лучше с точки зрения будущей поддержки тестов. Для тестирования взаимодействия используются интеграционные тесты, где вы уже тестируете скорее полные use cases, а не отдельную функциональность.

Однако наши классы очень часто используют другие классы в своей работе. Например, слой бизнес логики (Business Logic layer) часто работает с другими объектами бизнес логики или обращается к слою доступа к данным (Data Access layer). В трехслойной архитектуре веб-приложений это вообще постоянный процесс: Presentation layer обращается к Business Logic layer, тот, в свою очередь, к Data Access layer, а Data Access layer – к базе данных. Как же тестировать подобный

@vertigra
vertigra / plainevent.md
Last active February 9, 2017 04:39
Обработка и вызов события без передачи параметров (C#)

Обработка и вызов события без передачи параметров (C#)

Дано:

  1. Форма MainForm, на которой расположены два текстбокса (TextBoxOne и TextBoxTwo) и кнопка buttonСallParentForm вызывающая ParentForm.
  2. Форма ParentForm, c кнопкой buttonCleanTextBox при нажатии на которую нужно очистить текстбоксы на первой форме.

##На ParentForm

@vertigra
vertigra / nunit3attr.md
Last active February 7, 2017 15:01
Атрибуты Nunit 3

Атрибуты Nunit 3

[SetUpFixture]

[OneTimeSetUp] - выполняется до запуска всех тестов. [OneTimeTearDown] - после выполнения всех тестов.
Подробнее тут

[SetUpFixture]
public class OnTestFixtureStart
{
@vertigra
vertigra / logrotate.md
Last active February 7, 2017 12:26
Ротация логов TeamCity с помощью logrotate Debian

Ротация логов TeamCity с помощью logrotate Debian

# joe /etc/logrotate.conf

Добавляем:

# system-specific logs may be configured here