Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
436 - Telegram Web
Telegram Web
💡Стек или куча?

🤔 Живет ли переменная на стеке вызовов, или она динамически выделена в куче?

В большинстве случаев вам не стоит беспокоиться об этом. Go собирает мусор и автоматически очищает неиспользуемые переменные.

Однако сборка мусора имеет свою цену, поэтому чем меньше выделений делает ваш код, тем быстрее он может работать.

📌 Как узнать, выделяется ли переменная в куче?

Некоторые операции по умолчанию вызывают выделение памяти в куче и поэтому легко обнаруживаются и исправляются. Вот несколько примеров:

🔸Строковые переменные неизменяемы. Конкатенация двух строк приводит к новой аллокации и сборке мусора. В качестве альтернативы можно использовать strings.Builder.
🔸Срезы, которые растут за пределы своей емкости, реаллоцируются. Решение: предварительно выделить срез с помощью make().
🔸Когда функция создает локальную переменную и возвращает указатель на эту переменную, переменная должна быть выделена в куче.

📌 Однако есть ситуации, когда выделения в куче неочевидны. Подумайте об указателях, скрытых внутри других типов данных, таких как срезы или мапы. Или рассмотрите массивы. Если массив слишком большой, чтобы жить на стеке, он выделяется в куче.

📌 Как найти эти случаи выделения в куче?

Запустите или скомпилируйте свой код с флагом сборки мусора "-m", и команда Go выведет заметку каждый раз, когда переменная перемещается или уходит со стека в кучу:

go run -gcflags "-m" 
или
go tools compile -m


#tip
8
🔥 Пройди подробный ТУР по Golang с примерами (английский язык)

Это материал для разработчиков среднего уровня, имеющих некоторый опыт работы с другими языками программирования и желающих изучить язык Go. Мы считаем, что этот материал идеально подходит для тех, кто хочет начать изучение Go или получить более глубокое представление о языке и его внутреннем устройстве.

💎 Чат: ссылка

Подробнее: https://tour.ardanlabs.com/tour/list
👍4👎1🔥1
👍1
Какой будет результат выполнения кода?
Anonymous Quiz
51%
Ошибка компиляции
44%
0
6%
1
Какой будет результат выполнения кода?
Anonymous Quiz
22%
3
54%
4
24%
Ошибка компиляции
⚙️Три паттерна конкурентного кода: гайд для Go-разработчика

Часто для погружения в ту или иную тему необходима мотивация — например, можно в проекте увидеть странное поведение кода, которое вызывает больше вопросов, чем ответов.

Именно так получилось у автора статьи. Он встретил логику ограничения потоков выполнения, основанную на результате выполнения функции GOMAXPROCS(0), которая по умолчанию будет равна runtime.NumCPU.

Это подходит под паттерн с параллельными вычислениями на одном процессоре, но использовалось для ограничения количества одновременных запросов к удаленному серверу.

👉 Читать
4
Go in Action

Автор:
William Kennedy
Год издания: 2015

#go #en

Скачать книгу
😁5
Нарезаем массивы правильно в Go

💎 Чат
: ссылка

Второй очерк из цикла приключений в мире сусликов.

Это вторая статья серии небольших рассказов о необычных подводных камнях, которые можно встретить в начале разработки на Go. Напоминаю, что в статьях есть примеры кода, будьте с ними аккуратнее - не все из них будут компилироваться и работать, читайте внимательно комментарии, везде указано, на какой строке происходит ошибка. Также в блоках кода везде табуляция заменена на пробелы - это сделано намеренно, чтобы статьи выглядели у всех одинаково.

Подробнее: https://habr.com/ru/post/597521/
🔥4👍1
👣 Golang 100 вопросов с собеседований.

▪️Видео
▪️Статья
▪️Код

@golangprofi
🔥74👍2
📕 System Design Blueprint: The Ultimate Guide.

Шаблон-шпаргалка для решения различных проблем системного дизайна на собеседованиях.

