Pull to refresh
78
2
Артемий @Sap_ru

User

Send message

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

Level of difficultyEasy
Reading time13 min
Views19K

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

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

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

Следуй за белым кроликом
Total votes 58: ↑58.5 and ↓-0.5+59
Comments16

Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному

Level of difficultyMedium
Reading time45 min
Views134K

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

Вы, наверняка, помните отличный цикл статей на Хабре в прошлом году от пользователя MiraclePtr, который рассказывал о разных методах блокировок, о разных методах обхода блокировок, о разных клиентах и серверах для обходов блокировок, и о разных способах их настройки (раз, два, три, четыре, пять, шесть, семь, восемь, десять, десять, и вроде были еще другие), и можете спросить, а зачем еще одна? Есть две основные причины для этого.

Читать далее
Total votes 506: ↑498 and ↓8+490
Comments351

Популярные конфигурационные опции для работы с git

Reading time10 min
Views11K

Привет! Я всегда мечтала, чтобы в инструментах для работы с командной строкой заранее сообщалось, насколько популярны те или иные конфигурационные опции, предусмотренные в них, например:

o    «В принципе, никто этим не пользуется»

o    «Этой опцией пользуется 80% аудитории, стоит ознакомиться»

o    «У этой опции предусмотрено 6 возможных значений, но в реальной практике применяется всего 2 из них».

Так что я решила спросить пользователей Mastodon, какие у них любимые опции конфигурации git:

А какие опции git config вы больше всего любите выставлять? В настоящее время у меня в ~/.gitconfig установлены только git config push.autosetupremote true и git config init.defaultBranch main, вот интересуюсь, а что выставляют другие люди.

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

Далее перечислю их по порядку, при этом (очень примерно) попытаюсь начать с наиболее популярных.

Все описанные опции документированы на странице man git-config, а также на этой странице.

Читать далее
Total votes 40: ↑39 and ↓1+38
Comments15

Шпаргалка для алгособеса — алгоритмическая сложность, структуры данных, методы сортировки и Дейкстра

Level of difficultyMedium
Reading time33 min
Views96K

Привет, Хабр!

Так уж повелось, что любой уважающий себя работодатель перенимает передовые^✻ методики FAANG — по этой причине практически во всех IT-собесах есть она: секция алгоритмов. Кто-то ей рад, кто-то не очень, но секция есть и уходить пока не планирует. Поэтому нужно закатать рукава и достойно встретить суровую реальность.

Читать далее
Total votes 216: ↑214 and ↓2+212
Comments77

Мониторинг сервисов Carbonio

Reading time4 min
Views1.6K

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

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments2

Go — 100 вопросов/заданий с собеседований

Level of difficultyMedium
Reading time87 min
Views61K

Приветствую тебя, хаброжитель!

В этой статье разберём 100 вопросов, они покрывают львиную долю того, что могут спросить на собеседовании джуниор Go-разработчика с практически любой специализацией. Конечно же, в реальной работе на Go требуются немного другие скиллы, чем умение быстро ответить на любой вопрос. Однако сложилась добрая традиция делать из собеседования викторину с главным призом в виде трудоустройства — к этому нужно быть готовым.

Читать далее
Total votes 51: ↑42 and ↓9+33
Comments14

Записываем экран и звук через расширение в браузере и сохраняем в NextCloud

Level of difficultyMedium
Reading time7 min
Views3.5K

Здравствуйте дорогие читатели.

В статье делюсь опытом создания расширения для Chromium и Google Chrome браузера.

Причиной для создания расширения послужило отсутствие функции сохранения результатов записей в своём облаке и удобство этого процесса.

Раньше я пользовался «условно бесплатными расширениями и программами для записи скринкастов», но в какой-то момент некоторые из них стали платными, и их удобства сошли на “нет”. А в некоторых оставались вопросы к безопасности данных и сложности с оплатой.

Возможно вы скажите - зачем мне расширение для браузера?! Ведь я могу взять ffmpeg с x11grab, приправить всё это bash-скриптом с использованием curl, и отправлять результаты в облако одной лишь командой в терминале! И возможно быстренько "перенесу" это решение под все операционные системы! И вы будете правы, но решение получится сложным. А если у нас есть под рукой браузер, то воспользуемся его возможностями (да, это странно - браузер для просмотра HTML-страничек, который записывает ваш экран).

Ссылка на готовое решение под катом.

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments4

Как бесплатно генерить картинки в Dall-E через ChatGPT 4

Level of difficultyEasy
Reading time2 min
Views59K

Введение:

- обычный ChatGPT 3.5 работает тут https://chat.openai.com, но для генерации картинок нужен Dall-E 3 отсюда https://openai.com/dall-e-3 и желательно ChatGPT 4 (правильно осознать ваш креативный запрос), а они доступны только по премиум подписке (for Plus and Enterprise users) за 20 долларов в месяц

- чтобы обойти это ограничение, воспользуемся бескорыстием Microsoft, вложившей в OpenAI (разработчика ChatGPT) больше 13 млрд долларов для развития своего поисковика Bing 

- Bing предоставляет доступ одновременно и к ChatGPT 4 и к Dall-E 3, но через браузер Microsoft Edge и при наличии учётной записи Microsoft

Подготовка:

- создайте учётную запись в Microsoft https://signup.live.com/signup?lic=1

(если учётка уже существует, от Skype, например, пропустите этот шаг и найдите логин и пароль)

- скачайте браузер Edge https://www.microsoft.com/ru-ru/edge/download?form=MA13FW

(если браузер уже скачан, пропустите шаг)

Процесс:

- открываем браузер Edge и логинемся в нём с учётной записью Microsoft

- скачиваем VPN-плагин для браузера Edge, например, по ссылке далее и активируем его https://microsoftedge.microsoft.com/addons/detail/browsec-vpn-%D0%B1%D0%B5%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D0%BD%D1%8B%D0%B9-/fjnehcbecaggobjholekjijaaekbnlgj

- открываем в браузере Edge ссылку https://www.bing.com/search?q=Bing+AI&showconv=1 и сохраняем ее в избранном

- если увидите три плашки "Творческий", "Сбалансированный" и "Точный" в разделе "Выбор стиля беседы" и строку запроса как в мессенджере в нижней части экрана, значит всё получилось (если видите "обычный" поиск Bing с разными ссылками типа "Новости о Bing AI",  "Что такое Bing" и строку запроса в верхней части экрана, значит что-то не получилось)

Читать далее
Total votes 24: ↑14 and ↓10+4
Comments62

Структура драйвера Linux для одноплатного компьютера

Level of difficultyEasy
Reading time7 min
Views13K

Здраствуйте меня зовут Дмитрий. Недавно я написал статью как собрать прошивку для одноплатного компьютера Orange PI i96 с нуля. Если вы не читали то очень советую. И там я упоминал что для того чтобы собрать прошивку на новом ядре Linux, мне пришлось переписать драйверы с учетом архитектуры Device Tree, которую использует современное ядро. В этой статье я опишу как я это сделал.

Читать далее
Total votes 37: ↑36 and ↓1+35
Comments5

Микрофронтенд для самых маленьких

Level of difficultyEasy
Reading time9 min
Views19K

Всем привет. Меня зовут Алексей. Сейчас я работаю frontend-разработчиком в компании Ozon. В свободное время мне нравится читать про новые технологии, фреймворки, а учитывая то, с какой скоростью развивается frontend, я никогда не скучаю. В этой статье пойдет речь о микрофронтах. В частности, мы посмотрим, как их реализовать на самом базовом уровне, разберемся, когда они нужны, а когда даже не стоит смотреть в их сторону. 

Читать далее
Total votes 33: ↑32 and ↓1+31
Comments17

Жизнь, пульсирующая в черной дыре

Level of difficultyHard
Reading time7 min
Views54K

На habr ранее активно обсуждалась теория Вселенной, осциллирующей в черной дыре, которая развивается в ряде работ, в том числе моих с соавторами (но не только). Чего стоит дискуссия от 2018 года на 600 комментариев «Жизнь внутри черной дыры» (отмечу, что я не инициировал этот пост, просто меня спросили — не возражаю ли я, а я, конечно, вовсе нет). Там, конечно, много странных заявлений, но я не принимал прямое участие в этой дискуссии, потому что был слишком занят дальнейшим развитием теории. Но в этом году ситуация изменилась: работа над моделью циклической Вселенной с переменной гравитационной массой для меня практически завершена. Она подробно изложена в книге «Осциллирующая Вселенная», которая опубликована в бумажном и электронном варианте издательством Челябинского государственного университета в феврале 2023 года. Книгу (со свежими уточнениями на 25 сентября 2023 года) можно скачать на сайте Пущинской обсерватории.

Читать далее
Total votes 112: ↑108 and ↓4+104
Comments332

«Галоп пикселя — часть шестая» — Анимация персонажей. Бег

Level of difficultyMedium
Reading time48 min
Views8.8K


«Галоп пикселя», часть I — базовые понятия, этапы взросления, прикладные упражнения (линк)
«Галоп пикселя», часть II — перспектива, цвет, анатомия и прикладные упражнения (линк)
«Галоп пикселя», часть III — Анимация (линк)
«Галоп пикселя», часть IV — Анимация света и тени (линк)
«Галоп пикселя», часть V — Анимация персонажей. Ходьба (линк)
«Галоп пикселя», часть VI — Анимация персонажей. Бег (линк)

Доброго времени суток, Хабр. Мы продолжаем цикл «Галоп Пикселя». И хотя паузы между главами этой саги достигли практически четырехлетнего перерыва — я рад (надеюсь и вы тоже) продолжить двигаться вперёд. Миля за милей, дорога за дорогой, в этой вечной былине о пиксель-арте. Пространном повествовании о пикселях, их жизни, способе их создания, приёмах и уловках в работе с ними.

На этот раз речь пойдёт о создании анимации бега, от истоков малых кадрами и цветами — к ренессансу больших разрешений и буйству цветов. В статье будут разобраны примеры самых разных типов анимаций, будет определена разница между шагом и бегом. Мы затронем как создание игровых ассетов, так и сущности близкие к анимационным заставкам, в простонародье известные как синематики.

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


Лопатить пиксели
Total votes 92: ↑92 and ↓0+92
Comments35

Fooocus v2 — бесплатный Midjourney у вас на компьютере. Подробная инструкция по установке и использованию нейросети

Level of difficultyEasy
Reading time10 min
Views207K

Друзья, всем привет! Сегодня я хочу рассказать вам про самую простую и доступную для понимания нейросеть, которая создает изображения по вашему текстовому описанию. Она называется Fooocus и основана на знаменитой Stable Diffusion XL. Это идеальное решение в качестве вашей первой нейросети, и необходимый инструмент для любого дизайнера или контент мейкера.

Внутри много тяжелых изображений.

Читать далее
Total votes 120: ↑117 and ↓3+114
Comments216

Асинхронный python без головной боли (часть 3)

Level of difficultyEasy
Reading time10 min
Views13K

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

И снова здравствуйте
Total votes 14: ↑14 and ↓0+14
Comments5

Вкатываемся в Machine Learning с нуля за ноль рублей: что, где, в какой последовательности изучить

Level of difficultyEasy
Reading time26 min
Views163K

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

Читать далее
Total votes 159: ↑157 and ↓2+155
Comments49

Улучшаем возможности Nginx без затрат на коммерческую подписку (спойлер: с помощью Haproxy)

Level of difficultyMedium
Reading time16 min
Views20K

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

Читать далее
Total votes 20: ↑18 and ↓2+16
Comments33

VBA, Word: перекрёстные ссылки согласно ГОСТ (убираем из текста паразитные названия «Рисунок..», «Таблица..» и тп)

Level of difficultyEasy
Reading time2 min
Views7.4K

Меня попросили написать статью по поводу известной проблемы с паразитными названиями перекрёстных ссылок в тексте документа MS Word, а именно, когда вы вставляете в текст документа перекрёстную ссылку (меню ссылки/перекрёстная ссылка) Word позволяет вставить либо название типа "Рисунок ..." либо название полностью, что приводит к тексту типа "...на рисунке (Рисунок 10) мы видим..." или ещё более нелепым конструкциям, тогда как согласно ГОСТ необходимо оставлять только номер.

Эту проблему просто решить с помощью небольшого скрипта VBA.

Читать далее, посмотреть код
Total votes 11: ↑10 and ↓1+9
Comments35

Разработка браузерных игр с использованием Phaser3, React, Typescript

Level of difficultyMedium
Reading time15 min
Views17K

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

Разработка игр это круто и весело! В данной статье разберем пошагово разработку демо небольшой браузерной игры.

Читать далее
Total votes 24: ↑23 and ↓1+22
Comments7

Какую библиотеку на Python выбрать для создания телеграм-бота?

Reading time12 min
Views39K

Привет, Хабр!

Создание телеграм-ботов может потребовать значительных усилий и ресурсов. Использование специализированных библиотек упрощает этот процесс и обеспечивает более эффективное взаимодействие с Telegram API. Эти библиотеки предоставляют разработчикам готовые инструменты и функции, которые ускоряют разработку и делают ее более надежной.

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

Этот обзор поможет вам сохранить время и ресурсы, а также создать более надежный и эффективный телеграм-бот на Python.

Читать далее
Total votes 21: ↑11 and ↓10+1
Comments12

Как выстроить удобные процессы в работе с монорепой

Level of difficultyMedium
Reading time14 min
Views5.8K

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

Нам поможет Андрей Кочеров, старший разработчик интерфейсов в Яндекс Такси и техлид фронтэнд команды партнёрских продуктов. Он расскажет как сделать готовый к работе репозиторий сразу после чекаута, на основе методологии Trunk Based Development.

Читать далее
Total votes 13: ↑10 and ↓3+7
Comments1
1
23 ...

Information

Rating
1,079-th
Location
США
Date of birth
Registered
Activity