Pull to refresh
3
0
AlexBar @AlexBar

User

Send message

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

Reading time11 min
Views13K

image


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


Всё началось с того, что я рассказывал про проблематику проектирования приложений на .NET и ныл про нелёгкую жизнь в кровавом интерпрайзе. Затем я описал решение, которое сам придумал и реализовал — Reinforced.Tecture. То была теория, концептуальные рассуждения, визионёрство и снова нытьё. На этот раз о том, что на дворе 2020 год, а HKT в C# так и не завезли.


Сегодня я продемонстрирую свой подход в действии на примере простенького проекта и покажу профиты, которые он даёт: от сокращения количества кода до автоматизации тестирования и оригинального подхода к документации. Как советовал старина Торвальдс: "Болтовня ничего не стоит, покажите мне код".

Читать дальше →
Total votes 32: ↑26 and ↓6+20
Comments26

.NET Core: Взаимодействие микросервисов через Web api

Reading time21 min
Views45K

Введение


Практически все, кто имел дело с микросервисами в .NET Core, наверняка знают книгу Кристиана Хорсдала “Микросервисы на платформе .NET”. Здесь прекрасно описаны подходы к построению приложения на основе микросервисов, подробно рассмотрены вопросы мониторинга, журналирования, управления доступом. Единственное, чего не хватает — это инструмента автоматизации взаимодействия между микросервисами.

При обычном подходе при разработке микросервиса параллельно разрабатывается web-клиент для него. И каждый раз, когда меняется web-интерфейс микросервиса, приходится затрачивать дополнительные усилия для соответствующих изменений web-клиента. Идея генерировать пару web-api/web-клиент с использованием OpenApi тоже достаточно трудоемка, хотелось бы чего-то более прозрачного для разработчика.

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

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

Web-клиент для микросервиса должен генерироваться автоматически на основе интерфейса и предоставляться через Dependency Injection.

Должен быть механизм организации редиректов на конечные точки микросервисов из главного приложения, взаимодействующего с пользовательским интерфейсом.
Читать дальше →
Total votes 6: ↑4 and ↓2+2
Comments24

Безопасный способ обмена JWT в ASP.NET Core + SPA

Reading time8 min
Views41K

Вступление


Идентификация по JWT (JSON Web Token) — это довольно единообразный, согласованный механизм авторизации и аутентификации между сервером и клиентами. Преимущества JWT в том, что он позволяет нам меньше управлять состоянием и хорошо масштабируется. Неудивительно, что авторизация и аутентификация с его помощью все чаще используется в современных веб-приложениях.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments10

Вторая жизнь старого ПК с Chrome OS

Reading time1 min
Views69K
image

Одним из величайших парадоксов современности можно назвать то, что в старом ПК больше вычислительных мощностей, чем в топовой модели хромбука. А значит, мы можем оживить давно пылившийся в шкафу компьютер при помощи Chrome OS, сообщает theverge.
Читать дальше →
Total votes 23: ↑17 and ↓6+11
Comments80

Ещё один способ определения качества воздуха на Arduino — с передачей данных в сеть

Reading time6 min
Views70K
Меня зовут Евгений, и я — веб разработчик. Уже есть десятки постов о различных метеостанциях на ардуино, но мне хотелось написать о том, что в 2016 году можно быстро, легко и без знания электротехники собрать полезный датчик, претендующий на IoT, который легко может работать с вашей инфраструктурой, написанной на чём угодно.
Да, я хочу в 2016 год
Total votes 21: ↑21 and ↓0+21
Comments99

Окей телевизор — учим Google Now управлять зомбоящиком

Reading time4 min
Views36K

«Окей гугл, включи-ка новости!» Как было бы удобно быстро запустить голосом любой канал на самом обычном телевизоре. Или управлять кондиционером, не имея под рукой пульта.

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

Смотрим видеодемонстрацию результата, а потом читаем, как это сделать своими руками.
Посмотрели, теперь поехали!
Total votes 16: ↑15 and ↓1+14
Comments34

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

Reading time11 min
Views128K
Если вы из тех, кто «работал ещё Там-То!» и «делал ещё То-То!», а сейчас счастливо отдыхаете на пенсии — эта статья не для вас. Просто спасибо за труд и примите мои поздравления. Но если же вы, как и я, даже став немного старше всё ещё ощущаете страсть к программированию, радуетесь виду кода и не можете устоять перед желанием написать ещё что-нибудь, тогда продолжайте читать.

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

Я смирился с мыслью, что мой лучший код уже написан — в прошлом. Мне было уже 54 года (немало!) и я, вероятно, уже не мог писать код так же хорошо, как и раньше. Кто знает — может быть у меня уже начала отказывать память, ну или я просто выучил всё, что был способен в жизни выучить. Мой настрой подкреплялся наблюдениями окружающей меня реальности. Все новые технологии выглядели для меня чудаковато. Я ненавидел Node.js. Я считал все фреймворки для веб-разработки ужасными. И я сетовал на то, что классические способы разработки ПО разрушились и превратились в набор клише, которые нынче впариваются под умными названиями типа Agile или «экстремальное программирование». Я скучал за днями, когда люди писали спецификацию на будущее ПО, программировали, а затем тщательно тестировали его. И когда в каждой статье не было тысячи жаргонных словечек.
Читать дальше →
Total votes 121: ↑117 and ↓4+113
Comments134

