Атомики в Go - это один из методов синхронизации горутин. Они находятся в пакете стандартной библиотеки sync/atomic. Некоторые статьи сравнивают atomics с mutex, так как это примитивы синхронизации низкого уровня. Они предоставляют бенчмарки и сравнения по скорости, например Go: How to Reduce Lock Contention with the Atomic Package.
Рубрика «backend» - 2
Атомики в Go: особенности внутренней реализации
2023-06-30 в 15:10, admin, рубрики: assembly, atomic, atomics, backend, concurrency, Go, golang, MutexКак мы автоматизировали тестирование OpenStack с помощью Rally и Tempest
2023-04-26 в 12:42, admin, рубрики: backend, ci/cd, gitlab, octavia, openstack, rally, selectel, tempest, Блог компании Selectel, разработка, Разработка веб-сайтов, тестирование, Тестирование IT-систем, Тестирование веб-сервисовВсем привет, меня зовут Валентина! Уже около пяти лет я работаю в тестировании, из них более трех занимаюсь прожаркой OpenStack с помощью Tempest и Rally. Заметила, что в сети не так много информации об этих фреймворках. Пора это исправить.
В этой статье я расскажу, как мы в Selectel тестировали Octavia с помощью Tempest и Rally, с какими трудностями столкнулись, как преодолевали их и что в итоге получилось. Если интересно, добро пожаловать под кат!
Читать полностью »
Оптимизация бэкенда приложения с примерами на Symfony. Часть 1
2023-04-16 в 9:56, admin, рубрики: backend, N+1, php, sql, symfony, индексы, Клиентская оптимизация, оптимизация, Разработка веб-сайтовВсех приветствую! Я планирую создать цикл статей, демонстрирующий распространенные ошибки, влияющие на производительность приложения со стороны бэкенда, а также методы их поиска и устранения. Для этого, я написал приложение, в котором специально допустил различные ошибки, чтобы по порядку найти и исправить их.
В текущей статье, рассмотрим темы - n+1, пагинация и индексы. Приятного чтения!
Описание приложения
Сказ о том как pet-project превратился в небольшой пассивный доход (часть 2)
2023-03-07 в 14:15, admin, рубрики: backend, DNS, Go, pet-project, vpn, wireguard, балансировка нагрузки, Программирование, Сетевые технологииDNS Балансировка
Предыдущая часть закончилась неудачной балансировкой, которая не решает практически никаких проблем. В комментариях кто‑то спросил, почему я не использовал балансировку на уровне DNS. Так вот, я ее использовал. Оказалось, что c помощью DNS записей можно организовать балансировку Round Robin. Для этого в конфигурации Wireguard всего лишь нужно использовать доменное имя вместо IP адреса. Теперь конфигурация Wireguard будет выглядеть вот так:
[Interface]
PrivateKey = <client_private_key>
Address = <cient_address_on_server>/32
DNS = 8.8.8.8, 1.1.1.1
[Peer]
PublicKey = <server_private_key>Читать полностью »
Сказ о том как pet-project превратился в небольшой пассивный доход (часть 1)
2023-02-25 в 9:21, admin, рубрики: backend, Go, golang, nginx, pet-project, vpn, wireguard, балансировка нагрузки, ПрограммированиеВ какой-то момент написанного кода становится слишком много для того, чтобы просто на него забить.
Предыстория
Я backend разработчик с опытом около 3-х лет, пишу в основном на Golang. Проработал в нескольких крупных российских компаниях. Сейчас я параллельно со своей работой пытаюсь сделать удобный, дешевый VPN сервис с высокой пропускной способностью. В этой статье я хочу просто рассказать про жизненный цикл своего проекта. Возможно кому-то будет просто интересно почитать, а кто-то может почерпнуть что-то новое для себя.
Жарим TOAST в PostgreSQL
2023-01-12 в 13:33, admin, рубрики: backend, blob, highload, json, large data, open source, postgresql, sql, toast, Блог компании Postgres Professional, хранение данных, хранилища данныхУ нас не подгорит!
В этой статье мы разберем, как PostgreSQL хранит большие (длинные) значения колонок, рассмотрим некоторые связанные с этим особенности и проблемы СУБД и предложим способы решения этих проблем. Посчитаем байтики и залезем в потроха СУБД. Будет интересно!
1. Что такое TOAST и зачем он нужен?
GridComponent. Часть II. Котики, NestJS и чуть-чуть о Postman
2022-09-03 в 20:26, admin, рубрики: backend, CORS, nestjs, node.js, nodejs, postgres, Postman, sqlite3, typeorm, TypeScriptДоброго дня!
Как и обещал, в продолжение своего пет-проекта по созданию грид-компонента опишу здесь создание backend части на таком фреймворке как NestJS, попутно ознакомив читателя с дополнительными инструментами для backend разработки. Код проекта найдете здесь. Статья в основном для новичков, поэтому не пытайтесь найти здесь что-то сверхъестественное.
Сразу сделаю оговорку, что я не являюсь крутым специалистом по данному фреймворку, скорее – большим его любителем. Но почему все-таки NestJS, а не какой-нибудь Читать полностью »
Мифы и легенды современного Python
2022-08-30 в 8:00, admin, рубрики: backend, fullstack, GIL, python, python3, Блог компании Evrone, ПрограммированиеОблегчаем жизнь PostgreSQL таблице под нагрузкой
2022-06-09 в 9:17, admin, рубрики: backend, highload, postgresql, Администрирование баз данных, Блог компании KarunaУ любого современного продукта — если он успешен — есть тот момент жизни, когда он из гадкого стартапа вдруг становится вполне себе прекрасным “энтерпрайз монолит платформ систем легаси”. Без тестов, без мониторинга, с highload и, конечно же, уймой родовых травм, вызванных быстрым развитием.
ORM — отвратительный анти-паттерн
2022-05-21 в 23:01, admin, рубрики: backend, IT-стандарты, java, jdbc, orm, postgresql, sql, базы данных, оопОт автора перевода: Написанный далее текст может не совпадать с мнением автора перевода. Все высказывания идут от лица оригинального автора, просьба воздержаться от неоправданных минусов. Оригинальная статья выпущена в 2014 году, поэтому некоторые фрагменты кода могут быть устаревшими или "нежелаемыми".
Содержание статьи: