Golightly новый фреймворк Go машинного обучения для решения задач: регрессии, классификации, ранжирования и т.д.
Golightly предоставляет обертку для LightGBM.
LightGBM — это фреймворк, который предоставляет реализацию деревьев принятия решений с градиентным бустингом.
LightGBM известен своей высокой скоростью обучения, хорошей точностью с параметрами по умолчанию, параллельным и GPU обучением, малым использованием памяти и возможностью обработки больших датасетов, которые не всегда помещаются в ней.
▪Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Dockertest - это замечательная библиотека, позволяющая управлять контейнерами docker для тестов. Вместо использования docker compose или других настроек (вне тестов) мы можем создавать чистую среду docker при каждом запуске.
Простой пример работы с Dockertest
▪Github
▪Example
@Golang_google
Простой пример работы с Dockertest
▪Github
▪Example
@Golang_google
📌 Cтатья
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Обновление библиотеки Lingua Go, которая позволяет определить, на каком языке написан тот или иной текст. Это очень полезно в качестве этапа предварительной обработки лингвистических данных в приложениях обработки естественного языка, таких как классификация текстов и проверка орфографии.
Другие варианты использования, например, могут включать маршрутизацию документации/электронных писем в нужный географически расположенный отдел обслуживания клиентов на основе языка документов/писем.
В настоящее время поддерживаются 75 языков.
go get github.com/pemistahl/lingua-go
▪Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔍 ScyllaDB в K8S: как справляться с интенсивными рабочими нагрузками на спотовых экземплярах без простоев
Почему не MongoDB?
Чем плоха Mongo?
• У нее открытый исходный код, поддерживается разделение данных, но совершенно иная архитектура — с единой точкой отказа. При «падении» главного узла, то есть координатора, в БД начинается отработка отказа, во время которого БД недоступна.
• Кроме того, для достижения высокой доступности каждый сегмент Mongo должен запускаться как набор реплик — больше узлов. Кольцевая архитектура Cassandra в этом смысле превосходнее. Драйвер Scylla «знает» о сегментах и добирается до конкретного узла/процессора, ответственного за запрашиваемую строку, делая распределение действительным.
• Но почему так важны отработка отказов без простоев и высокая доступность? На спотовых экземплярах — а это 1/4 стоимости вычислений — часто ежедневно случаются отработки отказов: узлы в k8s постоянно уничтожаются и воссоздаются, что чревато завершением всех запущенных в них подов/процессов, в том числе БД.
Установка Scylla
Сначала запустим локально, используя драйверы и что-нибудь на Cassandra Query Language:
Этой командой запустится одноузловой кластер Scylla. Так в режиме разработчика Scylla требуется минимум ресурсов в отличие от Cassandra, с которой у Docker Engine много работы.
Применение драйвера Scylla
Вот простой пример на Golang с использованием официального драйвера Scylla:
Здесь стоит обратить внимание вот на что:
Драйвером-клиентом TokenAware с помощью ключа раздела пробуется первый сегмент, затем методом циклического перебора — следующий, если первый недоступен. Для этого необходимо подключиться не к порту Cassandra по умолчанию 9042, а к порту Scylla с поддержкой сегментов 19042.
Попробуем простой запрос:
Переходим в облако
📌ПРОДОЛЖЕНИЕ
@Golang_google
Почему не MongoDB?
Чем плоха Mongo?
• У нее открытый исходный код, поддерживается разделение данных, но совершенно иная архитектура — с единой точкой отказа. При «падении» главного узла, то есть координатора, в БД начинается отработка отказа, во время которого БД недоступна.
• Кроме того, для достижения высокой доступности каждый сегмент Mongo должен запускаться как набор реплик — больше узлов. Кольцевая архитектура Cassandra в этом смысле превосходнее. Драйвер Scylla «знает» о сегментах и добирается до конкретного узла/процессора, ответственного за запрашиваемую строку, делая распределение действительным.
• Но почему так важны отработка отказов без простоев и высокая доступность? На спотовых экземплярах — а это 1/4 стоимости вычислений — часто ежедневно случаются отработки отказов: узлы в k8s постоянно уничтожаются и воссоздаются, что чревато завершением всех запущенных в них подов/процессов, в том числе БД.
Установка Scylla
Сначала запустим локально, используя драйверы и что-нибудь на Cassandra Query Language:
docker run -p 9042:9042 -p 7002:7000 -p 7001:7001 -p 9160:9160 -p 9180:9180 --name scylla --hostname scylla -d scylladb/scylla --smp 1 --developer-mode 1
Этой командой запустится одноузловой кластер Scylla. Так в режиме разработчика Scylla требуется минимум ресурсов в отличие от Cassandra, с которой у Docker Engine много работы.
Применение драйвера Scylla
Вот простой пример на Golang с использованием официального драйвера Scylla:
import "github.com/gocql/gocql"
func Connect(config Config) (*gocql.Session, error) {
cluster := gocql.NewCluster(config.Hosts...)
cluster.Keyspace = config.KeySpace
cluster.CQLVersion = "3.11"
cluster.RetryPolicy = &gocql.ExponentialBackoffRetryPolicy{
NumRetries: 5, Min: time.Millisecond * 5, Max: time.Second * 5}
cluster.ProtoVersion = 3
cluster.PoolConfig.HostSelectionPolicy = gocql.TokenAwareHostPolicy(
gocql.RoundRobinHostPolicy())
cluster.ConnectTimeout = time.Second * 10
cluster.Consistency = gocql.One
if config.Timeout != nil {
cluster.Timeout = *config.Timeout
}
cluster.Authenticator = gocql.PasswordAuthenticator{
Username: config.Username, //'cassandra' по умолчанию
Password: config.Password, //'cassandra' по умолчанию
}
session, err := cluster.CreateSession()
if err != nil {
return nil, err
}
return session, nil
}
Здесь стоит обратить внимание вот на что:
cluster.PoolConfig.HostSelectionPolicy = gocql.TokenAwareHostPolicy(
gocql.RoundRobinHostPolicy())
Драйвером-клиентом TokenAware с помощью ключа раздела пробуется первый сегмент, затем методом циклического перебора — следующий, если первый недоступен. Для этого необходимо подключиться не к порту Cassandra по умолчанию 9042, а к порту Scylla с поддержкой сегментов 19042.
Попробуем простой запрос:
func Ping(session *gocql.Session) error {
var str = new(string)
if err := session.Query("SELECT uuid() FROM system.local;").Scan(str); err != nil {
return err
}
if str == nil || len(*str) == 0 {
return errors.New("failed sanity check")
}
return nil
}
// альтернатива «select 1;» в SQL
Переходим в облако
📌ПРОДОЛЖЕНИЕ
@Golang_google
🔥 Backend Master Class [Golang + Postgres + Kubernetes + gRPC]
В этом курсе вы шаг за шагом узнаете, как спроектировать, разработать и развернуть веб-сервис с нуля.
Лучший способ изучения программирования - это создание реального приложения. Поэтому на протяжении всего курса вы будете учиться создавать веб-сервис для банка. В проекте предоставлены API-интерфейсы для фронтенда, позволяющие выполнять следующие действия:
▪Создавать и управлять банковскими счетами.
▪Записывать все изменения баланса на каждом из счетов.
▪Выполнять денежные переводы между двумя счетами.
67 лекций и много практики.
▪Github
▪Курс
@Golang_google
В этом курсе вы шаг за шагом узнаете, как спроектировать, разработать и развернуть веб-сервис с нуля.
Лучший способ изучения программирования - это создание реального приложения. Поэтому на протяжении всего курса вы будете учиться создавать веб-сервис для банка. В проекте предоставлены API-интерфейсы для фронтенда, позволяющие выполнять следующие действия:
▪Создавать и управлять банковскими счетами.
▪Записывать все изменения баланса на каждом из счетов.
▪Выполнять денежные переводы между двумя счетами.
67 лекций и много практики.
▪Github
▪Курс
@Golang_google
Забавный проект, написанный на Go, который генерирует фальшивые коммиты каждый день, чтобы ваш профиль GH выглядел так, будто вы обновляете свой проект каждый день.
▪ Github
$ go install github.com/navicstein/fake-contributions
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Дайджест полезных материалов из мира : Golang за неделю
Почитать:
— Практика Go — Обработка ошибок
— Практика Go — Concurrency
— 9 лучших консольных файловых менеджеров Linux
— Чему вы научитесь на бесплатном курсе VK Education по Go?
— Практика Go — Основы
— Шпаргалка для собеса по GoLang
— Testing calls to Daily's REST API in Go
— Golang Web: URL Parsing
— Rust, Go, Rinha e I/O
— Error handling in Golang
— Integration Test Postgres Store (Go)
— Nuances in Go: Exploring the Tiny Details. Part-1.
— 15. World Chat System Implementation
— Hunting Broken Social Media Links with Go
— How to create and read custom tags in Golang
— Fibonacci Sequence Computation in Go Programming Language
— Wtf is Grpc? Part 1: Authentication and Authorization in Flutter and Golang.
Посмотреть:
🌐 Уроки Golang с нуля /#26 - Обработка ошибок (⏱ 08:14)
библиотеке Numpy. Полезные функции (⏱ 11:05)
🌐 Beginners Should Think Differently When Writing Golang (⏱ 11:35)
🌐 The Power Of Struct Embedding And Interfaces In Golang (⏱ 15:05)
🌐 Adding Cluster Support To Hollywood Actor Framework
🌐 Полный курс по библиотеке Numpy. Применение Numpy (⏱ 11:52)
🌐 Полный курс по библиотеке Numpy. Создание матриц из файла (⏱ 15:55)
🌐 Полный курс по библиотеке Numpy. Продвинутые методы работы с матрицами (⏱ 07:28)
Хорошего дня!
@Golang_google
Почитать:
— Практика Go — Обработка ошибок
— Практика Go — Concurrency
— 9 лучших консольных файловых менеджеров Linux
— Чему вы научитесь на бесплатном курсе VK Education по Go?
— Практика Go — Основы
— Шпаргалка для собеса по GoLang
— Testing calls to Daily's REST API in Go
— Golang Web: URL Parsing
— Rust, Go, Rinha e I/O
— Error handling in Golang
— Integration Test Postgres Store (Go)
— Nuances in Go: Exploring the Tiny Details. Part-1.
— 15. World Chat System Implementation
— Hunting Broken Social Media Links with Go
— How to create and read custom tags in Golang
— Fibonacci Sequence Computation in Go Programming Language
— Wtf is Grpc? Part 1: Authentication and Authorization in Flutter and Golang.
Посмотреть:
🌐 Уроки Golang с нуля /#26 - Обработка ошибок (⏱ 08:14)
библиотеке Numpy. Полезные функции (⏱ 11:05)
🌐 Beginners Should Think Differently When Writing Golang (⏱ 11:35)
🌐 The Power Of Struct Embedding And Interfaces In Golang (⏱ 15:05)
🌐 Adding Cluster Support To Hollywood Actor Framework
🌐 Полный курс по библиотеке Numpy. Применение Numpy (⏱ 11:52)
🌐 Полный курс по библиотеке Numpy. Создание матриц из файла (⏱ 15:55)
🌐 Полный курс по библиотеке Numpy. Продвинутые методы работы с матрицами (⏱ 07:28)
Хорошего дня!
@Golang_google
⚡Легкий способ получать свежие обновлении и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь:
Data Science: t.me/data_analysis_ml
Go: t.me/GolangJobsit
Java: t.me/javatg
Базы данных: t.me/sqlhub
Машинное обучение: t.me/ai_machinelearning_big_data
C/C++/ t.me/cpluspluc
C#: t.me/csharp_ci
Хакинг: t.me/linuxkalii
Мобильная разработка: t.me/mobdevelop
Docker: t.me/+0WdB4uvOwCY0Mjdi
Python: t.me/pythonl
Rust: t.me/rust_code
Javascript: t.me/javascriptv
React: t.me/react_tg
PHP: t.me/phpshka
Android: t.me/android_its
Linux: t.me/+A8jY79rcyKJlYWY6
Big Data: t.me/bigdatai
Devops: t.me/devOPSitsec
Тестирование:https://yangx.top/+F9jPLmMFqq1kNTMy
Собеседования: https://yangx.top/machinelearning_interview
💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://yangx.top/addlist/2Ls-snqEeytkMDgy
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
ИИ: t.me/machinelearning_ru
📕Ит-книги бесплатно: https://yangx.top/addlist/BkskQciUW_FhNjEy
Data Science: t.me/data_analysis_ml
Go: t.me/GolangJobsit
Java: t.me/javatg
Базы данных: t.me/sqlhub
Машинное обучение: t.me/ai_machinelearning_big_data
C/C++/ t.me/cpluspluc
C#: t.me/csharp_ci
Хакинг: t.me/linuxkalii
Мобильная разработка: t.me/mobdevelop
Docker: t.me/+0WdB4uvOwCY0Mjdi
Python: t.me/pythonl
Rust: t.me/rust_code
Javascript: t.me/javascriptv
React: t.me/react_tg
PHP: t.me/phpshka
Android: t.me/android_its
Linux: t.me/+A8jY79rcyKJlYWY6
Big Data: t.me/bigdatai
Devops: t.me/devOPSitsec
Тестирование:https://yangx.top/+F9jPLmMFqq1kNTMy
Собеседования: https://yangx.top/machinelearning_interview
💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://yangx.top/addlist/2Ls-snqEeytkMDgy
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
ИИ: t.me/machinelearning_ru
📕Ит-книги бесплатно: https://yangx.top/addlist/BkskQciUW_FhNjEy
Это ванильная реализация на Go классической текстовой компьютерной игры 1973 года, впервые разработанной Грегори Йоб Хантом (Gregory Yob Hunt The Wumpus).
Она включает в себя все уровни из Wumpus II, механизмы из Wumpus III и Super Wumpus, а также расширенный режим.
▪Github
#golang #gamedev
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
📖 Логирование в Go: 8 лучших библиотек
С вероятностью 99% можно сказать, что если вы ведете логи в Go, то используете сторонний фреймворк, поскольку встроенный пакет не обладает даже самыми базовыми возможностями, необходимыми для ведения журнала на производстве.
Ситуация изменилась с выходом Go 1.21, в котором одним из главных достоинств стал новый пакет
Поскольку экосистема Go уже породила множество комплексных решений для ведения логов, вы можете задаться вопросом, является ли пакет
В данной статье рассматриваются восемь библиотек для логирования, обсуждаются их достоинства и недостатки с учетом следующих факторов: производительность, гибкость, функциональность, простота использования и поддержка сообщества.
1. Zerolog
2. Zap
3. Slog
4. Logrus
5. Log15
6. Logf
7. Apex/log
8. Logr
📌 Статья
@Golang_google
С вероятностью 99% можно сказать, что если вы ведете логи в Go, то используете сторонний фреймворк, поскольку встроенный пакет не обладает даже самыми базовыми возможностями, необходимыми для ведения журнала на производстве.
Ситуация изменилась с выходом Go 1.21, в котором одним из главных достоинств стал новый пакет
log/slog
для структурированного, уровневого и контекстно-зависимого логирования.Поскольку экосистема Go уже породила множество комплексных решений для ведения логов, вы можете задаться вопросом, является ли пакет
Slog
предвестником устаревания его предшественников или просто еще одним инструментом в вашем арсенале для работы.В данной статье рассматриваются восемь библиотек для логирования, обсуждаются их достоинства и недостатки с учетом следующих факторов: производительность, гибкость, функциональность, простота использования и поддержка сообщества.
1. Zerolog
2. Zap
3. Slog
4. Logrus
5. Log15
6. Logf
7. Apex/log
8. Logr
📌 Статья
@Golang_google
This media is not supported in your browser
VIEW IN TELEGRAM
GPT-4, CodeLlama и Claude 2
.Этот мощный инструмент позволяет писать промпты, а EvalGPT помогает сгенерировать код, выполнить его и выдать результаты.
go install github.com/index-labs/evalgpt@latest
▪Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Обновлен GoReleaser, проект, который позволяет легко и быстро создавать deb пакеты.
• Github
• Документация
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
LolDriverScan - это golang-инструмент, позволяющий пользователям обнаруживать уязвимые драйверы в вашей системе. Этот инструмент получает список
loldrivers.io
из их API и сканирует систему на наличие уязвимостей.Этот проект реализован на языке Go и не требует повышенных привилегий для запуска.
• Сканирует систему на наличие уязвимых драйверов
• Обеспечивает вывод подробной информации в режиме verbose
• Поддерживает вывод в формате JSON для упрощения интеграции с другими инструментами
• Не требует специальных привилегий
git clone https://github.com/FourCoreLabs/LolDriverScan.git
cd LolDriverScan
go build
▪Github
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM