전체 글278 [20220626] 개발자 일기 & TIL 새로운 구축 건이 진행 중이다. 이번에는 스프링 부트와 JPA를 사용하여 구축을 시도하고 있다. 기존의 스프링 프레임워크가 아닌 스프링 부트로 구축하는 첫 프로젝트여서 기대가 되었지만, 생각보다 고쳐야 할 게 많아서 진땀을 빼고 있다. 기존 XML 기반 설정도 자바 코드로 바꾸려고 하다 보니 막히는 부분이 있어서 고생하다가 겨우 해결하고 기존 스프링 부트 CMS는 MyBatis로 제작되어 있어 완전히 밑바닥부터 시작해야 한다. 지난주 서버 사건 때문에 시간을 많이 뺏긴 상황에서 이번 주부터 빠르게 진행이 돼야 하는데 왜 이렇게 난관이 많은 지 모르겠다. TIL 스프링 부트 프로젝트를 진행하면서 막혔던 부분 중 하나가 입력 값 전송 시 날짜 데이터가 String으로 전달되어 java.util.Date 형식.. 2022. 6. 26. [20220619] 개발자 일기 한 주 동안 너무 큰일이 있었다. 입사 후부터 계속 골치였던(스파게티 코드와 잦은 서버 다운으로 악명 높았던) 그 웹사이트가 결국 폭파돼버렸다. 전말은 이렇다. 필자는 그 사이트의 서버가 다운될 때마다 재부팅을 해주는 작업을 해주고 있었다. 서버 이관을 바라 왔지만 추가 비용을 원치 않았던 그 고객사는 계속 재부팅을 요청해왔다. 여느 때와 다름없이 재부팅 요청을 받고 재부팅을 해주려고 ssh를 켜고 재부팅을 시도했다. 그런데 톰캣 서버가 죽지 않았다. 이런 적이 몇 번 있어서 셧다운 명령어를 몇 번 쳐주고 다시 시작해보고 호스팅 업체의 재부팅 기능을 사용해보았지만 서버가 다시 시작되지 않았다. 뭔가 이상해서 ftp로 파일 트리를 본 순간 가슴이 철렁할 수밖에 없었다. 서버 안에 있던 리소스 파일과 클래스.. 2022. 6. 19. web.xml이란? 앞서 자바 웹 애플리케이션 구조를 살펴보았다.(https://lifewithcoding.tistory.com/207) 웹 애플리케이션 구조에서 보았던 web.xml 파일에 대해 자세히 알아보자. 자바 웹 애플리케이션을 빌드하여 패키징한 war 파일 내부를 보면 web.xml 파일이 존재한다. 이 web.xml 파일은 배포 기술서(Deployment Descriptor)라고도 하는데, 웹 애플리케이션을 실행할 때 필요한 설정들을 담고 있다. web.xml에 서블릿, 필터, 리스너를 등록할 수 있다. 웹 애플리케이션은 요청이 들어오면 그 요청을 수행할 컨트롤러를 찾아 작업을 수행하도록 하고 그 결과를 응답으로 전송한다. 그 과정에서 어떤 URI로 요청이 들어왔을 때 어느 서블릿에게 요청을 전달할 것인지 매핑.. 2022. 6. 19. 자바 웹 애플리케이션 구조 웹 개발을 한다는 것은 WAS(Web Application Server)에서 실행할 수 있는 웹 애플리케이션을 만드는 것이다. 웹 애플리케이션도 역시 프로그램이고 사람이 작성한 소스 코드대로 컴퓨터가 명령어를 실행한다. 간단한 프로그램을 만든다고 했을 때는 개발자가 모든 로직을 스스로 구현하는 것이 가능하다. 하지만 그 규모가 커지고 반복적인 작업이 많아짐에 따라 다른 사람이 작성한 코드를 가져다가 쓰게 된다. 결국 하나의 애플리케이션은 자신이 작성한 코드와 다른 사람들이 작성해 놓은 라이브러리가 결합되어 있는 구조이다. 자바 웹 애플리케이션 구조도 그와 같다. Web Application │ └─WEB-INF │ ├─ classes │ ├─ lib │ └─ web.xml 자바 웹 애플리케이션 코드를 작.. 2022. 6. 13. 이전 1 ··· 18 19 20 21 22 23 24 ··· 70 다음 728x90