Чистая реализация каналов Go на C89, включая блокирующие и неблокирующие селекты
https://github.com/rochus-keller/CspChan
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤4🔥1
Новый инструмент оповещения об ошибках Kubernetes на основе Go с интеграцией GPT для Slack!
📌 Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥8🤔4😁3👎2😱2❤1
Какой вы гофер в эти зимние праздники ?
Anonymous Poll
5%
Гофер в кофейне
56%
Домашний Гофер-кодер
8%
Офисный гофер
27%
Никакого кодинга в праздники
4%
Другое (пишите в комментариях)
😁18👍5❤2🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Полезный инструмент для изучения Docker-образа, содержимого слоев и поиска способов уменьшения размера Docker-образа
Docker/OC 🔥
https://github.com/wagoodman/dive
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35🔥14❤5
Основано на заметках о выпуске
Go 1.22
от команды Go (лицензия 3-Clause BSD), с добавлением множества интерактивных примеров. Эта запись в блоге синхронизируется с исходным документом по мере его обновления.Выход
Go 1.22
запланирован на февраль 2024 года, но вы уже можете опробовать многие из его возможностей, не выходя из браузера. Читайте дальше и смотрите!https://antonz.org/go-1-22/
#golang #programming
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥6❤5
🔥 Дайджест полезных материалов из мира Golang за неделю
Почитать:
— Toolchain в Go
— Создание эмулятора игр MS-DOS в Kubernetes
— Event Sourcing и CQRS в Go
— Управление зависимостями в Go
— Полный отчет Github за 2023 о состоянии проектов.
— 9 вопросов для собеседования по SQL в Apple
— Автоматизация работы программиста golang
— Object-Relational Mapping (ORM) в Golang
— Bundling Go Lambda Functions with the AWS CDK
— Go concurrency simplified. Part 4: Post office as a data pipeline
— How to Test SMTP Settings under 5 Minutes
— Building a Go Package with Melange and a Docker Image with Apko
— [Go Tour ] 3. Hot-reload
— API completa em Golang - Parte 4
— 🔥 Big frontend update: the Gowebly CLI now supports Bootstrap and Bulma
— Modularização de Software
— Exploring Prometheus Code - part 1 (personal notes)
— Exploring Go: A Powerhouse In Modern Software Development
Посмотреть:
🌐From Svelte to Go and HTMX
🌐 Mixtral 8x7B - новый ИИ. Нейросети, которые ДОМИНИРУЮТ на другими моделями (⏱ 08:04)
🌐 How To Setup A Golang + Templ Project Structure (⏱ 31:20)
🌐 Region Based Distributed Service Scheduling In Golang (⏱ 02:13:14)
🌐 Я не мог читать чужой код #айти #программирование #программист (⏱ 00:48)
🌐 Снес базу данных в Тинькофф #айти #программирование #программист (⏱ 01:01)
🌐 Postgres Integration tests in Golang?! ~ Integration Testing in Go (⏱ 06:33)
🌐 Dynamic Feature Flags with Go Routines!? ~ Feature Switches in Golang (⏱ 08:09)
🌐 FULL STACK Golang + HTMX Building an Engineer Recruitment Platform Golang ~ LIVE! (⏱ 01:42:35)
Хорошего дня!
@Golang_google
Почитать:
— Toolchain в Go
— Создание эмулятора игр MS-DOS в Kubernetes
— Event Sourcing и CQRS в Go
— Управление зависимостями в Go
— Полный отчет Github за 2023 о состоянии проектов.
— 9 вопросов для собеседования по SQL в Apple
— Автоматизация работы программиста golang
— Object-Relational Mapping (ORM) в Golang
— Bundling Go Lambda Functions with the AWS CDK
— Go concurrency simplified. Part 4: Post office as a data pipeline
— How to Test SMTP Settings under 5 Minutes
— Building a Go Package with Melange and a Docker Image with Apko
— [Go Tour ] 3. Hot-reload
— API completa em Golang - Parte 4
— 🔥 Big frontend update: the Gowebly CLI now supports Bootstrap and Bulma
— Modularização de Software
— Exploring Prometheus Code - part 1 (personal notes)
— Exploring Go: A Powerhouse In Modern Software Development
Посмотреть:
🌐From Svelte to Go and HTMX
🌐 Mixtral 8x7B - новый ИИ. Нейросети, которые ДОМИНИРУЮТ на другими моделями (⏱ 08:04)
🌐 How To Setup A Golang + Templ Project Structure (⏱ 31:20)
🌐 Region Based Distributed Service Scheduling In Golang (⏱ 02:13:14)
🌐 Я не мог читать чужой код #айти #программирование #программист (⏱ 00:48)
🌐 Снес базу данных в Тинькофф #айти #программирование #программист (⏱ 01:01)
🌐 Postgres Integration tests in Golang?! ~ Integration Testing in Go (⏱ 06:33)
🌐 Dynamic Feature Flags with Go Routines!? ~ Feature Switches in Golang (⏱ 08:09)
🌐 FULL STACK Golang + HTMX Building an Engineer Recruitment Platform Golang ~ LIVE! (⏱ 01:42:35)
Хорошего дня!
@Golang_google
👍12❤2🔥2
Самая быстрая библиотека golang in-memory cache, основанная на алгоритме
S3-FIFO
. Раюотает во много раз быстрее, чем Ristretto.Внутри используется хеш таблица, которая имеет мьютекс на каждый бакет
+ seq lock
для чтения + каждый бакет помещается в две кеш линии, что предотвращает false sharing
и это намногооо быстрее map с мьютексом и sync.Map. Также исрользуется несколько трюков для избегания частых локов политики вытеснения: при чтении используются wait-free буфферы, которые иногда могут терять данные, но так как главная задача кеша - хранить наиболее частые элементы, то потери незначительны + реализация mpsc очереди при записи, которая значительно превосходит каналы по перфомансу и принцип из статьи bp-wrapper, который коротко можно назвать "batch, batch, batch" aka кеш не обновляет политику мгновенно, а только после наполнения небольшого буффера.
go get -u github.com/maypok86/otter
▪Github@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥54❤6👍6
Очень легкий CLI SMTP-клиент для удобной отправки писем из командной строки.
▪Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤3🔥2😁2🤔1
https://www.willem.dev/articles/time-location-explained/
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤3🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤5🔥2
Каковы ваши ожидания по зарплате? Это частый вопрос от рекрутеров даже до технических интервью и давай разберемся как на него можно отвечать
Есть два наиболее эффективных варианта ответа:
- Указать диапазон, в котором ты рассматриваешь предложения: этот вариант рекомендуют рекрутеры, включая Киру Кузьменко (Если не знаком с ней, погугли. Делает оч крутой контент.), с которой я обсудил этот вопрос на YaTalks 2023
- Вернуться к вопросу позже: этот вариант чаще всего предпочитаю я, если разработчик, которого консультирую имеет грейд между Middle и Senior (уж очень хорошо работает этот метод, когда спорный грейд)
Почему вообще рекрутеры советуют огласить зарплатные ожидания в начале? Основная причина, о которой говорят открыто - это "быстрый фильтр для тебя и рекрутера", однако стоит помнить и о недостатках:
- Назвав мелкий диапазон можете в нем и остаться, хотя достойны большего
- Психологическое ограничение для себя (может показаться надуманным, но ЗП в 500-600 тысяч многим кажется чем-то недостижимым)
- и так далее.
P.S. здесь не обсуждаем, насколько часто работодатели прибегают к этим приемам, скорее даю пищу для размышления...
Ты подумал и и решил оглашать ЗП после всех технических интервью, чтобы собрать побольше информации о компании и вдумчиво огласить желаемую вилку. Но что сказать рекрутеру, чтобы не выдать свои ожидания в самом начале? Вот несколько вариантов:
- На данный момент мне не комфортно говорить о деньгах. В первую очередь хочу пройти все технические интервью и познакомиться с командой, а только потом буду готов огласить сумму
- Предлагаю вернуться к вопросу о деньгах после прохождения всех технических интервью
Из рисков тут пожалуй только сразу получить отказ, но на этот счет я никогда не переживаю, ведь это показатель, что компания не готова выстраивать диалог и может быть “проблемной” . P.S. Для тебя это может быть не так, поэтому на консультациях этот момент обсуждаю заранее
Если уж совсем достали вопросами по ЗП, то фраза "Вы ставите меня в неприятное положение этим вопросом. Я сказал, что готов вернуться к этому после всех технических секций, и мое решение не изменится!" поможет остудить собеседника (применять с осторожностью!)
Каждый вариант заслуживает отдельного поста, и каждая стратегия может быть эффективной, но это уже совсем другая история...
На канале делюсь опытом ведения зарплатных переговоров, а так же историями про свои взлеты и падения в айтише. Залетай, будет интересно! Комментарии открыты и дискуссии приветствуются :)
Есть два наиболее эффективных варианта ответа:
- Указать диапазон, в котором ты рассматриваешь предложения: этот вариант рекомендуют рекрутеры, включая Киру Кузьменко (Если не знаком с ней, погугли. Делает оч крутой контент.), с которой я обсудил этот вопрос на YaTalks 2023
- Вернуться к вопросу позже: этот вариант чаще всего предпочитаю я, если разработчик, которого консультирую имеет грейд между Middle и Senior (уж очень хорошо работает этот метод, когда спорный грейд)
Почему вообще рекрутеры советуют огласить зарплатные ожидания в начале? Основная причина, о которой говорят открыто - это "быстрый фильтр для тебя и рекрутера", однако стоит помнить и о недостатках:
- Назвав мелкий диапазон можете в нем и остаться, хотя достойны большего
- Психологическое ограничение для себя (может показаться надуманным, но ЗП в 500-600 тысяч многим кажется чем-то недостижимым)
- и так далее.
P.S. здесь не обсуждаем, насколько часто работодатели прибегают к этим приемам, скорее даю пищу для размышления...
Ты подумал и и решил оглашать ЗП после всех технических интервью, чтобы собрать побольше информации о компании и вдумчиво огласить желаемую вилку. Но что сказать рекрутеру, чтобы не выдать свои ожидания в самом начале? Вот несколько вариантов:
- На данный момент мне не комфортно говорить о деньгах. В первую очередь хочу пройти все технические интервью и познакомиться с командой, а только потом буду готов огласить сумму
- Предлагаю вернуться к вопросу о деньгах после прохождения всех технических интервью
Из рисков тут пожалуй только сразу получить отказ, но на этот счет я никогда не переживаю, ведь это показатель, что компания не готова выстраивать диалог и может быть “проблемной” . P.S. Для тебя это может быть не так, поэтому на консультациях этот момент обсуждаю заранее
Если уж совсем достали вопросами по ЗП, то фраза "Вы ставите меня в неприятное положение этим вопросом. Я сказал, что готов вернуться к этому после всех технических секций, и мое решение не изменится!" поможет остудить собеседника (применять с осторожностью!)
Каждый вариант заслуживает отдельного поста, и каждая стратегия может быть эффективной, но это уже совсем другая история...
На канале делюсь опытом ведения зарплатных переговоров, а так же историями про свои взлеты и падения в айтише. Залетай, будет интересно! Комментарии открыты и дискуссии приветствуются :)
👍22❤2👎2🔥1
DynamoMQ - это библиотека очередей сообщений, использующая
DynamoDB
в качестве хранилища, написанная на Go. $ go install github.com/vvatanabe/dynamomq/cmd/dynamomq@latest
▪Github@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍3❤1
Откройте для себя распространенные антишаблоны архитектуры, узнайте, как их избегать и преодолевать "подводные камни" проектирования!
Антипаттерн (англ. anti-pattern) — это распространённый подход к решению класса часто встречающихся проблем, являющийся неэффективным, рискованным или непродуктивным. В отличие от шаблона проектирования, рассмотрение антипаттерна включает в себя как неправильное решение проблемы с его признаками и последствиями, так и выход из ситуации.
В этом проекте собраны ценные сведения, практические советы и примеры из реальных проектов для обучения и помощи в создании лучших программных архитектур и улучшать существующие.
▪Проект
▪Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤5🔥4👎1
🔥 Дайджест полезных материалов из мира Golang за неделю
Почитать:
— Миграции в YDB с помощью «goose»
— Логирование в Golang
— 100 вопросов для подготовки к собесу Data Science
— Дженерики в go
— Проектирование fault-tolerant систем на Go
— WebSocket в Go и причем тут горилла
— Building golang project from scratch - part 3 - setting up the database using docker
— Build a Golang Todo App Backend: A Step-by-Step Guide
— Go versus Rust: Choosing the Best Language for You to Learn in 2024
— Automate the task of creating requirements.txt with pyreqs!
— OnLogs – open-source simplified web logs viewer for Docker containers
— Evitando SQL Injection com Golang
— 5 Golang Features I Wished Were Different!
— Десять самых ярких ИИ-работ от NVIDIA Research за 2023 год
Посмотреть:
🌐 100 вопросов с собеседований Data Science — часть 1 (⏱ 36:48)
🌐FULL STACK Golang + HTMX Building an Engineer Recruitment Platform Golang ~ LIVE!
🌐 Building FFAAS In Go. Fast Function As A Service. (⏱ 01:48:16)
🌐 Coding Instant WASM Rollbacks In Go (⏱ 01:32:12)
🌐 Не мог найти первую работу программистом #айти #программирование #программист (⏱ 00:55)
🌐 Дубай для программиста | Сколько стоит жить в Дубае в 2023 (⏱ 05:38)
Хорошего дня!
@Golang_google
Почитать:
— Миграции в YDB с помощью «goose»
— Логирование в Golang
— 100 вопросов для подготовки к собесу Data Science
— Дженерики в go
— Проектирование fault-tolerant систем на Go
— WebSocket в Go и причем тут горилла
— Building golang project from scratch - part 3 - setting up the database using docker
— Build a Golang Todo App Backend: A Step-by-Step Guide
— Go versus Rust: Choosing the Best Language for You to Learn in 2024
— Automate the task of creating requirements.txt with pyreqs!
— OnLogs – open-source simplified web logs viewer for Docker containers
— Evitando SQL Injection com Golang
— 5 Golang Features I Wished Were Different!
— Десять самых ярких ИИ-работ от NVIDIA Research за 2023 год
Посмотреть:
🌐 100 вопросов с собеседований Data Science — часть 1 (⏱ 36:48)
🌐FULL STACK Golang + HTMX Building an Engineer Recruitment Platform Golang ~ LIVE!
🌐 Building FFAAS In Go. Fast Function As A Service. (⏱ 01:48:16)
🌐 Coding Instant WASM Rollbacks In Go (⏱ 01:32:12)
🌐 Не мог найти первую работу программистом #айти #программирование #программист (⏱ 00:55)
🌐 Дубай для программиста | Сколько стоит жить в Дубае в 2023 (⏱ 05:38)
Хорошего дня!
@Golang_google
👍16❤5🔥4
Если бы у MongoDB и MySQL родился ребенок, то это был бы CursusDB. Шутки в сторону CursusDB - это распределенная документо-ориентированная in-memory база данных с открытым исходным кодом и SQL-подобным языком запросов, написанным на чистом GO.
▪Github
▪Документация
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔14🥰12👍6❤3
Линтер для проверки проверки OpenTelemetry (End, SetStatus, RecordError)
go install github.com/jjti/go-spancheck/cmd/spancheck@latest
spancheck ./...
▪Github
▪Docs
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍6🔥4
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥3❤2