⚒ GoForge — CLI-инструмент для оптимизации инициализации Go-проекта
Вместо ручного создания файлов и директорий для настройки структуры проекта, GoForge предоставляет альтернативу в одну строку:
Вместо ручного создания файлов и директорий для настройки структуры проекта, GoForge предоставляет альтернативу в одну строку:
go install github.com/tz3/goforge@latest
goforge create
или
goforge create --title my-project --framework standard-library
GitHub
GitHub - tz3/goforge: GoForge is a command-line interface (CLI) tool designed to streamline the setup of new API projects for Go…
GoForge is a command-line interface (CLI) tool designed to streamline the setup of new API projects for Go developers. With GoForge, you can quickly generate a well-structured project skeleton, all...
👍8🥱4🥰1
🛠️ Транзакции с базами данных в Go с многоуровневой архитектурой
Транзакции — это мьютексы в мире баз данных. Хотя ваше приложение может выполнять запись в базу данных строго последовательным образом, помните, что другие процессы могут одновременно выполнять запись в ту же таблицу. Транзакции блокируют записи для обновления.
Как и в случае с мьютексами, транзакции могут выполнять блокировку, поэтому тщательно выбирайте стратегию транзакций. И да, присоединяйтесь к Miłosz Smółka в разработке Transaction Route 101.
Транзакции — это мьютексы в мире баз данных. Хотя ваше приложение может выполнять запись в базу данных строго последовательным образом, помните, что другие процессы могут одновременно выполнять запись в ту же таблицу. Транзакции блокируют записи для обновления.
Как и в случае с мьютексами, транзакции могут выполнять блокировку, поэтому тщательно выбирайте стратегию транзакций. И да, присоединяйтесь к Miłosz Smółka в разработке Transaction Route 101.
👍14
Привет, друзья! 👋
Мы готовим статью о будущем AI и его влиянии на разработку. Нам важно ваше мнение! ✨
1️⃣ Как вы думаете, AI действительно изменит мир разработки? 🤖
2️⃣ Какие плюсы и минусы использования AI в разработке вы видите? 💡
3️⃣ Есть ли у вас примеры успешного применения AI в ваших проектах? 🛠️
Поделитесь своими идеями в комментариях! Самые интересные идеи и предложения мы обязательно включим в нашу статью. Спасибо за участие! 🙌
Мы готовим статью о будущем AI и его влиянии на разработку. Нам важно ваше мнение! ✨
1️⃣ Как вы думаете, AI действительно изменит мир разработки? 🤖
2️⃣ Какие плюсы и минусы использования AI в разработке вы видите? 💡
3️⃣ Есть ли у вас примеры успешного применения AI в ваших проектах? 🛠️
Поделитесь своими идеями в комментариях! Самые интересные идеи и предложения мы обязательно включим в нашу статью. Спасибо за участие! 🙌
👍1👾1
В предверии дня программиста проводим конкурс: решите нашу задачу на тему программирования — рандомно выберем победителя
Подробные условия:
Курсы на выбор:
Таймлайн:
11-12 сентября — принимаем ответы
⬇️
13 сентября — подводим итоги
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥2👏2🔥1💯1
Условие:
Даны две строки s и f (начальная и конечная) и словарь D (набор слов).
Нужно определить, можно ли преобразовать s в f, используя только слова из словаря D. При этом каждое преобразование должно менять только один символ, а длина слова должна оставаться неизменной. Если преобразование возможно, нужно найти кратчайшую последовательность таких преобразований и вернуть ее длину. Если преобразование невозможно, вернуть "Преобразование невозможно".
Пример ввода 1:
D = ["cat", "cot", "dot", "dog", "bat", "dag"]
s = "cat"
t = "dog"
Вывод:
Минимальное количество шагов для преобразования 'cat' в 'dog': 3
Пример ввода 2:
D = ["cat", "cot", "bat"]
s = "cat"
t = "dog"
Вывод:
Минимальное количество шагов для преобразования 'cat' в 'dog': Преобразование невозможно
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔9🔥2❤1
Краткий обзор механизмов компоновки Go, сравнивающих различия в подходе между статическими и динамическими зависимостями и внутренними/внешними компоновщиками.
👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11😁3
Александр Иванов, Go-разработчик в YADRO, делится опытом уменьшения влияния GC на выполнение программы и показывает бенчмарки для разных memory pools.
Вы узнаете, какая из реализаций подойдет вашему проекту, а когда лучше не использовать memory pools и полагаться на встроенные механизмы рантайм-окружения Go.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10🥱2
Привет, друзья! 👋
Готовим статью «Лучший ноутбук для программирования в 2024 году» и хотим узнать ваше мнение! 👇💻✨
Готовим статью «Лучший ноутбук для программирования в 2024 году» и хотим узнать ваше мнение! 👇💻✨
Какие 3 характеристики ноутбука вы считаете критически важными для программирования? 🤔
Anonymous Poll
75%
Процессор
82%
Оперативная память
30%
NVME-накопитель
45%
Качество экрана
38%
Автономность
23%
Клавиатура
16%
Система охлаждения
2%
Другое (напишите в комментариях)
👍4
Какой бюджет, по-вашему, оптимален для покупки ноутбука программисту в 2024 году? 💰
Anonymous Poll
5%
До 50 000 ₽
29%
50 000 — 100 000 ₽
30%
100 000 — 150 000 ₽
36%
Более 150 000 ₽
💬 Поделитесь опытом: на каком ноутбуке вы сейчас работаете и почему он вам нравится (или не нравится)? 🌟
Ждем ваши ответы в комментариях! Самые полезные советы войдут в нашу статью. 📝💡
Спасибо за участие! 🙌
Ждем ваши ответы в комментариях! Самые полезные советы войдут в нашу статью. 📝💡
Спасибо за участие! 🙌
🛠️ Garble — набор инструментов для обфускации Go-сборок
Обфускация не гарантирует безопасности, но если вы хотите, чтобы ваши бинари имели «как можно меньше информации об исходном коде», Garble — отличный вариант. Недавний выпуск исправил некоторые баги и добавил поддержку Go 1.23.
P. S. Выше — небольшой Makefile, который скомпилирует ваше
Go-приложение для Windows, Linux и Mac, при этом скрывая сборку с помощью Garble.
👉 GitHub
Обфускация не гарантирует безопасности, но если вы хотите, чтобы ваши бинари имели «как можно меньше информации об исходном коде», Garble — отличный вариант. Недавний выпуск исправил некоторые баги и добавил поддержку Go 1.23.
P. S. Выше — небольшой Makefile, который скомпилирует ваше
Go-приложение для Windows, Linux и Mac, при этом скрывая сборку с помощью Garble.
👉 GitHub
👍7🥰3🤔3
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
😁2👍1
👉 Читать
👉 Другие статьи в серии:
• Go sync.Mutex: нормальный/starvation режим
• Go sync.WaitGroup и проблема выравнивания
• Go sync.Pool и механика, стоящая за ним
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍5
Go-разработчики часто используют следующую конструкцию:
Однако, для файлов с возможностью записи это может быть опасно, так как метод
Ошибки могут возникать на этапе закрытия файла, когда система завершает запись данных на диск. Чтобы избежать потери данных, важно проверять ошибки явным образом:
Использование
👉 Подробнее
f, err := os.Create("file.txt")
if err != nil {
return err
}
defer f.Close()
Однако, для файлов с возможностью записи это может быть опасно, так как метод
Close()
может вернуть ошибку, которая игнорируется при использовании defer.
Ошибки могут возникать на этапе закрытия файла, когда система завершает запись данных на диск. Чтобы избежать потери данных, важно проверять ошибки явным образом:
f, err := os.Create("file.txt")
if err != nil {
return err
}
if _, err := f.Write([]byte("Hello, world!")); err != nil {
f.Close()
return err
}
return f.Close()
Использование
defer
безопасно для чтения, но для записи стоит быть осторожнее и проверять ошибки вручную.👉 Подробнее
www.joeshaw.org
Don't defer Close() on writable files
It'll bite you some day
👍36🤔8👾5❤2🌚1
🛠️ live-pprof — инструмент для мониторинга производительности Go-приложений в режиме реального времени
Это новый проект, поэтому ваши результаты могут отличаться, но идея стоит вашего внимания.
Вместо того, чтобы профилировать приложение и смотреть на результаты после, почему бы не анализировать производительность в режиме реального времени (без установки инструментов вроде Docker, Prometheus, Grafana).
1️⃣ Кодим:
2️⃣ Запускаем:
3️⃣ Проверяем:
Это новый проект, поэтому ваши результаты могут отличаться, но идея стоит вашего внимания.
Вместо того, чтобы профилировать приложение и смотреть на результаты после, почему бы не анализировать производительность в режиме реального времени (без установки инструментов вроде Docker, Prometheus, Grafana).
package main
import (
"log"
"net/http"
_ "net/http/pprof"
)
func main() {
log.Println(http.ListenAndServe("localhost:6060", nil))
}
live-pprof 6060
илиlive-pprof https://localhost:6060/debug/pprof
https://localhost:6060/debug/pprof
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩29👍11❤2