Pull to refresh
6
0

Программист

Send message

Приложение для структурирования информации. Часть 2

Level of difficultyEasy
Reading time1 min
Views1.5K

Это продолжение статьи про приложение для работы с данными, которые представляются деревьями.

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

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

Из нового я добавил просмотр новых типов файлов, в том числе и pdf. Браузер, в котором запускается код, позволяет сделать такой просмотр очень просто. Всё новые фичи можно посмотреть на этой странице.

Сайт приложения так же написан на blazor, но на другом типе проекта: blazor webassembly standalone. Приложение же написано на MAUI Blazor Hybrid. Оба этих типа загружают net сборку в браузер. В теории можно легко сделать веб версию, заменив при этом базу и добавить взаимодействие по api с пользователями и авторизацией. Скорее всего после всех запланированных TODO я этим и займусь.

Читать далее

Приложение для структурирования информации

Level of difficultyEasy
Reading time4 min
Views5.4K

Недавно написал для себя приложение для структурирования информации, которое позволяет организовать её в древовидном виде. Иначе говоря, можно создавать множество деревьев. Так, на мой взгляд, можно структурировать в удобном виде что угодно. И не надо распихивать ничего по блокнотам или мучить обсидиан. Я долгое время структурировал данные через него, но реально дать структуру информации он не позволяет. Там есть текст, есть ссылки на другой текст, есть mermaid. Можно подсчитывать ассоциации и очаровываться линиями. И для кого-то этого хватает. Но структурировать данные от простого к подробностям, чтобы удобно объять всю информацию и работать с ней, и главное, чтобы было этот удобно визуализировать – такого там нет, да и нет подобных приложений.

Поскольку я практически не писал приложений под десктоп, но знаю немного Blazor, то решил написать на нем десктоп приложение. Да и redux подобный фреймворк Fluxor, на мой взгляд, гораздо удобнее того, что есть для десктопа. Вместе с UI фреймворком Radzen получилось вполне сносно. По правде говоря, его пришлось форкнуть и доработать ресайз панели.

Шаблон приложения для такого рода интеграции под десктоп это .NET MAUI Blazor Hybrid app...

Читать далее

Немного размышлений о домене и инфре

Level of difficultyEasy
Reading time3 min
Views868

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

Для быстрой реализации этого, надо, как минимум, создать 3 проекта: проект с формочками, проект с доменное логикой, там, где будут манипуляции с объектами: вставкой, удалением и.т.д. И проест с инфраструктурой: работой с бд, файловой системой и.т.д. 

Зависимости проектов будут такими: проекты с формочками и инфрой с бд будут зависеть от проекта с доменными моделями, там, где основное поведение и бизнес логика приложения. 

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

Итого так реализуется основное ядро чистой архитектуры. Но что дальше? 

Дальше встает вопрос: можно ли использовать доменные объекты в представлении? Много кто считает нет. И у этого есть свои обоснования, например, использование атрибутов в моделях представлений.

Читать далее

Аутентификация asp .net core через IdentityServer4

Reading time3 min
Views23K
Тут не будет ничего необычного, один фреймворк «IdentityServer4» будет выполнять аутентификацию по логину и паролю на неком Api, плюс еще обрабатывать refresh_token.

Работать он будет с существующим IdentityDbContext, IdentityUser.

По итогу получится сценарий при котором, для каждой аутентификации будет выдан и сохранен в таблицу «PersistedGrants» один refresh_token. Это один из четырех типов разрешений OAuth 2.0:

Учётные данные владельца ресурса (Resource Owner Password Credentials): используются доверенными приложениями, например приложениями, которые являются частью самого сервиса.

Все работы по обслуживанию токенов берет на себя фреймворк.

Итак начнем.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity