메이븐 배포에 대한 이해 부족이 있었다
Maven
이 제공하는 라이프사이클 중 어떤 것이 어떤 역할을 하는지 잘 이해하지 못했다. 그래서 배포한 앱이 잘 동작하지 않았을 때, 내가 잘못된 라이프사이클을 수행했다고 생각했다.
내가 헤맸던 곳
처음에 메이븐에서 deploy
라이프사이클이 제대로 돌지 않아 이 문제인줄 알았다. 그런데 알고보니 배포를 위해서 deploy
라이프사이클까지 돌릴 필요가 전혀 없었다. 그냥 pakcage
로 돌려서 나온 xxx.jar
파일을 바로 실행해도 무관했다.
이 링크 에서 도움을 얻게 되었다.
deploy
는 메이븐 리포지토리에 배포할 때에 돌려야 하는 라이프사이클이라고 한다.
실제 문제
deploy
라이프사이클이 안 돌아가는 것은 웹서비스 배포와 무관했다.
package
라이프사이클까지는 무난히 돌아갔다. 이후 스프링 프로젝트에서 intellij 가 인식하는 ApplicationContext 의 xml
파일의 인식 문제가 있었다.
ClassPathXmlApplicationContext serviceContext =
new ClassPathXmlApplicationContext("config/applicationContext*.xml");
위처럼 "config/applicationContext*.xml"
라는 경로를 주면 자동으로 resources
디렉토리 아래의 "[resources]/config/applicationContext*.xml"
경로를 탐색하는 것이 기본 설정이었다. 그런데 이 기본 설정을 모르고 계속 엉뚱한 곳에서 xml
파일을 임포트하려고 하니 빈을 찾을 수 없다는 문제가 계속 발생했었다.
이후 정리
여러가지 쿼리들을 튜닝했다
물론 아직 쿼리를 튜닝함에 있어 부족함도 많겠지만, 큰 어려움은 발생하지 않았다. 내가 어떻게 튜닝을 했는지는 포스팅에 아주 간략히 정리를 해보았다.
CSP (Content Security Policy) 로 인한 문제를 경험했다
CSP (Content Security Policy)
는 보안설정으로 가져오는 컨텐츠의 소스를 제한할 수 있는 기능이 있다.
Content-Security-Policy: default-src 'self'; img-src *; media-src media1.com media2.com; script-src userscripts.example.com
위와 같이 소스를 제한하면, 스크립트는 userscripts.example.com
에서만 가져올 수 있게 되고, 미디어는 media1.com media2.com
에서만 가져올 수 있게 된다.
이미지를 압축했다
서버에 이미지를 올릴 때는 리소스상의 이유로 최대한 압축하여 올리는 편이 좋다.
다양한 압축 제공 웹사이트가 있겠지만, 이 이미지 압축 웹사이트에서 압축했는데 결과가 만족스러웠다. 알씨와 같은 도구를 이용하여 이미지 크기까지 줄여놓으면 이미지의 용량이 매우 줄어든다.
MSSQL 에서 Audit 을 수동으로 했을 때의 문제
DELT_YN
을 까먹고 작업하는 작업자가 매우 많은데, 이는 치명적이다. 삭제된 데이터인 DELT_YN = 'Y'
인 데이터는 항상 걸러주어야 하는데 이를 실수하기 매우 쉽다. ORM 에서의 설정을 통해 이러한 문제를 해결할 수 있긴 한데 ORM 을 사용하지 않는 경우라면 이러한 실수를 하지 않도록 꼭 주의하자.
INSERT INTO SELECT
을 이용할 때의 문제
INSERT INTO TABLE1(
COLUMN1,
COLUMN2
)
SELECT TOP 1
COLUMN1,
COLUMN2
FROM
TABLE2
WHERE
...
위와 같이 INSERT INTO SELECT
을 이용하는데 정합성이 맞는 데이터 1개만 추가하고 싶다면 TOP 1
을 반드시 해주자. 해주지 않으면, 조건에 맞는 모든 데이터가 INSERT 되어 당황할 수 있다.
'회고 > 주간 회고' 카테고리의 다른 글
6월 1주차 회고 (0) | 2022.06.07 |
---|---|
5월 4주차 주간회고 (2) | 2022.06.01 |
5월 3주차 주간회고 (0) | 2022.05.23 |
5월 2주차 주간회고 (0) | 2022.05.17 |
5월 1주차 주간회고 (0) | 2022.05.11 |