Как стать автором
Обновить
4
0

Пользователь

Отправить сообщение

Лучшие практики для надёжной работы с RabbitMQ

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров23K

Привет, Хабр! Я Женя, архитектор интеграционной платформы в Точке, отвечаю за асинхронный обмен сообщениями между внутренними сервисами, за ESB и за брокеры сообщений.

В этой статье я постарался кратко и последовательно изложить основные моменты, о которых полезно помнить при использовании RabbitMQ, если важны стабильность обмена и сохранность данных.

В первую очередь материал рассчитан на разработчиков, которым ещё не приходилось погружаться в тонкости работы с RabbitMQ или использовать его вообще. Более опытным читателям статья может пригодиться в качестве компактной и упорядоченной выжимки из уже знакомых статей, вебинаров и многочисленных страниц документации.

Следуй за белым кроликом
Всего голосов 58: ↑58 и ↓0+59
Комментарии16

Как я начал заниматься спортом по 2-3 часа в день

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров37K

Удаленный режим работы и хобби, связанные с сидячим образом жизни, привели мою спину в неблагоприятное состояние. Трех и даже пяти сессий физической активности в неделю при отсутствии необходимости постоянно двигаться не достаточно для нормального функционирования.

Надо было что-то менять. Нейрохирург посоветовал завести собаку, чтобы не было возможности избежать прогулки хотя бы раз в день. Я же пошел другой дорогой, о которой хочу рассказать.

Читать далее
Всего голосов 70: ↑65 и ↓5+76
Комментарии132

Ограничения в телеграм-бот (Bot API), о которых никто не расскажет

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров22K

Привет! Меня зовут Оля, я программист учебного центра компании «Тензор».

В декабре 23-го мне поступила творческая задача разработать телеграм-бот для проведения новогоднего марафона-тренинга по личностному росту.

В этой статье расскажу о проблеме, с которой столкнулась при разработке телеграм-бота. Разберем ошибку 429 (Too Many Requests) и лимиты на доступ к API.

Читать далее
Всего голосов 78: ↑77 и ↓1+85
Комментарии37

Ловкость рук, четкость алгоритма и никакого мошенничества: чек-лист для дизайнеров интерфейсов и фронтенд-разработчиков

Время на прочтение10 мин
Количество просмотров12K

Привет, Хабр! Меня зовут Даша, я проектировщик интерфейсов в Selectel.

В профессии нахожусь уже более пяти лет и периодически встречаюсь с ошибкой: дизайнеры не всегда в процессе передачи макета в разработку проверяют, все ли кейсы и состояния учтены. Это приводит к потере времени и увеличению напряжения в команде.

Признаюсь честно: я сама ни раз наступала на эти грабли. Но все изменилось, когда стала работать в тандеме с очень внимательным фронтенд-разработчиком: он предусматривал все варианты развития событий при прохождении пользователем сценария. Из-за этого наши творческие отношения ни раз переживали несколько этапов доработок моих макетов, но выстояли и вдохновили меня на создание чек-листа :)

Шаги, примеры оформления и полезный шаблон ищите под катом. Рассчитываю, что текст будет полезен джунам и мидлам как в дизайне, так и во фронтенд-разработке.
Читать дальше →
Всего голосов 40: ↑39 и ↓1+45
Комментарии17

Курс «PostgreSQL для начинающих»: #3 — Сложные SELECT

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров31K

Продолжаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".

В этой лекции углубимся в расширенные возможности команды SELECT : как можно "сложить" и "вычесть" выборки (UNION/INTERSECT/EXCEPT), или запомнить и использовать в рекурсивных запросах (CTE), что дают оконные функции (WINDOW) и соединения (JOIN).

Как обычно, для предпочитающих смотреть и слушать, а не читать - доступна видеозапись.

Читать далее
Всего голосов 32: ↑31 и ↓1+34
Комментарии7

Для Героев III вышло долгожданное полномасштабное обновление — Фабрика. Почему это по-настоящему уникальное явление?

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров98K

Если судить по группе ВК, дополнение вышло где-то 31 декабря в 7:38 минут по Москве. Новость дошла до меня где-то за час-два до нового года. Если вы в курсе, то думаю вы уже или без меня ознакомились или вот, прочитав новость, побежите прямо сейчас и статья для вас тут по сути заканчивается). Сначала Doom порадовал ... а сейчас Герои.

Если вы не в теме, то в остатке заметки попробую рассказать пару слов о том, почему: это дополнение важно, почему люди ждали его пять лет и почему это абсолютно уникальное явление для "игровой индустрии" (и да, там есть и кампания, и мультиплеерное обновление, и редактор карт новый, и музыка и новый замок).

Я с трудом удержал себя от того, чтобы не засесть на пару суток проходить кампанию залпом, но конце расскажу своё мнение про первые две карты (я специально не спешу). Итак, обо всём по порядку.

И почему же HotA так уникальна?
Всего голосов 105: ↑100 и ↓5+123
Комментарии165

NVM+RVC = вокал профи?

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров9.3K

Да, теперь, благодаря ИИ, любой, даже не поющий может отлично петь на любом языке. Как это работает и к чему может привести?

NVM (Neural Voice Model) — нейронная голосовая модель

RVC (Retrieval-Based Voice Conversion) — преобразование голоса на основе поиска

Я не претендую на полноту раскрытия темы — она емкая и стремительно развивается, в ней каждую неделю, месяц появляется что-то новое. Но надеюсь, что мой опыт поможет интересующимся войти в неё быстрее.

Да, еще. Обычно профессионалом считают того, кто навыку обучался, им владеет или того, кто этим зарабатывает. Но все мы знакомы с людьми, которые прекрасно поют, но они не заканчивали ДМШ, колледж, консерваторию, не учились вокалу и не зарабатывают пением. К слову, вокальное отделение — единственное в консерватории, в приеме на которое не требуется аттестат музыкального колледжа, а возрастной порог 35 лет (по крайней мере, так было 20 лет назад).

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии3

OpenConnect: недетектируемый VPN, который вам понравится

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров242K

Я уже написал здесь много статей на тему прокси-протоколов и прокси-клиентов, которые очень сложно детектировать и заблокировать, и которые используют пользователи в Китае, Иране, Ираке, Туркменистане, и теперь вот в России (мы здесь в отличной компании, правда?). Но довольно часто мне в комментариях писали, мол, это все отлично, но мне нужен именно VPN для целей именно VPN - доступа в частные локальные сети, либо для соединения клиентов между собой, и желательно так, чтобы его не заблокировали обезьяны с гранатой. Поэтому сегодня мы поговорим именно о VPN.

Классические OpenVPN, Wireguard и IPSec отметаем сразу - их уже давно умеют блокировать и блокировали не раз. Модифицированный Wireguard от проекта Amnezia под названием AmneziaWG — отличная задумка, но есть одно но...

Читать далее
Всего голосов 273: ↑272 и ↓1+323
Комментарии342

Четыре года с умным домом: личный опыт и интересные сценарии

Время на прочтение22 мин
Количество просмотров47K

Меня зовут Виктор, я backend-разработчик в финансовом маркетплейсе Банки.ру.

Последние годы я интересуюсь темой умного дома. Хочу поделиться тем, с чего я начинал и к чему пришел. Эта статья будет полезна тем, кто: хочет понять как устроен self-hosted умный дом; хочет перенять опыт и избежать чужих ошибок; уже имеет умный дом и интересуется прикладными сценариями.

Читать далее
Всего голосов 57: ↑57 и ↓0+57
Комментарии64

Основы полнотекстового поиска в ElasticSearch. Часть первая

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров18K

Привет! Меня зовут Глеб, я разработчик команды продукта «Сервис персонализации» в SM Lab. В цикле из трех постов я расскажу про основы полнотекстового поиска в Elasticsearch.

Данный цикл статей предназначен для всех, но будет особенно актуальным для тех читателей, кто только начинает свое знакомство с Elasticsearch. Я надеюсь, каждый из вас найдет что-то полезное для себя.

В первой части обсудим самые базовые понятия Elasticsearch. Во второй части разберем механизмы анализа текста и полнотекстового поиска. В заключительной части взглянем на стандартную модель ранжирования документов в Elasticsearch.

Итак, начнём с самых базовых понятий.

Читать далее
Всего голосов 18: ↑17 и ↓1+21
Комментарии1

Снятие с воинского учета. Дистанционно. Пакет документов

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров47K

По состоянию на лето 2023, в военных комиссариатах разных регионов и даже районов одного города требования к пакету документов отличаются, запись через Госуслуги может не гарантировать прием, а без личного присутствия заявителя могут вообще не захотеть общаться. Информация ниже не является полным гайдом по снятию с учета, это шаблоны документов + рекомендации из практики.

