Функция удаления в строке 9 ничего не возвращает и ничего не делает, если указанный ключ (
ключ h) не существует. В строке 10 мы пытаемся напечатать s["h"]. Поскольку карта s не имеет ключа h, она вернет значение по умолчанию int. Следовательно, выведен будет 0.Управление памятью и её распределение в Go: https://proglib.io/w/7862e8f4
Medium
Go: Memory Management and Allocation
ℹ️ This article is based on Go 1.13.
Объёмная статья о реализации шаблона backend сервера на Golang, в которой каждый найдёт для себя что-то полезное.
Часть 1 (HTTP сервер)
Часть 2 (REST API)
Часть 1 (HTTP сервер)
Часть 2 (REST API)
Хабр
Шаблон backend сервера на Golang — часть 1 (HTTP сервер)
Представленный ниже шаблон сервера на Golang был подготовлен для передачи знаний внутри нашей команды. Основная цель шаблона, кроме обучения — это снизить время...
История о том, как исследователь безопасности нашел критическую уязвимость в инфраструктуре Uber, основанной на Golang: https://proglib.io/w/3eddca16
Medium
How dangerous is Request Splitting, a vulnerability in Golang or how we found the RCE in Portainer and hacked Uber
SSRF + CRLF + HTTP Pipeline + Docker API = RCE
Руководство по оформлению кода от разработчиков Thanos с оглядкой на читаемость, производительность, тестируемость и др.
https://proglib.io/w/4bcabd36
https://proglib.io/w/4bcabd36
GitHub
GitHub - thanos-io/thanos: Highly available Prometheus setup with long term storage capabilities. A CNCF Incubating project.
Highly available Prometheus setup with long term storage capabilities. A CNCF Incubating project. - thanos-io/thanos
Go-разработчик с нуля всего за год!
Нравится программирование, но не можешь разобраться во всем самостоятельно? Мы поможем освоить новую профессию и расскажем, как найти высокооплачиваемую работу после обучения!
Переходи по ссылке и регистрируйся ▶️ https://clc.to/rQhbFg
На курсе «Профессия Go-разработчик» ты получишь базовые знания программирования, а также подробное обучение по работе с Golang. Пройдя обучающий курс, ты создашь крутое портфолио и сможешь претендовать на должность junior-программиста. А еще, дарим 2 месяца бесплатного английского в онлайн школе «EnglishDom»
Первым 20 студентам скидка 40% на обучение!
Нравится программирование, но не можешь разобраться во всем самостоятельно? Мы поможем освоить новую профессию и расскажем, как найти высокооплачиваемую работу после обучения!
Переходи по ссылке и регистрируйся ▶️ https://clc.to/rQhbFg
На курсе «Профессия Go-разработчик» ты получишь базовые знания программирования, а также подробное обучение по работе с Golang. Пройдя обучающий курс, ты создашь крутое портфолио и сможешь претендовать на должность junior-программиста. А еще, дарим 2 месяца бесплатного английского в онлайн школе «EnglishDom»
Первым 20 студентам скидка 40% на обучение!
Для работы с ядром и системными I/O-вызовами в Go есть специальный интерфейс
https://proglib.io/w/9a4460ef
io_uring. В статье показано, как с ним работать и в чем заключаются его особенности.https://proglib.io/w/9a4460ef
Что выведет программа?
Anonymous Quiz
54%
aello
35%
Ошибка компиляции
6%
Нет правильного ответа
5%
Посмотреть результаты
Вы знаете, что строки в Go неизменны. Как только строка создана, её невозможно изменить.
В строке 8 мы пытаемся изменить первый символ строки на «
Чтобы обойти неизменность строки, их преобразуют в срез руны. Затем этот фрагмент мутирует с любыми необходимыми изменениями и преобразуется обратно в новую строку.
Обратите внимание на картинку, прикреплённую к посту. В строке 7 приведенной программы функция
В строке 8 мы пытаемся изменить первый символ строки на «
а». Любой символ Unicode в одинарной кавычке является руной. Мы пытаемся назначить руну а нулевой позиции среза. Это недопустимо, поскольку строка является неизменной, и, следовательно, такая программа скомпилируется с ошибкой.Чтобы обойти неизменность строки, их преобразуют в срез руны. Затем этот фрагмент мутирует с любыми необходимыми изменениями и преобразуется обратно в новую строку.
Обратите внимание на картинку, прикреплённую к посту. В строке 7 приведенной программы функция
mutate принимает срез руны в качестве аргумента. Затем она изменяет первый элемент среза на «а», преобразовывает руну обратно в строку и возвращает её. Этот метод вызывается из строки 13 программы. Переменная h преобразуется в срез руны и передаётся для изменения в строке 13, что приводит к корректной работе и выводу aello.Hands_On_GUI_Application_Development_in_Go_by_Andrew_Williams_z.epub
16 MB
Hands-On GUI Application Development in Go (2019)
Автор(ы): Andrew Williams
С помощью книги вы откроете для себя библиотеки GUI Golang, такие как Go-GTK (GIMP Toolkit) и Go-Qt, и научитесь создавать красивые, производительные и отзывчивые графические приложения.
В книге рассматриваются лучшие практики работы с доступными наборами инструментов, включая Walk, Shiny и Fyne.
В конечном итоге вы изучите преимущества и сложности создания собственных графических приложений на Go, получите представление о том, как Go упрощает разработку кроссплатформенных графических приложений, научитесь разрабатывать графические приложения для Windows с использованием Walk и многое другое.
Автор(ы): Andrew Williams
С помощью книги вы откроете для себя библиотеки GUI Golang, такие как Go-GTK (GIMP Toolkit) и Go-Qt, и научитесь создавать красивые, производительные и отзывчивые графические приложения.
В книге рассматриваются лучшие практики работы с доступными наборами инструментов, включая Walk, Shiny и Fyne.
В конечном итоге вы изучите преимущества и сложности создания собственных графических приложений на Go, получите представление о том, как Go упрощает разработку кроссплатформенных графических приложений, научитесь разрабатывать графические приложения для Windows с использованием Walk и многое другое.
👍1
Вы знаете, что Github Actions позволяют упростить жизнь разработчику, т. к. обеспечивают автоматизацию рабочего процесса. В этом видеоуроке вы узнаете, как можно добавить невероятно полезные GitHub Actions в свои проекты на Go.
https://proglib.io/w/919f7e3d
https://proglib.io/w/919f7e3d
YouTube
GitHub Actions for Go Developers!
👨💻 For the price of a ☕ every month, sign up and gain access to a growing list of premium courses on my site - https://tutorialedge.net/pricing/ 👩💻
✅ Subscribe and hit that 🔔 to get notified for all the latest tutorials!
Text Tutorial: https://tuto…
✅ Subscribe and hit that 🔔 to get notified for all the latest tutorials!
Text Tutorial: https://tuto…
Команда Go предложила более простой дизайн дженериков: новость об этом и само описание.
Для экономии времени можно прочитать краткое руководство по новому дизайну дженериков Go: https://proglib.io/w/de45b19d
Для экономии времени можно прочитать краткое руководство по новому дизайну дженериков Go: https://proglib.io/w/de45b19d
go.dev
The Next Step for Generics - The Go Programming Language
An updated generics design draft, and a translation tool for experimentation
GolangQuiz - канал на котором публикуются интересные задачи и вопросы по Go и их разбор.
🚴 Паттерны Go-кода на все случаи жизни
Cортировки и битовые маски, обработка ошибок и создание изображений, генерация перестановок и работа с хэш-суммами, запуск HTTP-сервера, юнит-тесты и другие распространенные задачи, решаемые с помощью Go.
https://proglib.io/sh/tAslm0UR9V
Cортировки и битовые маски, обработка ошибок и создание изображений, генерация перестановок и работа с хэш-суммами, запуск HTTP-сервера, юнит-тесты и другие распространенные задачи, решаемые с помощью Go.
https://proglib.io/sh/tAslm0UR9V
Оператор
Тип a: *int
Адрес b: 0xc0000b4020
Вы можете получить другой адрес для b, так как местоположение b может быть где угодно в памяти.
& используется для получения адреса переменной. В строке 9 программы мы присваиваем адрес b типу a *int. В таком случае говорят, что a указывает на b. Когда мы выводим значение в a, будет выведен адрес b. В итоге получаем:Тип a: *int
Адрес b: 0xc0000b4020
Вы можете получить другой адрес для b, так как местоположение b может быть где угодно в памяти.
Утилита gogrep позволяет находить код по синтаксическим шаблонам, фильтровать результаты по типам выражений, выполнять замену по шаблонам и т. д.
Зачастую она используется для упрощения рефакторинга кода, изучения кодовой базы и поиска подозрительного кода. Автор статьи в подробностях разобрался с утилитой и поделился практическим опытом.
https://proglib.io/w/eb89f1cf
Зачастую она используется для упрощения рефакторинга кода, изучения кодовой базы и поиска подозрительного кода. Автор статьи в подробностях разобрался с утилитой и поделился практическим опытом.
https://proglib.io/w/eb89f1cf
GitHub
GitHub - mvdan/gogrep: Search for Go code using syntax trees
Search for Go code using syntax trees. Contribute to mvdan/gogrep development by creating an account on GitHub.
👨💻 Как выбрать сервер для 1С
Рассказываем, как выбрать сервер для продуктов 1С в зависимости от числа активных пользователей и других требований к системе.
https://proglib.io/sh/bL4TeHxcQy
Рассказываем, как выбрать сервер для продуктов 1С в зависимости от числа активных пользователей и других требований к системе.
https://proglib.io/sh/bL4TeHxcQy
Существуют разные способы установления безопасного соединения TLS с помощью Go и gRPC. Вопреки распространенному мнению, вам не нужно вручную предоставлять сертификат сервера вашему клиенту gRPC для шифрования. В статье представлен список примеров кода для разных сценариев. Исходный код доступен в репозитории.
Gopheracademy
Navigating the uncharted waters of SSL/TLS certificates and gRPC with Go
There are different ways to establishing a secure TLS connection with Go and gRPC. Contrary to popular belief, you don’t need to manually provide the Server certificate to your gRPC client in order to encrypt the connection.