NetPad: 크로스플랫폼 LINQPad 대체품

LINQPad가 Windows만 지원해서 macOS나 Linux에서 아쉬웠던 분들께 도움이 될 것 같습니다. 제가 LINQPad에서 쓰던 기능들 정도는 NetPad에도 다 있는 것 같네요.

15 Likes

우와 거의 비슷하네요 ㅋㅋ

5 Likes

LINQPad보다 아직은 많이 부족하지만, 만들다 만 것 같은 RoslynPad보다는 macOS에서 사용하기 훨씬 좋습니다. :smiley:

[추천] Homebrew로 설치하기 (@hongminhee 님 감사합니다!)

brew install dahlia/priv/netpad

직접 홈페이지에서 받아서 설치하시는 경우

참고로 macOS의 경우 이 앱이 아직 서명된 앱이 아니다보니 (으레 오픈 소스로 만든 데스크톱 앱들이 겪는 고충이라 눈물이 납니다 :cry: ) 앱을 Applications 폴더에 다운로드한 후에 다음과 같이 속성 조정을 해주어야 제대로 실행됩니다.

$ sudo xattr -cr /Applications/NetPad.app/

일단 얼른 둘러보면서 찾은 몇 가지 차이점들은 이렇습니다.

  • 아직 lprun 같은 명령어는 없는 것 같습니다.
  • 파일 확장자는 netpad를 사용합니다. 그리고 파일 포맷은 LINQPad가 사용하는 linq 파일과는 호환되지 않는 포맷입니다.
  • Dump 메서드가 제공되긴 하지만 LINQPad처럼 엄청난 디테일은 보여주지 못합니다.
  • Roslyn을 백엔드로 쓰기 때문인지 REPL 과정이 묘하게 느립니다.
  • 데이터베이스 연결도 EF Core 스캐폴딩을 기반으로 하기 때문에 무조건 스캐폴딩을 만들어야 해서 초기화 속도가 느리고, 샘플로 가져온 SQLITE DB를 붙여보려했지만 오류가 발생합니다.
  • 실행 모드가 C# Program 밖에 없고, Top-Level Statement 모드가 기본으로 켜져있다보니 Main 메서드 방식으로 바꾸고 싶으면, 이걸 담는 클래스가 partial 클래스로 선언되어있어야 합니다. (반면 LINQPad는 그렇지 않지요.)
8 Likes

왜 오픈소스 앱은 오류 핸들링을 대체로 잘 못하는 느낌일까요…
HeidiSQL도 허구한 날 오류창 뜨고 닫히는데, 이게 1~2년의 일이 아닌지라 참…ㅋㅋ
(무려 10년 전에도 그랬으니)

5 Likes

그마큼 예외 핸들링 처리에 대한 공수가 많이 든다고 해야 겠죠?

6 Likes

엑셀 파일로 된 데이터를 처리해야 할 일이 있어서, NetPad와 MiniExcel을 이용해서 3시간 만에 필요한 작업을 모두 마칠 수 있었습니다.

좋은 자료를 공유해주신 @hongminhee 님, @CODE_REAPER 님께 다시 한 번 감사드립니다! :bowing_man:

7 Likes

이 문제 때문에 개인적으로 Homebrew Cask 패키징을 해 두었습니다. 아래 명령으로 설치 가능합니다.

brew install dahlia/priv/netpad
4 Likes

NetPad를 써보고 아쉬웠던 부분을 이슈로 등록했는데, 모두 긍정적으로 검토해주고 계신것 같아서 기쁘네요 ㅎㅎ

6 Likes