С помощью этого практического практического курса вы сначала глубоко погрузитесь в понимание основных типов данных, структур, связанных списков и двусвязных списков в Go. Затем вы узнаете об алгоритмах графов, таких как двоичные файлы и деревья. Затем вы узнаете о шаблонах параллелизма CSP, используемых для обслуживания тысяч серверов. Двигаясь дальше, вы также получите дополнительные знания о классических шаблонах проектирования для создания кратких, удобочитаемых и удобных в сопровождении приложений и программного обеспечения.
О чем курс?
Эта учебная программа включает в себя 2 полных курса, тщательно подобранных, чтобы дать вам максимально всестороннее обучение.
Первый курс «Изучение структур данных и алгоритмов Go» начнется с понимания основных типов данных и структур в Go. Двигаясь вперед, вы изучите возможности связанных списков и двусвязных списков в Go, а затем научитесь реализовывать линейные структуры данных, такие как стеки и очереди. Кроме того, реализуете бинарный поиск и деревья и подробно изучите алгоритмы сортировки. Отсюда вы узнаете об алгоритмах графов, а также познакомитесь с некоторыми распространенными структурами данных, используемыми при работе со строками. Вы изучите общие методы и структуры, используемые в таких задачах, как предварительная обработка, моделирование и преобразование данных. К концу этого курса вы освоите функциональные и реактивные реализации традиционных структур данных простым и эффективным способом.
Второй курс «Введение в классические шаблоны Go» начинается с краткого введения в основы программирования на Go и быстро переходит к объяснению идеи создания шаблонов проектирования и того, как они появились в 90-х годах в качестве общего «языка» между разработчиками для решения общих задач на объектно-ориентированных языках программирования. Затем вы узнаете, как применять шаблоны проектирования 23 Gang of Four (GoF) в Go, а также узнаете о шаблонах параллелизма CSP, «киллер-функции» в Go, которая помогла Google разработать программное обеспечение для обслуживания тысяч серверов. При всем при этом книга позволит вам понимать и применять шаблоны проектирования идиоматическим способом, что позволит создавать лаконичное, удобочитаемое и удобное в сопровождении программное обеспечение.
Третий курс "Поведенческие модели Go" поднимет вас на продвинутый уровень знаний о классических шаблонах проектирования, но, как вы увидите, шаблоны проектирования, рассматриваемые здесь, совершенно разные, отчасти из-за отсутствия наследования в Go, но также и потому, что мы имеем разные и более оптимальные способы решения одних и тех же задач. При всем этом курс позволит вам понять и применить шаблоны проектирования идиоматическим способом, который позволит создавать лаконичное, удобочитаемое и удобное в сопровождении программное обеспечение.
Четвертый курс, "Параллелизм Go", посвящен изучению параллельных структур и параллельного выполнения. Вы будете использовать большинство примитивов Go для написания параллельных приложений, а мы разработаем некоторые классические шаблоны проектирования с параллельными структурами для максимального параллелизма. Кроме того, вы познакомитесь с некоторыми типичными структурами для разработки параллельных приложений в Go. Вы узнаете, как классический шаблон может стать более сложным, если вам нужно, чтобы он работал параллельно; однако идея состоит в том, чтобы понять параллельные примитивы Go, чтобы вы знали, как писать свои собственные параллельные шаблоны проектирования, используя знания, полученные из курса.