Pull to refresh
2
0
Send message

5 советов для C#-программистов, которые вы, наверняка, уже знаете

Reading time14 min
Views22K

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

Читать далее

gRPC в .NET — рецепты счастья

Reading time12 min
Views28K

Массовый переход от монолитов к микросервисам решает ряд проблем:

раздельный деплой и рефакторинг;

удобное масштабирование частей системы;

прозрачное разграничение ответственности команд;

снижение бласт-радиуса;

снижение когнитивной нагрузки на разработчика.

При этом создает другие проблемы: взаимодействие сервисов существенно сложнее и дороже, чем взаимодействие объектов в памяти. Частично упростить его можно с помощью протокола gRPC.

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

Из этой статьи вы узнаете, когда стоит применять gRPC, а когда лучше воздержаться, как решаются типичные задачи, включая конфигурирование, отладку, healthcheck, а также то, о чем умалчивает документация. 

По материалам выступления на конференции DotNext.

Читать далее

Видеонаблюдение на даче

Reading time7 min
Views57K

Обратились ко мне за помощью. Задача стояла: подключить и настроить комплект видеонаблюдения на даче. Опыт в этой сфере был минимальный, баловался дома с USB камерами. И на работе была уже настроенная система с отдельным сервером. Представление было как устроено видеонаблюдение, благо есть опыт в IT сфере.

Для статьи я старался найти оригиналы фото устройств. У некоторых качество хромает. Остальные будут взяты с интернета.

Установку видеонаблюдения начали в 2019 году. Вносили изменения вплоть до конца 2021 года. Интересное началось, когда заказчик захотел проверять камеры из дома.

Читать далее

Уязвимость Safari 15 может легко раскрыть вашу личность любому веб-сайту

Reading time6 min
Views7.9K

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

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

Читать далее

Начало работы с Playwright (Часть 2)

Reading time5 min
Views15K

Добро пожаловать  на 2-й день челленджа #30DaysOfPlaywright!

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

Читать далее

30 команд Git, необходимых для освоения интерфейса командной строки Git

Reading time9 min
Views516K

Git — самая популярная в мире распределённая система контроля версий. Линус Торвальдс, разработчик ядра ОС Linux, создал этот инструмент ещё в 2005 году, а сегодня Git активно поддерживается как проект с открытым исходным кодом. Огромное количество открытых и коммерческих проектов используют Git для контроля версий.

В данной статье перечисляются самые основные команды, которые следует знать разработчику, чтобы освоить управление репозиториями GitHub на высоком уровне. Ознакомиться с ними будет полезно как новичкам, так и опытным разработчикам.
Читать дальше →

Латунирование, это просто

Reading time7 min
Views43K

Эта статья - простая и подробная инструкция, как можно в домашних условиях покрыть латунью металлические детали, применяя только подручную химию. cut/ В ней, подробно описанны все ньюансы и "подводные камни". После прочтения этой статьи, у вас просто не может не получиться делать такие же превращения деталей, как на картинке.

Читать далее

Лучшие альтернативы для Docker

Reading time7 min
Views69K

Изобретение интермодальных контейнеров вызвало бум международной торговли и стало одним из основных элементов глобализации

Контейнеры от компании Docker произвели настоящую революцию в разработке, тестировании и развёртывании приложений. Хотя вовсе не она изобрела Linux-контейнеры. Ведь LXC и OpenVZ появились раньше под Linux, а до них много лет существовали Jails/Zones в BSD/Solaris.

Но именно Docker представил контейнеры в виде удобного и простого «массового продукта». Примерно как Apple позаимствовала идеи MP3-плеера и смартфона и доработала их. То же самое сделал Docker. Хотя не довёл дело до конца, то есть до получения прибыли.

Сейчас компания Docker разваливается на глазах. Однако Linux-контейнеры отлично работают и без неё, это же опенсорс.
Читать дальше →

ABBYY FastML: новый подход к машинному обучению на стороне клиента для обработки большого потока документов

Reading time10 min
Views7.8K

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

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

Например, представим, что на обработку поступают десятки тысяч инвойсов от сотен разных контрагентов. Раньше, чтобы автоматизировать их классификацию и извлечение информации, требовалось наработать базу поставщиков, а для каждого из типов документов — создать вручную гибкое описание (задать информацию о линейных отношениях полей относительно друг друга). Внедрение такого решения у клиента длилось от 3 до 6 месяцев.

Чтобы упростить и ускорить эту задачу и в целом облегчить работу нашим заказчикам, мы создали новый механизм кластеризации и разработали технологию FastML, а затем объединили их работу.

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

Но обо всем по порядку.

Читать далее

Компилятор C# 10, .NET 6 и интерполяция строк

Reading time24 min
Views19K

