🗺 Привычка "срезать углы" при ходьбе – это интуитивное применение алгоритмов?
Так работает жадный алгоритм: вы выбираете наиболее выгодный шаг в каждый момент времени, чтобы минимизировать общий путь. То же самое применяют разработчики, создавая маршруты для такси или доставок.
С нашим курсом «Алгоритмы и структуры данных» вы научитесь решать любые сложные задачи так же эффективно.
🎄Начните свой 2025 со скидкой 35% на все курсы. Это лучшее вложении уходящего года – https://proglib.io/w/014fe6d8
Так работает жадный алгоритм: вы выбираете наиболее выгодный шаг в каждый момент времени, чтобы минимизировать общий путь. То же самое применяют разработчики, создавая маршруты для такси или доставок.
С нашим курсом «Алгоритмы и структуры данных» вы научитесь решать любые сложные задачи так же эффективно.
🎄Начните свой 2025 со скидкой 35% на все курсы. Это лучшее вложении уходящего года – https://proglib.io/w/014fe6d8
👍2
🍎 Визуализация вашего кода в один клик!
❓ GitDiagram — это онлайн-инструмент, который позволяет визуализировать структуру и содержимое репозиториев GitHub в виде интерактивных диаграмм.
⚙️ Основные возможности:
Быстрая визуализация: превращает любой репозиторий GitHub в наглядную диаграмму, облегчая понимание структуры проекта;
Простота использования: достаточно заменить 'hub' на 'diagram' в URL любого репозитория GitHub, чтобы получить его визуализацию.
📎 Попробуйте сами! Введите URL интересующего вас репозитория для мгновенной визуализации!
#новость
❓ GitDiagram — это онлайн-инструмент, который позволяет визуализировать структуру и содержимое репозиториев GitHub в виде интерактивных диаграмм.
⚙️ Основные возможности:
Быстрая визуализация: превращает любой репозиторий GitHub в наглядную диаграмму, облегчая понимание структуры проекта;
Простота использования: достаточно заменить 'hub' на 'diagram' в URL любого репозитория GitHub, чтобы получить его визуализацию.
📎 Попробуйте сами! Введите URL интересующего вас репозитория для мгновенной визуализации!
#новость
❤🔥5👍5😢2❤1🤔1
🏎️ 🎮 Golang на PSP: как язык программирования вышел за пределы серверов!
Что общего между языком Go и портативной консолью PlayStation Portable? На первый взгляд, ничего. Но один разработчик нашёл способ запускать программы на Go на этой культовой консоли! 🚀
💡 Как это возможно?
⚙️ WebAssembly и TinyGo: код на Go компилируется в WebAssembly (WASM) с помощью компилятора TinyGo.
⚙️ Инструменты: WASM преобразуется в C-код с помощью w2c2, а для графики используется библиотека raylib, портированная для PSP.
Зачем это нужно?
📌 Исследование возможностей Go в новых средах.
📌 Вдохновение для ретро-разработчиков и экспериментов с устаревшими устройствами.
📌 Простое хобби для фанатов PSP!
🛠️ Хотите попробовать? Прочитайте статью! Это отличный способ погрузиться в эксперименты с Go и WebAssembly.
Что общего между языком Go и портативной консолью PlayStation Portable? На первый взгляд, ничего. Но один разработчик нашёл способ запускать программы на Go на этой культовой консоли! 🚀
💡 Как это возможно?
⚙️ WebAssembly и TinyGo: код на Go компилируется в WebAssembly (WASM) с помощью компилятора TinyGo.
⚙️ Инструменты: WASM преобразуется в C-код с помощью w2c2, а для графики используется библиотека raylib, портированная для PSP.
Зачем это нужно?
📌 Исследование возможностей Go в новых средах.
📌 Вдохновение для ретро-разработчиков и экспериментов с устаревшими устройствами.
📌 Простое хобби для фанатов PSP!
🛠️ Хотите попробовать? Прочитайте статью! Это отличный способ погрузиться в эксперименты с Go и WebAssembly.
🎉20👍7❤1
🎯 Мини-статья о мьютексе в Go
В статье Линк Мэтью рассказывает, как управлять доступом к общим ресурсам в многопоточности с помощью мьютексов.
Мьютекс (mutual exclusion) гарантирует, что только одна горутина работает с разделяемым ресурсом в каждый момент времени.
В статье наглядно показано:
✅ Что такое мьютекс и как он работает;
✅ Простой пример использования sync.Mutex в Go.
В статье Линк Мэтью рассказывает, как управлять доступом к общим ресурсам в многопоточности с помощью мьютексов.
Мьютекс (mutual exclusion) гарантирует, что только одна горутина работает с разделяемым ресурсом в каждый момент времени.
В статье наглядно показано:
✅ Что такое мьютекс и как он работает;
✅ Простой пример использования sync.Mutex в Go.
👍12❤1🥱1
🐌 Читаемость важнее скорости: зачем писать «медленный» код на Go?
Когда речь заходит о написании кода на Go, многие стремятся к максимальной производительности. Но действительно ли это всегда нужно? Джон Арундел из Bitfield Consulting утверждает обратное: в большинстве случаев читаемость кода важнее его скорости.
❓ Почему не стоит зацикливаться на оптимизации:
➖ Go уже быстр: как компилируемый язык, Go обеспечивает высокую производительность даже без специальных оптимизаций.
➖ Код читается чаще, чем выполняется: поддерживаемость и простота кода экономят время команды в долгосрочной перспективе.
➖ Производительность редко критична: для большинства приложений скорость не является основным узким местом.
❓ Когда оптимизация важна?
Конечно, есть исключения — например, игры, высоконагруженные серверы или системное программное обеспечение, где каждый микросекундный прирост имеет значение. Но в остальных случаях следует отдавать предпочтение читаемости.
❓ Как писать понятный код:
➖ Используйте понятные имена переменных и функций.
➖ Разбивайте сложные функции на простые и логически завершенные.
➖ Документируйте свои решения и используйте комментарии там, где это оправдано.
➖ Не бойтесь жертвовать "чуть-чуть большей производительностью" ради ясности.
#новость
Когда речь заходит о написании кода на Go, многие стремятся к максимальной производительности. Но действительно ли это всегда нужно? Джон Арундел из Bitfield Consulting утверждает обратное: в большинстве случаев читаемость кода важнее его скорости.
Конечно, есть исключения — например, игры, высоконагруженные серверы или системное программное обеспечение, где каждый микросекундный прирост имеет значение. Но в остальных случаях следует отдавать предпочтение читаемости.
#новость
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍8❤3🤔1
💻📈 Итоги года Proglib: 2024 год в цифрах и достижениях
Чем вдохновляются разработчики, чтобы создавать новые проекты на Go? Proglib в этом году вновь стал местом, где инженеры обмениваются опытом, изучают тренды и находят полезные материалы.
✅ Итоги года — это не только цифры, но и история роста сообщества, частью которого можете стать и вы!
Чем вдохновляются разработчики, чтобы создавать новые проекты на Go? Proglib в этом году вновь стал местом, где инженеры обмениваются опытом, изучают тренды и находят полезные материалы.
✅ Итоги года — это не только цифры, но и история роста сообщества, частью которого можете стать и вы!
❤4👍2
🌍✈️ 6 идей, как ускорить поиск работы за рубежом
Статья для тех, кто устал от отказов и безрезультатных поисков. Узнайте секреты, которые помогут вам найти работу за рубежом в разы быстрее!
👉 Читать статью
Статья для тех, кто устал от отказов и безрезультатных поисков. Узнайте секреты, которые помогут вам найти работу за рубежом в разы быстрее!
👉 Читать статью
👍2🌚1
Как проверить, пуст ли интерфейс (interface{}) в Go?
В Go интерфейс считается пустым, только если оба его компонента (динамическое значение и тип) равны nil. Однако есть нюансы, о которых стоит знать.
1️⃣ Прямая проверка с == nil
Если интерфейс действительно пустой (значение и тип nil), проверка if myInterface == nil вернет true.
2️⃣ Проблема с nil и типом
Если интерфейс содержит nil с типом (например, *int), он не будет считаться пустым.
3️⃣ Проверка через reflect
Для точной проверки используйте пакет reflect:
💡 Итог:
➖ Используйте if i == nil для простых случаев.
➖ Для значений nil с типом — добавьте проверку через reflect.
➖ Не забывайте, что интерфейс с типом, но nil-значением, не считается пустым.
В Go интерфейс считается пустым, только если оба его компонента (динамическое значение и тип) равны nil. Однако есть нюансы, о которых стоит знать.
Если интерфейс действительно пустой (значение и тип nil), проверка if myInterface == nil вернет true.
var i interface{}
if i == nil {
fmt.Println("Интерфейс пустой")
}
Если интерфейс содержит nil с типом (например, *int), он не будет считаться пустым.
var i interface{} = (*int)(nil)
if i == nil {
fmt.Println("Пустой") // Не выполнится
} else {
fmt.Println("Не пустой") // Вывод: Не пустой
}
Для точной проверки используйте пакет reflect:
import "reflect"
func isEmptyInterface(i interface{}) bool {
return i == nil || reflect.ValueOf(i).IsZero()
}
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤3👏2
Бесплатный курс по фулстек-разработке — реальность 🔥
Под Новый год Дед Мороз приносит подарки, а наши подписчики — собственные курсы! Сергей Дмитриев, который занимается коммерческой разработкой уже 15 лет, поделился с нами своим обучением по созданию веб-сервиса с нуля. В курс входит 141 урок, 28 часов видео, исходный код и чат поддержки для участников.
Подробнее о курсе читайте на Хабре или в телеграм-канале Сергея
Под Новый год Дед Мороз приносит подарки, а наши подписчики — собственные курсы! Сергей Дмитриев, который занимается коммерческой разработкой уже 15 лет, поделился с нами своим обучением по созданию веб-сервиса с нуля. В курс входит 141 урок, 28 часов видео, исходный код и чат поддержки для участников.
Подробнее о курсе читайте на Хабре или в телеграм-канале Сергея
👍1
С наступающим, Go сообщество! Или уже наступившим! 🎆 🎆
Уже придумали чем заняться в новом году?😉
Если нет, то предлагаем вам подборку фильмов и сериалов к просмотру:
🔠 Остановись и гори (2014)
🅰️ Игра в имитацию (2014)
🔠 Revolution OS (2001)
©️ Разрабы (2020)
🔠 Кто я (2014)
Уже придумали чем заняться в новом году?
Если нет, то предлагаем вам подборку фильмов и сериалов к просмотру:
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰16🎉2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Вот и новый год! 🎆 Давайте погадаем что там нас ждёт?
Делайте скриншот и присылайте в комментарии!⬇️
#интерактив
Делайте скриншот и присылайте в комментарии!
#интерактив
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🤩3🔥2❤1
Ваш возраст
Anonymous Poll
4%
Менее 18 лет
26%
18-24 года
34%
25-34 года
25%
35-44 года
7%
45-54 года
2%
55-64 года
2%
65 лет и старше
В какой стране вы живете последние 3 месяца?
Anonymous Poll
70%
Россия
5%
Украина
4%
Беларусь
5%
Казахстан
1%
Польша
1%
Кыргызстан
2%
Узбекистан
1%
США
1%
Грузия
10%
Другое (✏️ напишу в комментариях)
В каком городе вы живёте последние 3 месяца?
Anonymous Poll
31%
Москва
11%
Санкт-Петербург
3%
Екатеринбург
3%
Краснодар
2%
Нижний Новгород
4%
Минск
3%
Киев
1%
Львов
3%
Алматы
39%
Другое (✏️ напишу в комментариях)
Какой у вас коммерческий опыт работы в IT?
Anonymous Poll
18%
Нет опыта
8%
До 1 года
17%
1-3 года включительно
22%
3-6 лет включительно
36%
Более 6 лет
😁20⚡1
На каком языке вы пишете больше всего?
Anonymous Poll
10%
Python
61%
Go
3%
Java
3%
JavaScript
3%
TypeScript
3%
C/C++
2%
C#
2%
Swift/Kotlin
8%
PHP
5%
Другое (✏️ напишу в комментарии)
😁8