데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      DEVOCEAN 구현기술 슬쩍 엿보기(feat. Spring Apache tiles)

      매직 22.11.07
      1,871 12 11

      블로그 목적

      - DEVOCEAN 에 녹아있는 Spring관련 아파치 타일즈(Apache tiles)에 대해서 분석및 정리해 보려고 합니다.

      - 평소에 개인적으로 DEVOCEAN이 어떻게 구현되어있을까? 라는 호기심을 가지고 있었는데요..

      - 조금이나마 개발자의 관점으로 그 비밀을 풀어보고 공유해보려고 합니다. (혹시나 저처럼 궁금증이 있으실 마스터님들을 위해서요..^^;)

      블로그 상세내용

      아파치 타일즈(Apache tiles)란 무엇일까요?

      - 아파치 타일즈(Apache tiles) 는 화면의 layout 기능을 제공하는 오픈 소스 라이브러리를 말하는데요..

      - 아래는 홈페이지 정보입니다.

      - https://tiles.apache.org/

      163958_1.png

      Spring 에서 아파치 타일즈 사용시 장점을 정리하자면 아래와 같이 정리해 볼 수 있습니다.

      - 공통된 layout 를 사용하게 되어 유지및 관리하기가 수월함.

      - page layout 을 단순하고 쉽게 구현가능함.


      그럼, 본격적으로 DEVOCEAN의 layout 구성을 간단하게 정리해 보겠습니다.

      정리하기에 앞서, 요즘 저의 근황을 말씀드리면,


      저의 본업은 네이트온 데몬 서버 개발(C++)과 SKT 아폴로 어드민 프로젝트(SpringBoot)를 동시에 열심히 수행하고 있고요...

      부가적으로, 순전히 개인적인 욕심(?)으로 자택(?)에서는 DEVOCEAN 소스를 풀뿌리 캐듯(?) 차근차근 분석및 정리하며 공부하고 있는데요..


      참고로, SKT 아폴로 프로젝트는 SpringBoot + JPA + 타임리프 + Gradle 구조이고, DEVOCEAN 소스는 Spring + MyBatis + JSP + Maven 구조라서 비교하며 열심히 공부하고 있습니다.


      제가 기존 C++ 서버 개발자의 틀에서 벗어나 Java 서버 개발자로 발돋음(?) 하는데 많이 도움이 되네요..

      (DEVOCEAN 소스를 공개해주신 집사님께 이자리를 빌어 다시한번 감사합니다. ㅎㅎ )


      그럼, DEVOCEAN 에서 layout 구성시 타일즈(tiles) 를 어떻게 사용할까요?

      그 궁금증을 지금부터 낱낱이 밝혀드리기위해서요..

      저만의 특화되어 있는 삽(?)과 돋보기(?)를 들고, pom.xml 파일 부터 차근차근 파헤쳐봅니다.


      우선 DEVOCEAN 은 아파치 타일즈를 사용하기 위해서 pom.xml 파일에 아래 의존성을 추가하고 있었습니다.

      163958_2.png

      pom.xml 에 해당 코드 작성을 하면 아래와 같이 라이브러리를 Maven Dependencies 에서 확인할 수 있는데요..

      163958_3.png

      쓰으윽 한번 보시면 되고요...

      의존성은 추가가 확인되었으니....관련 xml 설정에 대해서 확인하러 가보죠...


      DEVOCEAN 은 아래 resources > spring_config > context-common.xml 에 설정을 담고 있었습니다.

      163958_4.png

      내용은 아래와 같고요...

      163958_5.png

      당구니, 개발자의 느낌(?)으로 context-layouts.xml 내용이 중요하겠죠!!


      한번 삽(?)들고 가봅니다....

      여기서 context-layouts.xml 설정을 쭈우욱 보니깐,

      역시나 내부(thub) 와 외부(devocean) 에 대해서 분리된 설정이 존재했고요...

      이제야 Thub 와 DEVOCEAN 의 밀월관계(?) 가 머릿속에 그려지는 순간입니다.

      163958_6.png

      참고로, 여기서 internal 은 Thub 를 말하고요, external 은 DEVOCEAN 을 말합니다.

      위와 같이 아파치 타일즈(tiles) 오픈소스를 활용해서 집사님께서는 DEVOCEAN과 Thub 서비스의 layout 부분을 우리에게 허락해 주셨던거죠.....


      그리고, 위에 설정된 layout(jsp) 파일들을 확인해 보면요...

      아래 WEB-INF 디렉토리 하위에 external / internal 로 구분되어, 코딩되어 있습니다.

      163958_7.png


      우선, external(DEVOCEAN) 은 아래와 같고요...

      163958_8.png


      그리고, internal(Thub) 는 아래와 같고요...

      163958_9.png


      layout.jsp 를 간단하게 둘러보면 아래와 같습니다.

      아래와 같이 타일즈를 사용하기 위해서 taglib 지시자로 추가하고 있죠..

      163958_9_1.png


      우선, external layout.jsp 입니다.

      163958_10.png


      아래는 internal layout.jsp 입니다.

      163958_11.png

      아무튼 오늘 블로그는 여기까지고요....

      간략하게 첫번째시간으로 DEVOCEAN 의 layout 구성을 분석해 봤습니다~^^

      (참고로, DEVOCEAN 기술 및 분석 내용을 저만의 관점을 가지고 한손에는 돋보기(?)들고 다른 한손에는 삽(?)을 들고 차근차근 파헤쳐 보려고 합니다 ^^)


      마지막으로, 오늘 제가 남긴 블로그 내용을 간단하게 한마디로정리하자면 아래와 같습니다.

      - Thub 와 DEVOCEAN 은 밀월관계(?) 이고 전반적인 layout 구성에 "Apache tiles" 오픈소스를 사용하고 있다라고 머릿속에 정리해 두시면 되겠네요..


      항상 믿고 봐주셔서 감사합니다..

      나의 목표 및 다짐을 항상 내곁에 두기

      • 목표

        • 나의 강점을 바탕으로 나의 일을 잘해냄으로써 타인과 사회를 아릅답게 만든다.

        • 현재 내가 가진 능력으로 누군가에 도움이 될 수 있을까? 에 대해서 항상 생각하기

        • 나는 블로그 생태계에서 IT 테크관련 파워블로거가 반드시 된다!

        • 유튜브 시장(?)을 호령하는 100만 유튜버가 반드시 된다!! (feat. 100만 유튜버가 반드시 될 매직!!)

        • 나는 꾸준히 공부하고 공부한것을 실천하는 창의적인 개발자가 된다.! (feat. devocean 개발&운영자가될 매직!!)

      • 목표를 이루기 위한 실천방안

        • 꾸준한 블로깅/기록법/독서법으로 넘버원이 아닌 온리원이 되보자.

        • 천사불여일행(千思不如一行)을 항상생각하며 체화 및 각인시키자.

          • "천번 생각하는것보다 한번 행동하는 것이 더 중요하다."

        • 기기일약 불능십보(騏驥一躍 不能十步) / 노마십가 공재불사(駑馬十駕 功在不舍)

          • 천리마도 한번에 열걸음을 뛸 수 없고, 느리고 둔한말이라도 열흘이면 하룻길을 간다.

        • 모든 실수에는 마술이 숨어 있다. 따라서 나는 실수하면 실수할수록, 그런 실수에서 더 많이 배울수록 삶에서 더 많은 마술을 갖는다.

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      매직 님의 최신 블로그

      더보기
      동영상 기고하기