К старту курса по разработке на C# делимся материалом из блога .NET о том, как компилятор C# 10 и .NET 6 упрощают программирование, как они обращаются с форматированием, а также о причинах конкретных решений команды .NET. И это далеко не всё. За подробностями приглашаем под кат.

Читать далее

.NET, что с тобой происходило в 2021?

Reading time6 min
Views17K

Конец декабря, многие подводят свои итоги, а мы решили оглянуться и посмотреть, что хорошего (и не очень) случилось в мире .NET-разработки за этот год, и спросили об этом наших разработчиков.

Из хорошего называли появление рекордов в С# 9, и выход С# 10, а в топе, конечно же, релиз .NET 6 с долгосрочной поддержкой. До выхода шестой версии у нас уже много веб-сервисов работало на .NET 5, в том числе и в монолите. Теперь ко всем «фишкам» пятой версии добавляются преимущества новой.

Платформа становится всё кросплатформеннее и кросплатформеннее (возможно, благодаря этому в последнее время наблюдается рост интереса к C#). В .NET 6 сильно улучшилась производительность, появилась поддержка Apple Silicon (мы недавно писали, почему так рады этому), новые API и много других полезностей.

Что ещё запомнилось
Собираетесь перейти в IT или повысить квалификацию? Мы собрали все образовательные инициативы Microsoft в подобие адвент-календаря, чтобы было удобно ориентироваться.
Читать далее

Протокол безопасности транспортного уровня (TLS), версия 1.2 (RFC 5246) (Часть 3.1)

Reading time38 min
Views11K

В статье приводится продолжение перевода на русский язык стандарта IETF - RFC 5246, описывающего работу протокола безопасности транспортного уровня TLS версии 1.2. Данная часть перевода охватывает первую половину описания работы протокола рукопожатия TLS 1.2.

Читать далее

Графовый анализ — обзор и области применения

Reading time15 min
Views29K

Всем привет!

Мы - команда GlowByte Advanced Analytics. Сегодня мы расскажем об одном из перспективных направлений Data Science - графовом анализе, и покажем, какие задачи можно решать с его помощью.

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

Читать далее

.xlsx изнутри. Разбор структуры файлов. Разбор каждого .xml файла

Reading time25 min
Views60K

Это статья о разборе excel изнутри. Вы узнаете как работать со стилями ячеек, листов через xml, как вносить данные и формулы в ячейки и мого другого.

Читать далее

Защита браузера от фингерпринтинга — опыт Brave

Reading time7 min
Views8.6K

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

Читать далее

Представляем галерею примеров машинного обучения Windows (Windows ML Samples Gallery)

Reading time2 min
Views2.4K

Хотите узнать, как использовать Windows ML API для создания эффективных возможностей машинного обучения в Windows? Галерея примеров машинного обучения Windows точно вам поможет. Галерея - это пакетное настольное приложение для Windows 11, созданное с использованием Windows App SDK (части галереи обратно совместимы с Windows 8.1). Первоначальный выпуск содержит 5 интерактивных примеров, демонстрирующих работу Windows ML через управляемые и собственные сценарии (скоро появятся новые примеры!). Каждый пример имеет соответствующий код.

Читать далее

Как это устроено: видеоконференции ВКонтакте на безлимитное число участников

Reading time20 min
Views21K

Сервисы для онлайн-общения и всевозможная доставка — наверное, самые востребованные и активно развивающиеся отрасли 2020–21-го. Мы ВКонтакте тоже не остались в стороне: работая удалённо с первых месяцев пандемии, запустили групповые видеозвонки. Сперва они вмещали одновременно 128 человек, а теперь мы полностью сняли лимиты на число участников.

В этой статье рассказываем, с какими трудностями сталкивается большинство сервисов звонков. И показываем, что нам понадобилось сделать и изобрести, чтобы преодолеть ограничения по числу участников. Попутно отвечаем на вопросы, которые прилетали со всех сторон на волне интереса к технологиям real-time коммуникации: как устроены Zoom и Clubhouse, что взять для своего сервиса звонков из open source, как встроить звонки в приложение. Про эффективную доставку тоже будет — но не еды, а данных, аудио и видео.

Читать далее

Изоляция CSS в Razor Pages

Reading time4 min
Views5.8K

Изоляция CSS впервые появилась в .NET 5 для компонентов Blazor. Теперь она станет доступной и в Razor Pages (и в представлениях MVC) в .NET 6, который должен быть зарелижен в ноябре этого года. Ниже представлен краткий обзор того, как изоляция CSS работает в Razor Pages и какие проблемы она должна решать.

Читать далее

WEKA. Руководство по использованию

Reading time4 min
Views16K

Начав изучать библиотеку Weka я обнаружила, что в Интернете очень мало информации о ней на русском языке – как с ней работать и как ее использовать. Эта статья будет вводной для знакомства с библиотекой.

Читать далее

Information

Rating
Does not participate
Registered
Activity