모놀리식 웹 앱 중에서도 Servlet Class를 이용하여 만들어진 웹 앱에 대한 작업을 담당하였음.
- JMBoard의 기능
JMBoard 설치
게시판 생성 및 삭제 설정(admin 기능)
게시판 기능
- JMBoard 로직 흐름
간단하게 서술하자면 JMBoard.java라는 서블릿 클래스가 Controller 역할을 하여, 사용자의 요청에 따라 다른 View를 띄워주게 된다.
Database로는 Mysql을 사용하고, JDBC를 이용하여 Database에 접근한다. DBConnectionManager.java가 해당 역할을 담당한다.
일반적으로 Business Logic을 담고 있는 ~BO.java 파일들, Database에 접근하는 ~DAO.java 파일, 가져온 정보를 담고있는 Domain(Bean)역할의 파일로 구성되어 있다. BO -> DAO -> Database -> 도메인(Bean)객체의 형태로 흐름이 형성되지만 BO 객체를 거치지 않고 직접적으로 DAO를 호출할 수도 있다.
COS 외부 라이브러리를 이용하여 게시판의 파일업로드를 구성한다.
!! 직접 분석하여 그림으로 나타내보았다!!
- 배웠던 점
서블릿 클래스로 구성된 웹 앱의 작동방식에 대해서 이해할 수 있었다.
소스코드를 정적분석하는 능력을 기를 수 있게 되었다.
내가 설명하고자 하는 점을 글로 쓸 수 있는 능력을 기를 수 있었다.
매주 미팅을 진행하면서 나의 실험 진행 상황을 보고해야 했는데, 내가 말하고자 하는 내용을 조리있게 잘 설명할 수 있는 능력을 기를 수 있었다.
리서치라는게 정답이 정해져 있지 않으니까, 결과가 좋아지는 방향으로 계속 개선해나가야 했다. 이런 과정이 굉장히 힘들었다. 나라는 사람이 조금 수동적이어서 처음에는 창의적인 아이디어를 잘 떠올리지 못했던 것 같다. 하지만 계속 할 수록 "어? 이렇게 해보면 더 좋지 않을까?" 하는 의문점이 실험 결과를 개선시킬 수 있었다.
논문 작성에 있어서 본문은 내가 했던 내용을 그대로 서술하면 되니까 쉬웠는데, 결과를 보고 분석하는 부분에서 완전히 막혔다. 결과가 너무 좋다거나 혹은 너무 나쁘거나 하면 그에 대한 이유를 써야하는데 이런 점을 쓰는게 제일 어려웠던 것 같다.
중간 중간에 머신러닝에 대해서도 배웠는데 그에 관한 논문들도 읽어야 했고 참고 문헌도 엄청나게 읽어봤던 것 같다.