Если вкратце, то рабочий кейс, это когда: (А) имеется основание для снятия: уже живете зарубежом полгода, либо имеется иностранный ВНЖ, (B) грамотно составлено заявление на снятие с учета и подписано вашей подписью, (C) в военкомат идет ваш представитель по доверенности, которая оформлена у российского нотариуса или в зарубежном консульстве РФ.

Ниже пояснения и документы. Делайте все красиво, грамотно, и тогда результат будет ?

Читать далее
Всего голосов 71: ↑61 и ↓10+71
Комментарии83

Как тестировать не-REST-бэкенд. Часть третья, gRPC

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров10K

Итак, мы с вами добрались до третьей, самой «хардовой» части цикла. Сегодня поговорим про gRPC.

Что такое gRPC? 

Сам RPC — удалённый вызов процедур (иногда вызов удалённых процедур; RPC от англ. remote procedure call) — класс технологий, позволяющих программам вызывать функции или процедуры других программ, делая это так, как если бы они находились в одном адресном пространстве. Буква g в названии — это гугловая реализация этих технологий.

Разберем это все на примере.

Допустим, что вы — программист и сидите в монолитной репе. У вас одно приложение. Сам проект открыт в IDE и вы в нем работаете. В репе реализован определенный класс (например, на Kotlin), у которого есть метод, возвращающий вам данные по пользователю.

Читать далее
Всего голосов 22: ↑21 и ↓1+25
Комментарии6

Учим три телевизора делать солнышко

Уровень сложностиПростой
Время на прочтение29 мин
Количество просмотров51K

Как не повесить три телевизора на восемь зубочисток, спроектировать четыре кронштейна и один очередной симулятор пультов, победить переходники и подключить это всё так, чтобы оно работало.

Осторожно, трафик!
Всего голосов 286: ↑283 и ↓3+329
Комментарии97

Базовые алгоритмы на графах

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров43K

image


Всем привет! Меня зовут Нурислам (aka tonitaga), и сегодня я бы вам хотел рассказать об Базовых алгоритмах на графах.
Читать дальше →
Всего голосов 38: ↑35 и ↓3+42
Комментарии42

Как понять (и простить) теорию вероятностей?

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров7.1K

Всем привет! На связи вновь Меликян Маргарита, мы уже знакомились в статье, где поговорили немного о математическом анализе, а теперь (после принятых зачётов и экзаменов) захотелось сказать пару слов и по поводу курса теории вероятностей.

Общие проблемы, возникающие у неофитов высшей математики, уже были рассмотрены мною в статье про мат.анализ, поэтому их я опускаю (ознакомьтесь с вышеуказанной статьёй, если ещё не), и сразу приступаю к подсвечиванию специфичных для тервера проблемных мест.

Читать далее
Всего голосов 9: ↑8 и ↓1+10
Комментарии3

Как тестировать не-REST-бекэнд. Часть первая, GraphQL

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров10K

Привет! Меня зовут Сергей, я более 11 лет в тестировании, и успел за это время перепробовать множество разных подходов в QA — начинал простым тестировщиком, затем строил и развивал всевозможные отделы тестирования и автоматизации, а сейчас работаю в QIWI.

В этой серии постов я хочу поговорить с вами про тестирование трех популярных так называемых не-REST-бэкендов. Самое главное для начала — определиться с терминами, договоримся, что везде в тексте, где я упоминаю REST — речь идет именно о REST HTTP-бэкенде. Наверняка многие из вас с ним работали и вообще неплохо знакомы.

Но есть ещё три других, собственно, не-REST-бэкенда. С ними тоже полезно научиться работать: во-первых, для общего развития, во-вторых, будете знать, как подступаться к их тестированию, на случай, если ваша команда вдруг решит поработать на одном из них. 

Под катом — разбор тестирования первого из этой тройки, GraphQL. Все примеры в посте я делал с помощью Postman, он достаточно популярен и доступен, чтобы вы при желании могли всё быстро в нём повторить.

Читать далее
Всего голосов 17: ↑16 и ↓1+20
Комментарии6

Linux с двойным дном

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров50K

Кулхацкеры всех стран — соединяйтесь!

Если у вас паранойя, это не значит, что за вами не следят.

В этой статье я расскажу как сделать так, чтобы ваша линуксовая машинка выглядела невинной игрушкой, но при вводе нескольких команд превращалась в настоящую боевую единицу. Конечно, у вас могут найти на диске сектора с необычно высокой энтропией, несколько подозрительных системных настроек, но никаких явных зашифрованных разделов, файлов, или сторонних шифровалок. Конечно, вас могут спросить - "а для чего тебе cryptsetup, сынок?", на что вы ответите - "это же Linux Mint, это всё искаропки!" Хуже, если бы вас спросили: зачем ты используешь LUKS, или, что ещё хуже, зачем ты поставил VeraCrypt или Shufflecake.

В любом случае как отмазываться - не тема этой статьи. В комментариях расскажут всё, и даже гораздо больше. Я лишь описываю способ со всеми его достоинствами и недостатками, а уж анализ рисков - на ваше усмотрение.

Главное в системе с двойным дном - это, конечно же, секретные зашифрованные разделы, которые нигде не отсвечивают. Мой способ - это...

Читать далее
Всего голосов 65: ↑65 и ↓0+65
Комментарии82

Возвращаем 2007 год, или делаем Интернет без блокировок

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров66K

Как известно, в 2007 году кроме того, что деревья были выше, а трава зеленей, еще и в Интернете не было особых ограничений - можно было открыть почти любой сайт и наслаждаться им. До ковровых блокировок Telegram оставалось ещё 10 лет... К сожалению, в наше время такой возможности уже нет. Причины тут всем известны, в частности, некоторые компании уже не предоставляют своих услуг в России.

Хорошо, что существует возможность в рамках домашней сети восстановить свободный Интернет таким, каким он был в 2007-м. Именно этим мы и займемся. Стоит отметить, что в 2007 году довольно часто можно было встретить подключения на скорости 64-128 Кб/с, а то и вовсе dial-up; Wi-Fi был редкостью, а мобильная связь - довольно дорогим удовольствием. Однако, эти особенности того времени мы постараемся не воспроизводить.

Представляю вашему вниманию Freeroute - простой маршрутизатор, который позволяет направлять трафик на разные шлюзы в зависимости от домена назначения. Free в названии, как водится, означает свободный, а не бесплатный.

Читать далее
Всего голосов 69: ↑65 и ↓4+76
Комментарии98

Что должен знать тестировщик бэкенда

Время на прочтение7 мин
Количество просмотров96K


Меня часто спрашивают о том, что почитать перед собеседованием на позицию тестировщика бэкенда. И в работе я сталкиваюсь с тем, что многие соискатели не всегда понимают, что будет на интервью, и приходят неподготовленными. Так родилась идея собрать полезную информацию в одной статье.

В компании, где я работаю, есть список тем с вопросами, которые мы задаём кандидатам. Я решил дополнить его, сделать более универсальным, разбить каждую тему по уровням (что нужно знать обязательно и что будет плюсом) и добавить ссылки на статьи и книги, которые можно почитать по этим темам.

Какие проблемы помогает решить этот текст: кандидату — подготовиться к интервью, любому тестировщику бэкенда — освежить знания, тестировщику фронтенда или мобильных приложений — расширить кругозор. Работодатели могут использовать список для составления требований в вакансиях.
Читать дальше →
Всего голосов 29: ↑27 и ↓2+30
Комментарии25

Правильные тестовые данные или почему Вася Пупкин лучший друг тестировщиков?

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров13K

Будучи молодым QA-инженером, я тестировал модуль регистрации пользователя одного десктопного приложения. Набирать сочетания случайных букв в качестве тестовых имени и фамилии мне изначально не нравилось, а использование личных данных считалось некорректным, поэтому я начал использовать имена и фамилии существующих политиков. Барак Обама, Джордж Буш и другие регистрировались в сервисе кастинга голосовых актеров, проводили сессии голосовых записей, исправно платили по счетам и выполняли прочие бизнес-действия. Через некоторое время об этом узнал наш ПМ, который попросил отказаться от практики привлечения политиков в ряды наших тестовых пользователей. Передо мной встал выбор: пользоваться случайным набором букв или придумать некий шаблон. Я выбрал второй вариант. С тех пор персонаж Василий Пупкин стал моим лучшим другом.

Эта история заставила меня задуматься над критериями тестовых данных и быть более осмотрительным при их подборе. Будучи уже лидом, я часто наблюдаю картину, когда тестировщик не особо беспокоится о том, какие тестовые данные использовать в процессе ad-hoc тестирования. В этой статье предлагаю немного поразмышлять над качеством тестовых данных.

Узнать больше о правильных тестовых данных
Всего голосов 12: ↑10 и ↓2+11
Комментарии14
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность