Рецензии: Познавательные видосики
27.01.2018


В данном посте я буду собирать ссылки на различные интересные видеокурсы или просто отдельные видео с видеохостинга YouTube, посвящённые теме информационных технологий и программирования в частности. Предполагается, что пост будет пролонгированным, то есть я буду периодически пополнять его новыми видосиками. Следите за обновлениями в соцсетях (в частности, в ВК, Щебетаче и Телеграмме)!


Уроки C#

Серия уроков по языку программирования C#. В своё время очень приятно удивила как качеством подачи материала, так и глубине рассмотрения. Это лучший курс по C#'пу, который я находил на просторах YouTube. Видео начинаются с рассмотрения базовых тем вроде системы типов, потом углубляются всё дальше и глубже, описывая различные особенности языка. Затрагиваются темы делегатов, дженериков, лямбда-выражений, LINQ'а, рефлексии, работы с базами данных, многопоточности и построения архитектуры приложения. Всячески советую для начинающих и околоначинающих «шарпистов»! Жаль, что вот уже год как автор забил на канал.

Там же на канале можно найти небольшой плейлист по построению интерфейса с использованием WPF и паттерна MVVM.


Шаблоны разработки (полный курс)

Лекции длинные и их много. Но смотрятся легко. У автора хорошая манера подачи материала с шутейками и пояснением принципов через многолетний жизненный опыт. Даже не знаю, что ещё добавить к этому. Рекомендую к просмотру для изучающих ООП и заинтересованных в построении грамотно спроектированных объектно-ориентированных приложений.

Также у автора есть видео с пересказом книги «Чистый код». Тоже крайне советую.


UML 2.0 Tutorial

Поразительный человек. То, что другие объясняют за час, Дерек умудряется рассказать за 12 минут! Собственно, с этого плейлиста и началось моё знакомство с его каналом. Когда нужно было за день до зачёта научиться строить диаграммы в нотации UML и выполнить лабораторные работы, данная серия видеоуроков стала спасительным кругом, задавшим новую планку в лаконичности, скорости, понятности и прагматичности подаваемого материала. Классическая универская подача материала в виде многочасовых и нудных лекций не выдерживает никакой критики при сравнении с видео Дерека. До сих пор периодически пересматриваю их, когда нужно построить очередную пачку диаграмм, которые так любят преподаватели.

Также на канале можно найти много часовых видеороликов, где он рассказывает основы различных языков языков программирования за одно видео. Не сказал бы, что это очень полезно (всё равно ничего не успеваешь запомнить), но порой просто любопытно посмотреть, как выглядят какие-нибудь экзотические языки типа Lisp'а или Haskell'я.


Google Python Class. Day 1. Part 1

Хотел бы я дать ссылку на плейлист, но у меня в закладках лежит только это видео. Впрочем ничего страшного: YouTube всегда любезно предлагает продолжения в рекомендациях.

С этого видоса началось моё знакомство с Питоном. Ещё когда я вообще не понимал английскую речь на слух. Благо у него есть субтитры. В то время, они ещё не генерировались автоматически к каждому видео (каждый раз поражаюсь качеству автоматически сгенерированных субтитров!). Рекомендую для самых начинающих питонистов. Рассказывается про основы языка и работу с регулярными выражениями.


Корутины в Kotlin — Роман Елизаров, JetBrains


Некоторые знакомые программисты мне все уши прожужжали про крутость асинхронного выполнения программ в одном потоке. Даже когда-то самому пришлось слегка прикоснуться к этому миру, программируя на C#. Но полной картинки и понимания в голове всё никак не выстраивалось, хотя я и знал про трансформацию кода компилятором в машину состояний. И долгое время мне хотелось разобраться в вопросе основательно, но руки никак не доходили.

На самом деле я пытался как-то читать документацию про async/await'ы в Python 3.5. Но это непростое занятие в силу различных исторических нагромождений, усложняющих знакомство с концепцией. Чтоб понять механизм работы асинхронного кода в Python, надо изучить, как строятся корутины на основе генераторов, немаленькую документацию на модуль asyncio, предоставляющий реализацию event loop'а (шкедулер планировщик выполнения корутин), декоратор для создания корутин, свою реализацию Future и т. п. Только потом можно нормально знакомиться с современными нативными корутинами, которые пришли на смену костылям на генераторах, ключевыми словами async/await, различными конструкциями с их использованием (async with, async for и т. д.), асинхронными генераторами и list/dict/set comprehensions. И это ещё если не углубляться дальше в историю с зелёными потоками и неблокирующим IO, предоставляемым сторонними библиотеками. Долго, муторно, страшно…

И тут очень кстати на горизонте появляется Kotlin, который мне очень нравится (после Питона писать на нём одно удовольствие, не говоря уже об ужасных языках из веба или сложных языках типа Сишечки). И поскольку я с ним познакомился на версии 1.1, то сразу же глаз зацепился за экспериментальную поддержку корутин. К сожалению, их освоение всё равно было отложено в долгий ящик, но вот наконец-то время пришло!

Кто может объяснить концепцию лучше разработчика её реализации, который одновременно является преподавателем в ИТМО и имеет многолетний опыт разработки высоконагруженных распределённых систем? Были опасения, что рассказ от такого человека будет чрезмерно сложным и непонятным, но к приятному удивлению оказалось, что это действительно отличные лекции по истории асинхронного программирования, работе с библиотекой корутин в Kotlin'е и их внутреннем устройстве. Первый видос на русском языке и охватывает все необходимые основы, а желающие познакомиться поглубже с «кишками» работы всей этой асинхронщины при соответствующем знании английского языка могут посмотреть продолжение доклада с конференции KotlinConf 2017.


Интересные каналы

Напоследок приведу ещё несколько ссылок. Мне трудно тут выделить какой-то определённый плейлист или отдельное видео, но может кого-то заинтересует материал каналов в принципе.

Канал(-ы)ЯзыкОписание
AlexGyver и Заметки Ардуинщика Русский Первый канал посвящён различным самоделкам — чаще всего различной электроники на платформе Arduino, — поэтому может заинетересовать любителей DIY и Ардуины. Второй канал, собственно, посвящён изучению основ работы с этой платой.
Fun Fun Function Английский Для любителей JavaScript — must watch. Ну и в принципе интересный канал о технологиях и методологиях программирования. Хоть автор в заставках и утверждает, что это не учебный курс, а шоу, большей частью видео и даже целые серии видеороликов представляют собой обучающие материалы по какой-то теме или размышления по использованию различных техник и жизни ITшника. Отдельно, пожалуй, стоит отметить, что автор является экстравертом и много кривляется, что для некоторых может быть неприятно или неприемлемо. Я начал смотреть этот канал с плейлиста про ФП, так что можете тоже использовать его в качестве отправной точки.