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

Всем привет! Сегодня знакомимся с Golang. 1. На примерах рассмотрим как работает любая Go-программа, с сопутствующей теорией. 2. Взглянем на самые интересные тулзы языковой механики. 3. Подробно, в картинках, познакомимся с горутинами и принципом конкурентности в языках. Роман Булычев Logrocon, инженер-разработчик Почему стоит знакомиться с 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 - . Запись и чтение 01:02:48 - . Отправка в полный канал 01:05:59 - . Получение из пустого канала 01:07:59 - Заключение
Back to Top