Golang вопросы собеседований
14.7K subscribers
753 photos
13 videos
1 file
548 links
@notxxx1 - админ

@Golang_google - Golang для разработчиков

@itchannels_telegram - 🔥лучшие из ит

@golangl - chat

@golangtests - golang tests

@golang_jobsgo - go chat jobs

@ai_machinelearning_big_data - AI

@data_analysis_ml

РКН: clck.ru/3FmtKd
Download Telegram
🔘 Полезных функций тестирования: параллельные и бенчмарк тесты.

Параллельные тесты
Параллельные тесты в #golang позволяют выполнять несколько тестов одновременно. Это особенно полезно для тестов, связанных с IO поскольку другие тесты могут выполняться во время периодов ожидания, а значит, вы будете меньше времени ждать выполнения вашего набора тестов.

Это также поможет вам убедиться в том, что тесты не используют глобальное состояние, иначе они станут нестабильными.

Для этого достаточно пометить тест как параллельный следующим образом: изображение 1.

Бенчмарк-тесты
Бенчмарк-тесты - это отличный способ измерить и оптимизировать эффективность определенных частей кода.

Например, вот два способа конкатенации строки.

С помощью +: изображение 2.

Использование strings.Builder: изображение 3.

Если мы их запустим код, то получим следующий результат:

BenchmarkStringConcat-12 1000000 1200 ns/op BenchmarkStringBuilder-12 5000000 250 ns/op

Это означает, что тест выполнялся за 1000000 и 5000000 итераций, при этом stringConcat затрачивалось 1200 наносекунд на операцию, а strings.Builder - 250. Таким образом, strings.Builder гораздо эффективнее.

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍151🔥1😁1
Немного расширенный функционал Mutex в грядущем пакете "go101․org/nstd".

m.Lock()
defer m.Unlock()


vs

defer m.Lock().Unlock()

https://github.com/golang/go/issues/63941

#Golang

@golang_interview
🤔18👍8🔥5🤯43👎1😁1
👣 Что-то интересная #Golang и его количетсво звезд по всем репозиториям 🌠 по годам.

Будет ли в 2023 году больше или меньше звезд, чем в предыдущем? (на данный момент 2 610 110).

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍102🔥1
👣 Погружаемся в кроличью нору - сложности динамического подключения хуков на Golang

В этой статье проиллюстрирована попытка определить схему подключения программ на языке Go.

Описаны довольно интересные внутренние особенности языка, реализация хука с помощью Си и ассемблера. Однако все управление осуществялется с помощью Go. Решение довольно универсальное его можно адаптировать к различным платформам и архитектурам процессоров.

https://blog.quarkslab.com/lets-go-into-the-rabbit-hole-part-1-the-challenges-of-dynamically-hooking-golang-program.html

#golang #infosec

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72🔥1