Profile img

남정현

@rkttu@hackers.pub · 2 following · 14 followers

Microsoft MVP since 2009

GitHub
@rkttu
GitHub (TableCloth)
@yourtablecloth
.NET Dev
forum.dotnetdev.kr
LinkedIn
rkttu
Microsoft MVP Profile
mvp.microsoft.com/ko-KR/mvp/profile/335b80b4-3c9a-e411-93f2-9cb65495d3c4
Linktree
linktr.ee/rkttu

https://forum.dotnetdev.kr/t/windows-11-24h2-windows-sandbox-grpc-net-core-5/13921

느리지만 분명한 변화를 주는 흥미로운 Windows 내부의 개발 방침을 엿볼 수 있는 재미있는 내용을 하나 찾았습니다.

wsb.exe 유틸리티의 백엔드 역할을 하는 wsb.dll과 WindowsSandbox*.dll 파일들이 Win32 C Export를 따로 가지고 있지 않길래 혹시? 해서 찾아보니 .NET Core 5 어셈블리로 빌드가 되어있네요. 내부적으로는 gRPC (!)를 사용해서 상호 작용하고, 실제 샌드박스 런타임은 HCS를 직접 사용한 것은 아니고 Per-User Service/UDK라는 것을 이용해서 한 번 더 래핑한 것 같습니다.

모두 다 살펴보긴 어려웠지만, 나와있는 내용으로 볼 때, 이런 다소 복잡한 아키텍처를 사용한 것을 보면 시스템을 Immutable하게 유지 관리하려는 방향으로 Windows를 계속 다듬어가고 있는 부분으로 보여 흥미로웠습니다.

0

Windows Sandbox를 활용하는 MCP 서버를 개발하고 있습니다. 식탁보 프로젝트가 금융 거래를 위한 보안 샌드박스에서 출발했지만, AI와 결합하여 안전한 AI 실행 환경을 지원할 수 있도록 고도화하는 것을 목표로 또 다른 종류의 스핀오프 프로젝트를 진행해보고 있습니다.

https://www.youtube.com/watch?v=2cIWJsQDlSM

2
1
3

Tailscale을 비롯한 Wireshark 기반의 VPN 도구를 이번에 처음 접하게 되면서 "신세계"를 맛보고 있습니다.

저는 다양한 개발 환경을 테스트하고 학습하는 것을 선호하다보니 계속해서 여러 종류의 노트북이나 PC를 구입해서 사용해왔습니다. 그러다보니 관리 문제도 있고, 어딘가로 여행을 가거나 떠나야 할 일이 생기면 어떤 디바이스를 챙겨 가야 하는지가 상당한 고민이 되곤 했습니다.

그렇지만 인터넷만 붙어있으면 어디서든 동일 네트워크 상에 존재하는 것처럼 일관된 환경을 만들 수 있고, 모든 네트워크 송수신 트래픽이 암호화된 상태를 유지하고 있으며, 속도까지 빠르니 더할 나위 없이 좋습니다.

제 경우는 그래서, Surface Pro 8, Surface Laptop 7, GPU 달린 Intel 랩탑, 라즈베리 파이 4, 맥북, 아이폰, 아이패드, Azure VM, WSL 2 환경까지 매우 많은 디바이스와 가상 머신을 전부 단일 네트워크 환경에 붙여서 자유롭게 사용하고 있습니다.

만약 노트북과 데스크톱, NAS 등의 디바이스를 동시에 붙여서 사용해야 하는 것이 고민이라면 Wireshark나 Tailscale을 꼭 살펴보실 것을 권해드리고 싶습니다. 👍

5

Tailscale을 비롯한 Wireshark 기반의 VPN 도구를 이번에 처음 접하게 되면서 "신세계"를 맛보고 있습니다.

저는 다양한 개발 환경을 테스트하고 학습하는 것을 선호하다보니 계속해서 여러 종류의 노트북이나 PC를 구입해서 사용해왔습니다. 그러다보니 관리 문제도 있고, 어딘가로 여행을 가거나 떠나야 할 일이 생기면 어떤 디바이스를 챙겨 가야 하는지가 상당한 고민이 되곤 했습니다.

그렇지만 인터넷만 붙어있으면 어디서든 동일 네트워크 상에 존재하는 것처럼 일관된 환경을 만들 수 있고, 모든 네트워크 송수신 트래픽이 암호화된 상태를 유지하고 있으며, 속도까지 빠르니 더할 나위 없이 좋습니다.

제 경우는 그래서, Surface Pro 8, Surface Laptop 7, GPU 달린 Intel 랩탑, 라즈베리 파이 4, 맥북, 아이폰, 아이패드, Azure VM, WSL 2 환경까지 매우 많은 디바이스와 가상 머신을 전부 단일 네트워크 환경에 붙여서 자유롭게 사용하고 있습니다.

만약 노트북과 데스크톱, NAS 등의 디바이스를 동시에 붙여서 사용해야 하는 것이 고민이라면 Wireshark나 Tailscale을 꼭 살펴보실 것을 권해드리고 싶습니다. 👍

11

아주 조악하긴 하지만 순수 C# 기반의 VNC 서버 초기 구현체를 만들어봤습니다. VNC 서버가 멀쩡히 있는데 왜 또 만들었냐하면, 대개 VNC 서버들이 GPL 라이선스나 상용 라이선스인 경우가 많아서 불만이었기 때문이었습니다.

Github Copilot + Anthropic Claude 4.5 + Visual Studio 2026으로 개발을 진행해봤습니다. 대개 VNC 서버들이 GPL 라이선스를 쓰고 있어서, 라이선스 전염같은 독소 조항이 없는 안전한 구현체도 필요하지 않겠는가 생각하여 1.5일 정도만에 뽑아내어본 결과물입니다.

추가로 이번에 작업해보면서 Code가 아닌 정식 IDE 기반으로 AI 코드 어시스턴트를 효과적으로 활용하기 위한 사용법도 몇 가지 알게 된 것이 있습니다.

AI 코드 어시스턴트에게 stdout이나 stderr이 아닌 다른 채널 (System.Diagnostics)에 로그를 남기도록 지시하고, 그 로그만 따로 모아서 발생하는 문제에 대한 트러블슈팅을 부탁하는 식으로 VNC와 RDP의 복잡한 내부 구현을 다듬어가면서 완성할 수 있었습니다.

매우 실험적인 과정이었지만, 의외로 꽤 괜찮은 결과물이 나와서 공유해봅니다! 기회가 되면 계속 발전시켜보도록 하겠습니다.

https://forum.dotnetdev.kr/t/github-copilot-vs-2026-1-5-c-vnc/13886

1
1

"메모장으로 C# 코딩하기" 라는 시리즈를 생각하면서 글을 쓸 만한 플랫폼을 오랜 기간 고민하다가, velog를 사용해보기로 결정하고 연재를 진행하려 합니다.

많이 알려주시고 피드백 주시면 큰 도움이 되겠습니다! 우선 첫 번째 글을 공유합니다. 이어서 계속 아티클을 올릴 예정입니다.

https://velog.io/@rkttu/메모장으로-C-코딩하기-시작하며

1

Microsoft Agent Framework로 AI 에이전트를 오케스트레이션하는 기능을 체계적으로 다뤄볼 수 있게 되니 정말 흥미롭습니다.

이번에는 "적당히 완성된 도서 집필" 수준을 목표로, 다음 단계를 거치는 파이프라인을 직접 구성해봤습니다.

1️⃣ 도서 목차를 JSON 배열로 생성하는 에이전트

2️⃣ 각 챕터별 에이전트를 동적으로 생성하고 목차 데이터를 전달

3️⃣ 테크니컬 라이터 관점에서 초안을 작성하는 에이전트 생성

4️⃣ 마크다운 린팅 및 교정용 에이전트 실행

5️⃣ 최종 콘텐츠를 파일로 저장

단순한 실험을 넘어, AI가 협업 단위로 작동하는 “실질적 저자 보조 프레임워크”로 진화할 수 있겠다는 확신이 듭니다.

코드가 아직 즉흥적인 수준이지만, 조금만 다듬으면 전혀 새로운 유형의 AI 기반 저작 환경을 만들어낼 수 있을 것 같습니다.

기회가 되면 코드를 다듬어 공유해보겠습니다.

LINQPad에서 AI Agent Framework로 에이전트를 병렬로 실행하는 코드 실행 모습을 스크린 샷으로 촬영한 것
0

