Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
1101 - Telegram Web
Telegram Web
👣 Использование CloudEvents в Go!

🌟 Внедрение событийно-управляемой архитектуры (EDA) для повышения масштабируемости и снижения взаимосвязи между компонентами/сервисами довольно распространено в сложных средах.

🌟 Хотя этот подход решает ряд проблем, одной из проблем, с которой сталкиваются команды, является стандартизация событий для обеспечения совместимости между всеми компонентами. Чтобы смягчить эту проблему, мы можем использовать проект CloudEvents.

🌟 Целью проекта является спецификация для стандартизации и описания событий, привносящих согласованность, доступность и портативность. Еще одним преимуществом является то, что проект предоставляет ряд SDK для ускорения принятия команды в дополнение к спецификации.

🔗 Ссылка: *клик*

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 GoTTH — стек для быстрого создания полнофункционального веб-приложения на Go!

🌟 Он включает современные технологии, такие как HTMX для улучшения взаимодействия с пользователем, TailwindCSS для стилизации, Turso LibSQL (производственный вариант SQLite) для работы с базой данных, и Templ в качестве шаблонизатора.

💡 GoTTH ориентирован на простоту развертывания, предлагая поддержку Docker и встроенные инструменты, такие как live-reload с помощью air. Проект отлично подходит для быстрой разработки серверной и клиентской частей приложения, включая поддержку маршрутизации, баз данных и UI-компонентов, интегрированных с минимальными усилиями.

🖥 Github

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Эта статья посвящена обучению разработчиков написанию бенчмарк-тестов для функций на языке Go!

🌟 Автор объясняет, что бенчмарк-тесты используются для измерения производительности кода, включая скорость выполнения и использование памяти, и являются частью стандартного тестировочного фреймворка Go.

🔗 Ссылка: *клик*

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Одинаково ли по времени выполнятся foo и bar и почему?

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉 Вышли версии Go 1.23.5 и 1.22.11!

🔒 Безопасность: включены исправления безопасности для CVE-2024-45336 и CVE-2024-45341 в файлах crypto/x509 и net/http.

📡 Анонс: https://groups.google.com/g/golang-announce/c/sSaUhLA-2SI.

📦 Скачать: https://go.dev/dl/#go1.23.5

@golang_interview

#golang #release #Go
👣 Курс: Создание Fullstack приложения с использованием Go и React!

🌟 В этом курсе вы создадите полнофункциональное веб-приложение с функциями создания, чтения, обновления и удаления (CRUD) для заметок! Приложение будет иметь стильный пользовательский интерфейс со светлым и темным режимами, что гарантирует адаптивный дизайн, который отлично смотрится на экранах любого размера. К концу этого курса вы будете иметь прочное понимание Go и React, а также практический опыт интеграции различных современных инструментов и библиотек.

🕞 Продолжительность: 2:07:28

🔗 Ссылка: *клик*

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️Легкий способ получать свежие обновления и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь:

МАШИННОЕ ОБУЧЕНИЕ: www.tgoop.com/ai_machinelearning_big_data
C++ www.tgoop.com/cpluspluc
Python: www.tgoop.com/pythonl
Linux: www.tgoop.com/linuxacademiya
Хакинг: www.tgoop.com/linuxkalii
Devops: www.tgoop.com/DevOPSitsec
Data Science: www.tgoop.com/data_analysis_ml
Javascript: www.tgoop.com/javascriptv
C#: www.tgoop.com/csharp_ci
Java: www.tgoop.com/javatg
Базы данных: www.tgoop.com/sqlhub
Python собеседования: www.tgoop.com/python_job_interview
Мобильная разработка: www.tgoop.com/mobdevelop
Docker: www.tgoop.com/DevopsDocker
Golang: www.tgoop.com/Golang_google
React: www.tgoop.com/react_tg
Rust: www.tgoop.com/rust_code
ИИ: www.tgoop.com/vistehno
PHP: www.tgoop.com/phpshka
Android: www.tgoop.com/android_its
Frontend: www.tgoop.com/front
Big Data: www.tgoop.com/bigdatai
Собеседования МЛ: www.tgoop.com/machinelearning_interview
МАТЕМАТИКА: www.tgoop.com/data_math
Kubernets: www.tgoop.com/kubernetc
Разработка игр: https://www.tgoop.com/gamedev
Haskell: www.tgoop.com/haskell_tg
Физика: www.tgoop.com/fizmat

💼 Папка с вакансиями: www.tgoop.com/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: www.tgoop.com/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: www.tgoop.com/addlist/eEPya-HF6mkxMGIy
Папка ML: https://www.tgoop.com/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://www.tgoop.com/addlist/mzMMG3RPZhY2M2Iy

😆ИТ-Мемы: www.tgoop.com/memes_prog
🇬🇧Английский: www.tgoop.com/english_forprogrammers
🧠ИИ: www.tgoop.com/vistehno

🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://www.tgoop.com/addlist/BkskQciUW_FhNjEy
👣 httpz — это минималистичная библиотека для Go, построенная поверх стандартного пакета net/http!