Оптический выключатель со звуковым эффектом на Arduino

Reading time4 min
Views38K
Добрый день!
В этом посте я хочу поделится с хабр сообществом о принципе работы сделанного мной
бесконтактного выключателя. Выключатель планируется использовать в системе умный дом.

Основой выключателя является недавно купленный мной улучшенный клон контроллера Arduino, продающегося под названием Carduino Nano V.7
image

Читать дальше →
Total votes 33: ↑28 and ↓5+23
Comments17

Программируемый выключатель света с дистанционным управлением

Reading time3 min
Views98K
image
Продолжение ранее опубликованных статей, первая, вторая.
В этой статье речь пойдет о программируемом выключателе света с дистанционным управлением. Как и прошлых проектах для отладки и прототипирования, я использую Carduino Nano V.7
Читать дальше →
Total votes 44: ↑39 and ↓5+34
Comments61

Охота на душный воздух, часть 1. Сколько СО2 в Москве?

Reading time5 min
Views48K
Открываем цикл статей о том, чем дышат жители разных городов. Начали со столицы. Генеральный директор «Тион Умный микроклимат» Михаил Амелькин проехался по Москве с датчиком СО2 и лично проверил столичный воздух.


Читать дальше →
Total votes 40: ↑37 and ↓3+34
Comments64

DIY: Универсальный Ambilight для домашней мультимедиа системы — Атмосвет

Reading time8 min
Views98K
Добрый день.

Для своей первой статьи я выбрал одну из самых успешных своих поделок: HDMI-passthrough аналог Ambilight от Philips, далее я будут называть эту композицию «Атмосвет».

Введение

В интернетах не очень сложно найти готовые/открытые решения и статьи как сделать Амбилайт для монитора/телевизора, если ты выводишь картинку с ПК. Но в моей мультимедиа системе вывод картинки на телевизор c ПК занимает только 5% времени использования, большее кол-во времени я играю с игровых консолей, а значит нужно было придумать что-то свое.

Читать дальше →
Total votes 50: ↑47 and ↓3+44
Comments34

Вёрстка писем: 60 полезных ресурсов, руководств и исследований

Reading time3 min
Views111K


В нашем блоге на Хабре мы часто пишем о создании почтовых рассылок — верстке HTML и CSS, работе с plain-text сообщениями и описываем интересные эксперименты. Сегодня мы представляем вашему вниманию список из 60 полезных ресурсов, туториалов и исследований о работе с email.
Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments4

Cветодиодные лампы-свечки Gauss нового поколения

Reading time2 min
Views23K
Первые лампы Gauss попали ко мне на тестирование полтора года назад. У большинства из них был не очень высокий индекс цветопередачи CRI (72.8-75.7), а диммируемая «свечка» сильно мерцала.

В новом поколении ламп Gauss эти недостатки устранены — лампы имеют низкий коэффициент пульсации света и достаточно высокий CRI.

Недавно я рассказывал о мощной 12-ваттной лампе-эквиваленте 100-ваттной лампы накаливания, сегодня расскажу о трёх лампах-свечках с цоколем E14.



Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments27

Пудра для мозга или как сделать порошок для посудомойки в 9,7 раз дешевле

Reading time11 min
Views285K


Update
Новый вариант порошка и более подробный разбор во второй части: DIY порошок для посудомойки: разбираем промышленные средства и улучшаем рецепт

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

Есть очень много областей нашей жизни, где наше представление формирует исключительно маркетинговый буллшит. Увы, большинство людей даже не пытаются задумываться о том, что лежит в основе всего этого. Очень часто рыночная ситуация приводит к тому, что себестоимость продукта составляет 0.5% от его цены. Остальное маркетинг, наценки, логистика, упаковка и тому подобное. Почти все в курсе про концепцию продажи чернил для принтера по цене слез гималайских девственниц и настойчивые рекомендации производителей использовать только оригинальные расходные материалы. Например, совсем недавно меня озарило, что 1.5 грамма сухого вещества во флаконе удобрений для растений не могут стоить 200-250 рублей. А ведь именно такое количество может уместиться в относительно стабильном состоянии в виде раствора. Я сразу представил себе гектары полей и грузовики, которые везут тонны порошка. В результате перешел на расфасовки по 1 кг Буйских комплексных сухих удобрений. Можно ванну раствора приготовить.

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

TLDR:

70% прокаленной соды и 30% стирального порошка вместо моющего средства.
Если очень лень возиться с содой, то просто порошок Биолан или его аналоги. Сода удешевляет.
Пищевая соль «Экстра» вместо соли.
Да начнутся адские эксперименты!
Total votes 159: ↑158 and ↓1+157
Comments447

Взгляд изнутри: 13 LED-ламп и бутылка рома. Часть 2

Reading time10 min
Views53K


Привет, мои маленькие любители гик-харкора!

В первой части обзора светодиодных ламп мы остановились на спектральных характеристиках, настоящие две части – ибо материала накопилось предостаточно – будут посвящены внутреннему убранству ламп и некоторым их интересным конструкционным особенностям.
Скандалы, интриги и расследования под катом
Total votes 16: ↑16 and ↓0+16
Comments30

Взгляд изнутри: 13 LED-ламп и бутылка рома. Часть 1

Reading time14 min
Views45K


Спустя 3.5 года после публикации статьи о вскрытии светодиодных ламп мы продолжим заниматься распиливанием LED-ламп и подглядыванием за их внутренним миром. Предполагается несколько частей данного исследования, а пока начнём со спектральных характеристик.
Много подробностей и трафика под катом
Total votes 16: ↑16 and ↓0+16
Comments31

Большой список научно-фантастических сериалов

Reading time20 min
Views416K
image
Кадр из заставки сериала «Грань»

Предисловие

На Geektimes и Habrahabr уже были статьи со списком Sci-Fi сериалов (Фантастические сериалы — обзор от фаната, Фантастические сериалы и др.). Но все они либо содержали достаточно мало сериалов и/или поверхностную информацию о них самих, либо были предвзяты в отношении тех или иных сериалов.

В данной публикации я постараюсь предоставить большой список научно-фантастических сериалов. А благодаря голосованию — узнать какие сериалы на самом деле нравятся пользователям Geektimes.
Читать дальше →
Total votes 58: ↑47 and ↓11+36
Comments189

История для позвоночника: обзор корректора осанки Lumo Lift, софта из Google Play и российского «Мастера осанки»

Reading time13 min
Views45K
Наконец-то я могу ответить на вопрос «куда мне с грыжей», и сегодня я подготовил для вас большой материал о корректорах осанки и проблемах, которые они решают. Под катом Lumo Lift, отечественный «Мастер осанки» и американский Iposture, подозрительно на него похожий, а также обзор бесплатного софта для Androida, в том числе и «прямые конкуренты» нагрудных датчиков.



Далее много слов и картинок.

Читать дальше →
Total votes 25: ↑21 and ↓4+17
Comments11

«Горбатый, я сказал горбатый!» Отладка «сервомоторов» и «драйверов» осанки

Reading time3 min
Views13K


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

Я потестировал прибор Lumo Lift неделю сам и неделю на девушке. Вывод такой.
Прибор помогает. Я бы сказал он дает от +15% до +25% к вероятности успеха прокачать себе строевую выправку стройную осанку. Но. Он работает, как вспомогательное средство. (Примерно так же, как зеркало или весы влияют на уровень вашей красоты.) Есть две области, где он очень пригодится — это рабочее место за компом и метро. В остальных случаях он мало полезен.

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

На мой взгляд, наилучшее применение прибора — это месячный курс/тренинг, в ходе которого идет всяческая медитация физкультура, а прибор идет как волшебный атрибут. Или запустить квест: поправил себе осанку — подари прибор другу. Как Ice Bucket Challenge.

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

Под катом обзор Lumo Lift и еще 11 устройств/систем (в том числе и DIY), направленных на «перепрошивку» осанки (в дополнение к посту История для позвоночника: обзор корректора осанки Lumo Lift, софта из Google Play и российского «Мастера осанки»).
Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments6

Обзор способов и протоколов аутентификации в веб-приложениях

Reading time18 min
Views620K


Я расскажу о применении различных способов аутентификации для веб-приложений, включая аутентификацию по паролю, по сертификатам, по одноразовым паролям, по ключам доступа и по токенам. Коснусь технологии единого входа (Single Sign-On), рассмотрю различные стандарты и протоколы аутентификации.

Перед тем, как перейти к техническим деталям, давайте немного освежим терминологию.

  • Идентификация — это заявление о том, кем вы являетесь. В зависимости от ситуации, это может быть имя, адрес электронной почты, номер учетной записи, итд.
  • Аутентификация — предоставление доказательств, что вы на самом деле есть тот, кем идентифицировались (от слова “authentic” — истинный, подлинный).
  • Авторизация — проверка, что вам разрешен доступ к запрашиваемому ресурсу.


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

Аналогично эти термины применяются в компьютерных системах, где традиционно под идентификацией понимают получение вашей учетной записи (identity) по username или email; под аутентификацией — проверку, что вы знаете пароль от этой учетной записи, а под авторизацией — проверку вашей роли в системе и решение о предоставлении доступа к запрошенной странице или ресурсу.

Однако в современных системах существуют и более сложные схемы аутентификации и авторизации, о которых я расскажу далее. Но начнем с простого и понятного.
Читать дальше →
Total votes 48: ↑48 and ↓0+48
Comments20
1
23 ...

Information

Rating
Does not participate
Location
Воронеж, Воронежская обл., Россия
Registered
Activity