잘 알려지지 않은 부분인데, Windows에서도 온디바이스 AI를 지원합니다. 최근에 Windows 노트북 중에 Copilot+ 인증을 받은 노트북들은 단순히 마케팅 수사가 아니라 온디바이스 AI 구동을 위한 NPU를 탑재하고 있는데, 혹시 이런 디바이스를 가지고 계시다면 AI Dev 갤러리 앱을 받아서 테스트해보시면 재미있는 장면이 많이 나올겁니다.

또한 AI Dev 갤러리 앱을 이용하여 곧바로 샘플 코드를 담은 샘플 프로젝트를 동적으로 생성해주는 기능이 있으니 살펴보시면 재미있는 부분이 많을 것입니다. :-D

https://apps.microsoft.com/detail/9N9PN1MM3BD5?hl=neutral&gl=KR&ocid=pdpshare

2

대만의 COSCUP, 벨기에의 FOSDEM에 이어, 국내에서도 개인 및 소규모 오픈 소스 프로젝트를 위한 FOSS for All 컨퍼런스가 드디어 열립니다! 🇰🇷

오는 11월 8일(토), 광운대학교에서 개최되며 저도 이번 행사에서 발표자로 참여하게 되었습니다.

🗣️ 발표 주제: “식탁보 프로젝트 다섯돌, 바뀐 것과 바뀌지 않은 것”

식탁보 프로젝트가 세상에 나온 지 벌써 5년이 되었네요. 처음엔 AI가 없던 시대에 시작했지만, 이제는 AI가 세상을 바꾸고 있고, 식탁보도 그 여정 위에 있습니다.

다섯 해 동안의 변화와, 여전히 지켜온 가치들에 대해 진솔하게 이야기 나누려 합니다.

오픈 소스, 기술, 그리고 커뮤니티를 사랑하는 분들이라면 꼭 한 번 참석해보세요!

👉 참가 신청: https://event-us.kr/fossforall/event/110400

현장에서 함께 이야기 나눌 수 있기를 바랍니다. 🙌

식탁보 프로젝트 다섯돌: 바뀐 것과 바뀌지 않은 것 포스터 이미지 (FOSS for All 2025 행사 홍보 카드)
3

이번 연휴 때 서울에서 모각작, 모각코 하실 파티를 만들어보려고 페북메신저 채널을 만들었습니다.! 파이브스팟이나 원루프사당을 쓸 것 같습니다.

https://m.me/cm/AbbiwdoizU4gxbqc/?send_source=cm:copy_invite_link

4

요즘 채용 시장을 보면 닷넷의 자리가 줄어든 것처럼 보이지만, 그렇다고 해서 닷넷 기술의 가치가 줄어드는 것은 아닙니다. 실제로 파이썬, 자바 중심의 흐름이 두드러지지만, 닷넷은 여전히 독자적인 강점을 가진 기술입니다.

종종 간과되는 점은, 닷넷 개발자가 닷넷의 멀티/크로스 플랫폼을 아우르는 기술 포트폴리오 덕분에 그 자체로 풀스택 개발자에 가깝다는 사실입니다. 웹, 클라우드, 데스크톱, 모바일, IoT, 웹(웹어셈블리 포함), AI까지 이어지는 폭넓은 기술 스펙트럼에 쉽게 접근할 수 있는 닷넷은 시장에서 쉽게 대체할 수 없는 강점입니다.

특히 닷넷 10의 파일 기반 앱(File-based App)은 비싼 IDE에 의존하지 않고도 텍스트 에디터 하나만으로 애플리케이션을 빌드할 수 있게 해줍니다. 지금처럼 불경기에 빠른 대응이 필요한 시기에, 이러한 역량은 그 어느 때보다 귀합니다.

닷넷 개발자 여러분, 시장의 기울어진 운동장에 주저하기보다는 닷넷 기술이 가진 다양성과 가능성을 더 확산하는 것이 중요합니다. 그리고 그 중심에는 이 기술을 믿고 함께 가는 개발자들의 연대가 있습니다. 그러니 위축되지 않으셨으면 합니다.

그리고 저는 기업들이 변화된 .NET 기술 환경을 다시 한 번 리뷰하고 채용 확대를 검토해 주시길 기대합니다. 이는 개발자와 기업 모두에게 큰 시너지가 될 것이라 믿습니다.

