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

https://dotnet.social/@denisio
Download Telegram
LLM всё страньше и страньше. Оффлайновая LLM которая работает в браузере.

Которая конечно квантизованная по самое небалуйся чтобы уложица в ~1 ГБ. И она достаточно быстра и визуально почти не отличить от ChatGPT :) #llm
🔥4👍2
Интересный тредик про то, почему много игр не использует многоядерность (8+ ядер)
Стеганография в base64 и часть 2. Да, там есть немножечко неиспользуемых битов, которые можно заюзать для каких-то целей
🔥2🤔2
Оч простая вещи, но в целом тоже иногда нужна бывает - это шифрование данных в ASP.NET. Штатно есть Data Protection API, который по дефолту ложит ключи в %LOCALAPPDATA%\ASP.NET\DataProtection-Keys, в линуксовом контейнере это /root/.aspnet - который можно (нужно) вытащить как volume в docker-compose, чтобы фарш из шифрованных данных можно было провернуть назад после апдейта контейнера :) к щастью там просто XML файлы, которые несложно сохранить. Ну или хранить не в XML, а в каком-то другом сторадже персистить (база данных, redis, ...) #dotnet
👍3
Для тех, кто в РФ не может жить без дискорда - есть очень похожая self hosted замена для него (включая приложение и вебморду) - revolt
👍3
О ещё одна интересная статейка с картинками про оптимизацию в Postgres. По факту подход применим для многих реляционных СУБД, потому что плюс/минус форматы хранения у них часто похожи (записи/страницы). Разница в конкретных числах и некоторых особенностях хранения разных типов данных. #postgres
🔥2
7️⃣0️⃣0️⃣😁
🔥31👍2👀1
Не забываем тегировать потенциально длительные запросы в EF. Иногда экономит массу времени, особенно если в проекте есть похожие друг на друга сложные запросы. Реверсить SQL код в EF выражение иногда сложнее, чем наоборот. А так оно будет написано в лог прямо с комментарием, который был задан в TagWith. Я обычно туда пишу nameof(className) или nameof(className) + '.' + nameof(methodName) #ef
👍12🔥1
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