🎉🍾🎁 С днем рождения, Go! 10-го ноября Go исполнилось 15 лет
Ухватите кусочек торта, Go отпраздновал свою последнюю годовщину. Austin Clements из команды Go размышляет о том, что изменилось за последний год и каковы текущие приоритеты команды.
👉 Читать
Ухватите кусочек торта, Go отпраздновал свою последнюю годовщину. Austin Clements из команды Go размышляет о том, что изменилось за последний год и каковы текущие приоритеты команды.
👉 Читать
🎉83🔥11❤4👍1
👀 wasmVision — простой способ начать работу с компьютерным зрением
Гениальная разработка TinyGo и GoCV представляет собой высокопроизводительный движок обработки компьютерного зрения, который можно настраивать и расширять с помощью WebAssembly (который можно создать с помощью TinyGo, Rust, или C, если вам так хочется) .
👉 GitHub
Гениальная разработка TinyGo и GoCV представляет собой высокопроизводительный движок обработки компьютерного зрения, который можно настраивать и расширять с помощью WebAssembly
👉 GitHub
🔥4👍3❤1🤔1
⚒️ Создание кастомного балансировщика нагрузки на Go для gRPC с приоритизацией адресов
Разработчик из VK делится опытом создания кастомного балансировщика нагрузки на Go для gRPC, который использует приоритеты адресов для выбора наилучшего соединения.
Это решение позволяет гибко управлять распределением клиентских запросов между серверами с разными уровнями доступности и обеспечивает подключение к оптимальному ЦОД с минимальными задержками.
👉 Читать
Разработчик из VK делится опытом создания кастомного балансировщика нагрузки на Go для gRPC, который использует приоритеты адресов для выбора наилучшего соединения.
Это решение позволяет гибко управлять распределением клиентских запросов между серверами с разными уровнями доступности и обеспечивает подключение к оптимальному ЦОД с минимальными задержками.
👉 Читать
🔥18👍2🥱1
fmt.Sprintf 🆚 String Concat
Хотя код с использованием
Max Hoffman из команды DoltHub разбирается, как
🔗 Читать
Хотя код с использованием
fmt.Sprintf
может выглядеть более структурированным, простая конкатенация строк (+
) оказывается несколько быстрее. Почему? Max Hoffman из команды DoltHub разбирается, как
fmt.Sprintf
работает под капотом👇🔗 Читать
😁9👾3👍2🥱2
Forwarded from Библиотека джависта | Java, Spring, Maven, Hibernate
🚀 Как ускорить распределенные системы: 8 стратегий снижения времени ожидания
Высокая latency — это скрытый враг, превращающий приложение в тормозящую телегу. Особенно в распределённых системах, где данные путешествуют между серверами и каждая задержка становится катастрофой. Знаете ли вы, какие 8 стратегий помогут превратить "задумчивое" приложение в настоящего чемпиона?
Что эффективнее: кэшировать, сжимать или оптимизировать запросы к базе? А что, если правильный ответ — балансировка нагрузки или вообще CDN?
💡 Найдите недостающий элемент в вашем стеке и максимально ускорьте свои приложения.
🔗 Читать статью
🔗 Зеркало
Высокая latency — это скрытый враг, превращающий приложение в тормозящую телегу. Особенно в распределённых системах, где данные путешествуют между серверами и каждая задержка становится катастрофой. Знаете ли вы, какие 8 стратегий помогут превратить "задумчивое" приложение в настоящего чемпиона?
Что эффективнее: кэшировать, сжимать или оптимизировать запросы к базе? А что, если правильный ответ — балансировка нагрузки или вообще CDN?
💡 Найдите недостающий элемент в вашем стеке и максимально ускорьте свои приложения.
🔗 Читать статью
🔗 Зеркало
👍4
🔥 Разработка Brainrot Language Server на Go
Так называемый "Brainrot" — это смесь сленга и мемов нового поколения. Следуйте этому руководству по созданию базового сервера LSP и, возможно, вы сможете применить полученные знания с большей пользой! 😅
👉 Читать
Так называемый "Brainrot" — это смесь сленга и мемов нового поколения. Следуйте этому руководству по созданию базового сервера LSP и, возможно, вы сможете применить полученные знания с большей пользой! 😅
👉 Читать
🔥15👾3👍1
⚒️ Go Runtime Finalizer и Keep Alive
Если вы перешли с полностью объектно-ориентированного языка на Go, скорее всего, вам не хватало финализаторов для очистки ресурсов при уничтожении объекта. В Go есть (довольно непонятный) способ установки финализаторов — в пакете
Однако, как отмечает Phuong Le, «если вам вдруг понадобится использовать финализаторы, есть большая вероятность, что это признак проблемы с дизайном».
Как бы то ни было, финализаторы не совсем бесполезны. Они могут служить в качестве резервного механизма очистки для объектов, которые имеют явную функцию очистки(подумайте о методах Close() для подключений к файлам или базе данных) . Если пользователи таких объектов не смогут должным образом вызвать функцию очистки, может сработать финализатор.
👉 Читать статью
Если вы перешли с полностью объектно-ориентированного языка на Go, скорее всего, вам не хватало финализаторов для очистки ресурсов при уничтожении объекта. В Go есть (довольно непонятный) способ установки финализаторов — в пакете
runtime
.Однако, как отмечает Phuong Le, «если вам вдруг понадобится использовать финализаторы, есть большая вероятность, что это признак проблемы с дизайном».
Как бы то ни было, финализаторы не совсем бесполезны. Они могут служить в качестве резервного механизма очистки для объектов, которые имеют явную функцию очистки
👉 Читать статью
👏6👍3🤔2
❗Вакансии «Библиотеки программиста» — ждем вас в команде!
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
job.proglib.io
Вакансии в медиа «Библиотека программиста»
Количество проектов в редакции постоянно растет, так что нам всегда нужны специалисты
👍2🥱2🥰1
🔐 Понимание уязвимостей, связанных с внедрением команд в Go
Если вы вызываете системные утилиты из кода, вы можете предпринять некоторые базовые, но важные меры предосторожности, чтобы избежать проблем с безопасностью(вы ведь не хотите, чтобы кто-то мог убедить ваш сервер запустить rm или что-то похуже) .
👉 Читать гайд
Если вы вызываете системные утилиты из кода, вы можете предпринять некоторые базовые, но важные меры предосторожности, чтобы избежать проблем с безопасностью
👉 Читать гайд
👍2❤1
Привет, друзья! 👋
Мы готовим статью об ИИ-инструментах для программирования в 2024 году и хотим услышать ваше мнение! 🤖💻 Поделитесь своим опытом и помогите нам сделать материал ещё полезнее. Самые интересные ответы войдут в статью! 🏆
Мы готовим статью об ИИ-инструментах для программирования в 2024 году и хотим услышать ваше мнение! 🤖💻 Поделитесь своим опытом и помогите нам сделать материал ещё полезнее. Самые интересные ответы войдут в статью! 🏆
👾3
Какой ИИ-инструмент для программирования вы считаете самым полезным и почему? 🛠
Anonymous Poll
14%
GitHub Copilot
38%
ChatGPT
7%
Claude
9%
Codeium
7%
Локальные LLM
22%
Не пользуюсь ИИ
4%
Другой (укажу в комментариях)
Какой аспект разработки, по вашему мнению, больше всего выигрывает от использования ИИ? 🚀
Anonymous Poll
50%
Автодополнение кода
18%
Генерация кода с нуля
17%
Отладка и поиск ошибок
10%
Оптимизация существующего кода
5%
Другое (поделитесь в комментариях)
Не забудьте оставить комментарий с вашими мыслями об ИИ в программировании! Какие преимущества и недостатки вы видите? Какие инструменты рекомендуете попробовать коллегам? 🤔💬
Media is too big
VIEW IN TELEGRAM
▶️ Разработка CLI-приложения на Go с Bubble Tea
Только не говорите, что не любите CLI-приложения! Ловите 50-минутное обучающее видео, с помощью которого вы напишете CLI-инструмент для заметок с использованием Go + Bubble Tea + Lip Gloss от Charm.
⏳ Таймкоды:
00:00 Intro
03:00 Basics
10:04 SQLite store
22:03 List view
31:55 Add lipgloss
39:15 Textinput and Textarea
47:20 Working App!
48:56 Outro
Только не говорите, что не любите CLI-приложения! Ловите 50-минутное обучающее видео, с помощью которого вы напишете CLI-инструмент для заметок с использованием Go + Bubble Tea + Lip Gloss от Charm.
⏳ Таймкоды:
00:00 Intro
03:00 Basics
10:04 SQLite store
22:03 List view
31:55 Add lipgloss
39:15 Textinput and Textarea
47:20 Working App!
48:56 Outro
👍4🥱1
🦫 Самоучитель по Go для начинающих. Часть 17. Основы сетевого программирования. Стек TCP/IP. Сокеты. Пакет net
В этой части самоучителя мы погрузимся в мир сетевого программирования, изучим его основные концепции и инструменты. Начнем с рассмотрения принципов работы компьютерных сетей и их архитектуры, познакомимся с протоколами TCP и IP, лежащими в основе стека TCP/IP.
Затем детально изучим сокеты и их роль в сетевом взаимодействии. Особое внимание будет уделено пакету net, который предоставляет удобные инструменты для реализации сетевых приложений.
👉 Читать гайд
👩💻 Остальные части в серии:
1. Особенности и сфера применения Go, установка, настройка
2. Ресурсы для изучения Go с нуля
3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
4. Переменные. Типы данных и их преобразования. Основные операторы
5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
6. Функции и аргументы. Области видимости. Рекурсия. Defer
7. Массивы и слайсы. Append и сopy. Пакет slices
8. Строки, руны, байты. Пакет strings. Хеш-таблица (map)
9. Структуры и методы. Интерфейсы. Указатели. Основы ООП
10. Введение в ООП. Наследование, абстракция, полиморфизм, инкапсуляция
11. Обработка ошибок. Паника. Восстановление. Логирование
12. Обобщенное программирование. Дженерики
13. Работа с датой и временем. Пакет time
14. Интерфейсы ввода-вывода. Буферизация. Работа с файлами. Пакеты io, bufio, os
15. Конкурентность. Горутины. Каналы
16. Тестирование кода и его виды. Table-driven подход. Параллельные тесты
В этой части самоучителя мы погрузимся в мир сетевого программирования, изучим его основные концепции и инструменты. Начнем с рассмотрения принципов работы компьютерных сетей и их архитектуры, познакомимся с протоколами TCP и IP, лежащими в основе стека TCP/IP.
Затем детально изучим сокеты и их роль в сетевом взаимодействии. Особое внимание будет уделено пакету net, который предоставляет удобные инструменты для реализации сетевых приложений.
1. Особенности и сфера применения Go, установка, настройка
2. Ресурсы для изучения Go с нуля
3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
4. Переменные. Типы данных и их преобразования. Основные операторы
5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
6. Функции и аргументы. Области видимости. Рекурсия. Defer
7. Массивы и слайсы. Append и сopy. Пакет slices
8. Строки, руны, байты. Пакет strings. Хеш-таблица (map)
9. Структуры и методы. Интерфейсы. Указатели. Основы ООП
10. Введение в ООП. Наследование, абстракция, полиморфизм, инкапсуляция
11. Обработка ошибок. Паника. Восстановление. Логирование
12. Обобщенное программирование. Дженерики
13. Работа с датой и временем. Пакет time
14. Интерфейсы ввода-вывода. Буферизация. Работа с файлами. Пакеты io, bufio, os
15. Конкурентность. Горутины. Каналы
16. Тестирование кода и его виды. Table-driven подход. Параллельные тесты
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14👍7
📄 Компиляция Go-программы в нативный бинарь для Nintendo Switch
Вовсе не новость, но кто-то мог пропустить это в своё время. Интересно взглянуть на детали👇
🔗 Читать гайд
Вовсе не новость, но кто-то мог пропустить это в своё время. Интересно взглянуть на детали👇
🔗 Читать гайд
👍13🤩3🔥2🎉1