닷넷데브에서도 이런 현황에 대한 논의가 이어지고 있어, 관련 글타래를 함께 공유합니다. 🔗 https://forum.dotnetdev.kr/t/topic/13817

2

TypeScript와 React에 File-based App 서버를 부착하여 단순하지만 완결성있는 풀 스택 개발 환경을 구축할 수 있습니다. 여기에 AGENTS.md 파일이나 mcp.json을 추가한다면 풀 스택 프로젝트에 바이브코딩까지 얹을 수 있겠습니다.

https://forum.dotnetdev.kr/t/typescript-react-file-based-app-c-api/13812

2
1
1

이제 WinForm과 WPF도 바이브코딩하는 시대입니다.

File-based app 기반의 템플릿과 Cursor, Github Copilot 등 MCP 서버를 활용할 수 있는 코딩 어시스턴트용 프롬프트를 결합한 개발 방법론, 도서, 아티클 등의 리소스를 준비하고 있습니다.

https://github.com/rkttu/dotnet-fba-templates

2

이제 초기 C# 개발은 Cursor, Amazon Kiro, Windsurf, 혹은 VS Code에서 손쉽게 시작할 수 있습니다.

저는 .NET 10 출시 시점에 맞추어 File-based App 템플릿 팩을 준비했습니다. 곧 업데이트를 통해, 템플릿 내에 바이브코딩(Vibe-coding) 지시 파일도 포함될 예정입니다.

템플릿 중에는 .NET Aspire는 물론, C# AWS CDK 템플릿도 있습니다. :-D

이제 전통적인 .NET 개발 방식과는 전혀 다른 경험을 열어줄 수 있다고 확신합니다.

https://forum.dotnetdev.kr/t/fbatemplates-1-0-0/13779

1

.NET 10의 File-based App 스캐폴딩 툴을 dotnet tool로 만들어보았습니다. nuget에 올라가 있어서 아래처럼 Kestrel ASP.NET Core 서버 코드를 만들고 바로 실행하실 수 있습니다. ㅎㅎ

dnx dotnet-fba -y --prerelease -- -t WebHost -o - | dotnet run -

dotnet-fba 도움말 스크린샷
1
1

OpenAI의 gpt-oss 모델에 이어, RAG (검색 증강 생성)에서 매우 중요한 역할을 하는 임베딩 모델을 Google에서 새롭게 오픈 소스로 공개헀습니다.

EmbeddingGemma라는 이름의 임베딩 모델로, 고성능 하드웨어 없이도 RAG를 구현할 수 있으면서, 한국어, 중국어, 일본어를 포함한 수많은 언어를 지원하도록 개발된 모델이어서 의미가 있습니다.

그래서 재빨리 File-based App과 Semantic Kernel용으로 개발된 sqlite-vec 확장 모듈을 붙여서 프로토타입 코드를 만들어봤는데, 잘 작동하는 것 같네요! :-D

https://forum.dotnetdev.kr/t/google-embeddinggemma-ollama-sqlite-vec-rag/13754

1

오는 11월 8일 토요일 오전 10시, 광운대학교에서 열리는 FOSS for All 컨퍼런스에 여러분을 초대합니다.

FOSS for All 컨퍼런스는 "Free and Open Source Software for All"이라는 슬로건 아래, 모두를 위한 오픈 소스 컨퍼런스를 목표로 하는 비영리 오픈소스 커뮤니티 주도의 컨퍼런스입니다.

FOSS for All 컨퍼런스는 오픈소스 소프트웨어와 커뮤니티에 관심 있는 누구나 참여할 수 있으며, 개발자, 기여자, 디자이너, 번역가, 기획자 등 다양한 역할의 사람들이 경험과 지식을 공유하는 장으로 기술 발표, 커뮤니티 부스, 패널 토크 등 다양한 프로그램이 마련될 예정입니다.

많은 후원과 참여를 부탁드리겠습니다. 고맙습니다. :-D

https://event-us.kr/fossforall/event/110400

3
3

식탁보 3.0을 준비하면서, 이번에 매우 흥미로운 기능을 하나 추가하게 되었습니다. Claude Desktop에서 MCP 서버로 식탁보를 등록하면, 원하는 금융 기관이나 공공기관에 샌드박스로서 접속할 수 있게 연결시켜주는 기능입니다.

