전자정부 표준프레임워크를 처음 알게 된 건 2020년도 6월에 국비학원을 수료할 때쯤이었다.
강사님이 7월에 무료 교육일정이 있고, 수업 내용을 잘 기억하고 있을 때 들어보라고 하셔서 신청해서 수업을 들었었다.
전자정부 표준프레임워크
위에서 설명하는 것과 같이 인력과 예산이 많이 부족한 중소기업들이 공공사업에 참여할 때, 검증된 프레임워크와 검증된 모듈들로 빠른 개발 속도와 좋은 품질의 시스템 구축을 지원하기 위해 만들어졌다.
나도 전 회사에서 전자정부 표준프레임워크 개발 IDE를 이용해서 개발했다.
선배가 없는 환경이었다 보니, 새로운 기능을 개발할 땐 표준프레임워크의 컴포넌트들을 공부해서 구조를 잡고 기능 개발을 했었다.
요즘은 실력도 올라갔고... AI를 통해 고민을 같이 하다 보니 조금 뜸해졌지만, 큰 도움이 되었다는 사실을 부정할 수는 없다.
내가 활용한 방법
예를 들어 내가 이번에 맡게 된 기능 중에는 웹에서 권한을 관리해야 하는 기능이 있다.
물론 권한의 CRUD를 비롯해서 여러 가지 기능들을 이제는 쉽게 떠올릴 수 있지만...
경험이 없을 때나, 지금 나처럼 방심하기 좋은 연차일 때 설계 전후에 이런 검증된 가이드가 있다는 것이 큰 도움이 된다.
egovframework:권한관리 [eGovFrame]
시스템 구축시 스프링의 보안 메카니즘을 적용하기 위해 Spring Security 에서 관리하는 권한(Authority)을 정의한다. 따라서 시스템 담당자는 시스템 사용자에게 권한을 부여하기 위해 권한을 정의하
www.egovframe.go.kr
위의 문서를 따라가다 보면 다양한 기능들이 포함된 화면, 인터페이스, 클래스, DB구조 등 개발에 필요한 요소들을 확인할 수 있다.
심지어 샘플 데이터까지 DB별로 제공된다.
오픈소스로 제공되다 보니, 내부구현된 소스들도 모두 직접 눈으로 확인하고 복사 붙여 넣기로도 사용 가능하다.
내가 처음 개발할 때 만든 기능들은 대부분 공통컴포넌트 가이드를 읽고, 이해하고 상황에 맞게 커스텀해서 사용했다.
ERD도 있고, 이 문서 아래에 보면 쿼리문도 존재한다.
위의 클래스다이어그램에 나오듯이... 일단 이름이 마음에 안 든다.
전자정부 표준프레임워크를 적용해서 개발해야 하는 요구사항이 있는 게 아니라면 클래스, 변수명들은 상황에 맞게 수정해서 쓴다.
이렇게 화면들도 예제로 나와있고, DB를 연결하면 JSP 기반으로 실제로 사용 가능한 예제 웹사이트도 돌아간다.
테스트 데이터도 제공하기 때문에 바로 적용해서 사용할 수 있다.
하나씩 읽고 테스트하고, 필요한 기능을 뽑아다가 쓰고...
전자정부 표준프레임워크의 특징
주저리주저리 써놨지만, 전자정부 표준프레임워크는 다양한 특징이 존재한다.
같이 일했던 선배들 중에는 프레임워크 자체가 SpringBoot와는 안 맞게 너무 무거워서 안 쓴다는 의견이 많긴 했다.
하지만 그건 고수의 반열에 오른 개발자들의 이야기고, 나는 이런 프레임워크가 존재해서 정말 좋았다.
무엇보다도 문서가 한국어잖아...!
이처럼 이 기능에 필요한 참고 자료들이나 기반 지식들, 관련된 기능들이 문서에 잘 링크되어 있다.
권한관리가 왜 서버 보안에 필요한지, Spring Security가 어떤 구조로 되어있고, 이 권한이 어디서 사용되는지...
많은 설계 자료와 친절한 한국어로 된 문서들을 잘 읽다 보면,
초짜인 나도 고객에게 내 작품과 산출물을 설명할 수 있는 정도의 지식이 쌓였다!!!!
적용 효과
이미 다 개발된 모듈들과 프레임워크를 제공하기 때문에 필요한 기능들을 골라서 부품처럼 끼워 넣으면 된다.
물론 어느 정도 커스텀을 해야 하는 건 당연하다.
전자정부 표준프레임워크는 SpringFramework를 기반으로 만든 프레임워크이므로 Spring이 가진 장점을 대부분 갖고 있다.
특히 IoC 가 잘 이루어져 있어서 필요한 기능들을 간단하게 추가하여 동작시키기 좋다.
- 대신 그만큼 스프링에 대한 이해와 공통컴포넌트에 대한 이해가 필요하다.
오픈소스 기여
하여튼 내가 왕초보 시절에 저런 훌륭한 한국의 오픈소스가 존재해서 도움을 받았다.
그래서 올해 하는 컨트리뷰션에서 조금이나마 손을 보태보고 싶어서 세미나를 보고 있다.
공지사항 | 표준프레임워크 포털 eGovFrame
처리중입니다. 잠시만 기다려주십시오.
www.egovframe.go.kr
아직도 미천한 실력이지만...
첫 번째, 한 번쯤은 오픈소스에 내 코드를 남겨보고 싶었다.
두 번째, 지금 맡은 프로젝트에 필요한 기능들도 공통컴포넌트의 범주 내에 있다. 공부도 강제로 해야 한다.
세 번째, 나 같은 개발자들의 기여 순환이 계속해서 일어났으면 좋겠다.
네 번째, 제대로 Git을 사용해서 PR을 받아보고 싶다.
마치며...
기회가 된다면 표준 프레임워크를 학습시켜 미세조정한 LLM을 이용해서 폐쇄망 같은 곳에 개발 도움용으로 쫙 뿌리고 싶다.
새 정부에서 AI 예산을 풀 것 같은데.......! 내가 사업화해볼까 싶기도 하고!!!
보안망 내부에서 쓸 수 있는 인증만 받으면, 월 5만 원 라이선스를 받고 팔아도 나는 쓸 것 같다.
하여간 AI를 이용하는 것도 좋지만, 우리나라에도 훌륭한 개발 프레임워크와 가이드 문서가 있다.
오랜 시간 더 좋은 개발 문화를 만들고, 더 좋은 시스템을 만들기 위해 자발적으로 선배 개발자들이 쌓아 올려온 우리나라 오픈소스!
더 잘 써보고, 더 잘 사용되도록 나도 올해에는 기여해 봐야겠다.
개발환경에는 공공사업에서 사용되는 보안검사 모듈도 포함되어 있다.
소프트웨어 개발보안 가이드에 따라 코딩되어 있고, 주기적으로 센터에서 검토하므로 이런 부분도 참고하기 좋다!
'공부' 카테고리의 다른 글
React, Spring Security 기반 권한 관리(RBAC) 시스템 검토 (1) | 2025.07.06 |
---|---|
[Gemini] 구글의 새 AI 도구, Gemini CLI에게 주식 조사를 시켜봤습니다 (결과물 포함) (6) | 2025.07.04 |
[html] 웹 개발자를 위한 iframe 사용법과 팁 (feat. 티스토리 연동) (1) | 2025.07.02 |
[AI] SI 개발자에게 AI의 의미 (4) | 2025.06.26 |
[GCP] Firestore 사용하기 (5) | 2025.06.26 |