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

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

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

Микросервисная архитектура, ее паттерны проектирования и особенности

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

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

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

Как мы сделали WebRTC-видеозвонилку и что перепробовали: P2P, SDK от Voximplant и VK Звонков

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

Привет, меня зовут Кирилл и я инженер, который превозмогал ковидные времена вместе с компанией JUG Ru Group. Мы делаем технические конференции, и в пандемию сделали собственный сайт для проведения онлайн-конференций. Тогда нам понадобились качественные видеозвонки на WebRTC, чтобы подключать через браузер спикеров из любой точки планеты.

Варианты «просто застримить Zoom или захватить Jitsi» нам не подошли. Стало ясно, что нужно делать своё решение, пусть и на основе чужого SDK. В результате перебрали разные варианты, накопили опыт. А ещё из-за вопросов вроде этого создали целую конференцию VideoTech, чтобы послушать других знающих людей.

И теперь хочу поделиться нашим опытом с Хабром, поговорив про WebRTC в целом и про конкретные реализации: P2P, Voximplant SDK, SDK VK Звонков.

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

Простые шаги по повышению производительности ASP NET Core приложения

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

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

Статья будет полезна разработчикам и лидерам команд, стремящимся улучшить производительность системы в целом. Также статья будет полезна опытным разработчикам, которые смогут использовать список рекомендаций из данной статьи в качестве отправной точки для создания или дополнения собственного чеклиста по улучшению производительности ASP NET Core приложений.

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

Минимальные API в .NET 6

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

Создание REST API является основной частью многих проектов разработки. Выбор для создания таких проектов широк, но если вы разработчик на C#, варианты будут весьма ограничены. API на основе контроллеров были наиболее распространенными в течение долгого времени, но .NET 6 меняет эту ситуацию, предлагая новую возможность. 

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

Pycon Weekend 2022: как прошла конференция по python в горах

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

25-26 марта в Сочи прошла конференция для python-разработчиков Pycon Weekend. Мы были на курорте Красная Поляна, два дня слушали доклады, общались и катались на живописных горных склонах. Получилось, как всегда, очень душевно и полезно.

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

Сейчас мы готовим нашу следующую, самую большую и душевную конференцию для pythton-разработчиков Pycon Russia. Она пройдет 30-31 июля в Москве. Программный комитет уже ведет активную работу по формированию программы, успевайте подавать заявки на выступления до 15 мая, чтобы стать спикером. А билеты можно купить по ранней цене до 1 июня.

А пока мы готовим для вас Pycon Russia 2022, предлагаем вам посмотреть доклады с Pycon Weekend 2022.

? Василий Копытов (Avito, Москва): «Как и почему мы перешли от Python к Go в нашем основном сервисе рекомендаций»

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

Нерезидент на удалёнке

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

В последние годы многие компании заключили с работниками соглашения о дистанционной работе. В результате значительное количество сотрудников выехало за пределы России, утратив статус налоговых резидентов. В таких ситуациях компании как налоговые агенты должны понимать порядок удержания НДФЛ в связи с изменившимся налоговым статусом сотрудника.

Согласно ст.312.1 ТК РФ, «дистанционной (удаленной) работой (далее - дистанционная работа, выполнение трудовой функции дистанционно) является выполнение определенной трудовым договором трудовой функции вне места нахождения работодателя, его филиала, представительства, иного обособленного структурного подразделения (включая расположенные в другой местности), вне стационарного рабочего места, территории или объекта, прямо или косвенно находящихся под контролем работодателя, при условии использования для выполнения данной трудовой функции и для осуществления взаимодействия между работодателем и работником по вопросам, связанным с ее выполнением, информационно-телекоммуникационных сетей, в том числе сети "Интернет", и сетей связи общего пользования.»

Статья 27 Конституции РФ гарантируем каждому свободу передвижения. И будет излишним говорить о праве работодателя ограничивать свободу передвижения работника, коль скоро трудовые отношения осуществляются в рамках дистанционной работы. Ст.81 ТК РФ также не предусматривает возможности уволить работника по инициативе работодателя за нахождение за пределами РФ или изменение налогового резидентства. Также закон не содержит общих правил, обязывающих граждан РФ сообщать работодателю о выездах за границу или изменение статуса налогового резидента.

Читать далее
Всего голосов 8: ↑6 и ↓2+7
Комментарии0

WebRTC для всех и каждого. Часть 3

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



Привет, друзья!


Представляю вашему вниманию третью (заключительную) часть перевода этой замечательной книги по WebRTC.



Если вам это интересно, прошу под кат.

Читать дальше →
Всего голосов 17: ↑10 и ↓7+4
Комментарии1

Как создать telegram бот на C# быстро?

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

Как создать telegram bot на C# быстро?

В этой статье мы рассмотрим заготовку для создания telegram бота на C#. В связи с последними обновлениями TelegramBotAPI, большая часть удачных с моей точки зрения публикаций на эту тему несколько устарело. Потому предлагаю разобраться в этой теме.

Читать далее
Всего голосов 28: ↑20 и ↓8+16
Комментарии39

WebRTC для всех и каждого. Часть 1

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



Привет, друзья!


Представляю вашему вниманию первую часть перевода этой замечательной книги по WebRTC. Данная часть посвящена тому, что такое WebRTC, процессу сигнализации и установки соединения (первые 3 части оригинала).


Справедливости ради следует отметить, что на Хабре уже публиковался "вольный" перевод первых 2 частей оригинала (часть 1, часть 2), но автор по какой-то причине решил не продолжать. Я, свою очередь, решил начать с самого начала, без лишних вольностей и сокращений.


Ссылка на вторую часть перевода.


Если вам это интересно, прошу под кат.

Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии6

gRPC: лучше ли этот фреймворк, чем REST API?

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

Привет! Я — Роман Махнык, .NET developer в NIX. Уже четвертый год я занимаюсь разработкой коммерческих проектов, а сейчас проектирую разные приложения на основе облачных решений.

В своей статье я буду описывать фреймворк gRPC для API. Он достаточно свежий, но уже зарекомендовал себя как перспективное решение. Суть gRPC в максимально упрощенной коммуникации сервисов. Также важно, что в gRPC данные отправляются по постоянному каналу без сериализации и роутов эндпоинтов.

Если вы только начинаете работу с API или хотите лучше разобраться именно в gRPC — эта статья для вас.

Читать далее
Всего голосов 18: ↑6 и ↓12-2
Комментарии38

Углубленное знакомство с пространствами имен Linux. Часть 2

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


В предыдущей части мы разобрали, чем являются пространства имен, и какую роль они играют в современных системах, после чего познакомились с двумя их видами: PID и NET. Во второй и заключительной части материала мы изучим пространства имен USER, MNT, UTS, IPC и CGROUP, а в завершении объединим полученные знания, создав полностью изолированную среду для процесса.
Читать дальше →
Всего голосов 38: ↑37 и ↓1+58
Комментарии1

Линукс-порт Far Manager: что нового за 2021

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

Предыдущий пост про порт Far Manager под Linux, far2l, оказался невероятно популярным, так что я подумал, что неплохо бы раз в год писать что-то вроде дайджеста самых интересных новостей разработки. Начнём.

Буфер обмена в консольной версии

Теперь far2l, как и mc, умеет использовать буфер обмена X11 даже в консольной версии (в графической умел с самого начала). Для этого собирается отдельный модуль взаимодействия с X, который загружается, только если в системе установлена библиотека libx11. Можно даже ходить на удаленные сервера через ssh -X, буфер обмена будет работать и там (опять же, если libx11 на сервере установлена).

И ещё о консольном режиме. Не забываем про параметр командной строки --ee, позволяющий избавиться от необходимости нажимать ESC дважды.

Кстати, о клавиатуре в консоли. Горячие клавиши в сторонних терминалах поддерживаются практически все — по крайней мере, я знаю только про проблемы с комбинациями Ctrl+цифра, над ними идёт работа.

Читать далее
Всего голосов 76: ↑75 и ↓1+91
Комментарии117

Async/await в TypeScript

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

Если вас заинтересовала эта статья, то вы, наверное, несколько разбираетесь в асинхронном программировании на JavaScript и, возможно, интересуетесь, как оно работает в TypeScript.

Поскольку TypeScript – это надмножество JavaScript, async/await там работает точно также, но с некоторыми дополнительными бонусами и безопасностью типов. TypeScript позволяет запрограммировать безопасность типа ожидаемого результата и даже проверить, нет ли ошибок, связанных с типом. Поэтому баги отлавливаются на ранних стадиях разработки программы.

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

10 идей, о которых стоит знать всем программистам

Время на прочтение10 мин
Количество просмотров50K
Я пишу на Python и на Go, а в последние годы занимаюсь крупномасштабными приложениями. Речь идёт о том, что каждый день мне и моей команде приходится поддерживать системы, ответственные за обеспечение работы примерно двух миллионов пользователей. Это — непростая задача. Здесь я хочу поделиться несколькими ценными идеями, которые встретились мне за годы работы.


Читать дальше →
Всего голосов 65: ↑50 и ↓15+60
Комментарии37

Разбираемся с латинскими сокращениями и фразами в английском языке

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


Полтора года назад, читая работы про уязвимости Meltdown и Spectre, я поймал себя на том, что не очень понимаю разницу между сокращениями i.e. и e.g. Т.е. по контексту вроде бы понятно, но потом вроде бы как-то и не совсем то. В результате я тогда сделал себе небольшую шпаргалку именно по этим сокращениям, чтобы не путаться. И тогда же появилась идея этой статьи.


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

Читать дальше →
Всего голосов 143: ↑142 и ↓1+141
Комментарии72

Изменение схемы таблиц PostgreSQL без долгих блокировок. Лекция Яндекса

Время на прочтение10 мин
Количество просмотров24K
Если одновременно выполняется много операций по изменению схемы БД, сервис не может корректно работать на запись. Разработчик Владимир Колясинский объяснил, какие операции в PostgreSQL требуют длительных блокировок и как команда Яндекс.Коннекта обеспечивает почти стопроцентную доступность сервиса на запись во время выполнения подобных операций. Кроме того, вы узнаете о библиотеке для Django, которая призвана автоматизировать часть описанных процессов.


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

Всего голосов 61: ↑61 и ↓0+61
Комментарии41

Асинхронный рассинхрон: антипаттерны в работе с async/await в .NET

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

Кто из нас не косячит? Я регулярно встречаюсь с ошибками в асинхронном коде и делаю их сам. Чтобы прекратить это колесо Сансары делюсь с вами самыми типичными косяками из тех, которые иногда довольно сложно отловить и починить.



Читать дальше →
Всего голосов 49: ↑48 и ↓1+47
Комментарии64

Переход с iptables на nftables. Краткий справочник

Время на прочтение18 мин
Количество просмотров131K
image

В Debian теперь нет iptables. Во всяком случае, по умолчанию.

Узнал я об этом, когда на Debian 11 ввёл команду iptables и получил “command not found”. Сильно удивился и стал читать документацию. Оказалось, теперь нужно использовать nftables.

Хорошие новости: одна утилита nft заменяет четыре прежних — iptables, ip6tables, ebtables и arptables.

Плохие новости: документация (man nft) содержит больше 3 тысяч строк.

Чтобы вам не пришлось всё это читать, я написал небольшое руководство по переходу с iptables на nftables. Точнее, краткое практическое пособие по основам nftables. Без углубления в теорию и сложные места. С примерами.
Читать дальше →
Всего голосов 126: ↑126 и ↓0+126
Комментарии46

Книга «Библия Linux. 10-е издание»

Время на прочтение11 мин
Количество просмотров25K
image Привет, Хаброжители! Полностью обновленное 10-е издание «Библии Linux» поможет как начинающим, так и опытным пользователям приобрести знания и навыки, которые выведут на новый уровень владения Linux. Известный эксперт и автор бестселлеров Кристофер Негус делает акцент на инструментах командной строки и новейших версиях Red Hat Enterprise Linux, Fedora и Ubuntu. Шаг за шагом на подробных примерах и упражнениях вы досконально поймете операционную систему Linux и пустите знания в дело. Кроме того, в 10-м издании содержатся материалы для подготовки к экзаменам на различные сертификаты по Linux.

Linux — основа большинства технологических прорывов в облачных вычислениях, поэтому вы должны как следует понимать эту систему, чтобы эффективно работать в дата-центрах будущего. Азы Linux, изложенные в начале книги, пригодятся в дальнейших главах, где автор рассказывает, как развертывать системы Linux в качестве гипервизоров, облачных контроллеров и виртуальных машин, а также как управлять виртуальными сетями и сетевыми хранилищами данных.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии9

Оценка эффективности навигации по вышкам сотовой связи при угоне автомобиля

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

Точность навигации по LBS поможет найти автомобиль только в центре города.

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

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

Информация

В рейтинге
Не участвует
Откуда
Франция
Дата рождения
Зарегистрирован
Активность