πŸ““ Записки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅Ρ€Π°
1.02K subscribers
304 photos
1 video
6 files
599 links
Канал с рСгулярными постами ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… интСрСсных ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°Ρ… (ΡΡ‚Π°Ρ‚ΡŒΠΈ, Π²ΠΈΠ΄Π΅ΠΎ, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ инструмСнты).

https://dotnet.social/@denisio
加ε…₯钑道
Как ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»ΠΈΡ‚ΡŒ софт Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡˆΡ‚Π°Ρ‚Π½Ρ‹Ρ… инструмСнтов. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊΠ΅ упомянуто .net 6 - ΠΎΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ net 5 Ρ‚ΠΎΠΆΠ΅ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π”Π°ΠΌΠΏΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Π΅ ΠΈΠ· ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° - ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Visual Studio, Π½ΠΎ ΠΈ Π² Rider Ρ‚ΠΎΠΆΠ΅. Π§Ρ‚ΠΎ Π½Π΅ΠΌΠ°Π»ΠΎΠ²Π°ΠΆΠ½ΠΎ, инструмСнты ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»ΠΈΠ½Π³Π° Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΏΠΎΠΊΠ° ΠΈΡ… Π½Π΅ Π΄Ρ‘Ρ€Π½Π΅ΡˆΡŒ. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π½Π° DEV срСду ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅ΠΏΠ»ΠΎΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ прямо с Π½ΠΈΠΌΠΈ.

Π’ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΌΡ‹ ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»ΠΈΠ½Π³Π° - Ρ‡Π°ΡΡ‚ΡŒ 0, Ρ‡Π°ΡΡ‚ΡŒ 1 ΠΈ Ρ‡Π°ΡΡ‚ΡŒ 2 ΡΡ‚Π°Ρ‚ΡŒΠΈ этого ΠΆΠ΅ Π°Π²Ρ‚ΠΎΡ€Π° ΠΏΡ€ΠΎ OpenTelemetry ΠΈ Metrics API.
#dotnet #docker #perf
πŸ‘1
Build your own .NET CPU profiler in C# - ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ свои ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π² ΠΎΠ±Ρ‰ΠΈΠΉ workflow ΡˆΡ‚Π°Ρ‚Π½Ρ‹Ρ… Trace ΠΈ Listeners #dotnet #tools #docker
πŸ”₯1
This media is not supported in your browser
VIEW IN TELEGRAM
Dive - ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ инструмСнт для исслСдования собранных ΠΎΠ±Ρ€Π°Π·ΠΎΠ² Docker. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ ошибки ΠΏΡ€ΠΈ сборкС ΠΈ/ΠΈΠ»ΠΈ Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· ΠΎΠ±Ρ€Π°Π·Π° ΠΈ Π·Π°ΠΎΠ΄Π½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΏΠΎ слоям. #docker #tools
Secure your .NET cloud apps with rootless Linux Containers - ΠΊΠ°ΠΊ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° для .net ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² (non root). К соТалСнию - Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² .net 8 #dotnet #docker
Π”Π²Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с #docker

Initialize RabbitMq Docker Container with preconfigured Queues - ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅/тСстировании #rabbitmq

Nginx and Load Balancing - использованиС scale для поднятия Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… инстансов ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° - Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для тСстирования балансировки Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ
МалСнькиС хитрости #docker - ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒ ΠΏΠΎΠΊΠ° postgres (ΠΈΠ»ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСрвис) ΠΏΡ€ΠΈΠ΄Ρ‘Ρ‚ Π² Π½ΠΎΡ€ΠΌΡƒ послС старта. Π£ Postgres ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ это Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ нСсколько сСкунд Π½Π° Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт (=инициализация ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° с созданиСм Π‘Π”)
Если Ρƒ вас отвалился Docker послС ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ обновлСния Windows ΠΈΠ»ΠΈ самого Docker - Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ WSL ΠΈ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ. ВрСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ послС обновлСния Π²ΠΈΠ½Π΄Ρ‹ (ΠΈΠ»ΠΈ Docker) Ρƒ Π½ΠΈΡ… Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Ρ€Π°ΡΡΠΎΠ³Π»Π°ΡΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ вСрсии ΠΈ Docker ΠΏΡ€ΠΈ стартС Π²Π°Π»ΠΈΡ†Π° с ошибкой Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π΅.

ΠŸΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ†Π° Ρ€ΡƒΠΊΠ°ΠΌΠΈ ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ msixbundle ΠΈ Π°ΠΏΠ΄Π΅ΠΉΡ‚ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ WSL, послС Ρ‡Π΅Π³ΠΎ всё Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ снова Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. #docker
πŸ‘7
Keycloak SSO with docker compose and nginx - Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Π° ΡΡ‚Π°Ρ‚ΡŒΡ с ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ #keycloak #docker #howto
πŸ”₯7
Бтолкнулся Ρ‚ΡƒΡ‚ с нСобходимости ΠΏΠΎΡΠ½ΠΈΡ„Π°Ρ‚ΡŒ Π½Π° DEV срСдС Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ Π΄ΠΎΠΊΠ΅Ρ€Π°... НСкотороС количСство ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… строк Π½Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ.

Для Π½Π°Ρ‡Π°Π»Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ docker network ls Π½Π°Π΄ΠΎ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ id Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ интСрфСйса (Π΄Π°Π»Π΅Π΅ этот id написан ΠΊΠ°ΠΊ INTERFACE), 8000 - это exposed port ΠΌΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

Π”Π°ΠΌΠΏΡ‹ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² ASCII ( -A ):
tcpdump -i INTERFACE 'tcp dst port 8000' -A


Π’ΠΎΠΆΠ΅ самоС + поиск ΠΏΠΎ подстрокС 'Sec-WebSocket-Key':
tcpdump -i INTERFACE 'tcp dst port 8000' -A | grep 'Sec-WebSocket-Key:'


Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Ρ„Π»Π°Π³ΠΎΠΌ SYN (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ установку входящих соСдинСний):
tcpdump -i INTERFACE 'tcp dst port 8000 and (tcp[tcpflags] & (tcp-syn) != 0)' -A

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ keep-alive ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

tcpdump -i INTERFACE 'tcp dst port 8000 and (tcp[tcpflags] == tcp-ack and less 1)' -A


ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² http-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² GET/POST/HEAD

tcpdump -i INTERFACE 'tcp dst port 8000' -A | egrep --line-buffered "^........(GET |HTTP\/|POST |HEAD )|^[A-Za-z0-9-]+: " | sed -r 's/^........(GET |HTTP\/|POST |HEAD )/\n\1/g'


Ну Π° ΠΏΠΎΡ‚ΠΎΠΌ я вспомнил, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ инструмСнт ΠΊΠ°ΠΊ nast, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π΄Π°ΠΌΠΏΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ простой строкой ΠΊΠ°ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Ρ‚Π°ΠΊ ΠΈ Ρ‚Π΅Π»ΠΎ входящСго запроса:
nast -i INTERFACE -d -f 'tcp dst port 8000'


#tools #docker #tcpdump
πŸ‘8
Docker profiles - удобная Ρ„ΠΈΡ‡Π°, которая позволяСт Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ docker-compose Ρ„Π°ΠΉΠ», Π½ΠΎ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π°ΠΌΠΈ сСрвисов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€).

Если Π½Π° ΠΏΠ°Π»ΡŒΡ†Π°Ρ… - ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ сСрвис ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ список ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ. ΠŸΠΎΡ‚ΠΎΠΌ дСлаСшь

docker compose --profile with-db build


ΠΈ ΠΎΠ½ΠΎ Π±ΠΈΠ»Π΄ΠΈΡ‚ (ΠΈΠ»ΠΈ стартуСт Ссли up) Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ сСрвисы, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… упомянут ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ with-db ΠΈΠ»ΠΈ Π½Π΅ упомянуто ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ΠΉ Π²ΠΎΠΎΠ±Ρ‰Π΅. #docker #tools
πŸ‘7
Π’Π½Π΅Π·Π°ΠΏΠ½ΠΎ словил runtime-ΠΎΡˆΠΈΠ±ΠΊΡƒ

Only the invariant culture is supported in globalization-invariant mode. See
https://aka.ms/GlobalizationInvariantMode for more information.

ΠΊΠΎΠ³Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠ» ru-RU ΠΈ ΠΏΠ°Ρ€Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Ρ‚Ρ‹. Π—Π°Π±Ρ‹Π», Ρ‡Ρ‚ΠΎ Π² Dockerfile Π½Π°Π΄ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠ°Ρ€Ρƒ строк для линуксов. Π’ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°Ρ… Π»Π΅Π³ΠΊΠΎ Π³ΡƒΠ³Π»ΠΈΡ†Π° эта ошибка, Π½ΠΎ ΠΏΡƒΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈ Ρ‚ΡƒΡ‚:
RUN apk --no-cache add icu-libs
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false

#docker #dotnet
πŸ‘7πŸ’©1
dockerc - compile docker images to standalone portable binaries. Π¨Ρ‚ΠΎ? :)) Π–Π°Π»ΡŒ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΊ хостовая систСма ΠΏΠΎΠΊΠ° Π½Π΅ поддСрТиваСтся Windows. #tools #docker
πŸ”₯3πŸ€”3πŸ’©1πŸ€“1
ΠšΡ‚ΠΎ-Ρ‚ΠΎ Π½Π΅Π΄Π°Π²Π½ΠΎ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π» ΠΏΡ€ΠΎ Docker - Ρ‚ΠΈΠΏΠ° how to, Ρ‚Π°ΠΊ Π²ΠΎΡ‚ нашлось прСкрасноС - ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΈΠ³Ρ€Π°Ρ†Π° ΠΊΠ°ΠΊ Π² Π²Π΅Π±ΠΌΠΎΡ€Π΄Π΅, Ρ‚Π°ΠΊ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ соотвСтствСнно локально. На ΠΌΠΎΠΉ взгляд это отличная Ρ‚Π΅ΠΌΠ° для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ с Π΄ΠΎΠΊΠ΅Ρ€ΠΎΠΌ. Ну ΠΈ Ρ‚Π°ΠΌ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎ Π΄ΠΎΠΊΠ΅Ρ€ Π΅ΡΡ‚ΡŒ. #docker #howto
❀14πŸ”₯8πŸ‘6
Как Π·Π°Ρ…ΠΎΡΡ‚ΠΈΡ‚ΡŒ сайт Π² Windows ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ Π² Π΄ΠΎΠΊΠ΅Ρ€Π΅. Π‘Π»ΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Π·Π°Ρ‡Π΅ΠΌ это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π² 2025-ΠΌ, Π½ΠΎ ΠΏΡƒΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚. #docker
😁6πŸ‘1πŸ€”1