0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>Тестирование в Go</a></li>
1
<ul><li><a>Тестирование в Go</a></li>
2
<li><a>Дженерики в Go</a></li>
2
<li><a>Дженерики в Go</a></li>
3
<li><a>Горутины и каналы</a></li>
3
<li><a>Горутины и каналы</a></li>
4
<li><a>Примитивы синхронизации</a></li>
4
<li><a>Примитивы синхронизации</a></li>
5
<li><a>Структуры языка Golang</a></li>
5
<li><a>Структуры языка Golang</a></li>
6
<li><a>Функции и методы в Golang</a></li>
6
<li><a>Функции и методы в Golang</a></li>
7
</ul><h2>Тестирование в Go</h2>
7
</ul><h2>Тестирование в Go</h2>
8
<p>На этом открытом уроке:</p>
8
<p>На этом открытом уроке:</p>
9
<ul><li>Рассмотрели тестирование программ на Go;</li>
9
<ul><li>Рассмотрели тестирование программ на Go;</li>
10
<li>Поговорили про понятие табличных тестов;</li>
10
<li>Поговорили про понятие табличных тестов;</li>
11
<li>Затронули тему пакета testing и библиотеки testify.</li>
11
<li>Затронули тему пакета testing и библиотеки testify.</li>
12
</ul><h2>Дженерики в Go</h2>
12
</ul><h2>Дженерики в Go</h2>
13
<p>Разобрали, что такое "дженерики", как они нам могут помочь в ежедневных задачах, а также как они влияют на производительность и чем они лучше/хуже обычных интерфейсов.</p>
13
<p>Разобрали, что такое "дженерики", как они нам могут помочь в ежедневных задачах, а также как они влияют на производительность и чем они лучше/хуже обычных интерфейсов.</p>
14
<h2>Горутины и каналы</h2>
14
<h2>Горутины и каналы</h2>
15
<p>На уроке начали работу с горутинами:</p>
15
<p>На уроке начали работу с горутинами:</p>
16
<ul><li>Узнали, что такое горутины и как их запускать;</li>
16
<ul><li>Узнали, что такое горутины и как их запускать;</li>
17
<li>Сравнили буферизированные и небуферизованные каналы;</li>
17
<li>Сравнили буферизированные и небуферизованные каналы;</li>
18
<li>Поговорили про использование каналов для передачи данных и синхронизации;</li>
18
<li>Поговорили про использование каналов для передачи данных и синхронизации;</li>
19
<li>А также затронули оператор select и таймеры в Go.</li>
19
<li>А также затронули оператор select и таймеры в Go.</li>
20
</ul><p>В итоге научились реализовывать передачу данных между горутинами с помощью канала.</p>
20
</ul><p>В итоге научились реализовывать передачу данных между горутинами с помощью канала.</p>
21
<h2>Примитивы синхронизации</h2>
21
<h2>Примитивы синхронизации</h2>
22
<p>На этом занятии:</p>
22
<p>На этом занятии:</p>
23
<ul><li>Поговорили про группу ожидания (sync.WaitGroup);</li>
23
<ul><li>Поговорили про группу ожидания (sync.WaitGroup);</li>
24
<li>Затронули гарантированно одноразовое выполнение (sync.Once);</li>
24
<li>Затронули гарантированно одноразовое выполнение (sync.Once);</li>
25
<li>Обсудили "простой" мьютекс (sync.Mutex) и детектор гонок (race detector).</li>
25
<li>Обсудили "простой" мьютекс (sync.Mutex) и детектор гонок (race detector).</li>
26
</ul><p>В результате занятия научились пользоваться частью механизмов синхронизации в Go и бороться с "гонками" в Go.</p>
26
</ul><p>В результате занятия научились пользоваться частью механизмов синхронизации в Go и бороться с "гонками" в Go.</p>
27
<p>Рассмотрели следующие понятия:</p>
27
<p>Рассмотрели следующие понятия:</p>
28
<ul><li>процесс определения структур;</li>
28
<ul><li>процесс определения структур;</li>
29
<li>инкапсуляция полей структуры;</li>
29
<li>инкапсуляция полей структуры;</li>
30
<li>определение методов структуры.</li>
30
<li>определение методов структуры.</li>
31
</ul><p>Поговорили про вложенные и анонимные структуры, а также про структурные тэги и их использование в контексте JSON, XML и СУБД. В итоге научились создавать пользовательские типы данных и комбинировать их между собой.</p>
31
</ul><p>Поговорили про вложенные и анонимные структуры, а также про структурные тэги и их использование в контексте JSON, XML и СУБД. В итоге научились создавать пользовательские типы данных и комбинировать их между собой.</p>
32
<h2>Функции и методы в Golang</h2>
32
<h2>Функции и методы в Golang</h2>
33
<p>Поговорили про области видимости. Рассмотрели различные функции: именованные, анонимные, с переменным числом аргументов и пр. А также попробовали затронуть понятие замыкания и методы.</p>
33
<p>Поговорили про области видимости. Рассмотрели различные функции: именованные, анонимные, с переменным числом аргументов и пр. А также попробовали затронуть понятие замыкания и методы.</p>
34
34