IT Leaper
191 subscribers
188 photos
7 videos
19 files
133 links
Backend(asp.net)/Микрокомпьютеры/боты и многое другое
Администраторы не несут ответственность за ваши действия!
Весь материал предоставлено в ОЗНАКОМИТЕЛЬНЫХ целях!

Ссылка на каналhttps://t.me/Mempackk
Ссылка на наш чат https://t.me/+PJqt1gS96_ZmZDdi
Download Telegram
пока что так выходит :)
Хотел установить Hyprland и поставить его вместо i3. В итоге и Hyprland не поставился, и i3 слетел☺️
🥰1
IT Leaper
Хотел установить Hyprland и поставить его вместо i3. В итоге и Hyprland не поставился, и i3 слетел☺️
Хотите прикол? Слетел так же NetworkManager, нету доступа к сети 🥳
Даже после reboot подключение отсутствует

ps: после того, как изменил тип подключения с сетевого моста на NAT - всё заработало
IT Leaper
Сюююда Бутнулся, кайф, но дизайн хочется поправить. Например проги чуть програчнее сделать и иконки норм поставить
Не снося i3 и kde plasma установил пакет gnome рядом. Кайф, что сказать. Чего-то плазма мне не сильно зашла как гном, так что на основной ос буду ставить его + i3

Кстати, вот в чём прелесть арча: Сегодня сидишь в одном окружении, а завтра в другом. Или вообще если что-то не понравилось - взял установил какой-то новый wm, скажем hyrpland, и вот пожалуйста: новый ui, сиди пользуйся, райси
👍1
Установил арч через archinstall. Не совсем удобно, потому что:

a) /EFI монтируется в /boot.
Хотя /boot и /EFI имеют общею фс(например FAT32), это может плохо сказаться в будущем если на машине будет более 2 ос, да и если есть желание шифровать диск /boot, то вместе с ним будет зашифрован /efi. Только не понял как шифрование может блочить установку другой ос - единственный непонятный момент.

б) Интерфейс archinstall довольно быстро изменился за 1 год, по этому возникли трудности с установкой. Возможно если я бы смонтировал сначала в /EFI, установщик бы его автоматически не положил бы в /boot.

в) конфигурация системы не достаточно гибкая

Но, если посмотреть, есть ещё другая сторона: он сильно упрощает установку нужных пакетов, драйверов. Да и вообще он сильно автоматизирует монтирование разделов, что позволяет установить арч за минуты без бесячих ошибок и колупаний в конфиг файлах
IT Leaper
Установил арч через archinstall. Не совсем удобно, потому что: a) /EFI монтируется в /boot. Хотя /boot и /EFI имеют общею фс(например FAT32), это может плохо сказаться в будущем если на машине будет более 2 ос, да и если есть желание шифровать диск /boot…
А, совсем забыл что ноут уже пришел, так что буду устанавливать арч уже в качестве хоста. Не буду душнить тех деталями дальше, дальше буду делать сетап для разработчика, надеюсь всё получится
Что ж, начинаю устанавливать на хост)
👍2
НАКОНЕЦ ТО ЭТОТ ЧАС НАСТАЛ

I use arch btw
CLR via c#.zip
2 MB
Детальный разбор первой главы книги clr via c#. Но некоторую инфу в конце я посчитал что учитывать - не стоит. Может кому-то будет полезно)
This media is not supported in your browser
VIEW IN TELEGRAM
Итак, реализовал самый простой механизм аутентификации в аспнете. Когда пользователь регистрируется, его данные(хешированный пароль и имя) записывается в список, который хранится в классе UserRepository, другими словами имитация работы с бд(мок).

А при успешном логине, пользователь получает доступ к определённому ресурсу /courses/{id}. В данном случае мы проверяем существует ли пользователь с таким именем и совпадает ли хешированый пароль с тем, что хранитсяя в списке.

Как определяется является ли пользователь аутентифицированным?


При успешном прохождении /login пользователю через куки выдаётся jwt токен, который содержит некоторые данные о алгоритме + клеймы(данные пользователя например айди). Если (к примеру /courses/1) просит доказать что пользователь авторизован(RequireAuthorization), то берётся специальный токен и проверяется всё ли нормально. Если да - даётся "курс" в теле json-ответа , нет- выдаёт 401 Unauthorized. Вообще можно настроить этот процесс как угодно, но пока реализовал лишь основное
Аутентификация и авторизация в asp.net core

Что это такое?
Аутентификация — это процесс установления подлинности субъекта (пользователя, устройства, системы) путём проверки предъявленного фактора (например, пароля, токена или сертификата) против зарегистрированных данных. Она не доказывает, кто ты, а только подтверждает, что ты обладаешь чем-то, что даёт тебе доступ.
А вот к каким именно ресурсам вы имеете доступ - это решает авторизация.

Аутентификация
В asp.net есть несколько схем аутентификации каждая из которых определяет способ проверки и извлечения личности пользователя из запроса. Некоторые из них:
cookie-based - хранит ClaimsPrincipal между запросами в куках

Jwt Bearer - в 1 секции сохраняются данные о алгоритме, во 2 - данные о полезной нагрузке или клеймах(данные о пользователе), в 3 - подпись, которая хранит подпись(что бы нельзя было что-то изменить через браузер)

OAuth - используются посторонние провайдеры такие как Google, Microsoft, OpenID для получения токена(jwt) с помощью которого пользователь идентифицируется и установкой его в куки.
Все данные передаются в зашифрованном виде.

Авторизация

Policy-based - создаются политики, которые указываются на ендпоинтах
Role-based - используется метод AddRequirements(IAuthorizationRequirement ar) для добавлений кастомных требований и для кастомной обработки используется AuthorizationHandler<T> от которого можно наследоватся и написать свою проверку переопределив метод HandleRequirementAsync. Внедрив зависимость, данный хендлер будет также проверять является пользователь авторизирован

На общею картину можно посмотреть в моём проекте на гитхабе
🔥1
Всем привет, ну что ж, на этой неделе я собрал небольшой проект, правда до конца он не доработан. В этот раз я обратил внимание на aspire.net, grpc, ef core(postgresql) да и вообще на микросервисную архитектуру.

Данная архитектура мне сначала казалась "ненормальной", потому что уже слишком привык к монолиту, но всё-таки она показалась мне отличной. Да сложно её поддерживать, да когда надо добавить сервис приходится заморачиватся, но всё стоит на своём месте: бери и поддерживай тот или иной модуль, который тебе надо

А проект можете как всегда посмотреть вот тут
🔥1
Всем привет, мда, долго меня не было. Всё это время много что делал, но в основном игрался с многопоточностью, хттпклиентом, ну и blazor. По поводу blazor(та ещё з*лупа), обновлю прошлый проект, но он будет не идеальный
Ну я тут только похлопаю майкрософту и asmi.dll. Браво, Ге-ни-ально 👍
Самые страшные ошибки - это булевые(логические)

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

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

По этому, чтобы не просрать до хрена времени, лучше пройдитесь по критическим блоком кода и убедитесь, что все условия проверяют то что вам нужно и делают то, что нужно. После этого если не решилась проблема, эмулируйте поведение программы в тестовом проекте, а дальше просто дёргайте за ниточки. Так же можете кидать ии на проверку кода спрашивая где в коде могут быть проблемы, НО НЕ ПРОСИТЕ ЕГО НАПИСАТЬ ВСЮ ПРОГРАММУ С НУЛЯ иначе плохо будет только вам от этого
1
Всем привет, надолго ушёл и вас оставил без информации, мои извинения. Что я делал всё это время? Возможно тут подойдёт одно слово - Reverse

Решил углубится в эту тему по глубже. Помните я выставлял заметки о первой главе книги clr via c#? Так вот, знания о pe файлах, которые я приобрёл из этой прекрасной книги пригодились и с уверенностью могу сказать что если я не прочитал ту главу, я бы сейчас сошёл с ума окончательно от количества инфы.

Итак, с чего я начал? Я изначально думал что для этого мне надо будет использовать чистый С/С++, но нет, оказывается в С# предоставляются мощные инструменты для провидения анализа pe файла. Что надо было вспомнить с плюсов, так это указатели. Раньше давно я изучал с++ и мучился с ними, но теперь я более чем разобрался.

Я понимаю что многие даже не дочитают до этой строчки, так что предлагаю более практически подойти к этой теме. Чуть позже что-то опубликую)
👍1
IT Leaper
END betatest v1.apk
Решил по пользоваться прогой и обнаружил что зашифровать через свои ключи нельзя. По этому выкатил обнову. Баг был исправлен в первый же день его обнаружения, но код приложения - ужасный

Для того чтобы обновить прогу, удалите её сначала
Скачайте обнову⬇️
Это был пиздец. С новым годом, друзья
🔥5🌚1