Вы наверняка не раз слышали об этом паттерне. Почему бы не повторить еще раз?
Опытом работы с паттерном делится руководитель команды разработки ядра цифровой медицины в Республике Узбекистан.
👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👏16🥱7👍3❤2
Forwarded from Библиотека тестировщика | QA, тестирование, quality assurance, manual testing, autotesting, ручное тестирование, автотесты
💻🔍💼 Кризис IT-рынка: как джуны и кадровый голод меняют правила игры
В условиях нехватки опытных специалистов и наплыва джунов, IT-компании вынуждены искать нестандартные подходы к найму. Рассмотрим основные тренды и стратегии адаптации рынка.
Читать статью
#почитать
В условиях нехватки опытных специалистов и наплыва джунов, IT-компании вынуждены искать нестандартные подходы к найму. Рассмотрим основные тренды и стратегии адаптации рынка.
Читать статью
#почитать
1😁6🎉2👍1
Знания, полученные из книг, — это здорово, но нет ничего лучше реального опыта, полученного на практике. Читайте заметки Julia Evans, если ваша работа как-то связана с вебом и Go.
👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
Julia Evans
Some Go web dev notes
I spent a lot of time in the past couple of weeks working on a website in Go that may or may not ever see the light of day, but I learned a couple of things along the way I wanted to write down. Here they are:
🥰7👍1👾1
📉👩💻 Руководство по сборщику мусора Go
Одна из тех самых страниц документации, которая должна быть под рукой у Go-разраба. В ней есть все о том, как работает система сборки мусора Go, с дополненным полезными интерактивными диаграммами.
👉 Читать
Одна из тех самых страниц документации, которая должна быть под рукой у Go-разраба. В ней есть все о том, как работает система сборки мусора Go, с дополненным полезными интерактивными диаграммами.
👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥19👍6🙏1
Испытываете ли вы тревогу из-за распространения ИИ-ассистентов для написания кода/решения рабочих задач?
Anonymous Poll
19%
Да 😔
78%
Нет 😎
3%
Свой вариант (напишу в комментарии)
😁15👍1👾1
⚙️ Подпишись на нашу еженедельную email-рассылку, чтобы быть в курсе последних открытий и тенденций в мире бэкенда.
В еженедельных письмах ты найдешь:
● Языки программирования и фреймворки для бэкенда
● Архитектура и проектирование серверных приложений
● Базы данных и управление данными
● Безопасность и защита данных
● Облачные технологии и DevOps
● API и интеграции
● Тестирование и отладка
● Инструменты и утилиты для бэкенд-разработчиков
● Лучшие практики и паттерны проектирования
👉Подписаться👈
В еженедельных письмах ты найдешь:
● Языки программирования и фреймворки для бэкенда
● Архитектура и проектирование серверных приложений
● Базы данных и управление данными
● Безопасность и защита данных
● Облачные технологии и DevOps
● API и интеграции
● Тестирование и отладка
● Инструменты и утилиты для бэкенд-разработчиков
● Лучшие практики и паттерны проектирования
👉Подписаться👈
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Простой способ визуализации зависимостей в проектах Go чистым графическим способом.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥1🎉1
🍇 Подборка лучших статей «Библиотеки программиста» за сентябрь: сохраняй в заметки, чтобы не пропустить #самыйсок
🔟🏩 ТОП-10 перспективных студий разработки: лучшие компании для вашего карьерного роста
🏗 3 основных шаблона событийно-ориентированной архитектуры
🛠 Сага: эффективный шаблон микросервисной архитектуры
🏃 Самоучитель по Go для начинающих. Часть 16. Тестирование кода и его виды. Table-driven подход. Параллельные тесты
⚡️🔫 Секретное оружие бэкендера: 6 инструментов, о которых вы не знали
🥜🔨 Динамическое программирование: как щелкать задачки, как орешки
⚖️💻 5 признаков зависимости от программирования: как вернуть баланс в жизнь
🔟🏩 ТОП-10 перспективных студий разработки: лучшие компании для вашего карьерного роста
🏗 3 основных шаблона событийно-ориентированной архитектуры
🛠 Сага: эффективный шаблон микросервисной архитектуры
🏃 Самоучитель по Go для начинающих. Часть 16. Тестирование кода и его виды. Table-driven подход. Параллельные тесты
⚡️🔫 Секретное оружие бэкендера: 6 инструментов, о которых вы не знали
🥜🔨 Динамическое программирование: как щелкать задачки, как орешки
⚖️💻 5 признаков зависимости от программирования: как вернуть баланс в жизнь
🔥2👾2❤🔥1👍1
🔥 Распределенные транзакции в Go: прочтите, прежде чем попробовать
В микросервисной архитектуре иногда возникает необходимость в транзакциях, которые должны охватывать несколько сервисов. Это приводит к проблемам, когда проблема на одном из этапов оставляет систему в несогласованном состоянии.
Miłosz Smółka утверждает, что попытка внедрить распределенные транзакции — это часто «избыточное решение», и рекомендует использовать альтернативы.
Одна из них — модель eventual consistency, при которой система не становится сразу согласованной, но в конечном итоге достигает согласованного состояния.
Также он упоминает паттерн Outbox, который используется для гарантии, что данные и события, записанные в базе данных, всегда будут доставлены и обработаны корректно.
👉 Читать
👉 Предыдущая статья
👉 Перевод на русский
В микросервисной архитектуре иногда возникает необходимость в транзакциях, которые должны охватывать несколько сервисов. Это приводит к проблемам, когда проблема на одном из этапов оставляет систему в несогласованном состоянии.
Miłosz Smółka утверждает, что попытка внедрить распределенные транзакции — это часто «избыточное решение», и рекомендует использовать альтернативы.
Одна из них — модель eventual consistency, при которой система не становится сразу согласованной, но в конечном итоге достигает согласованного состояния.
Также он упоминает паттерн Outbox, который используется для гарантии, что данные и события, записанные в базе данных, всегда будут доставлены и обработаны корректно.
👉 Читать
👉 Предыдущая статья
👉 Перевод на русский
👍17🔥1
⚒️ Prep — небольшой инструмент для Go, который позволяет выполнять функции на этапе компиляции
Нельзя отрицать, что идея интересная, хотя у неё есть ограничения, и
By using prep.Comptime, you can evaluate functions at build time, replacing them with their computed results. Just like comptime from Zig. Except it’s not.
Нельзя отрицать, что идея интересная, хотя у неё есть ограничения, и
toolexec
не был предназначен для поддержки произвольной перезаписи исходного кода.🔥23
🛠️ Управление конкурентностью в Go: внутри кастомных примитивов синхронизации rqlite
Написание распределенной базы данных подразумевает интенсивное использование конкурентности. Philip O'Toole, создатель rqlite, распределенной базы данных на основе SQLite, столкнулся с некоторыми ограничениями встроенного в Go инструментария конкурентности и создал несколько кастомных примитивов. Под катом автор делится наработками — кто знает, может какие-то из них пригодятся и вам.
👉 Читать
Написание распределенной базы данных подразумевает интенсивное использование конкурентности. Philip O'Toole, создатель rqlite, распределенной базы данных на основе SQLite, столкнулся с некоторыми ограничениями встроенного в Go инструментария конкурентности и создал несколько кастомных примитивов. Под катом автор делится наработками — кто знает, может какие-то из них пригодятся и вам.
👉 Читать
GitHub
GitHub - rqlite/rqlite: The lightweight, user-friendly, distributed relational database built on SQLite.
The lightweight, user-friendly, distributed relational database built on SQLite. - rqlite/rqlite
🤔5❤3👍1
Кстати, на Хабре опубликован перевод гайда про транзакции в БД на Go с использованием многослойной архитектуры 👉 https://t.me/goproglib/5276
Читайте, если хотите узнать об организации кода таким образом, чтобы избежать путаницы между слоями.
Читайте, если хотите узнать об организации кода таким образом, чтобы избежать путаницы между слоями.
Telegram
Библиотека Go разработчика | Golang
🔥 Распределенные транзакции в Go: прочтите, прежде чем попробовать
В микросервисной архитектуре иногда возникает необходимость в транзакциях, которые должны охватывать несколько сервисов. Это приводит к проблемам, когда проблема на одном из этапов оставляет…
В микросервисной архитектуре иногда возникает необходимость в транзакциях, которые должны охватывать несколько сервисов. Это приводит к проблемам, когда проблема на одном из этапов оставляет…
👍13👏3
Привет, друзья! 👋
Мы готовим статью о распространенных ошибках в карьере программиста и хотели бы услышать ваше мнение! Поделитесь своими мыслями и опытом, и самые полезные советы мы включим в нашу статью.
Вот несколько вопросов для вас:
🤔 С какими ошибками в своей карьере программиста вы сталкивались? Как вы их преодолели?
📚 Какие советы вы бы дали начинающим разработчикам, чтобы избежать распространенных ловушек в программировании?
🖥️ Что, по вашему мнению, важно учитывать при планировании своей карьеры в IT, чтобы минимизировать сожаления в будущем?
Спасибо за ваше участие! 🚀
Мы готовим статью о распространенных ошибках в карьере программиста и хотели бы услышать ваше мнение! Поделитесь своими мыслями и опытом, и самые полезные советы мы включим в нашу статью.
Вот несколько вопросов для вас:
🤔 С какими ошибками в своей карьере программиста вы сталкивались? Как вы их преодолели?
📚 Какие советы вы бы дали начинающим разработчикам, чтобы избежать распространенных ловушек в программировании?
🖥️ Что, по вашему мнению, важно учитывать при планировании своей карьеры в IT, чтобы минимизировать сожаления в будущем?
Спасибо за ваше участие! 🚀
👍4🙏2
🤔 Размышления о Go reflection
По-настоящему холиварная статья, которая, вероятно, вызовет разногласия. Как программист, который предпочитает использовать «самые обыденные функции» любого языка, пакет reflect Go не входил в список того, что Neil Macneale из Dolthub хотел попробовать, но он «погрузился в пучину рефлексии» и... до сих пор не является ее поклонником.
👉 Читать
По-настоящему холиварная статья, которая, вероятно, вызовет разногласия. Как программист, который предпочитает использовать «самые обыденные функции» любого языка, пакет reflect Go не входил в список того, что Neil Macneale из Dolthub хотел попробовать, но он «погрузился в пучину рефлексии» и... до сих пор не является ее поклонником.
👉 Читать
Dolthub
Reflecting on Go Reflection
Golang reflection is wonderfully horrible. Let's reflect on it.
👍6🤔1😢1
🤯 Go memory ballast: как перестать волноваться и полюбить кучу
Еще в 2019 году команда Twitch оптимизировала работу одного из сервисов на Go, сократив использование процессора на 30% и уменьшив задержки API на 45% за счет так называемой «балластной» памяти.
Основная идея заключалась в создании большого блока предвыделенной памяти (балласта), что уменьшило частоту запуска GC в приложении. GC в Go запускается, когда размер кучи удваивается, и, создав большой балласт, команда смогла увеличить базовый размер кучи, тем самым снижая частоту срабатывания сборщика мусора. В результате нагрузка на процессор уменьшилась, так как сборка мусора стала происходить реже.
Балластная память в основном использует виртуальную память и не занимает физическую память, если к ней не обращаться напрямую.
✅ Результаты: снижение числа циклов сборки мусора почти на 99% и значительное улучшение производительности без лишних затрат на память.
👉 Подробнее
Еще в 2019 году команда Twitch оптимизировала работу одного из сервисов на Go, сократив использование процессора на 30% и уменьшив задержки API на 45% за счет так называемой «балластной» памяти.
Основная идея заключалась в создании большого блока предвыделенной памяти (балласта), что уменьшило частоту запуска GC в приложении. GC в Go запускается, когда размер кучи удваивается, и, создав большой балласт, команда смогла увеличить базовый размер кучи, тем самым снижая частоту срабатывания сборщика мусора. В результате нагрузка на процессор уменьшилась, так как сборка мусора стала происходить реже.
Балластная память в основном использует виртуальную память и не занимает физическую память, если к ней не обращаться напрямую.
✅ Результаты: снижение числа циклов сборки мусора почти на 99% и значительное улучшение производительности без лишних затрат на память.
👉 Подробнее
👍38🤔5🥱1
🤯 Что вам помогает работать, когда устаете? Когда в отпуск ну вообще никак, а сил уже нет.
💬 Может быть, чтение отвлеченной литературы, спорт, дневной сон, прогулки, встречи с друзьями, что-то ещё?
#интерактив
💬 Может быть, чтение отвлеченной литературы, спорт, дневной сон, прогулки, встречи с друзьями, что-то ещё?
#интерактив
Кстати, функция
👉 Пример здесь
equals
в пакете maps
может использоваться для проверки того, содержат ли две мапы одинаковые пары «ключ-значение». 👉 Пример здесь
👍40❤1