토스트루키 캠프 4기 [기술교육 2주차] - 개발 시작 1주차
ERD 작성 가이드
특별한 목적이 아니면 Physical Diagram으로 작성
Logical Diagram 과 Physical Diagram의 차이는 구분이 어렵다
- Logical ERD - 엔티티 한글명/영문명, 속성 한글명/영문명, relation 이 모두 관리가 되어야 한다
- Physical ERD - Logical ERD에서 DBMS 특성 및 성능을 고려한 설계가 반영이 된 ERD
작성해 보면 인조식별자 사용, partition, 테이블 통합/분리 등의 차이가 있다.
Logical Diagram을 작성하는 경우
- Logical Diagram + Physical Diagram을 모두 관리하려고 하는 경우
- Subtype / ARC 등의 관계에 논리적으로 표현하여 관리하는 경우
- Entity의 인조식별자에 대해 실질식별자와 구분하여 관리하는 경우
출처 - http://wikin.nhnent.com/pages/viewpage.action?pageId=255664504
Server
404 PAGE NOT FOUND
우리가 할당받은 서버에 이미 example.naver.com 으로 샘플 프로젝트가 deploy되어 있었다. 그런데 문제는 private ip 10.XX.XX.XXXX 나 example.naver.com 으로 접속하면 404 PAGE NOT FOUND 가 뜬다는 것! 보통 웹사이트들이 기본 주소값만 치면 미리 설정해둔 파일로 이동하거나 default로는 index.html
로 자동연결 시켜준다. 하지만 404 에러가 떳다는 것은 미리 설정해둔 파일이나 index.html
파일이 존재하지 않는다는 것이다. 그럼 여기서 우리는 어떻게 이 문제를 해결해야 할까?
먼저 Tomcat 서버를 사용하므로 서버가 제대로 접속이 되어있는지 확인하기 위해 열려있는 포트와 각 포트에 무엇이 연결되어 있는지 확인한다. Command line으로 확인할 수 있는데 확인하는 방법은 아래와 같다.
netstat -na : grep LISTEN
netstat -na
커맨드를 실행하게되면 모든 포트를 netstat
프로그램이 훑게된다. 그 중 원하는 문자열을 grep
기능으로 검색하여 원하는 결과를 찾아내면 된다.
포트들을 확인해보니 Tomcat은 :9001
포트에 그리고 :80
포트에는 Apache가 연결되어 있다. 우리는 서버에 접속할 때 :80
포트를 통해 접속하게 되는데 Apache가 :80
포트에는 이미 Apache가 잡고있고 Tomcat은 :9001
포트로 연결되어있다. 우리는 Tomcat 서버를 사용하고 싶지만 기본적으로 접속할때는 :80
포트로 접속하게 된다. 그럼 어떻게 해야할까?
:80
포트를 통하면 Apache로 접속하게 되는데 Apache에서 Tomcat 포트인 :9001
번 포트로 redirect 시켜줘서 :9001
부분 없이도 서버로 접속이 가능한거란다. 어떻게 이것을 실현 시키는 지는 ProxyPass 를 참고하도록 하자
그렇다면 우리가 접속을 시도하려던 index.html
은 서버의 어디에 있는 것일까? 우리를 ….어딘가..../index.html
로 인도한 것은 Tomcat
서버이다 그러니까 Tomcat 서버한테 물어보자. Tomcat
-> config
-> server.xml
에 가면 톰캣이 어떤 설정을 가지고 행동하는지 알아 볼 수 있다. 그곳에 가면 BaseDoc=..../example.naver.com
부분을 찾을 수가 있는데 우리가 접속했던 example.naver.com 사이트의 컨텐츠가 저장되어 있는 장소이다. 적혀진 부분의 경로를 따라 쭉 들어가게 되면 그토록 찾아 헤맸던 Directory가 나오게 된다. 여기에 index.html 파일을 만들어 주고나서 example.naver.com 이나 private IP 주소로 다시 들어가게 되면 짜잔!! 이제는 404 PAGE NOT FOUND 에러가 더이상 뜨지 않고 아까 만들었던 index.html
페이지가 나타나게 된다.
서버의 Tomcat 버전
우리 프로젝트는 maven으로 build하여 서버에 deploy를 해보려고 했다. tomcat/config/server.xml
안에 BaseDoc=...../example.naver.com
부분을 maven build 후 생성되는 *.war
파일의 압축을 해제한 폴더로 설정하게 되면 deploy가 완료된다고 한다. 문제는 JSTL lib를 인식하지 못한다는 것이었는데 아직 확실한 답은 찾지 못했지만 라이브러리가 존재하는데도 불구하고 찾지 못하는 것은 아마도 우리가 프로젝트를 만들 때에는 tomcat 8.5 를 썼지만 서버는 tomcat 7 을 쓰기 때문이 아닌가 싶다. 좀더 확실해지면 업데이트 하는 것으로 마무리하겠다.