🌟 Она предназначена для упрощения разработки веб-приложений за счёт добавления удобного интерфейса для маршрутизации, работы с middleware и обработки ошибок. httpz поддерживает стандартный стиль разработки в Go, сохраняя совместимость с net/http, что делает её подходящей для перехода с базовых серверов, построенных на стандартной библиотеке.

🔐 Лицензия: MIT

🖥 Github

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Полезная статья, которая обсуждает использование структур данных как инструментов для создания эффективных программных решений!

🌟 В статье автор рассматривает, как правильно выбирать структуры данных в зависимости от решаемой задачи, сравнивая их с инженерными шаблонами или "основами", на которых строится более сложное решение. Лемир подчеркивает, что правильный выбор структуры данных (например, хеш-таблицы, массивы, списки) может существенно упростить разработку и повысить производительность, а также находит аналогии между этим процессом и подходами, применяемыми в других областях инженерии и технологий.

🔗 Ссылка: *клик*

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
⭐️ Крутая подборка из 200 идей для проектов разработчиков всех уровней.

В ней собраны различные проекты, которые вы сможете реализовать самостоятельно вне зависимости от своего опыта.

Проекты классифицированы не только по уровню сложности, но и по используемым технологиям: блокчейн, веб-разработка и другие.

Подборку можно скачать бесплатно по следующей ссылке:

https://dev.to/kishansheth/200-project-ideas-from-beginner-to-advanced-with-open-source-contributions-3g6a
👣 jsonlex — это библиотека для работы с JSON в Go!

🌟 Она предоставляет функции для быстрого и удобного парсинга JSON-строк и их анализа без нагрузки на сборщик мусора (По заявлениям автора, библиотека работает в 5 раз быстрее, чем стандартный инструмент в Go).

🔐 Лицензия: MIT

🖥 Github

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 konf — простая и гибкая библиотека для работы с конфигурациями в Go!

🌟 Она поддерживает загрузку конфигурации из различных источников, включая файлы, переменные окружения, флаги и облачные сервисы (AWS, Azure, GCP). Библиотека позволяет отслеживать изменения конфигураций, а также уведомлять об этих изменениях через нотификаторы. Конфигурационные источники можно легко менять, что делает её удобной для различных приложений, требующих гибкости в настройке.

🔐 Лицензия: MIT

🖥 Github

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Эта статья объясняет логику работы одноразовых паролей (OTP) при оффлайн-генерации токенов!

🌟 Рассматриваются алгоритмы, такие как HOTP (основанный на счётчике) и TOTP (основанный на времени), их криптографические основы, включая использование HMAC, и процесс синхронизации между клиентом и сервером. Также обсуждаются преимущества и ограничения этих методов, а также их реализация в реальных системах безопасности.

🔗 Ссылка: *клик*

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🔍 Эта статья исследует работу с типом данных "Big Decimal" (большие десятичные числа) в различных языках программирования и как преодолевать различия в их реализации!

🌟 В статье рассматриваются особенности работы с большими числами с фиксированной точностью в таких языках, как Java, Python, JavaScript, Go и других. Автор объясняет, как решать проблемы точности при вычислениях с большими числами, особенно в финансовых приложениях и других критичных к точности областях. Также обсуждаются библиотеки и инструменты, которые помогают обеспечивать корректность арифметических операций и унифицировать подходы между языками программирования.

🔗 Ссылка: *клик*

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Чем профи заняться в свободное время?
Делитесь экспертизой — станьте экспертом Яндекс Практикума


Сервис онлайн-образования Яндекс Практикум закладывает стандарты цифровых профессий.
Сейчас мы ищем ментора на курс «Продвинутый Go-разработчик», который будет вести вебинары, проводить код-ревью, отвечать на вопросы и вдохновлять студентов на учёбу.

Условия специально продуманы, чтобы не отвлекать от основной работы и отдыха: от 15 часов в неделю, удалёнка, гибкий график, профессиональное комьюнити и даже бесплатная Школа наставников 👌

Посмотрите, что ожидают от кандидата, и откликайтесь, если интересно.
👣 Bellman — это библиотека на языке Go для работы с API крупных моделей ИИ (LLM), таких как OpenAI, Anthropic, Gemini (Google), и других!

🌟 Она предоставляет унифицированный интерфейс для взаимодействия с различными поставщиками ИИ, позволяя легко переключаться между ними. Также включает сервис bellmand, который выступает как прокси для API-ключей, упрощая интеграцию с различными моделями. Библиотека поддерживает общие функции, такие как чат, структурированные данные, инструменты и работу с бинарными данными.

🔐 Лицензия: MIT

🖥 Github

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос: Один из ваших товарищей по команде отправил этот код на проверку. Этот код несет потенциальную угрозу. Определите ее и предложите решение для ее устранения.

package main 

import (
"fmt"
"time"
)

func main () {
ch := make ( chan int )

go func () {
time.Sleep( 2 * time.Second)
ch <- 42
fmt.Println( "Отправлено: 42" )
}()

val := <-ch
fmt.Println( "Получено:" , val)

fmt.Println( "Продолжение выполнения..." )
}