현재는 카탈로그에 있는 사이트를 찾아주어 들어가는 정도이지만, 좀 더 강화하여 주요 기관들의 거래 및 업무 처리 URL들을 데이터베이스화하거나 Claude의 자체 검색 기능으로 찾은 웹 사이트 주소를 바로 전달하는 것도 기술적으로 가능하게 구현해둔 상태입니다. (이 때 해당 웹 사이트에서 쓰는 플러그인 정보가 있다면 샌드박스 내에 매칭해서 자동 설치도 해줍니다.)

차근차근 준비해나가고 있으며, 이번 추석 연휴 기간 중에 마무리 짓는 것을 목표로 진행 중이니 많은 관심과 성원 부탁드립니다! 😉

https://www.youtube.com/watch?v=DAspuJFK9UI

5
0
0

안녕하세요. 닷넷데브 운영진 남정현입니다.

닷넷 개발자와 클라우드 엔지니어의 만남, .NET Universe CloudBro Edition에서 시작합니다!

이번 컨퍼런스에서는 개발자를 위한 DevOps 도구인 Aspire와 .NET 10의 강력한 DX를 완성하는 File-based App 기반을 새롭게 소개하며, Container, Kubernetes, Observability 등에 관한 업계 동향, 인사이트를 종합적으로 알아보실 수 있는 세션으로 구성될 예정입니다.

이번 미니 컨퍼런스는 다음주 목요일 (9/4) 저녁 6시 30분터 9시 30분까지, 역삼동 마루360 지하1층 성장 세미나룸에서 열립니다. 평소 데브옵스 기술과 컨테이너 기술에 관심이 많으셨던 분들께 인사이트를 드릴 수 있는 알찬 세션으로 구성하였습니다.

좌석이 한정되어 있어 빠른 신청이 필요합니다. 지금 바로 신청해주세요!

등록하기: https://event-us.kr/dotnetdev/event/110640

2
3
1
7
1

dotnet run app.cs 명령어의 기능이 Preview 7을 기점으로 완성된 것 같습니다. 이제 stdin으로부터 코드를 읽는 것도 지원합니다.

예를 들어, 다음과 같이 인라인으로 표현이 가능합니다. (DOS 명령어 기준)

echo var a = 1; var b = 2; Console.WriteLine($"{a+b}"); | dotnet run -

그리고 Bash 셸에서 널리 쓰이는 것과 같이 C curl이나 wget을 통해서 인터넷에서 스크립트를 받아와서 실행할 수 있게 되었습니다. 예를 들어, Windows에 내장된 curl.exe를 사용하여 다음과 같이 실행할 수 있습니다. (피보나치 수열 코드 샘플입니다.)

curl.exe -s -L https://gist.githubusercontent.com/rkttu/209a86bc63970116681443807104b963/raw/b6ba98195268ed2d9a14d65988e1e68dab1a4b25/fibonacci.cs -o - | dotnet run -

이제 이로써 C 컴파일러 언어이지만 동시에 스크립트 언어로서의 지위를 누릴 수 있게 되었습니다. 정말 오래 기다렸습니다. 🙏

https://forum.dotnetdev.kr/t/net-10-preview-7-is-now-available-net-blog/13566/2?u=rkttu

0

공유가 조금 늦었습니다. 지난 8/10 오후에 있었던 Ubucon Korea 2025에서 발표한 “식탁보 프로젝트의 세계관 확장” 발표 자료를 공유합니다.

현재 리눅스 버전의 식탁보 프로젝트 개발을 진행 중에 있으며, PoC 당시에 사용하던 Bazel Starlark DSL을 대신하여 .NET Native AOT로 코드 베이스를 전환하는 것을 추진 중입니다.

그리고 올 연말 프리뷰 버전 공개를 목표로 계속 작업 중입니다. :-D

좋은 발표 기회를 마련해주신 한국 우분투사용자 그룹 관계자 여러분들께 다시 한 번 감사드립니다.!

https://forum.dotnetdev.kr/t/ubucon-korea-2025/13553

4

이제 Amazon Kiro, Windsurf 등에서 dotnetdev-kr-custom.csharp으로 익스텐션을 검색하여 설치하면 VS Code가 아닌 다른 AI 코드 에디터에서도 최신 버전의 C# 언어 지원 익스텐션을 활성화해서 쓰실 수 있습니다.

개인적으로 Microsoft의 vscode-csharp 업스트림 태그를 추적해서 정기적으로 OpenVSX에 퍼블리싱하는 GitHub Action Workflow를 만들어서 가동 중이어서, 최신 태그가 올라오면 약 6시간 시차를 두고 자동 퍼블리싱되도록 구성했습니다.

스크린샷은 실제로 Amazon Kiro에서 .NET 10의 File-based App 프로그래밍 기능을 사용하는 예시 화면입니다.

VS Code 외의 환경에서 C 최신 언어 지원이 아쉬우셨던 분들께 도움이 되었으면 하여 시작하였고 소기의 성과를 낼 수 있게 되어서 기쁩니다. :-D

https://open-vsx.org/extension/dotnetdev-kr-custom/csharp

Amazon Kiro에서 .NET 10의 File-based App 방식으로 코딩하는 예시 화면
4
1

.NET 10의 File-based App과 Native AOT 기능을 이용해서 작지만 알찬 유틸리티를 하나 만들어봤습니다. 수면 시간 부족을 예방하면서도, 조악하게 화면을 가리는 방식 대신 확실하게 자야 할 시간을 알리기 위해 화면을 그레이스케일로 바꿔버리는 (?) 도구로 요즈음 제 수면 시간을 지키려 노력 중입니다. 🤣

https://forum.dotnetdev.kr/t/topic/13518

2
1
0

@kodingwarriorJaeyeol Lee Discourse ActivityPub 플러그인에서 이것 저것 테스트해보고 있는데, mastodon과 다르게 hackers pub에는 Discourse에서 팔로우를 걸어도 이쪽에 특별히 팔로우 신청이 들어왔다거나 하는 메시지가 보이진 않네요! 그리고 로그를 보면 inbox delivery에 실패했다는 기록이 보입니다.

0
0

일하기 좋은 카페/코워킹/워케이션 지도를 개편하게 되서 소식을 공유합니다. 네이버 지도 리스트에 1000개를 넘게 등록할 수 없어서, 지도를 카테고리별로 다시 분리하면서 여러 지도를 편하게 찾아보실 수 있도록 링크트리로 통합 페이지를 만들었습니다. :-D

https://linktr.ee/mogaco

7

애플 실리콘 맥에서 Windows VM을 돌리고 계시거나, 퀄컴 프로세서를 쓰는 윈도우 PC를 사용하시는 분들 중에서 Discord ARM64 네이티브 버전을 찾고 계시다면 아래 레딧 스레드에 올라온 링크에서 ARM64 개발용 빌드를 일단 설치해보세요. 일렉트론 앱들은 ARM64 빌드가 필수입니다.

https://www.reddit.com/r/Surface/comments/1l0z1qh/discord_arm64_native_canary_build_now_available

1

마크다운 기반의 콘텐츠만 가지고 웹 사이트를 만들면서도, Hugo, mkdocs, Jekyll 등등 온갖 도구 쓸 필요 없이 브라우저에 얹히는 스크립트만 갖고 비슷한 걸 만들어볼 순 없을까 심술이 나서 ChatGPT와 Claude로 만들어본 물건인데 꽤나 쓸만한게 나왔네요.

덕분에 식탁보 홈페이지를 Bootstrap 기반으로 빠르게 리뉴얼할 수 있었습니다. :-D

https://github.com/yourtablecloth/yourtablecloth.github.io/blob/main/docs/index.html

3
3
2

이번 Ubucon Korea 2025에서 발표할 주제로, 식탁보의 리눅스 버전에 대한 이야기를 준비하면서 간단한 Demo를 WSL로 준비해보았습니다.

일상적으로 사용하는 리눅스 시스템에 보안 플러그인을 그대로 설치하는 것은 솔직히 많이 위험합니다. 하지만, LXD 덕분에 이런 위험을 최소화하면서도 편의성과 보안의 균형을 맞추고, 더 나아가서는 Windows에 종속된 인터넷 뱅킹과 전자 정부 대고객 서비스의 대체 가능성을 살펴볼 수 있는 좋은 기회가 될 수 있다고 생각합니다.

연말을 목표로 리눅스 버전의 식탁보 프리뷰를 선보이도록 노력해보겠습니다. :-D

https://drive.google.com/file/d/1xapy_k4ofzyaNFPAPTF1QUYvLrz6MN55/view?usp=drive_link

7
2