Search
Write a publication
Pull to refresh
0
@DeepXread⁠-⁠only

User

Send message

Создание чат-ботов на Bot Framework Composer без программирования для Microsoft Teams

Reading time8 min
Views4K
Добрый день, друзья! Ранее мы с Вами уже рассматривали различные сервисы для создания собственных автоматизаций на базе линейки сервисов Microsoft Power Platform. Как мы уже обсуждали в предыдущей статье, в Microsoft Power Platform входит несколько очень интересных сервисов по настройке автоматизаций различного уровня сложности. Среди сервисов Microsoft Power Platform есть Power Apps, для создания приложений, Power Automate для настройки потоков автоматизации, Power BI для конфигурирования отчетов, множество дополнительных сервисов, таких как:
  1. Microsoft Dataverse для создания структуры таблиц баз данных.
  2. Модели искусственного интеллекта Microsoft AI Builder.
  3. Механизм Dataflows для создания потоков обновления данных из различных источников.
  4. Пользовательские соединители.
  5. Шлюзы для интеграции с on-premises окружением.
  6. Коннекторы для интеграции с сервисами Azure (Azure Data Lake, Azure Tables, Azure Logic Apps, Azure SQL,...)
  7. Автоматическая миграция данных в Azure Synapse.
  8. Множество других полезных возможностей.


Читать дальше →

Проблемы работы с Entity Framework на Blazor Server

Reading time4 min
Views5.7K

Blazor Server - технология для простого написания Web-систем на платформе .Net. Для удобной работы с базами данных была создана библиотека Entity Framework, которая позволяет работать программисту напрямую с моделями, не задумываясь об SQL-запросах. Но всё ли так хорошо, если соединить Blazor и EF?

Читать далее

Бесплатный Telegram-бот для расшифровки аудио. Рассказываем кратко, как мы его сделали

Reading time3 min
Views83K

Бот конвертирует голосовые сообщения на русском языке в текстовый формат, также работает с загруженными одноканальными аудиофайлами. Его можно использовать даже в групповых чатах. В основе решения — технологии SmartSpeech от SberDevices.

Читать далее

JSON-сериализация асинхронного стрима

Reading time4 min
Views16K

Можно считать это продолжением публикации Кастомный JsonConverter: уменьшаем связность и экономим ресурсы. Там при рассмотрении списков верхнего уровня упор был сделан на десериализацию из JSON. Но чтобы что-то десериализовать, нужно сначала это сериализовать. Посмотрим, чем нам может помочь возможность сериализации IAsyncEnumerable<T> объекта.

Читать далее

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

Reading time26 min
Views90K



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


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


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


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


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

Читать дальше →

Миграция на СПО (часть 2): Танцы с бубном вокруг службы каталога, сетевых сервисов и системы виртуализации

Reading time5 min
Views6.4K

Привет, Хабр! Я продолжаю рассказ о нашей практике перевода крупной организации на СПО. Если в прошлый раз я рассматривал переезд всех 13 сервисов в общем, то сегодня сосредоточусь на трех аспектах, которые оказались наиболее интересными и поучительными с технической точки зрения. Поговорим о переносе системы виртуализации, о замене сетевых сервисов и о переходе со службы каталогов Active Directory на SambaDC. Всех, кто планирует или уже реализовал подобные трансформации, приглашаю присоединиться к обсуждению.

Читать далее

Телеграм как инструмент для оценки стоимости предметов

Reading time5 min
Views4.7K

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

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

Пример работы этого бота можно увидеть здесь.

Читать далее

Правила переезда на СПО: наш опыт миграции 13 сервисов в 7 филиалах

Reading time9 min
Views13K

Привет, Хабр! Сегодня я расскажу об одном реальном переезде с проприетарного ПО на opensource-аналоги. Миграция на СПО — тема, конечно, избитая до безобразия. Но этот кейс интересен тем, что задача решалась в комплексе: под замену пошла вся экосистема инфраструктурного и прикладного ПО заказчика. Проект завершили в конце прошлого года, и поэтому в тексте вы найдете много отсылок к  экономическим соображениям. Но пока я собирался рассказать обо всем подробно, ситуация  сильно поменялась и бизнес-показатели ушли на второй план. Однако сам опыт масштабной миграции стал еще более актуальным — по крайней мере, когда я заканчивал текст этого поста, Коммерсантъ сообщил о росте  спроса на отечественное ПО (в основном, работающее на базе открытых технологий) на 600% только за неделю. И если вам тоже теперь нужно переезжать на СПО, надеюсь, опыт нашей команды окажется действительно полезным, а экономические выкладки, которые я делал для данной миграции, пусть остаются приятным бонусом.

Читать далее

Как обрабатывать необработанные исключения в ASP.NET Core Web API

Reading time6 min
Views12K

Привет! Я Антон Антонов, Full Stack Developer. Расскажу, как обрабатываю необработанные исключения в ASP.NET Core Web API, и дам примеры обработчиков ошибок, которые отвечают наиболее распространенным требованиям.

Читать далее

Основы Linux (обзор с практическим уклоном)

Reading time14 min
Views393K

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

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

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

Читать далее

Про поддержку сайтов с национальными сертификатами в Яндекс Браузере

Reading time5 min
Views93K
Очень много вопросов по этой теме. Оно и понятно: информации мало, противоречивых интерпретаций много. Для нас тема защиты соединений с сайтами близка. Мы пишем на Хабре об этом уже лет восемь. Например, в своё время мы первыми поддержали DNSCrypt прямо в браузере, первыми начали предупреждать о неизвестных корневых сертификатах в системе, первыми включили шифрование трафика для незащищенных Wi-Fi-сетей.

Поэтому сегодня мы расскажем сообществу о происходящем чуть более подробно. Тем, кто очень спешит и хочет получить короткие ответы, достаточно прочитать начало поста. Поехали.

Коротко о главном


  1. Национальный удостоверяющий центр выдаёт сертификаты на домены только тех организаций, которые явно это запросили. Полный список этих доменов публично доступен по адресу www.gosuslugi.ru/tls.
  2. Яндекс Браузер применяет национальные сертификаты не для всего рунета, а только на тех сайтах, которые есть в списке на www.gosuslugi.ru/tls. Попытка применить сертификат на других доменах приведёт к стандартной ошибке и недоступности сайта для пользователя.
  3. Национальные сертификаты используют общепринятую открытую криптографию и работают по стандартным правилам (это обычный RSA с длинным ключом, ровно такой же, какой выписывают другие центры сертификации).
  4. Мы работаем над поддержкой стандарта Certificate Transparency и планируем создать публичный лог, в который будут вноситься все выпускаемые национальным центром сертификаты. Мы надеемся, что другие представители индустрии поддержат эту инициативу и запустят дополнительные публичные логи. Это позволит добиться прозрачности в работе с национальными сертификатами.

Читать дальше →

Подключаем к Экселю GPU и ускоряем Эксель в 300 раз

Reading time3 min
Views34K

Попалась мне задачка оптимизации, а так как я большой фанат Экселя, то и выбор инструмента был скорым. Единственная пакость: Эксель дико медленный. Так, на одну итерацию уходило как минимум 35 минут, а таких итераций планировалось сделать 1275 (как минимум)!

Цель этого небольшого проектика – ускорить исполнение VBA скриптов задействуя все доступные мне железяки: GPU и CPU. Ну и до кучи, так как библиотека моя, была реализована многозадачность.

О, да, я хочу на это посмотреть!

Как мы отказались от JPEG, JSON, TCP и ускорили ВКонтакте в два раза

Reading time24 min
Views171K

На протяжении всей жизни мне приходится экономить вычислительные и сетевые ресурсы: сначала были компьютеры с 300 кГц (кило — не гига!) и 32 Кбайт RAM, интернет по dial-up. Потом я решал олимпиадные задачки. Теперь имею дело с терабайтами трафика и 50 млрд событий в сутки. И хотя современные телефоны в 1 000 раз мощнее любого оборудования двадцатилетней давности, я до сих пор оптимизирую. Думал даже, что это со мной что-то не так. Но потом понял, что все постоянно что-нибудь оптимизируют. 

Эта статья в меньшей степени о том, почему нужно бороться за производительность, и в большей о том, на что сейчас стоит заменить устаревший стек из JPEG, JSON, gzip и TCP — и как это сделать. 

Спойлер: у нас есть решение и мы его не только показываем — ссылки на open source в конце статьи.

Читать далее

JavaScript: чтение и запись файлов с помощью File System Access API

Reading time7 min
Views24K



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


В этой небольшой статье я хочу рассказать вам о File System Access API (далее — FSA), позволяющем читать и записывать файлы в локальную систему пользователя с помощью браузера.


Основные источники:



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

Читать дальше →

20 часов оптимизаций, вживую

Reading time6 min
Views11K

Всем привет.

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

А славы и света софитов хочется-то! 

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

И я попробовал.

За последние три месяца записал 10 двухчасовых стримов на темы которые разобрал за время своей карьеры. Получалось по-разному, стрим такой формат, где очень много  может пойти не так, а я его еще и усложнил для себя лайвкодингом. Временами что-то шло не так, но, если честно, я даже удивлен, что за 20 часов эфира у меня не случилось ничего действительно катастрофического, после чего я бы стал искать кнопку “удалить канал” и гуглить смену фамилии.

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

Читать далее

И всё-таки, возможен ли 1мс таймер в Windows?

Reading time4 min
Views18K

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

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

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

Читать далее

Как я решил стать трейдером и проигрался, а потом отыгрался, потому, что я программист. Мой опыт

Reading time10 min
Views171K


Таким я себя видел в своих мечтах. Freepik


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


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

Читать дальше →

Такого в Китае не купишь

Reading time6 min
Views12K

 Хомяки приветствуют вас друзья!

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

Читать далее

Самый простой (и неожиданный) алгоритм сортировки?

Reading time9 min
Views26K

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

1. Алгоритм


Большинству из нас хорошо известны такие простые алгоритмы сортировки, как сортировка пузырьком. По крайней мере, нам так кажется. Оказывались ли вы когда-нибудь в ситуации, когда вам нужно записать псевдокод сортировки пузырьком, и вы осознавали, что он не так прост, как кажется, и с первого раза правильно написать его не удаётся? Нужно внимательно следить за тем, чтобы индексы циклов начинались и заканчивались нужными значениями и не выходили за границы, а также правильно обрабатывать флаговые переменные. Разве не было бы здорово иметь простой алгоритм без всей этой возни? Ниже представлен такой алгоритм, сортирующий массив A из n элементов в неубывающем порядке. Для простоты доказательства массив начинается с 1, то есть имеет элементы A[1],..., A[n].

Алгоритм 1 ICan’tBelieveItCanSort(A[1..n]):

for i = 1 to n do
  for j = 1 to n do
    if A[i] < A[j] then
      swap A[i] and A[j]

Вот, собственно, и всё. Он просто обходит в цикле каждую пару значений (i, j) стандартным способом из двойного цикла for, выполняет сравнение и обмен значениями. Разве можно придумать что-то ещё более простое? Возможно первой реакцией увидевшего этот алгоритм будет что-то типа «это не может быть верно» или «знак неравенства направлен в другую сторону, да и индексы цикла указаны неверно». Но нет, он действительно правильно сортирует в возрастающем порядке.
Читать дальше →

Разбираемся с типами боли на примере головы

Reading time10 min
Views13K


Если вы посмотрите классификацию лицевых болей, то увидите длинные-длинные списки – до ста видов.

Например, воспалительная боль — это когда у вас в поезде Москва–Владивосток вдруг воспалился зуб, который вы не чистили пару лет. Суставная может возникнуть из-за внезапной блокировки сустава, потому что его чуточку перекосило. Невралгическая из-за защемления нерва или облезания его «изоляции». И ещё бывают внезапные боли — нет, не от осознания, что вы получаете в два раза меньше, чем должны, а просто характеризующиеся быстрой резкой реакцией и таким же быстрым исчезновением. Расскажу про каждый тип боли, встречающийся в нашей практике, чуть подробнее. Чаще всего мы работаем со смещением костей.

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

Information

Rating
Does not participate
Location
Россия
Registered
Activity