В нем кратко затронуты следующие вопросы:
- Балансировка нагрузки
- API
- Коммуникационные протоколы
- CDN
- База данных
- Кэш
- Очередь сообщений
- Генерация уникальных идентификаторов
- Масштабируемость
- Доступность
- Производительность
- Безопасность
- Отказоустойчивость
- И многое другое

@golangprofi
👍6😁2🤔1
🎮 Dendy - это эмулятор NES/Famicom, написанный на Go и названный в честь советского клона Famicom, который был у многих в детстве.

$ go install github.com/maxpoletaev/dendy/cmd/dendy@latest

▪️ Github

@golangprofi
🔥5👍2
Можно ли быстро научиться разрабатывать веб-приложения?

Да! С помощью языка Golang.
А точнее – с помощью курса «Golang Developer. Basic». Пройдите обучение и приступайте к разработке уже через пять месяцев.

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

После обучения вы подтвердите квалификацию и получите свидетельство государственного образца.

Программа подходит для людей без опыта программирования.

Старт занятий – 27 марта.
👉Регистрируйтесь и получите доступ к бесплатным урокам, которые познакомят вас с форматом и содержанием нашего обучения: https://otus.pw/fbcu0/ 

💪Для опытных разработчиков есть курс Golang Developer. Professional. Регистрация на курс доступна после прохождения бесплатного вступительного теста: https://otus.pw/B9JP/?erid=LjN8KNaj4
👎4🤡3🤯1
👣 Sipgo

SIPGO - это библиотека для написания быстрых SIP-сервисов (интернет-звонки) на GO.

Поддерживаемые протоколы
▪️ UDP
▪️TCP
▪️ TLS
▪️ WS
▪️WSS

🖥Github
🎉4👍1🔥1
📢Работаете с небольшим технологическим стеком и не знаете, как дальше пробиваться на IT-рынке?

А теперь представьте, что вы:

🔹на профессиональном уровне пользуетесь востребованным в 2024 году языком
🔹попадаете в среду с низкой конкуренцией между разработчиками
🔹дополняете портфолио ценной разработкой в сфере микросервисов
🔹расширяете компетенции и можете претендовать на повышение

Выходите на новый уровень с помощью курса «Golang Developer. Professional»!

Обучайтесь на реальных задачах разработчиков
Изучайте не только синтаксис языка, но и внутренние механизмы
Исследуйте случаи, когда крупные проекты переводили на Golang с других языков программирования

🗓Начало занятий – 28 марта.
Курс можно приобрести в рассрочку.

👉Пройдите небольшой тест прямо сейчас и узнайте, готовы ли вы к расширению своих карьерных возможностей: https://vk.cc/cuGPZb
Столбцы таблицы Excel

Сложность: Низкая

Условие : на вход подается номер столбца, необходимо конвертировать его в буквенное представление, которое будет использоваться в таблице-Excel.

Пример:

Ввод:
columnNumber = 1
Вывод:
"A"

Ввод: columnNumber = 28
Вывод:
"AB"

▪️Решение

Пишите свое решение в комментариях👇
😁3👍1🥰1
🖥 grape

HTTP библиотека на Go , использующая современные технологии: slog, новый маршрутизатор 1.22 и другие возмоности языка.

Grape - это обертка вокруг стандартной библиотеки, предоставляющая полезные функции для более быстрой и простой разработки. Д

обавляет всего одну зависимость в ваши проекты.

go get -u github.com/hossein1376/grape@latest

▪️Github
👍4🤮2😁1💩1
Как углубить свои знания об архитектуре ПО всего за пару часов?

Прийти на бесплатный практический урок «Тактики работы с обнаруживаемостью в архитектуре программного обеспечения» от OTUS. На вебинаре разберём:

- что такое observability и почему это важно для бизнеса;
- как использовать инструменты мониторинга и алертинга для повышения обнаруживаемости;
- принципы и практические примеры использования USE и RED;
- четыре золотых сигнала, которые помогут оптимизировать работу с обнаруживаемостью.

Встречаемся 6 марта в 20:00 мск в рамках курса «Software Architect». Доступна рассрочка на обучение!

Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://vk.cc/cuPPLH
👍1
2025/07/08 23:37:31
Back to Top
HTML Embed Code: