Микросервисная архитектура – одна из самых полезных архитектур в индустрии программного обеспечения. При правильном подходе она может помочь в создании лучших программных приложений. Из этой статьи вы узнаете, что такое микросервисная архитектура, какие шаблоны проектирования необходимы для ее реализации, а также почему стоит и почему не стоит использовать эту архитектуру для вашего нового программного обеспечения.
Пользователь
Как мы сделали WebRTC-видеозвонилку и что перепробовали: P2P, SDK от Voximplant и VK Звонков
Привет, меня зовут Кирилл и я инженер, который превозмогал ковидные времена вместе с компанией JUG Ru Group. Мы делаем технические конференции, и в пандемию сделали собственный сайт для проведения онлайн-конференций. Тогда нам понадобились качественные видеозвонки на WebRTC, чтобы подключать через браузер спикеров из любой точки планеты.
Варианты «просто застримить Zoom или захватить Jitsi» нам не подошли. Стало ясно, что нужно делать своё решение, пусть и на основе чужого SDK. В результате перебрали разные варианты, накопили опыт. А ещё из-за вопросов вроде этого создали целую конференцию VideoTech, чтобы послушать других знающих людей.
И теперь хочу поделиться нашим опытом с Хабром, поговорив про WebRTC в целом и про конкретные реализации: P2P, Voximplant SDK, SDK VK Звонков.
Простые шаги по повышению производительности ASP NET Core приложения
Разработка сложной системы предполагает что вы, рано или поздно, столкнетесь с вопросом повышения производительности вашего приложения. Выполнив поиск по разным источникам вы найдете множество рекомендаций по улучшению производительности как для конкретных ситуаций и узких мест, так и применимых для всего приложения. В этой статье мы рассмотрим те рекомендации, которые призваны улучшить производительность всего приложения при минимальных трудозатратах. Мы протестируем оказываемый на приложение эффект, вычислим возможный прирост производительности от каждой из них и рассмотрим нет ли подводных камней, которые стоит учитывать.
Статья будет полезна разработчикам и лидерам команд, стремящимся улучшить производительность системы в целом. Также статья будет полезна опытным разработчикам, которые смогут использовать список рекомендаций из данной статьи в качестве отправной точки для создания или дополнения собственного чеклиста по улучшению производительности ASP NET Core приложений.
Минимальные API в .NET 6
Создание REST API является основной частью многих проектов разработки. Выбор для создания таких проектов широк, но если вы разработчик на C#, варианты будут весьма ограничены. API на основе контроллеров были наиболее распространенными в течение долгого времени, но .NET 6 меняет эту ситуацию, предлагая новую возможность.
Pycon Weekend 2022: как прошла конференция по python в горах
25-26 марта в Сочи прошла конференция для python-разработчиков Pycon Weekend. Мы были на курорте Красная Поляна, два дня слушали доклады, общались и катались на живописных горных склонах. Получилось, как всегда, очень душевно и полезно.
В программе конференции было 9 докладов, спикерам задавали очень много вопросов из зала. В кулуарах вопросы и обсуждения продолжались. Оба дня после официальной части нашей программы мы устраивали традиционные lightning talks, где за короткое время можно было рассказать о чем угодно: ребята рассказывали про свои проекты на питоне, про путешествия, про любимого питомца, а кто-то все отведенное время острил веселыми шуточками и веселил всех участников.
Сейчас мы готовим нашу следующую, самую большую и душевную конференцию для pythton-разработчиков Pycon Russia. Она пройдет 30-31 июля в Москве. Программный комитет уже ведет активную работу по формированию программы, успевайте подавать заявки на выступления до 15 мая, чтобы стать спикером. А билеты можно купить по ранней цене до 1 июня.
А пока мы готовим для вас Pycon Russia 2022, предлагаем вам посмотреть доклады с Pycon Weekend 2022.
? Василий Копытов (Avito, Москва): «Как и почему мы перешли от Python к Go в нашем основном сервисе рекомендаций»
Нерезидент на удалёнке
В последние годы многие компании заключили с работниками соглашения о дистанционной работе. В результате значительное количество сотрудников выехало за пределы России, утратив статус налоговых резидентов. В таких ситуациях компании как налоговые агенты должны понимать порядок удержания НДФЛ в связи с изменившимся налоговым статусом сотрудника.
Согласно ст.312.1 ТК РФ, «дистанционной (удаленной) работой (далее - дистанционная работа, выполнение трудовой функции дистанционно) является выполнение определенной трудовым договором трудовой функции вне места нахождения работодателя, его филиала, представительства, иного обособленного структурного подразделения (включая расположенные в другой местности), вне стационарного рабочего места, территории или объекта, прямо или косвенно находящихся под контролем работодателя, при условии использования для выполнения данной трудовой функции и для осуществления взаимодействия между работодателем и работником по вопросам, связанным с ее выполнением, информационно-телекоммуникационных сетей, в том числе сети "Интернет", и сетей связи общего пользования.»
Статья 27 Конституции РФ гарантируем каждому свободу передвижения. И будет излишним говорить о праве работодателя ограничивать свободу передвижения работника, коль скоро трудовые отношения осуществляются в рамках дистанционной работы. Ст.81 ТК РФ также не предусматривает возможности уволить работника по инициативе работодателя за нахождение за пределами РФ или изменение налогового резидентства. Также закон не содержит общих правил, обязывающих граждан РФ сообщать работодателю о выездах за границу или изменение статуса налогового резидента.
WebRTC для всех и каждого. Часть 3
Привет, друзья!
Представляю вашему вниманию третью (заключительную) часть перевода этой замечательной книги по WebRTC.
Если вам это интересно, прошу под кат.
Как создать telegram бот на C# быстро?
Как создать telegram bot на C# быстро?
В этой статье мы рассмотрим заготовку для создания telegram бота на C#. В связи с последними обновлениями TelegramBotAPI, большая часть удачных с моей точки зрения публикаций на эту тему несколько устарело. Потому предлагаю разобраться в этой теме.
WebRTC для всех и каждого. Часть 1
Привет, друзья!
Представляю вашему вниманию первую часть перевода этой замечательной книги по WebRTC. Данная часть посвящена тому, что такое WebRTC
, процессу сигнализации и установки соединения (первые 3 части оригинала).
Справедливости ради следует отметить, что на Хабре уже публиковался "вольный" перевод первых 2 частей оригинала (часть 1, часть 2), но автор по какой-то причине решил не продолжать. Я, свою очередь, решил начать с самого начала, без лишних вольностей и сокращений.
Ссылка на вторую часть перевода.
Если вам это интересно, прошу под кат.
gRPC: лучше ли этот фреймворк, чем REST API?
Привет! Я — Роман Махнык, .NET developer в NIX. Уже четвертый год я занимаюсь разработкой коммерческих проектов, а сейчас проектирую разные приложения на основе облачных решений.
В своей статье я буду описывать фреймворк gRPC для API. Он достаточно свежий, но уже зарекомендовал себя как перспективное решение. Суть gRPC в максимально упрощенной коммуникации сервисов. Также важно, что в gRPC данные отправляются по постоянному каналу без сериализации и роутов эндпоинтов.
Если вы только начинаете работу с API или хотите лучше разобраться именно в gRPC — эта статья для вас.
Углубленное знакомство с пространствами имен Linux. Часть 2
В предыдущей части мы разобрали, чем являются пространства имен, и какую роль они играют в современных системах, после чего познакомились с двумя их видами: PID и NET. Во второй и заключительной части материала мы изучим пространства имен USER, MNT, UTS, IPC и CGROUP, а в завершении объединим полученные знания, создав полностью изолированную среду для процесса.
Линукс-порт Far Manager: что нового за 2021
Предыдущий пост про порт Far Manager под Linux, far2l, оказался невероятно популярным, так что я подумал, что неплохо бы раз в год писать что-то вроде дайджеста самых интересных новостей разработки. Начнём.
Буфер обмена в консольной версии
Теперь far2l, как и mc, умеет использовать буфер обмена X11 даже в консольной версии (в графической умел с самого начала). Для этого собирается отдельный модуль взаимодействия с X, который загружается, только если в системе установлена библиотека libx11. Можно даже ходить на удаленные сервера через ssh -X, буфер обмена будет работать и там (опять же, если libx11 на сервере установлена).
И ещё о консольном режиме. Не забываем про параметр командной строки --ee, позволяющий избавиться от необходимости нажимать ESC дважды.
Кстати, о клавиатуре в консоли. Горячие клавиши в сторонних терминалах поддерживаются практически все — по крайней мере, я знаю только про проблемы с комбинациями Ctrl+цифра, над ними идёт работа.
Async/await в TypeScript
Если вас заинтересовала эта статья, то вы, наверное, несколько разбираетесь в асинхронном программировании на JavaScript и, возможно, интересуетесь, как оно работает в TypeScript.
Поскольку TypeScript – это надмножество JavaScript, async/await там работает точно также, но с некоторыми дополнительными бонусами и безопасностью типов. TypeScript позволяет запрограммировать безопасность типа ожидаемого результата и даже проверить, нет ли ошибок, связанных с типом. Поэтому баги отлавливаются на ранних стадиях разработки программы.
10 идей, о которых стоит знать всем программистам
Разбираемся с латинскими сокращениями и фразами в английском языке
Полтора года назад, читая работы про уязвимости Meltdown и Spectre, я поймал себя на том, что не очень понимаю разницу между сокращениями i.e. и e.g. Т.е. по контексту вроде бы понятно, но потом вроде бы как-то и не совсем то. В результате я тогда сделал себе небольшую шпаргалку именно по этим сокращениям, чтобы не путаться. И тогда же появилась идея этой статьи.
Прошло время, я набрал коллекцию встреченных в английских источниках латинских слов и сокращений и сегодня готов поделиться ею с читателями Хабры. Стоит заметить, что многие из этих фраз активно употребляются и в академической литературе на русском языке, но в английском они – частые гости даже в массовых источниках. Надеюсь, что эта подборка пригодится людям, не занимающимся научной работой в русскоязычной среде, но часто сталкивающимся с более-менее серьезными текстами на английском, где латинские вкрапления могут сбить с толку.
Изменение схемы таблиц PostgreSQL без долгих блокировок. Лекция Яндекса
У нас большие нагрузки, тысячи RPS, и простой в несколько минут, не говоря о большем времени, недопустим. Нужно, чтобы миграции происходили незаметно для пользователя. А с такими нагрузками уже не получится встать в четыре часа ночи, что-то накатить, когда нет нагрузки, и снова лечь спать — потому что нагрузка идет круглые сутки.
Асинхронный рассинхрон: антипаттерны в работе с async/await в .NET
Кто из нас не косячит? Я регулярно встречаюсь с ошибками в асинхронном коде и делаю их сам. Чтобы прекратить это колесо Сансары делюсь с вами самыми типичными косяками из тех, которые иногда довольно сложно отловить и починить.
Переход с iptables на nftables. Краткий справочник
В Debian теперь нет iptables. Во всяком случае, по умолчанию.
Узнал я об этом, когда на Debian 11 ввёл команду iptables и получил “command not found”. Сильно удивился и стал читать документацию. Оказалось, теперь нужно использовать nftables.
Хорошие новости: одна утилита nft заменяет четыре прежних — iptables, ip6tables, ebtables и arptables.
Плохие новости: документация (man nft) содержит больше 3 тысяч строк.
Чтобы вам не пришлось всё это читать, я написал небольшое руководство по переходу с iptables на nftables. Точнее, краткое практическое пособие по основам nftables. Без углубления в теорию и сложные места. С примерами.
Книга «Библия Linux. 10-е издание»
Linux — основа большинства технологических прорывов в облачных вычислениях, поэтому вы должны как следует понимать эту систему, чтобы эффективно работать в дата-центрах будущего. Азы Linux, изложенные в начале книги, пригодятся в дальнейших главах, где автор рассказывает, как развертывать системы Linux в качестве гипервизоров, облачных контроллеров и виртуальных машин, а также как управлять виртуальными сетями и сетевыми хранилищами данных.
Оценка эффективности навигации по вышкам сотовой связи при угоне автомобиля
Точность навигации по LBS поможет найти автомобиль только в центре города.
Многие производители не уделяют достаточного внимание навигации при отсутствии GPS сигнала, в итоге показывают точность даже хуже чем на смартфонах.
Информация
- В рейтинге
- Не участвует
- Откуда
- Франция
- Дата рождения
- Зарегистрирован
- Активность