📓 Записки программера
1.01K subscribers
304 photos
1 video
6 files
599 links
Канал с регулярными постами о разных интересных материалах (статьи, видео, фреймворки и полезные инструменты).

https://dotnet.social/@denisio
Download Telegram
Playing with Windows security из двух частей - раз и два - в основном со стороны реверсинжениринга. Во второй части, про Kerberos присутствует некоторая недосказанность (хочется надеется, что статью ещё не дописали и будет продолжение). #howto
👍1
Твиттеры принесли опенсурс платформу для изучения кубера и AWS EKS #kubernetes
👍3🔥2
Для тех, кто хостит пет-проекты не в кубере, а просто в условном docker (как я например), но хочет настроить CI/CD с помощью gitlab - максимально простой мануал как это сделать: билд на gitlab-runner (который тоже можно поднять на своём же сервере, чтобы не использовать часы runner'а gitlab), docker-compose файл из шаблона и docker compose up по SSH для этого образа со стадии билда.

Не забудьте выключить гитлабовские runner'ы в CI/CD Settings (и оставить только свой), а также добавлять тег вашего runner в .gitlab-ci.yml (да, я часто забываю).

#gitlab #deploy
👍8
Интернеты принесли забавную штуку bolt.new, которая по текстовому описанию генерит проект. Год назад я записывался в wait list одного проекта, который планировал что-то подобное но он явно не взлетел, потому что с тех пор не было никаких новостей. А этот видимо взлетел (ну или делает вид что так). На простеньких конструкциях как на скриншоте - работает норм.

Пока неясно насколько большой проект оно сможет держать в контексте выполнения и рефакторить по новым условиям. #ai
👍4
Очень простой и строготипизированный PredicateBuilder - когда надо собрать выражение в EF вида
select  ...
from table1
where (x=1 and y=2) or (x=3 and y=5) or (x=3 and y=5 and coef>1)

(или других условий) и вот этих условий в OR неизвестное (динамическое) количество, зависящее от внешних условий.

С традиционным AND обычно никаких проблем:
var q = db.Items.AsQueryable();
q = q.Where(...);
q = q.Where(...);
...
var items = await q.ToArrayAsync();

А вот с OR такого не прокатит, так что PredicateBuilder спасает в этом случае. #dotnet
👍5🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
github profile генератор, который генерит markdown страничку для профиля. Не знаю зачем, но выглядит симпатишно :))
🔥4
Внезапно каналу 2 года исполнилось 🎆
🔥31👍9👻1🗿1
Как использовать Result<T> и немного LINQ для railway oriented programming или "у вас result'янка". С одной стороны выглядит красиво и реализует short-circuit, когда фейл одного из степов сразу возвращает Result.Error и всё прекращается. Но под капотом некоторое количество не оч кросивого кода. Наверное имеет смысл для ознакомления, но использовать я такое не буду. #dotnet
👍31
инструмент для мониторинга исходящих http запросов

dotnet tool install -g dotnet-http


А также 9 интересных статей на тему внутренних штук дотнета (для собирания метрик в т.ч.) с примерами кода #dotnet
🔥7👀1
Коротенькая статья по хранению векторов для #LLM (в статье для Ollama)
🔥2
Я тут ковырял MSSQL в одном проекте, а там использовалось page data compression для разного второстепенного барахла, что здорово сжимало данные и уменьшало IO. И надо сказать page data compression отлично подходит если данные меняются редко, а жмутся хорошо. И вспомнил, что в Postgres есть аналог, ну как аналог... штука, которую тоже можно использовать для сжатия данных - TOAST. И нашёл статью, где неплохо описывается в т.ч. структура (как оно лежит внутри) - и да, это полезно для понимания процессов и применения - где/когда можно, а где не стоит. #postgres
👍6🔥1
Ну это уже перебор я щитаю.
Зачем, зачем так делать? #postgres
😁10🔥1
В .net 9 завезли поддержку OAuth 2.0 Pushed Authorization Requests и вот статья с примерами реализации (да, на примере Duende IdentityServer) #dotnet
🔥6🤯1