Вступление"Не используйте регулярки, иначе вместо 1 проблемы, у вас их станет 2!" - как то так говорят знатоки. А что остается делать непослушным, желающим эффективный поиск по большому количеству шаблонов?Да, для такой довольно специфичной проблемы существуют крутые решения вроде Ragel или re2c. Тем не менее, для своего проекта мне показалось нецелосообразным пока осваивать эти прекрасные технологии.В этой статье мы рассмотрим альтернативы стандартной библиотеке для регулярных выражен…
Мы в МТС очень много всего разрабатываем на Golang, поскольку считаем этот язык программирования весьма достойным для проектов разного масштаба. На нём относительно просто писать, т. е. увеличивается скорость разработки, производительность — высокая, плюс есть защита от ошибок. И вот на днях был представлен Go 1.21. Что улучшили, изменили и добавили? Список основных изменений Первым делом стоит отметить то, что в утилите go обеспечивается как прямая, так и обратная совместимость с другими вер…
Привет, Хабр! Меня зовут Рафаэль Мустафин, я ментор на курсе «Go-разработчик» в Яндекс Практикуме. Название для статьи придумал не я: один из наших студентов назвал так тему беседы в учебном чате. Я же решил эту тему поддержать, но в другом — более широком — формате. В этой статье я расскажу о преимуществах Go для разработки, но с оговоркой, что другие языки всё же нужны)) Поехали!История GoGo, также известный как Golang, — это язык программирования с открытым исходным кодом. Представленный п…
Учимся применять Semaphore и Worker Pool на GoПривет, Хабр! Я Артём Чаадаев из команды ассортимента размещения в Туту и занимаюсь разработкой на языке Go.Большое количество статей посвящено простоте конкурентной разработки на Go, однако без практических примеров для начинающих разработчиков бывает трудно понять, как можно это применить. Более того, задачи на конкурентную разработку постоянно фигурируют на собеседованиях.Поэтому в рамках данной статьи решим задачу, приближенную к реальным услов…
Привет! Меня зовут Дмитрий Королёв, я бэкенд-разработчик в Авито. Я хочу рассказать, как устроен сборщик мусора в Golang и как он работает, чтобы вы могли писать более производительные приложения и лучше понимать внутреннее устройство языка. За последние 10 лет сборщик мусора в golang ускорился более чем в 400 раз. И это не предел. Расскажу, как разработчики этого добились, — от базовой имплементации до нетривиальных оптимизаций.Mark and Sweep Garbage Collector — кто такой?Mark and Sweep — по…
Привет, Хабр!Сегодня хочется поделиться с вами открытием, которое, возможно, окажется полезным для тех, кто работает с языком программирования Go и ищет надежный инструмент для вычисления выражений. Речь пойдет о библиотеке expr от Anton Medvedev.Что такое expr?Expr — это библиотека для вычисления выражений на Go. С ее помощью вы можете анализировать, проверять и интерпретировать простые выражения на Go без необходимости использования внешних зависимостей или сложных конструкций.Основные возмо…
Статья, главным образом, состоит из двух частей: описания проблемы и описания ее решения. Если сама проблема вас не интересует, первый раздел можно пропустить без ущерба для себя либо животных. Или вообще можно всю статью пропустить.Идентифицируем проблемуВ начале вас ждет небольшое, но важное вступление. Оно поможет увидеть как я докопался до сути проблемы и затем, перешел к ее решению. Я разработчик и я предпочитаю проводить время со своим компьютером. Но все же иногда мне нужно выходить из …
В этой статье я расскажу о своем пути от должности рабочего на складе до профессии backend-разработчика в международной компании на Кипре. Также поделюсь практическими советами о том, как можно совершить подобный карьерный переход.Привет! Меня зовут Дима, сейчас мне тридцать. За последние три с половиной года я успел поработать программистом в трех разных компаниях, принять участие в успешном запуске крупного проекта и переехать на ПМЖ на Кипр из Москвы. Сейчас я продолжаю изучать новое, интер…
В этой статье хотелось бы поделиться практикой использования хранилища секретов от компании Hashicorp, и называется оно Vault.Расскажу о том, как в нашей компании используется данное хранилище, опустив детали установки и масштабирования. Не будем говорить о мониторинге и отказоустойчивости. Также пройдем мимо темы восстановления хранилища после катастрофы. Все это темы отдельных статей.Всем здравствуйте, меня зовут Сергей Андрюнин.В этой же статье мы сосредоточимся на доступе к секретным данны…