극한까지 사용해보는 LINQPad

규모가 크고 여러 컴포넌트들이 얽히는 소프트웨어 프로젝트를 요즈음 계속 진행하다가 LINQPad를 극한까지 사용해보고 있습니다.

지금 많이 사용하고 있는 기능들을 몇 가지 열거해보면 이렇습니다.

  1. #load 지시자를 이용해서 스크립트 콘텐츠와 데이터베이스 연결을 다른 스크립트에서 참조할 수 있으니 여러 벌의 독립 프로그램용 LINQPad 코드를 작성할 수 있었습니다. EF Context 부분만 Visual Studio로 별도 DLL로 빌드해놓고, 마이그레이션을 미리 돌려서 테스트용 DB를 만들어 둔 다음, LINQPad에서는 설정 파일과 분리된 데이터베이스 연결을 지정해둘 수 있어 좋습니다.

  2. 사용자 경험/워크플로우를 모사하려면 웹 애플리케이션을 만들어야 할 필요가 있지만, 웹 애플리케이션을 새로 만들려면 그 자체로 일감이 커서 부담이 됩니다. 이럴 때 LINQPad.Controls 네임스페이스 안에 있는 컨트롤들을 활용해서 완전한 UI는 아니지만 백엔드 API 호출 순서나 기본적인 유저 워크플로우 동작 재현을 해낼 수 있는 것 같아 demo를 만들기 참 좋은 것 같습니다.

  3. ASP.NET SDK 지원이 기본 내장되어있으니 Minimal API를 바로 만들어서 띄워볼 수 있습니다.

  4. XUnit 지원이 기본 내장되어있으니 단위 테스트도 LINQPad를 떠나지 않고 계속 만들 수 있습니다.

  5. LINQPad를 여러 인스턴스를 띄워서 동시 실행할 수도 있으니 여러 컨테이너에서 실행될 애플리케이션을 미리 돌려보는 시뮬레이션 환경도 적당히 만들 수 있습니다.

대략 이런 기능들을 사용해서 여러 컴포넌트를 처음부터 신경써야 하는 인지부하를 줄이고 개발 생산성을 높이는 방법을 계속 연구해보고 있는데요, 나중에 기회가 되면 이 주제로 발표도 한 번 진행해보겠습니다. :smiley:

덧. 아직 시험 못해보고 있지만, OpenAI와 연동도 지원합니다. 프롬프트 엔지니어링을 따로 신경쓰지 않아도 적당히 템플릿이 이미 들어가있어서 편하게 쓸 수 있습니다.

9 Likes