🕹 Вам интересна тема геймдева на Go?
🔥 Искандер Шарипов начал серию статей о разработке RPG на основе движка Ebitengine:
👉 Часть 0. Знакомство с Ebitengine
👉 Часть 0.5. Доработка структуры игры и перевод на сцены + разработка отдельного демо-проекта
#геймдев
👉 Часть 0. Знакомство с Ebitengine
👉 Часть 0.5. Доработка структуры игры и перевод на сцены + разработка отдельного демо-проекта
#геймдев
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24🔥6🤔1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🏔 Эпикфейл: карьера катится к чертям
🤦♂️ У всех нас случались провалы в карьере, о которых не хочется распространяться. Неловкий момент на собеседовании, провал проекта из-за глупой ошибки, конфликт с начальством — такие ситуации хочется поскорее забыть. Однако часто именно они дают нам самые ценные уроки и закаляют как профессионалов.
📝 Поделитесь своей историей карьерного провала в нашем новом опросе и расскажите, к чему он привел в итоге. Быть может, эта ошибка позволила вам пересмотреть свой путь и выбрать более подходящую профессию? А может, вы сделали правильные выводы и сейчас добились успеха?
👉 Поделиться историей
🤦♂️ У всех нас случались провалы в карьере, о которых не хочется распространяться. Неловкий момент на собеседовании, провал проекта из-за глупой ошибки, конфликт с начальством — такие ситуации хочется поскорее забыть. Однако часто именно они дают нам самые ценные уроки и закаляют как профессионалов.
📝 Поделитесь своей историей карьерного провала в нашем новом опросе и расскажите, к чему он привел в итоге. Быть может, эта ошибка позволила вам пересмотреть свой путь и выбрать более подходящую профессию? А может, вы сделали правильные выводы и сейчас добились успеха?
👉 Поделиться историей
🌚6👍3
Хотя автор статьи работал Go-разрабом, некоторая путаница в этих понятиях у него осталась, поэтому он решил разобраться более подробно. Читайте о различиях на практике👇
🔗 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
🚀🏢 Стартапы vs IT-гиганты: куда лучше устроиться Junior-разработчику
Представим ситуацию: вы начинающий разработчик с очень востребованным стеком (да, звучит как фантастика, но допустим). И так уж сложилось, что перед вами стоит выбор: пойти работать в стартап или крупную компанию. Причем предлагаемые условия абсолютно идентичны и там, и там.
Что же делать в такой ситуации?
👉 Разбираемся в статье
🔗 Зеркало
Представим ситуацию: вы начинающий разработчик с очень востребованным стеком (да, звучит как фантастика, но допустим). И так уж сложилось, что перед вами стоит выбор: пойти работать в стартап или крупную компанию. Причем предлагаемые условия абсолютно идентичны и там, и там.
Что же делать в такой ситуации?
👉 Разбираемся в статье
🔗 Зеркало
🔥2❤1
🤦♂️ Есть такое слово «надо», которое отравляет многим жизнь. Надо получить вышку, надо жениться до стольких-то лет и родить детей до стольких-то, надо зарабатывать столько-то и еще много-много «надо».
❤️ Как с этим жить? Попробуйте вместо «надо» поставить «полезно». И если бесполезно — то не надо!
💬 А какое слово отравляет вашу жизнь? Поделитесь в комментариях 👇
❤️ Как с этим жить? Попробуйте вместо «надо» поставить «полезно». И если бесполезно — то не надо!
💬 А какое слово отравляет вашу жизнь? Поделитесь в комментариях 👇
🥱19❤🔥4👍4🌚1
Forwarded from Библиотека Go для собеса | вопросы с собеседований
💬 Какие существуют распространенные паттерны конкурентности в Go?
Паттерны конкурентности в Go обычно строятся вокруг горутин и каналов.
Вот несколько основных паттернов конкурентности, которые широко используются в Go:
🔸 Worker pools: подразумевает создание нескольких горутин (воркеров) для выполнения задач из очереди.
🔸 Fan-in (собирает данные из множества источников) и Fan-out (распределяет задачи между несколькими обработчиками).
🔸 Pipeline: организация горутин в серию обработчиков, где каждая горутина выполняет определенную подзадачу. Каждая стадия пайплайна читает из одного канала и пишет в другой, формируя цепочку обработки данных.
🔸 Publish/Subscribe: создание механизма, в котором одни горутины (издатели) публикуют сообщения в канал, а другие горутины (подписчики) читают эти сообщения.
🔸 Context passing: использование пакета
🔸 Errgroup: использование пакета
🔸 Select statement: использование оператора
👉 Подробнее: доклад Go Concurrency Patterns Роба Пайка (слайды) и Advanced Go Concurrency Patterns (слайды) Sameer Ajmani
Паттерны конкурентности в Go обычно строятся вокруг горутин и каналов.
Вот несколько основных паттернов конкурентности, которые широко используются в Go:
🔸 Worker pools: подразумевает создание нескольких горутин (воркеров) для выполнения задач из очереди.
🔸 Fan-in (собирает данные из множества источников) и Fan-out (распределяет задачи между несколькими обработчиками).
🔸 Pipeline: организация горутин в серию обработчиков, где каждая горутина выполняет определенную подзадачу. Каждая стадия пайплайна читает из одного канала и пишет в другой, формируя цепочку обработки данных.
🔸 Publish/Subscribe: создание механизма, в котором одни горутины (издатели) публикуют сообщения в канал, а другие горутины (подписчики) читают эти сообщения.
🔸 Context passing: использование пакета
context
для управления жизненным циклом и отмены горутин. Это особенно полезно в сетевых приложениях и при выполнении запросов к базам данных.🔸 Errgroup: использование пакета
errgroup
для параллельного выполнения задач с возможностью обработки ошибок и отмены всех задач при возникновении первой ошибки.🔸 Select statement: использование оператора
select
для ожидания нескольких операций с каналами. select
позволяет горутине ожидать несколько коммуникационных операций, блокируясь до готовности одной из них.👉 Подробнее: доклад Go Concurrency Patterns Роба Пайка (слайды) и Advanced Go Concurrency Patterns (слайды) Sameer Ajmani
YouTube
Google I/O 2012 - Go Concurrency Patterns
Rob Pike
Concurrency is the key to designing high performance network services. Go's concurrency primitives (goroutines and channels) provide a simple and efficient means of expressing concurrent execution. In this talk we see how tricky concurrency problems…
Concurrency is the key to designing high performance network services. Go's concurrency primitives (goroutines and channels) provide a simple and efficient means of expressing concurrent execution. In this talk we see how tricky concurrency problems…
❤29👍14🔥2👏1
📌 Мини-обзор изменений и новых возможностей:
1️⃣ Изменения в языке:
☑️ Изменения в поведении переменных в циклах
for
. Теперь каждая итерация цикла создает новые переменные, чтобы избежать ошибок совместного использования.☑️ Циклы
for
теперь могут итерировать по целым числам.2️⃣ Команда go:
☑️ В
workspaces
теперь можно использовать директорию vendor
с зависимостями.☑️ Команда
go get
больше не поддерживается в режиме GOPATH.
☑️ Изменения в
go mod init
и go test -cover
.3️⃣ Обновлен веб-интерфейс инструмента
trace.
4️⃣ Инструмент vet:
☑️ Изменения в поведении
vet
в соответствии с новой семантикой переменных цикла.☑️ Новые предупреждения для
append
и другие.5️⃣ Рантайм: улучшения производительности и снижение использования памяти.
6️⃣ Компилятор: улучшения в Profile-guided Optimization (PGO) и другие оптимизации.
7️⃣ Linker: изменения в флагах
-s/-w
и другие улучшения.8️⃣ Bootstrap: требуется последний релиз Go 1.20 или более новый для bootstrap.
9️⃣ Основная библиотека:
☑️ Новый пакет
math/rand/v2
.☑️ Новый пакет
go/version
.☑️ Улучшенные шаблоны роутинга в HTTP и многое другое.
🗒️ Примечания к выпуску
📦 Скачать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42🔥11❤1🌚1
🤩 Очередной любопытный CLI-инструмент на Go от команды ProjectDiscovery 👇
❤2
🤔 Устали сначала собирать, а потом анализировать данные о различных CVE из NVD и других критически важных источников? Команда ProjectDiscovery позаботилась об этом и представила новый инструмент cvemap.
Он предоставляет структурированный и простой в навигации CLI к различным базам данных уязвимостей, а также позволяет выполнить:
✔️ Поиск и запрос набора данных CVE
✔️ Сопоставление CVE с Known Exploited Vulnerabilities Catalog
✔️ Сопоставление CVE и Exploit Prediction Scoring System
✔️ Сопоставление CVE и Common Platform Enumeration
✔️ Сопоставление CVE с PoC'ами на GitHub
✔️ Сопоставление CVE с Nuclei Template
✔️ Сопоставление CVE с отчетами HackerOne
#news #tools #CVE
Он предоставляет структурированный и простой в навигации CLI к различным базам данных уязвимостей, а также позволяет выполнить:
✔️ Поиск и запрос набора данных CVE
✔️ Сопоставление CVE с Known Exploited Vulnerabilities Catalog
✔️ Сопоставление CVE и Exploit Prediction Scoring System
✔️ Сопоставление CVE и Common Platform Enumeration
✔️ Сопоставление CVE с PoC'ами на GitHub
✔️ Сопоставление CVE с Nuclei Template
✔️ Сопоставление CVE с отчетами HackerOne
go install github.com/projectdiscovery/cvemap/cmd/cvemap@latest
#news #tools #CVE
👍16🤔2❤1
Сравниваете ли вы свои карьерные достижения (повышение грейда) с успехами других людей?
Anonymous Poll
30%
Да — от установки «быть не хуже других» не убежишь
20%
Стараюсь не делать этого, т. к. пользы нет, а вреда достаточно
37%
Сравнений не избежать, но я стараюсь вдохновляться на действия и мотивировать себя
12%
Да, но в итоге чувствую только недовольство по отношению к другим и себе
16%
Сравниваю, но никому не завидую
10%
Сравниваю и наслаждаюсь своей крутостью
5%
Свой вариант (напишу в комментариях)
🥱18❤2🌚1
12 Factor CLI Apps.pdf
1.1 MB
Go — тот самый язык, который отлично подходит и активно используется для разработки CLI-приложений.
📌 Вот 12 аспектов, о которых стоит знать при разработке последних:
1. Качественная документация
2. Использование флагов вместо аргументов
3. Возможность легко определить версию
4. Правильное использование stdout и stderr для вывода сообщений и данных
5. Обработка ошибок
6. Использование цветов, индикаторов выполнения и прогресс-баров для улучшения UX
7. Использование подсказок для ввода данных, когда это возможно
8. Эффективное отображение данных в таблицах
9. Оптимизация времени запуска и выполнения
10. Поддержка открытого исходного кода и вовлечение сообщества
11. Четкое разделение и описание подкоманд в CLI
12. Использование стандартов XDG для хранения файлов конфигурации, данных и кэша
👉 Подробнее на Medium или в PDF
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21👏3
Начать курс «Алгоритмы и структуры данных» с вводной части можно уже сегодня
Курс для разработчиков, которые хотят подготовиться к собеседованию в технологическую компанию или продвинуться по карьерной лестнице.
🔥Начать вводные занятия можно здесь – https://proglib.io/w/b00fcfd1
На курсе вас ждет:
▪️ бессрочный доступ
▪️ 47 видеолекций
▪️ 150 практических заданий
▪️ бессрочная поддержка в чате студентов
▪️развернутая обратная связь по всем домашним заданиям
🔹Подробная программа – https://proglib.io/w/40510c9e
Переходите, оставляйте заявку на вводные занятия и знакомьтесь с самым харизматичным спикером – Степаном Мацкевичем. Он определенно получил приз зрительских симпатий от наших студентов 🥰
Курс для разработчиков, которые хотят подготовиться к собеседованию в технологическую компанию или продвинуться по карьерной лестнице.
🔥Начать вводные занятия можно здесь – https://proglib.io/w/b00fcfd1
На курсе вас ждет:
▪️ бессрочный доступ
▪️ 47 видеолекций
▪️ 150 практических заданий
▪️ бессрочная поддержка в чате студентов
▪️развернутая обратная связь по всем домашним заданиям
🔹Подробная программа – https://proglib.io/w/40510c9e
Переходите, оставляйте заявку на вводные занятия и знакомьтесь с самым харизматичным спикером – Степаном Мацкевичем. Он определенно получил приз зрительских симпатий от наших студентов 🥰
❤3👍3🔥2😁1🥱1
Matthew Boyle, автор книги Domain-Driven Design with Golang, создал мини-курс по основным изменениям в Go 1.22. Врывайтесь👇
👨💻 Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16🌚1
🍋 Подборка лучших статей «Библиотеки программиста» за январь: сохраняй в заметки, чтобы не пропустить #самыйсок
🏖️ Чек лист идеального отдыха: 5 психологических техник расслабления
👨💻 Особенности работы в ИТ: информация из первых рук
🏖️ Синдром упущенного отпуска: почему так опасно игнорировать заслуженный отдых
🤖 Итоги недели в мире ИИ и обзоры новых сервисов: новые модели для генерации впечатляющих видео
💰⬆️ 10 факторов, влияющих на зарплату программиста
👨💻🧩 Психология и ИТ: 17 личностных качеств, необходимых для успешной карьеры
🏃 Самоучитель по Go для начинающих:
👉 Часть 5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
👉 Часть 6. Функции и аргументы. Области видимости. Рекурсия. Defer
🏖️ Чек лист идеального отдыха: 5 психологических техник расслабления
👨💻 Особенности работы в ИТ: информация из первых рук
🏖️ Синдром упущенного отпуска: почему так опасно игнорировать заслуженный отдых
🤖 Итоги недели в мире ИИ и обзоры новых сервисов: новые модели для генерации впечатляющих видео
💰⬆️ 10 факторов, влияющих на зарплату программиста
👨💻🧩 Психология и ИТ: 17 личностных качеств, необходимых для успешной карьеры
🏃 Самоучитель по Go для начинающих:
👉 Часть 5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
👉 Часть 6. Функции и аргументы. Области видимости. Рекурсия. Defer
🥰3👍2🌚1
🔐 Filippo Valsorda, эксперт по криптографии и бывший член команды Go, делится подробностями разработки библиотеки mlkem768
🛠 mlkem768 — это реализация ML-KEM-768 на чистом Go + sha3. ML-KEM представляет собой механизм обмена ключами постквантовой криптографии, который в настоящее время стандартизируется NIST.
📺 И да, Filippo написал часть библиотеки в прямом эфире. Тоже можно посмотреть😎
🛠 mlkem768 — это реализация ML-KEM-768 на чистом Go + sha3. ML-KEM представляет собой механизм обмена ключами постквантовой криптографии, который в настоящее время стандартизируется NIST.
📺 И да, Filippo написал часть библиотеки в прямом эфире. Тоже можно посмотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
Filippo Valsorda
Post-quantum Cryptography for the Go Ecosystem
filippo.io/mlkem768 is a pure-Go implementation of the post-quantum key exchange mechanism ML-KEM-768 optimized for correctness and readability.
❤5👍3
🥇 Спортивная мотивация и мотивация в IT, что общего?
Рассказываем, как использовать психологические инструменты из спорта, чтобы увеличить внутреннюю мотивацию и повысить продуктивность.
👉 Читать статью
👉 Зеркало
Рассказываем, как использовать психологические инструменты из спорта, чтобы увеличить внутреннюю мотивацию и повысить продуктивность.
👉 Читать статью
👉 Зеркало
👍10🔥4🥱2❤1
Инженер из Google Valentin Deleplace делится историей повышения производительности Go-сервиса с помощью double-checked locking (второй скрин).
👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤4🌚1