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

User

Send message

ASP.NET Core: Создание справочных страниц веб-API ASP.NET с помощью Swagger

Reading time10 min
Views54K
При создании высоконагруженных приложений бывает сложно разобраться в различных API. Сформировать качественную документацию и справочные страницы в рамках веб-API посредством Swagger с интеграцией Swashbuckle .NET Core так же просто, как добавить пару пакетов NuGet и изменить Startup.cs.


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

Простое и удобное журналирование ошибок для сайтов на .NET Core

Reading time3 min
Views6.2K

Возможно, многим знакома библиотека ELMAH (Error Logging Modules and Handlers), которая позволяет организовать простое журналирование ошибок для любого сайта, созданного с помощью .NET Framework.



Этот простой и проверенный временем инструмент выручал меня во многим проектах.
Несколько лет назад, создавая свой новый проект под .NET Core я с досадой обнаружил, что ELMAH не работает под .NET Core.


Но это же opensource проект! Несколько выходных в работе над форком, и вот готова первая версия ELMAH работающая под .NET Core.


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

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

До свидания, Google Fonts. Последний аргумент

Reading time6 min
Views86K


Шрифты Google Fonts страшно популярны. Их загружают более 42,8 миллиона сайтов, в том числе Хабр. Библиотека Google Fonts содержит 1023 свободных шрифта и программные интерфейсы для их внедрения через CSS. Очень удобно, казалось бы.

Во многих статьях отмечалось, в какую цену обходятся многочисленные запросы через API. Совет самостоятельно хостить шрифты дают много лет. Даже сама Google давала такой совет на конференции Google I/O 2018 года в выступлении на тему веб-производительности.

Так почему же многие до сих пор загружают шрифты через Google Fonts API? Ну, был последний аргумент — кэширование. Мол, благодаря общему CDN пользователю не нужно скачивать шрифт заново с каждого сайта. Однако в октябре 2020 года этот аргумент перестал работать. Теперь шрифты Google Fonts больше не кэшируются!
Читать дальше →

Подключение к платежному сервису — быстро и удобно. Миф или реальность?

Reading time6 min
Views7.8K
Мы знаем, как важно быстрое подключение онлайн-платежей и для совсем нового бизнеса, и для уже давно работающего. Ведь каждый день простоя — это упущенные потенциальные возможности.

Но подключение эквайринга — не самый простой процесс. Для этого компании нужно заключить договор с платежным сервисом и добавить на свой сайт формы и кнопки для приема оплаты. В свою очередь, сервис должен проверить компанию на соответствие требованиям регуляторов и настроить ей нужные способы приема платежей. Звучит долго, однако большинство наших клиентов подключают эквайринг через ЮKassa всего за 2-3 дня.

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


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

Не работает поиск в Windows 10

Reading time2 min
Views33K

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

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

Также я обнаружил, что не работает поиск в панели задач (если включено отображение кнопки поиска): при вводе текста в панель поиска либо отображается просто чёрное окно, либо - вообще ничего.

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

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

На днях поиск и контекстное меню снова отказали. Но в этот раз я понял, в чем дело...

Читать далее

Вышел .NET 5. И что?

Reading time7 min
Views63K

Несколько недель назад вышел .NET 5. На сайте Microsoft можно найти подробный анонс со всеми изменениями, но главный вопрос для меня, как для разработчика — и что с того? Что мне с выхода пятого дотнета, как я могу его использовать, есть ли смысл переходить на новую версию прямо сейчас? На эти вопросы я постараюсь ответить дальше.


image

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

Как найти что-то в тексте

Reading time8 min
Views7.9K
Найти объект или распознать понятие в тексте — с этого начинается решение большинства NLP задач. Если вы проектируете поисковую систему, создаете голосового помощника или классифицируете пользовательские запросы, прежде всего вы должны разобрать входной текст и попытаться найти в нем именованные сущности, которые могут быть универсальными, такими как даты, страны и города, или специфичными для конкретной модели. Обратите внимание, мы сейчас говорим лишь о тех видах задач, для которых заранее известно, что именно вы ищете или что может встретиться в тексте.

image

NER (named entity recognition) компонент, то есть программный компонент для поиска именованных сущностей, должен найти в тексте объект и по возможности получить из него какую-то информацию. Пример — “Дайте мне двадцать две маски”. Числовой NER компонент находит в приведенном тексте словосочетание “двадцать две” и извлекает из этих слов числовое нормализованное значение — “22”, теперь это значение можно использовать.

NER компоненты могут базироваться на нейронных сетях или работать на основе правил и каких-либо внутренних моделях. Универсальные NER компоненты часто используют второй способ.

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

Метод Application.Run – простой способ подружить Office-ribbon и обычные VBA-макросы (на примере C# и Excel)

Reading time12 min
Views12K
В статье рассматривается использование Visual Studio для решения узкой задачи – собственно вызов VBA-макросов, расположенных в надстройках или документах, с помощью кнопок, которые разработчик может разместить в необходимых дополнительных (отдельно созданных) группах элементов вкладки НАДСТРОЙКИ ленты Excel или отдельных вкладках, и, при желании, использовать все современные возможности для работы с этими элементами.

Для читателей, в целом знакомых с тем, как в Visual Studio (конкретно – механизмы Visual Studio Tools for Office (VSTO)) реализована работа с объектами офисных приложений (объектные модели, само собой, ничем не отличаются от доступных средствами VBA), целесообразно сократить время чтения – основную мысль статьи можно выразить одной строкой C#-кода:

Globals.ThisAddIn.Application.Run("Файл_с_макросами.xlsm!МакросОдин");

которая аналогична хорошо известному VBA-вызову Application.Run(“ИмяМакроса”) – в том числе и в варианте вызова как функции:

MyValue = Globals.ThisAddIn.Application.Run("Файл_с_макросами.xlsm!МакросОдин");

Ну и вариантах с передачей одного или нескольких параметров разных типов:

Globals.ThisAddIn.Application.Run("Файл_с_макросами.xlsm!МакросОдин", "Параметр1", 2);

VBA-разработчиков, для которых актуальна данная проблема, – приглашаю продолжить чтение. Пошаговое выполнение демо-примера займет примерно 10-20 минут (без учета затрат времени на загрузку, установку и стартовую настройку Visual Studio Community Edition).
Читать дальше →

5 способов краулинга веб-сайта

Reading time3 min
Views22K


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


Давайте начнем!!


Metasploit


Вспомогательный поисковый модуль Metasploit представляет собой модульный поисковый робот, который будет использоваться вместе с wmap или автономно.


use auxiliary/crawler/msfcrawler
msf auxiliary(msfcrawler) > set rhosts www.example.com
msf auxiliary(msfcrawler) > exploit

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


  • about.php
  • jquery contact form
  • html и т. д.
Читать дальше →

Jupyter для .NET. «Как в питоне»

Reading time3 min
Views9.3K
Несколько месяцев назад Microsoft рассказали о Jupyter в .NET. Но активности по этому топику очень мало, а ведь тема очень интересная. Но что такое прикольное придумать? Я решил сделать удобный вывод класса Entity из библиотеки символьной алгебры:



Выглядит круче, чем в питоне. Делается просто, доставляет массу удовольствия. Приглашаю под кат!
Читать дальше →

Полное визуальное руководство-шпаргалка по Flexbox и Grid + туториал

Reading time31 min
Views161K


Доброго времени суток, друзья!

Представляю вашему вниманию полное визуальное руководство-шпаргалку по всем свойствам CSS-модулей Flexbox и Grid.

Основные источники: A Complete Guide to Flexbox, A Complete Guide to Grid.

В конце статьи вас ждет небольшой туториал по созданию тренажера по Flexbox.

Без дальнейших предисловий.


Современный стартовый HTML-шаблон

Reading time2 min
Views30K


Доброго времени суток, друзья!

Позвольте представить вам мой новый проект — современный стартовый HTML-шаблон.

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

  • Все meta и link-теги (общие, Microsoft, Facebook, Twitter, IOS, Android, структурированные данные — Schema.org и JSON-LD, а также парочка тегов, связанных с безопасностью)
  • Пример использования HTML5-тегов
  • Пример использования CSS3-свойств
  • Пример использования CSS-модулей
  • Пример использования JavaScript-модулей
  • Файл «manifest.json»
  • Сервис-воркер общего назначения (сначала кэш, затем сеть)
  • Файл «robots.txt»
  • Файл «sitemap.xml»
  • Файл «browserconfig.xml»
  • Файл ".gitignore"
  • Пример Express.js-сервера, устанавливающего заголовки, связанные с безопасностью и сжатием, и возвращающего файлы по запросу
  • Пример креативной страницы ошибки 404 (страница не найдена, креатив не мой)
  • и многое другое

Официальный сайт: moderntemplate.site.

Код проекта находится здесь.
Читать дальше →

Старт работы с Excel на C#

Reading time7 min
Views109K

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

Однако, у многих Excel до сих пор ассоциируется с чем-то тяжелым, неповоротливым и сложным. Давайте посмотрим, как мы, C# разработчики можем легко сформировать простой Excel документ, на примере табличного отчета.

Читать далее

Как выбрать HDMI-кабель? — Разбор

Reading time5 min
Views153K
Вы когда-нибудь задавались вопросом что за странная ситуация с ценой на HDMI-кабели? На Яндекс.Маркете за трехметровый HDMI-кабель цена стартует с 131 рубля, а заканчивается проводом почти за полмиллиона! Понятно, что кабель за пол ляма — это какая-то единичная дичь.





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

Так всё же. Влияет ли цена кабеля на качество изображения? Какие бывают стандарты HDMI кабелей? И какой HDMI-провод выбрать для 4K телевизора и консолей нового поколения?

Сегодня вместе с вами разбираемся в HDMI кабелях.

Давайте сразу расставим точки над i. HDMI — это цифровой интерфейс High Definition Multimedia Interface.

Локализация в ASP.NET Core Razor Pages — Культуры

Reading time7 min
Views6.6K

Привет, хабр! Прямо сейчас OTUS открывает набор на новый поток курса "C# ASP.NET Core разработчик". В связи с этим традиционно делимся с вами полезным переводом и приглашаем записаться на день открытых дверей, в рамках которого можно будет подробно узнать о курсе, а также задать эксперту интересующие вас вопросы.

Это первая статья из серии, посвященной локализации в ASP.NET Core Razor Pages приложениях. В этой статье мы рассмотрим конфигурацию, необходимую для подготовки сайта к локализации контента, или другими словами, для глобализации сайта. В следующих статьях я расскажу о создании локализованного контента и о том, как преподносить его конечному пользователю.

Читать далее

Представляем .NET Live TV — ежедневные лайв-стримы для разработчиков

Reading time3 min
Views20K
Сегодня мы запускаем .NET Live TV, ваш универсальный поисковик для всех потоковых трансляций .NET и Visual Studio на Twitch и YouTube. Мы всегда ищем новые способы донести отличный контент до сообщества разработчиков и вводить новшества в способы взаимодействия с вами в режиме реального времени. Прямая трансляция дает нам возможность создавать больше контента, где каждый может задавать вопросы и взаимодействовать с группами разработчиков.

Под катом рассказываем о различном контенте и шоу на ресурсе.

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

Самые лучшие дистрибутивы Linux для десктопа в 2020 году

Reading time9 min
Views274K

Логотипы пяти лучших дистрибутивов для начинающих пользователей Linux

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

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

Посмотрим на самые популярные дистрибутивы Linux в 2020 году для домашнего десктопа, что рекомендуют для начинающих пользователей, опытных специалистов и на легковесные варианты для старых машин x86. И проголосуем за самый популярный дистрибутив.
Читать дальше →

Думай как инженер: 4 способа находить нестандартные решения

Reading time8 min
Views25K

В работе и быту нам часто приходится сталкиваться с проблемами, которые заводят в тупик, хотя кажется, что их решение лежит где-то на поверхности. «Эх, мне бы сейчас чужие мозги», — думаете вы. К счастью, операция необязательна, достаточно использовать МФО, РВС, детский язык и маленьких человечков! Не переживайте, это научно подкрепленные методы, которые заставляют мозг работать иначе. Вместе с ведущими телеграм-канала Креативность 101 разбираемся с феноменом инерции мышления и преодолеваем психологические барьеры.
Вот как это делается

Как скрестить Excel c интерактивным веб-приложением

Reading time5 min
Views27K
Не секрет, что Excel довольно мощный инструмент для работы с числовыми табличными данными. Однако средства, которые предоставляет Microsoft для интеграции с ним, далеки от идеала. В частности, сложно интегрировать в Excel современные пользовательские интерфейсы. Нам нужно было дать пользователям Excel возможность работать с довольно насыщенным и функциональным интерфейсом. Мы пошли несколько другим путем, который в итоге показал хороший результат. В этой статье я расскажу, как можно организовать интерактивное взаимодействие Excel c веб-приложением на Angular и расшить Excel практически любым функционалом, который реализуем в современном веб-приложении.


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

Создание favicon для сайта 2020

Reading time10 min
Views146K

Что такое favicon и для чего он нужен?


Favicon – это значок (иконка), который отображается во вкладке браузера, закладках, а также в сниппетах результатов поиска.

image

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

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

Какой формат использовать для favicon?


Раньше в качестве основного формата использовали ICO. Особенность данного формата – мульти-размерность. Данный файл может хранить в себе несколько размеров иконки. На смену ICO пришел формат PNG. ICO все еще поддерживаемый, но большинство современных браузеров выбирают PNG формат иконки, который легче. Некоторые браузеры не могут выбрать правильный значок в файле ICO, что приводит к неправильному использования значка с низким разрешением.

О каких платформах пойдет речь в этой статье?


  • Десктопные браузеры
  • Chrome на Android
  • Иконка закладки в iOS (PWA)
  • macOS
  • Windows

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

Information

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