Публикации по теме 'golang'
Отключить все горутины
Отключить все горутины
Сегодня мне нужно было решение для очистки и остановки всех горутин и ожидания их возврата. Я нашла в интернете разные шаблоны, но ничего не подошло. В случае необходимости я ищу чужую мудрость и ссылаюсь на официальные документы Go, блог и блог Дэйва Чейни .
После прочтения отличного поста Дейва Любопытные каналы я узнал, что закрытый канал никогда не блокируется, а канал с нулевым значением блокируется всегда. Это казалось началом решения! Я создал..
Освоение Go-каналов. Часть 3
Выберите заявление
Оператор select в Go используется для обработки нескольких операций канала неблокирующим образом. Это позволяет нам ожидать одновременно несколько операций канала и блокировать, пока одна из них не будет готова. Это полезно для координации связи между параллельными горутинами.
Синтаксис оператора select следующий:
select {
case <- channel1:
// handle channel1
case channel2 <- value:
// handle channel2
case value := <-..
Многоэтапные сборки Docker: приложение go
Docker — это мощный инструмент для создания легковесных, переносимых и согласованных сред для запуска приложений. Одной из проблем, с которыми сталкиваются разработчики, является минимизация размера образов Docker, что может существенно повлиять на производительность и использование ресурсов приложениями. В этой статье мы рассмотрим, как создать небольшой образ Docker для приложения Golang, используя многоэтапные сборки.
Многоэтапные сборки позволяют создавать несколько промежуточных..
Учебное пособие по Go E2E, часть 5. Модульное тестирование с SQL Mock и GoMock
В этой части мы узнаем, как тестировать реализацию GORM, но используя SQL Mock вместо реальной базы данных. Мы также узнаем, как протестировать разделение слоев с помощью GoMock. Файлы размещены здесь для справки: https://github.com/hariesef/myschool .
Ссылка на предыдущую главу: https://hariesef.medium.com/go-e2e-tutorial-part-4-twirp-rpc-c7bd8eeae925
В предыдущей главе мы узнали о реализации методов Twirp для Student Repo. В целях обучения мы будем тестировать методы с помощью..
Go: когда указатели скрывают преимущества кэширования ЦП
Аннотация: Использование переменных небольшого размера по значению может быть быстрее, чем использование указателей, благодаря кэшированию значений ЦП.
Отказ от ответственности: остерегайтесь преждевременной оптимизации; эта статья дает вам более полное представление об инструменте, с которым вы работаете, а не дает серебряную пулю.
Часто мы используем указатели при работе со структурами. Например, вот фрагмент кода, который вам вполне знаком:
type User struct {
name string..
Злоупотребление Go Generics снижает эффективность! Улучшение производительности Golang(7)
В этой статье я сравню производительность среди фиксированного типа, интерфейс в качестве параметра принимает любое значение и перейду к дженерикам. Вы знаете, что Go Generics — самый медленный.
Основы
Сначала рассмотрим концепции go generics, интерфейс в качестве параметра принимает любое значение и фиксированный тип.
Фиксированный тип
В программировании на Go «фиксированный тип» обычно относится к конкретному типу с определенным известным типом во время компиляции. Это..
Руководство для начинающих по веб-разработке на Go с использованием Martini Framework
Изучение нового фреймворка всегда весело
Недавно я наткнулся на этот классный фреймворк для Golang. Это среда веб-разработки, которая значительно упрощает веб-разработку.
В этой новой статье о Golang я научу вас основам настройки веб-сервера с помощью Martini Framework .
Новые материалы
Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать
С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..
Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv)
Автор : Бар Лайт
Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..
Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята?
В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..
Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение.
В этом процессе мы будем использовать неконтролируемое обучение, чтобы..
Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm.
Оглавление
Глоссарий
I. Новый пакет
1.1 советы по инициализации..
Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных.
Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..
ИИ в аэрокосмической отрасли
Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..