🌟 На первый взгляд ничего подозрительного в этом коде. Если мы попробуем его запустить, он действительно скомпилируется и запустится без каких-либо заметных проблем.

[Running] go run "main.go"

Отправлено: 42
Получено: 42
Продолжение выполнения...

[Done] exited with code=0 in 2.124 seconds


💡 Сам код тоже кажется в порядке. У нас есть правильно реализованное параллельное потребление с двумя горутинами, работающими независимо. Давайте разберем код и посмотрим, что происходит:

🌟 Канал ch создан с помощью make(chan int). Это небуферизованный канал.

🌟 Запускается горутина, которая спит 2 секунды, а затем отправляет значение 42 на канал.

🌟 Основная функция выполняет операцию чтения по ch с помощью val := <-ch.

🔍 Опять же, кажется, все в порядке. Но на самом деле операция отправки задерживается. Анонимная горутина ждет 2 секунды, прежде чем отправить значение в канал. Поэтому, когда мы запускаем этот код, основная функция начинает считывать канал и ожидает там значение, прежде чем канал будет заполнен значением. Эта операция блокирует дальнейшее выполнение кода.

❗️ Подобная блокировка может вызвать серьезные проблемы с параллелизмом. Если основная горутина (или любая критическая горутина) блокируется на неопределенное время, ожидая данные, это может помешать выполнению других важных задач, что приведет к взаимоблокировкам или неотзывчивому поведению.

💡 Чтобы избежать блокирования чтения, можно использовать неблокирующие альтернативы, такие как оператор select с вариантом по умолчанию. Оператор select в Go — это мощная функция, которая позволяет goroutine ожидать несколько операций связи, что позволяет выполнять неблокирующие операции и обрабатывать несколько каналов. Оператор select работает, оценивая несколько операций канала и продолжая с первой готовой. Если несколько операций готовы, одна из них выбирается случайным образом. Если ни одна операция не готова, выполняется вариант по умолчанию, если он есть, что делает его неблокирующей операцией.

🔍 Вот его синтаксис:
select { 
case <-ch1:
// Сделать что-то, когда ch1 готов к приему
case ch2 <- value :
// Сделать что-то, когда ch2 готов к отправке
default :
// Сделать что-то, когда ни один канал не готов (неблокируемый путь)
}


🌟 Теперь исправим изначальную проблему с помощью select:
package main 

import (
"fmt"
"time"
)

func main () {
ch := make ( chan int )

// Goroutine для отправки данных в канал через 2 секунды
go func () {
time.Sleep( 2 * time.Second)
ch <- 42
fmt.Println( "Отправлено: 42" )
}()

// Основная функция, выполняющая неблокирующее чтение
for {
select {
case val := <-ch:
fmt.Println( "Получено:" , val)
fmt.Println( "Продолжение выполнения..." )
return
default :
fmt.Println( "Значения не были получены" )
time.Sleep( 500 * time.Millisecond) // Некоторое время ждем, чтобы предотвратить зацикливание
// обрабатываем поток выполнения инструкций и операций, которые должны быть продолжены
}
}
}



@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Эта статья описывает процесс создания службы доставки payload'ов вебхуков в Go!

💡 Автор объясняет, как создать прокси-сервис для перенаправления событий GitHub Webhooks на локальный сервер. В статье рассмотрены архитектура решения, использование server-sent events (SSE) для потоковой передачи данных, а также настройка сервера и CLI-приложения.

🔗 Ссылка: *клик*

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Спорим, тебе советовали книгу “Грокаем алгоритмы”

А как насчет грокнуть уже эти алгоритмы?
Да так, чтобы РАЗ И НАВСЕГДА

Ты не смог выучить алгоритмы, потому что:
- cложно и бессистемно объясняли
- практика не билась с теорией
- отправляли читать устаревшие книги...

Я это исправлю! И научу тебя решать алгоритмические задачи по четкой и понятной системе!

Регистрируйся на открытый урок в предверии курса
"Хакни алго-собесы". И за 1 час ты:

☝️ получишь четкую систему решения алгоритмических задач

☝️ решишь топ-3 популярные задачи

☝️ получишь RoadMap изучения алгоритмов

12:30 по МСК в эту субботу (1 февраля) стартуем.

Регистируйся, чтобы не упустить шанс выучить алгоритмы навсегда

Erid: 2VtzqwwXV16
ИП Фатин Максим Романович, ИНН: 525406426719
👣 go2rtc — это универсальное open-source приложение для стриминга с камер, поддерживающее различные протоколы, такие как RTSP, WebRTC, RTMP, HLS, HomeKit и другие!

🌟 Оно позволяет стримить с разных источников, включая RTSP камеры, USB-камеры и устройства HomeKit, обеспечивая низкую задержку и простоту настройки. Включает поддержку двухстороннего аудио, согласования кодеков и транскодирования. Также интегрируется с такими платформами, как Home Assistant, и поддерживает стриминг в браузеры и другие популярные сервисы.

🔐 Лицензия: MIT

🖥 Github

@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/02/23 18:43:50
Back to Top
HTML Embed Code: