TGViewer
Channel Public Channel
📓 Записки программера

📓 Записки программера

@notes_of_programmer

Канал с регулярными постами о разных интересных материалах (статьи, видео, фреймворки и полезные инструменты).
Subscribers
1.1K
Photos
343
Videos
2
Links
655

Showing posts older than #635 · Back to latest

Older Posts 20 shown
Post #634 1.75K
  • ❤ 7
  • 😁 2
  • 🥰 1
Post #633 1.6K
инструмент для мониторинга исходящих http запросов

dotnet tool install -g dotnet-http


А также 9 интересных статей на тему внутренних штук дотнета (для собирания метрик в т.ч.) с примерами кода #dotnet
  • 🔥 7
  • 👀 1
Post #632 1.36K
Как использовать Result<T> и немного LINQ для railway oriented programming или "у вас result'янка". С одной стороны выглядит красиво и реализует short-circuit, когда фейл одного из степов сразу возвращает Result.Error и всё прекращается. Но под капотом некоторое количество не оч кросивого кода. Наверное имеет смысл для ознакомления, но использовать я такое не буду. #dotnet
  • 👍 3
  • ❤ 1
Post #631 1.3K
Внезапно каналу 2 года исполнилось 🎆
  • 🔥 32
  • 👍 9
  • 🗿 1
Post #629 1.96K
github profile генератор, который генерит markdown страничку для профиля. Не знаю зачем, но выглядит симпатишно :))
  • 🔥 4
Post #628 1.86K
Очень простой и строготипизированный 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
Post #627 1.49K
Интернеты принесли забавную штуку bolt.new, которая по текстовому описанию генерит проект. Год назад я записывался в wait list одного проекта, который планировал что-то подобное но он явно не взлетел, потому что с тех пор не было никаких новостей. А этот видимо взлетел (ну или делает вид что так). На простеньких конструкциях как на скриншоте - работает норм.

Пока неясно насколько большой проект оно сможет держать в контексте выполнения и рефакторить по новым условиям. #ai
  • 👍 4
Post #626 1.82K
Для тех, кто хостит пет-проекты не в кубере, а просто в условном docker (как я например), но хочет настроить CI/CD с помощью gitlab - максимально простой мануал (копия здесь) как это сделать: билд на gitlab-runner (который тоже можно поднять на своём же сервере, чтобы не использовать часы runner'а gitlab), docker-compose файл из шаблона и docker compose up по SSH для этого образа со стадии билда.

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

#gitlab #deploy #ssh
  • 👍 8
Post #621 1.55K
Playing with Windows security из двух частей - раз и два - в основном со стороны реверсинжениринга. Во второй части, про Kerberos присутствует некоторая недосказанность (хочется надеется, что статью ещё не дописали и будет продолжение). #howto
  • 👍 1
Post #619 1.51K
Не забываем тегировать потенциально длительные запросы в EF. Иногда экономит массу времени, особенно если в проекте есть похожие друг на друга сложные запросы. Реверсить SQL код в EF выражение иногда сложнее, чем наоборот. А так оно будет написано в лог прямо с комментарием, который был задан в TagWith. Я обычно туда пишу nameof(className) или nameof(className) + '.' + nameof(methodName) #ef
  • 👍 12
  • 🔥 1
Post #618 1.36K
7️⃣0️⃣0️⃣😁
  • 🔥 31
  • 👍 2
  • 👀 1
Post #617 1.57K
О ещё одна интересная статейка с картинками про оптимизацию в Postgres. По факту подход применим для многих реляционных СУБД, потому что плюс/минус форматы хранения у них часто похожи (записи/страницы). Разница в конкретных числах и некоторых особенностях хранения разных типов данных. #postgres
  • 🔥 2
Post #615 1.34K
Оч простая вещи, но в целом тоже иногда нужна бывает - это шифрование данных в ASP.NET. Штатно есть Data Protection API, который по дефолту ложит ключи в %LOCALAPPDATA%\ASP.NET\DataProtection-Keys, в линуксовом контейнере это /root/.aspnet - который можно (нужно) вытащить как volume в docker-compose, чтобы фарш из шифрованных данных можно было провернуть назад после апдейта контейнера :) к щастью там просто XML файлы, которые несложно сохранить. Ну или хранить не в XML, а в каком-то другом сторадже персистить (база данных, redis, ...) #dotnet
  • 👍 3
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →