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

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

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

О классах Program и Startup — инициализация ASP.NET приложения. Часть II: IWebHostBuilder и Startup

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

Это - продолжение статьи, первая часть которой была опубликована ранее. В той части был рассмотрен процесс инициализации, общий для любого приложения .NET Core на базе шаблона Generic Host. А в этой части будет рассмотрена инициализация, специфическая именно для веб-приложения. Именно в нее входят вызовы методов Startup-класса.

Если вы не читали первую часть, то рекомендую в нее заглянуть, по двум причинам. Во-первых, процесс инициализации, специфической именно для веб-приложения, существенно опирается на механизмы, рассмотренные в первой части: методы интерфейса построителя веб-приложения IWebHostBuilder в основном реализуются через вызовы методов интерфейса построителя IHostBuilder, и процесс инициализации проходит, в целом, через те же стадии, общие для любого базирующегося на Generic Host приложения .NET Core. А во-вторых, там объяснено, для чего часть информации убрана под спойлеры, и какую информацию под какими спойлером можно увидеть (и решить - а стоит ли ее смотреть).

И ещё пара слов про вторую часть. К моему сожалению, она получилась раза в два больше первой части, которая сама по себе была и так немалой. Но мне не удалось найти способа сократить ее без ущерба для содержания. Так что заранее прошу простить меня тех, кому большой объем статьи помешает с ней ознакомиться. Возможно, им сможет помочь краткое содержание этой статьи, которое находится сразу под катом.
А ещё, опыт публикации первой части показал, что стоит заранее предупредить потенциальных читателей, чтобы ненароком не ввести их в заблуждение: в этой статье содержится только описание "как оно работает", но нет никакой информации, как этим пользоваться практически, никаких рецептов и вообще - никакого кода. К сожалению, большой объем матераиала заставил чем-то пожертвовать. И я решил ради полноты описания принципов работы - информации, которую лично я нигде больше не видел - пожертвовать сведениями о практических приемах работы - той информацией, которая, в конце концов, уже опубликована в руководстве от изготовителя и в многочисленных статьях.

Итак, кому интересен предмет статьи - добро пожаловать под кат.

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

Мы Опубликовали Качественный, Простой, Доступный и Быстрый Синтез Речи

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

fiona


Вторая частьhttps://habr.com/ru/post/563484/


Вокруг темы синтеза речи сейчас много движения: на рынке есть огромное число тулкитов для синтеза, большое число закрытых коммерческих решений за АПИ (как на современных технологиях, так и на более старых, т.е. "говорилки") от условных GAFA компаний, большое количество американских стартапов, пытающихся сделать очередные аудио дипфейки (voice transfer).


Но мы не видели открытых решений, которые бы удовлетворяли одновременно следующим критериям:


  • Приемлемый уровень естественности речи;
  • Большая библиотека готовых голосов на разных языках;
  • Поддержка синтеза как в 16kHz так и в 8kHz из коробки;
  • Наличие своих собственных голосов у авторов решения, не нарушающих чужие права и лицензии;
  • Высокая скорость работы на "слабом" железе. Достаточная скорость работы на 1 потоке / ядре процессора;
  • Не требует GPU, команды ML инженеров или какой-либо дополнительной тренировки или для использования;
  • Минимализм и отсутствие зависимостей / использование в 1 строчку / не надо ничего собирать или чинить;
  • Позиционируется именно как готовое решение, а не очередной фреймворк / компиляция чужих скриптов / тулкитов для сбора плюсиков;
  • Решение никак не связано и не аффилировано с закрытыми экосистемами и продуктами Гугла / Сбера / Яндекса / вставить нужное;

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

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

Книга «Совершенный софт»

Время на прочтение12 мин
Количество просмотров7.8K
image Привет, Хаброжители! «Совершенный софт» — это проверенный, структурированный и высокотехнологичный подход к разработке программного обеспечения. Множество компаний уже используют идеи Лёве в сотнях систем, но раньше эти мысли нигде не публиковались.

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

Метод и принципы «совершенного софта» можно применять независимо от размера проекта, компании, технологии, платформы или отрасли. Цель этой книги — решение важнейших задач современной разработки ПО, требующих исправления программных систем и проектов, ваш карьерный рост и, возможно, изменение всей IT-индустрии. Рекомендации и знания, которые вы получите, сэкономят десятилетия вашего опыта и спасут многие проекты. Эта книга принесет большую пользу разработчикам, архитекторам, руководителям проектов или менеджерам на любом этапе карьеры.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Как удалить «неудаляемые» приложения со смартфона

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


Чтобы увеличить привлекательность смартфонов, производители ставят на них как можно больше разных программ. Это понятно. Просто берём и удаляем ненужное… Стоп.

Оказывается, некоторые программы невозможно удалить. Например, на отдельных моделях Samsung невозможно удалить Facebook (есть только опция 'disable'). Говорят, на Samsung S9 вдобавок предустановлены «неудаляемые» приложения Microsoft.

Эти смартфоны приведены для примера. Такая же проблема и на других моделях. На многих есть неудаляемые программы от самого производителя.

Всё это надо зачистить.
Читать дальше →
Всего голосов 156: ↑145 и ↓11+168
Комментарии203

Своими руками: Компьютер в столе с жидкостным охлаждением

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

Друзья, всех приветствую!

Ко мне обратился товарищ и попросил помочь воплотить его мечту в реальность.

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

Изготовление начинается с рамы: это столешница, ножки, перекладина жесткости и кронштейн.

Размеры товарищ захотел 122 на 65 см.
Читать дальше →
Всего голосов 186: ↑138 и ↓48+138
Комментарии201

Об одной уязвимости в…

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


Год назад, 21 марта 2019, в баг баунти программу Mail.ru на HackerOne пришел очень хороший багрепорт от maxarr. При внедрении нулевого байта (ASCII 0) в POST-параметр одного из API-запросов веб-почты, который возвращал HTTP-редирект, в данных редиректа виднелись куски неинициализированной памяти, в которых чаще всего раскрывались фрагменты из GET-параметров и заголовков других запросов к тому же серверу.
Читать дальше →
Всего голосов 60: ↑57 и ↓3+74
Комментарии14

Самый крутой системный блок для PC (сделай сам)

Время на прочтение5 мин
Количество просмотров782K
Добрый день, хабровчане. Большое спасибо за инвайт! И хотя начинать с перевода чужих постов — не самая хорошая идея, возможно, этот проект самоделки еще кому-то покажется мега-крутым.



Это перевод поста с форума Оverclock.net. Пользователь Show4Pro решил вытащить все внутренности своего супер компа и повесить все на стену. Прекрасная идея прекрасно реализована. Кому интересно, как это собиралось и как это работает — велкам под кат.
Читать дальше →
Всего голосов 301: ↑285 и ↓16+269
Комментарии126

3D печатный яйцебот всего за $15. Рецепт приготовления

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

image

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

Для тех кто не в курсе яйцебот — это машина, которая обычным фломастером умеет рисовать на любых сферических объектах: яйцах, теннисных шариках, ёлочных игрушках. Концепт механизма придумал дизайнер Bruce Shapiro в далеком 1990-м году, а не так давно знаменитая компания Evil Mad Scientist Laboratories выпустила в свободную продажу свою версию под названием The EggBot. Надо отдать должное Evil Mad Scientist Laboratories свой проект сделала открытым и разрешает пользоваться программным обеспечением для других яйцеботов даже в коммерческих проектах.
Всего голосов 79: ↑79 и ↓0+79
Комментарии68

Проверка связи: портативная рация от Xiaomi

Время на прочтение3 мин
Количество просмотров47K
Привет, Geektimes! Сегодня, как вы догадались, поговорим не про мобильные телефоны. Нет, смартфоны-то нужны, но вот представьте такую ситуацию: вы отправились в автопробег по Европе двумя машинами, и связь между ними определенным образом нужно поддерживать. С разными тарифами и роумингом, тем более перемещаясь между странами, запросто можно разориться, а рация без проблем решит этот вопрос даже при отдалении на пару километров. И это лишь один из множества кейсов использования этого устройства: видимо поэтому в 2017 году Xiaomi решила выпустить именно рацию.


Читать дальше →
Всего голосов 42: ↑23 и ↓19+4
Комментарии101

Как я разрушил продуктивность офиса с помощью Slack-бота, заменяющего лица

Время на прочтение7 мин
Количество просмотров16K
imageАвтор материала знакомит нас со своим коллегой Крисом — @Malakhor9000

Крис работает в офисе, где есть целая куча сотрудников, которым нравится «лепить» его лицо фотошопом на самые разные фотки, и постить все это в Slack-канале компании.

Однако постоянно открывать редактор и «копипастить» вырезки лица — дело нудное, особенно когда Крис пытается отвлечь коллег рассказами о своих геройствах в Smite. И вот после многих ночей, проведенных в фотошопе на протяжении нескольких недель, автор материала решительно захотел найти более удобный способ. Так на свет появилась идея написания @Chrisbot. Подробности этой истории ниже.


Изначально, когда я обдумывал идею, я знал, что в проекте будет три главных компонента:

  1. Простая обработка изображения.
  2. Интеграция со Slack.
  3. Распознавание лиц.

image
Читать дальше →
Всего голосов 23: ↑16 и ↓7+9
Комментарии4

Как мы с друзьями прокачали наш сторонний проект до бизнеса с доходом в $17 000 в месяц

Время на прочтение9 мин
Количество просмотров33K
В 2014 мы с друзьями решили создать настолько крутые инструменты веб-дизайна, насколько это вообще возможно. Мы создали UI kitsAdmin DashboardsTemplates и Plugins.

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



С точки зрения доходов, если не брать во внимание Черную пятницу с ее распродажами (которая помогла нам удвоить прибыль ноября 2016 года), мы выросли примерно до $ 22 000 выручки в месяц. Часть ее уходит на оплату комиссии по партнерской программе, НДС, налога поставщиков и другие траты. В результате на данный момент мы имеем около $17,000 ежемесячной чистой прибыли.
Сегодня я хочу поделиться с вами, как мы создавали свои продукты и как немного раскрутили этот побочный бизнес.
Читать дальше →
Всего голосов 52: ↑39 и ↓13+26
Комментарии13

Вы неправильно пишете животных

Время на прочтение5 мин
Количество просмотров371K
Животные – это платформы с очень ограниченной памятью, вычислительными способностями и возможностями модификаций. Разработчикам энимал-сцены приходится выдавать практически гениальные низкоуровневые алгоритмы. Правда, большое количество хардкода вызывает характерные проблемы с отсутствием проверки в экзотических условиях. Та же фильтрация входных данных делается очень и очень криво.


Уязвимость рекурсивных алгоритмов навигации муравья: спираль смерти

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

Но пойдём далее. Я не знаю, кто разрабатывал архитектуру ящериц, но они бегают в одном процессе, а дышат в другом. При этом платформа не поддерживает многозадачность, поэтому костыль с максимальной длиной бега в 4-6 секунд просто эпичен.
Читать дальше →
Всего голосов 442: ↑438 и ↓4+434
Комментарии352

Робомобиль на базе Arduino Mega 2560 с Bluetooth управлением и автономным движением с объездом препятствий

Время на прочтение2 мин
Количество просмотров19K
Представляю свой проект робомобиля на Arduino. На просторах интернета есть масса подобных статей, наткнувшись на одну из них решил реализовать увиденное со своими изменениями в конструкцию и функционал. Реализованы следующие возможности: управление робомобилем по Bluetooth со смартфона; автономное движение робомобиля с объездом препятствий.


Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии26

Атакуем SS7: анализ защищенности сотовых операторов в 2015 году

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


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

В 2015 году специалисты Positive Technologies осуществили 16 проектов по анализу защищенности сетей SS7 ведущих мобильных операторов регионов EMEA и APAC. Результаты восьми наиболее информативных проектов попали в нашу статистику. В этой статье мы рассмотрим уровень защищенности абонентов сотовых сетей, а также всех промышленных и IoT-устройств, от банкоматов до GSM-систем контроля давления на газопроводе, которые также являются абонентами сотовых сетей. В отчете описаны основные обнаруженные проблемы и пути их решения.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии8

Создаём нейронную сеть InceptionV3 для распознавания изображений

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


Привет, Хабр! Под катом пойдёт речь о реализации свёрточной нейронной сети архитектуры InceptionV3 с использованием фреймворка Keras. Статью я решил написать после ознакомления с туториалом "Построение мощных моделей классификации с использованием небольшого количества данных". С одобрения автора туториала я немного изменил содержание своей статьи. В отличие от предложенной автором нейронной сети VGG16, мы будем обучать гугловскую глубокую нейронную сеть Inception V3, которая уже предустановлена в Keras.

Вы научитесь:

  1. Импортировать нейронную сеть Inception V3 из библиотеки Keras;
  2. Настраивать сеть: загружать веса, изменять верхнюю часть модели (fc-layers), таким образом, приспосабливая модель под бинарную классификацию;
  3. Проводить тонкую настройку нижнего свёрточного слоя нейронной сети;
  4. Применять аугментацию данных при помощи ImageDataGenerator;
  5. Обучать сеть по частям для экономии ресурсов и времени;
  6. Оценивать работу модели.

При написании статьи я ставил перед собой задачу представить максимально практичный материал, который раскроет некоторые интересные возможности фреймворка Keras.
Читать дальше →
Всего голосов 39: ↑39 и ↓0+39
Комментарии27

Нейронные сети для начинающих. Часть 2

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


Добро пожаловать во вторую часть руководства по нейронным сетям. Сразу хочу принести извинения всем кто ждал вторую часть намного раньше. По определенным причинам мне пришлось отложить ее написание. На самом деле я не ожидал, что у первой статьи будет такой спрос и что так много людей заинтересует данная тема. Взяв во внимание ваши комментарии, я постараюсь предоставить вам как можно больше информации и в то же время сохранить максимально понятный способ ее изложения. В данной статье, я буду рассказывать о способах обучения/тренировки нейросетей (в частности метод обратного распространения) и если вы, по каким-либо причинам, еще не прочитали первую часть, настоятельно рекомендую начать с нее. В процессе написания этой статьи, я хотел также рассказать о других видах нейросетей и методах тренировки, однако, начав писать про них, я понял что это пойдет вразрез с моим методом изложения. Я понимаю, что вам не терпится получить как можно больше информации, однако эти темы очень обширны и требуют детального анализа, а моей основной задачей является не написать очередную статью с поверхностным объяснением, а донести до вас каждый аспект затронутой темы и сделать статью максимально легкой в освоении. Спешу расстроить любителей “покодить”, так как я все еще не буду прибегать к использованию языка программирования и буду объяснять все “на пальцах”. Достаточно вступления, давайте теперь продолжим изучение нейросетей.
Читать дальше →
Всего голосов 46: ↑42 и ↓4+38
Комментарии37

Интервью с ддосером или на чем зарабатывают вандалы

Время на прочтение3 мин
Количество просмотров45K
Привет, Хабрахабр! Я независимый исследователь вредоносного ПО и безопасности. И пришла мне мысль, чтобы найти человека, предоставляющего услуги по ддосу и устроить ему интервью.

Именно это я и сделал. Прошу под кат, если интересно сколько зарабатывают такие люди, как это делают и вообще, зачем им это все надо.
Читать дальше →
Всего голосов 75: ↑67 и ↓8+59
Комментарии57

Пишем простую программу захвата скриншотов

Время на прочтение15 мин
Количество просмотров45K
Существует множества различных программ для захвата изображений с экрана, их редактирования «прямо на экране» и загрузки на различные сервисы. Это всё хорошо, но большинство программ привязаны к определённым сервисам и не дают возможности загружать куда-либо ещё. В голове давно уже крутилась мысль создать свой простенький сервис загрузки картинок под свои нужды. И я хочу поделиться историей разработки данной программы.

Не долго думая и имея под рукой Visual Studio 2015 конечно же создал новый C# проект т.к. это очень удобно и я уже делал ранее небольшие C# программы.
Читать дальше →
Всего голосов 32: ↑28 и ↓4+24
Комментарии40

Открытие студии мобильной разработки «с нуля» в Питере — 3.5 года спустя. Реинкарнация. Часть 2

Время на прочтение10 мин
Количество просмотров15K
Привет всем, продолжаю публикацию — сегодня Часть 2 истории нашей студии (нет, категорически мне не нравится слово СТУДИЯ — компания!) мобильной разработки notissimus.com, которая за 3.5 года из 3х человек сумела вырасти до 19+ человек на момент написания этих строк. Первую часть опуса можно найти по этой ссылке. Напомню, что сама история была написана давно, но сейчас мне захотелось взглянуть на нее и добавить upd.2016 — обновление и дополнения. Скажем так, ретроспективный анализ происходящего с более трезвым и опытным взглядом. Взяли за правило ежедневно записывать видео с нашим опытом работы и обзором проектов, которые ведем… вот последнее видео, которое записали сегодня — показали обороты, которая торговая компания может получить только из мобильных приложений. Ведь это всем интересно, да?)

Поехали…

p.s. часть 1 обязательна к прочтению, если вы ее не читали — запутаетесь.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии5

Глупый дом

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

Краткое предисловие



TLDR: переходите сразу к заключению!

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

Многословное введение



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

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

и всего одна картинка
Всего голосов 80: ↑76 и ↓4+72
Комментарии191

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность