Чтение и запись в Golang
8 февраля 2023

Чтение и запись в Golang

На примерах рассмотрим как работает любая Go-программа, с сопутствующей теорией. Взглянем на самые интересные тулзы языковой механики. Подробно, в картинках, познакомимся с горутинами и принципом конкурентности в языках.
Роман Булычев Logrocon, инженер-разработчик.

Ссылка на вебинар внизу страницы

Роман Булычев
Инженер-разработчик
  • 8+ лет опыта в разработке.
  • Все проекты выполнены в плановые сроки, а результаты приняты Заказчиками.
  • Получена положительная обратная связь по проектам.
  • Повышение квалификации:
    Международная коммерческая комьюнити-конференция HolyJS 2019;
    Международная коммерческая комьюнити-конференция Wordpress Camp Moscow 2018, 2017, 2016.
  • Сертификаты:
    Учебный курс «JavaScript Algorithms and Data Structures, Front End Libraries», «freeCodeCamp»;
    Учебный курс «Разработчик Bitrix Framework», «1С-Битрикс».
  • Инструментарий:
    JavaScript / React.jst / Express.jst / Next.js HTML5 / MySQL / MongoDB / Node.js / PHP / Woocommerce / Wordpress / 1С-Битрикс / MODX / jQuery / CSS / Less SCSS / Nginx / Apache npm / Алгоритмизация UML
    Почему стоит знакомиться с GO?

    Go был создан с учётом многозадачности, что позволяет проще и эффективнее нагружать ресурсы многоядерных процессоров. Go использует горутины вместо потоков. Они потребляют почти 2КБ памяти из кучи. — Статически скомпилированные программы быстрее и проще в развертывании чем виртуальные машины с интерпретатором — http-сервер на Golang быстрее Erlang Cowboy, предлагает множество инструментов\подходов для поддержания websocket соединения. — Для Google-сервисов и таблиц (Spreadsheets API v4) созданы новые идиоматические библиотеки с поддержанием подключения Context-канала. — Имеется библиотека для управления Docker-контейнерами: запуск / фон / пулл / вывод / логирование / аутентификация / коммит в Context-канале. — Является кросс-платформенным и написанная на нем программа может быть легко перекомпилирована на Windows, macOS, Linux, FreeBSD, WebAssembly, Android, iOS. — История Go не началась с нуля в 2007 г., а была наследием кросс-ОС Plan9(92г.) и Inferno (99г.) одной из множества, в свое время ОС пришедших на смену UNIX, и используемому в них языку Alef (95г.), идеи которых, в свою очередь, были почерпнуты из фундаментальных трудов о CSP («Взаимодействующие последовательные процессы» 78 г.).

    Содержание:

    00:00:00 — Вступление. Почему стоит знакомиться с Go?
    00:03:25 — 1.1. Компиляция Go-кода
    00:07:27 — 1.2. Стандартные потоки ОС UNIX: stdin, stdout и stderr
    00:09:00 — 2.1. Специфика чтения в Go
    00:11:19 — 2.2. Пример чтение стандартного потока ввода
    00:14:58 — 2.3. Пример Использование стандартного потока вывода
    00:16:48 — 2.4. Пример Вывод ошибок
    00:19:44 — 3.1. Бенчмаркинг буферизованной записи
    00:22:32 — *Встроенное профилирование с pprof
    00:30:39 — 3.2. Go-ассемблер
    00:34:49 — * Вспомним, что такое стек и куча
    00:37:28 — 3.3 Сборка мусора
    00:43:40 — 4.1. Горутины и каналы
    00:50:53 — 4.2. Пример запись / чтение из канала
    00:53:49 — 4.3. Канал изнутри
    00:56:26 — 4.3.1. Запись и чтение
    01:02:48 — 4.3.2. Отправка в полный канал
    01:05:59 — 4.3.3. Получение из пустого канала
    01:07:59 — Заключение
    Вам также может быть интересно