🛠Утилиты на Go для запуска старых Unix-программы, на современных компьютерах.
rsc.io/unix - содержит программы для запуска старых Unix-программ на современных компьютерах.
pdp11 - симулятор PDP-11.
v6unix - симулятор Research Unix Sixth Edition (V6). Он представляет собой перенос логики ядра V6 на Go, используя симулятор PDP11 для запуска пользовательских программ. По большей части ядро является точной имитацией ядра V6, но оно написано с использованием структур данных в памяти и других упрощающих допущений, и в нем нет необходимости заботиться о специфических деталях дисков, терминалов и другого оборудования PDP11. Это позволяет пользователям сосредоточиться на том, как работают программы Unix и каково это - пользоваться системой, а не изучать конфигурацию симулированных дисковых пакетов RK05.
v6run - это интерфейс командной строки к v6unix. go run rsc.io/unix/v6run@latest запустит симулятор. Нажатие Control-Backslash приведет к выходу из симулятора.
v6web - это интерфейс на основе веб-браузера.
▪Github
@Golang_google
rsc.io/unix - содержит программы для запуска старых Unix-программ на современных компьютерах.
pdp11 - симулятор PDP-11.
v6unix - симулятор Research Unix Sixth Edition (V6). Он представляет собой перенос логики ядра V6 на Go, используя симулятор PDP11 для запуска пользовательских программ. По большей части ядро является точной имитацией ядра V6, но оно написано с использованием структур данных в памяти и других упрощающих допущений, и в нем нет необходимости заботиться о специфических деталях дисков, терминалов и другого оборудования PDP11. Это позволяет пользователям сосредоточиться на том, как работают программы Unix и каково это - пользоваться системой, а не изучать конфигурацию симулированных дисковых пакетов RK05.
v6run - это интерфейс командной строки к v6unix. go run rsc.io/unix/v6run@latest запустит симулятор. Нажатие Control-Backslash приведет к выходу из симулятора.
v6web - это интерфейс на основе веб-браузера.
▪Github
@Golang_google
⚡️ Впечатляющая монолитная архитектура Stack Overflow
Компания
Веб-серверы:
- Используется всего 9 локальных веб-серверов IIS.
- Каждый сервер имеет 64 ГБ оперативной памяти и работает на высокооптимизированном коде .NET
- Обработка 450 пиковых запросов в секунду на каждом сервере при использовании всего 12% процессорной мощности
- Код минимизирует потребление памяти и настроен на ограничения сбора мусора
Серверы SQL:
- Организованы в 2 отказоустойчивых кластера по 2 сервера в каждом
- Первый кластер: 1,5 ТБ оперативной памяти на сервер
- Второй кластер: 768 ГБ оперативной памяти на сервер
- Около трети массива данных Q&A находится в памяти.
- Каждый кластер обрабатывает более 10 000 пиковых запросов в секунду при ~15% CPU
Redis:
- Один основной сервер с репликой на 256 ГБ.
- Обработка 60000 пиковых операций в секунду при 2% CPU
Stack Overflow эффективно масштабирует монолитное приложение.
📌 Архитектура наглядно
📌 Подкаст об архитектуре Stack Overflow
@Golang_google
Компания
Stack Overflow,
поддерживает тенденцию развития микросервисов их сервис обрабатывает 1,3 млрд. просмотров страниц в месяц на своих 200 сайтах, используя удивительно эффективную монолитную архитектуру с минимальной инфраструктурой.Веб-серверы:
- Используется всего 9 локальных веб-серверов IIS.
- Каждый сервер имеет 64 ГБ оперативной памяти и работает на высокооптимизированном коде .NET
- Обработка 450 пиковых запросов в секунду на каждом сервере при использовании всего 12% процессорной мощности
- Код минимизирует потребление памяти и настроен на ограничения сбора мусора
Серверы SQL:
- Организованы в 2 отказоустойчивых кластера по 2 сервера в каждом
- Первый кластер: 1,5 ТБ оперативной памяти на сервер
- Второй кластер: 768 ГБ оперативной памяти на сервер
- Около трети массива данных Q&A находится в памяти.
- Каждый кластер обрабатывает более 10 000 пиковых запросов в секунду при ~15% CPU
Redis:
- Один основной сервер с репликой на 256 ГБ.
- Обработка 60000 пиковых операций в секунду при 2% CPU
Stack Overflow эффективно масштабирует монолитное приложение.
📌 Архитектура наглядно
📌 Подкаст об архитектуре Stack Overflow
@Golang_google
⚡️ Конвейер параллельной обработки файлов, написанный на языке Go.
▪Простота настройки
▪Высокая степень кастомизации
▪Широкий спектр операций по обработке файлов
▪ Github
@Golang_google
▪Простота настройки
▪Высокая степень кастомизации
▪Широкий спектр операций по обработке файлов
▪ Github
@Golang_google
Если вам надоело начинать проекты на Golang с нуля, бороться с несовместимыми структурами и переписывать один и тот же код?
Go Blueprint - это
CLI-инструмент
, позволяющий легко создать Go-проект с соответствующей структурой. Он также предоставляет возможность интеграции с популярными фреймворками веб-разработчки Go!Преимущества:
▪Простота настройки и установки
▪Вся структура для Go проекта уже создана
▪Легкая настройка Go HTTP-сервера (или Fasthttp с Fiber)
▪Интеграция с популярными фреймворками
go install github.com/melkeydev/go-blueprint@latest
📌 Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Scratch - это альтернатива
BigQuery, Redshift
и Snowflake
с открытым исходным кодом, которая работает на платформе Clickhouse.📌 Github
📌 Проект
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🎯 Хорошая шпаргалка по различным инфраструктурам мониторинга в облачных сервисах.
Эта шпаргалка предлагает краткое, но исчерпывающее сравнение ключевых элементов мониторинга трех основных облачных провайдеров и инструментов с открытым исходным кодом / сторонних производителей.
Давайте рассмотрим основные аспекты мониторинга:
- Сбор данных: Сбор информации из различных источников для принятия решений.
- Хранение данных: Безопасное хранение и управление данными для последующего анализа и использования.
- Анализ данных: Извлечение ценных сведений из данных.
- Оповещение: Получение в реальном времени уведомлений о критических событиях или аномалиях.
- Визуализация: Представление данных в наглядном формате для лучшего понимания.
- Отчетность и соответствие нормативным требованиям: Формирование отчетов и обеспечение соответствия нормативным стандартам.
- Автоматизация: Оптимизация процессов и задач за счет автоматизации рабочих процессов.
- Интеграция: Бесшовное соединение и обмен данными между различными системами и инструментами.
- Инструменты обратной связи: Постоянное совершенствование стратегий на основе обратной связи и анализа эффективности.
Как вы расставляете приоритеты и используете эти важнейшие аспекты мониторинга в своей области для достижения лучших результатов и эффективности?
@Golang_google
Эта шпаргалка предлагает краткое, но исчерпывающее сравнение ключевых элементов мониторинга трех основных облачных провайдеров и инструментов с открытым исходным кодом / сторонних производителей.
Давайте рассмотрим основные аспекты мониторинга:
- Сбор данных: Сбор информации из различных источников для принятия решений.
- Хранение данных: Безопасное хранение и управление данными для последующего анализа и использования.
- Анализ данных: Извлечение ценных сведений из данных.
- Оповещение: Получение в реальном времени уведомлений о критических событиях или аномалиях.
- Визуализация: Представление данных в наглядном формате для лучшего понимания.
- Отчетность и соответствие нормативным требованиям: Формирование отчетов и обеспечение соответствия нормативным стандартам.
- Автоматизация: Оптимизация процессов и задач за счет автоматизации рабочих процессов.
- Интеграция: Бесшовное соединение и обмен данными между различными системами и инструментами.
- Инструменты обратной связи: Постоянное совершенствование стратегий на основе обратной связи и анализа эффективности.
Как вы расставляете приоритеты и используете эти важнейшие аспекты мониторинга в своей области для достижения лучших результатов и эффективности?
@Golang_google
🔥 Дайджест полезных материалов из мира Golang за неделю
Почитать:
— Проблемы функции Golang init
— Мультиплатформенные образы: что это такое и зачем они нужны
— Реализация Graceful Shutdown в Go
— Midjourney, DALL-E 3 и GPT-4 открыли мир безграничных возможностей.
— Использование табличных тестов в go для тестирования запросов к БД + testify
— PKI на ENS. Часть 2. Proof-of-Concept
— How To Build A Containerized Microservice in Golang: A Step-by-step Guide with Example Use-Case
— Desvendando o package fmt do Go
— Slog: Zero-dependency structured logging in Go
— Type-Safe Infrastructure: Pioneering Simplicity and Stability
— Binary Operators in Golang
— Serverless Image Generation Application Using Generative AI on AWS
— Testable Go Code
— Enhancing Code Quality and Maintainability
— GoFr - An opinionated Go Microservice Framework
— Supercharge Your API Development with GraphQL and Go
Посмотреть:
🌐 Виталий Лихачев, Наталья Саушкина: Публичное собеседование Senior Golang Engineer
🌐 Определение диабета при помощи машинного обучения в 60 строк кода! (⏱ 12:54)
🌐 Golang 1.21: What is new?
🌐 День из жизни программиста в Анталии (⏱ 07:14)
🌐 Как писать код без ошибок? #айти #программирование #программист (⏱ 00:49)
🌐 Implementing IP Address Rate Limiting in Go!? (⏱ 05:35)
@Golang_google
Почитать:
— Проблемы функции Golang init
— Мультиплатформенные образы: что это такое и зачем они нужны
— Реализация Graceful Shutdown в Go
— Midjourney, DALL-E 3 и GPT-4 открыли мир безграничных возможностей.
— Использование табличных тестов в go для тестирования запросов к БД + testify
— PKI на ENS. Часть 2. Proof-of-Concept
— How To Build A Containerized Microservice in Golang: A Step-by-step Guide with Example Use-Case
— Desvendando o package fmt do Go
— Slog: Zero-dependency structured logging in Go
— Type-Safe Infrastructure: Pioneering Simplicity and Stability
— Binary Operators in Golang
— Serverless Image Generation Application Using Generative AI on AWS
— Testable Go Code
— Enhancing Code Quality and Maintainability
— GoFr - An opinionated Go Microservice Framework
— Supercharge Your API Development with GraphQL and Go
Посмотреть:
🌐 Виталий Лихачев, Наталья Саушкина: Публичное собеседование Senior Golang Engineer
🌐 Определение диабета при помощи машинного обучения в 60 строк кода! (⏱ 12:54)
🌐 Golang 1.21: What is new?
🌐 День из жизни программиста в Анталии (⏱ 07:14)
🌐 Как писать код без ошибок? #айти #программирование #программист (⏱ 00:49)
🌐 Implementing IP Address Rate Limiting in Go!? (⏱ 05:35)
@Golang_google
https://dave.cheney.net/paste/gophercon-sg-2023.html
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 75 инженерных блогов, которые стоит прочитать, чтобы улучшить свои навыки в области проектирование систем:
https://github.com/JohnCrickett/SystemDesign/tree/main/engineering-blogs
@Golang_google
https://github.com/JohnCrickett/SystemDesign/tree/main/engineering-blogs
@Golang_google
GitHub
SystemDesign/engineering-blogs at main · JohnCrickett/SystemDesign
Useful resources on distributed system design. Contribute to JohnCrickett/SystemDesign development by creating an account on GitHub.
Коллекция мини-программ, демонстрирующих различные варианты использования client-go, дополненная предварительно настроенной онлайновой средой разработки. Вдохновлен
client-go/examples.
Цель - протестировать (более или менее) свежую версию Go и пакетов k8s.io на поддерживаемых в настоящее время ветках релизов Kubernetes.
Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - iximiuz/client-go-examples: Collection of mini-programs demonstrating Kubernetes client-go usage.
Collection of mini-programs demonstrating Kubernetes client-go usage. - iximiuz/client-go-examples
🥳 Выпущены версии Go 1.21.4 и 1.20.11!
🔐 Безопасность: Включены исправления безопасности для path/filepath (CVE-2023-45283, CVE-2023-45284).
🗣 Анонс: https://groups.google.com/g/golang-announce/c/4tU8LZfBFkY
🗃 Скачать: https://go.dev/dl/#go1.21.4
@Golang_google
🔐 Безопасность: Включены исправления безопасности для path/filepath (CVE-2023-45283, CVE-2023-45284).
🗣 Анонс: https://groups.google.com/g/golang-announce/c/4tU8LZfBFkY
🗃 Скачать: https://go.dev/dl/#go1.21.4
@Golang_google
Маршрутизации на основе правил: динамические скрипты, домены, IP-адреса, имя процесса и многое другое
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Создать RTS, которая бы хорошо работала в браузере с помощью #golang, сложная задача, но возможная.
Игра написана с использованием движка Ebitengine и даже доступна в Steam.
•Github
•Проект
#ebitengine #gamedev #golang
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
F-jgIg5asAAxB0Q.jpeg
965.2 KB
Шаблон-шпаргалка для решения различных проблем системного дизайна на собеседованиях.
В нем кратко затронуты следующие вопросы:
- Балансировка нагрузки
- API
- Коммуникационные протоколы
- CDN
- База данных
- Кэш
- Очередь сообщений
- Генерация уникальных идентификаторов
- Масштабируемость
- Доступность
- Производительность
- Безопасность
- Отказоустойчивость
- И многое другое
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
go.dev
Fourteen Years of Go - The Go Programming Language
Happy Birthday, Go!
🔥 Дайджест полезных материалов из мира Golang за неделю
Почитать:
— Multipath TCP в Go
— Проблемы функции Golang init
— Мультиплатформенные образы: что это такое и зачем они нужны
— Организация стенда локальной разработки для самых маленьких с автоматической пересборкой приложения (фронтенд + бэкенд)
— 14years Go
— GopherConAU
— Git и GitHub для начинающих
— Реализация Graceful Shutdown в Go
— Использование табличных тестов в go для тестирования запросов к БД + testify
— PKI на ENS. Часть 2. Proof-of-Concept
— Building a fully Type-Safe Event-Driven Backend in Go
— Fundamentals of Go - FARMISS
— Golang or Rust: Which one to choose?
— Building LangChain applications with Amazon Bedrock and Go - An introduction
— Creating Real-Time WebSockets with Go and WebAssembly
— Config-file-validator v1.5.0 Released!
— Considered Harmful - Accept Interfaces, Return Structs
— Example 5, Automatically generate grpc gateway service project code, easy to achieve cross-service grpc calls
— Example 6, Build a simple golang e-commerce microservices framework step by step using tool
— Example 3, Automatically generate generic web service (gin) project code, increasing development efficiency by at least 1x
Посмотреть:
🌐 Automated Weather Polling System in Golang
🌐 Совет Python разработчикам - реши задачу Chain sum с реального собеседования. (⏱ 14:23)
🌐 Automated Weather Polling System in Golang (⏱ 01:40:23)
🌐 Let's Build A Distributed CAS Storage In Golang (⏱ 46:14)
🌐 P2P Protocol In Golang For My Distributed CAS (⏱ 36:09)
🌐 День из жизни программиста в Анталии (⏱ 07:14)
🌐 Самый простой язык программирования #айти #программирование #программист (⏱ 00:42)
🌐 Как писать код без ошибок? #айти #программирование #программист (⏱ 00:49)
🌐 Нужна ли математика программисту? #айти #программирование #программист #математике (⏱ 00:35)
🌐 GoLang Project: Password Generator (⏱ 12:12)
🌐 Object Value Types in Go!? ~ Domain Driven Design (⏱ 05:50)
🌐 Implementing IP Address Rate Limiting in Go!? (⏱ 05:35)
🌐 GoLang Project: Password Generator
Хорошего дня!
@Golang_google
Почитать:
— Multipath TCP в Go
— Проблемы функции Golang init
— Мультиплатформенные образы: что это такое и зачем они нужны
— Организация стенда локальной разработки для самых маленьких с автоматической пересборкой приложения (фронтенд + бэкенд)
— 14years Go
— GopherConAU
— Git и GitHub для начинающих
— Реализация Graceful Shutdown в Go
— Использование табличных тестов в go для тестирования запросов к БД + testify
— PKI на ENS. Часть 2. Proof-of-Concept
— Building a fully Type-Safe Event-Driven Backend in Go
— Fundamentals of Go - FARMISS
— Golang or Rust: Which one to choose?
— Building LangChain applications with Amazon Bedrock and Go - An introduction
— Creating Real-Time WebSockets with Go and WebAssembly
— Config-file-validator v1.5.0 Released!
— Considered Harmful - Accept Interfaces, Return Structs
— Example 5, Automatically generate grpc gateway service project code, easy to achieve cross-service grpc calls
— Example 6, Build a simple golang e-commerce microservices framework step by step using tool
— Example 3, Automatically generate generic web service (gin) project code, increasing development efficiency by at least 1x
Посмотреть:
🌐 Automated Weather Polling System in Golang
🌐 Совет Python разработчикам - реши задачу Chain sum с реального собеседования. (⏱ 14:23)
🌐 Automated Weather Polling System in Golang (⏱ 01:40:23)
🌐 Let's Build A Distributed CAS Storage In Golang (⏱ 46:14)
🌐 P2P Protocol In Golang For My Distributed CAS (⏱ 36:09)
🌐 День из жизни программиста в Анталии (⏱ 07:14)
🌐 Самый простой язык программирования #айти #программирование #программист (⏱ 00:42)
🌐 Как писать код без ошибок? #айти #программирование #программист (⏱ 00:49)
🌐 Нужна ли математика программисту? #айти #программирование #программист #математике (⏱ 00:35)
🌐 GoLang Project: Password Generator (⏱ 12:12)
🌐 Object Value Types in Go!? ~ Domain Driven Design (⏱ 05:50)
🌐 Implementing IP Address Rate Limiting in Go!? (⏱ 05:35)
🌐 GoLang Project: Password Generator
Хорошего дня!
@Golang_google