분류 전체보기38 Spring Boot의 application.propertise 또는 yaml Spring Boot의 application.propertise 또는 yaml에 설정하다보면 자동완성이 되는 것을 많이 보았을 것이다. 지금까지는 스프링 부트에서 제공해주는 편리한 기능이겟지 하고 넘어갔었는데 얼마 전 스터디를 진행 하면서 코드를 까보니 propertise에 ConfigProperties가 연결되어 있고 클래스로 만들어져 있었다. 이를 이용하여 @Value(${spring.redis}) 같이 spel문을 사용하지 않고 해당 클래스를 의존성 주입받아 훨씬 간결하게 코드 작성이 가능했다. 2020. 4. 23. [MSSQL] OPENQUERY 대용량 DML 작업 시 문제점 OPENQUERY를 이용하여 POSTGRESQL에 DELETE 및 INSERT 작업을 진행하였다. 적게는 수천건부터 많게는 수백만건 작업을 해아하는데 어째서인지 만건만 넘어가도 서버가 뻗어버렸다. 그 원인은 바로 OPENQUERY의 메커니즘에 있었다. 예를 들어 DELETE FROM MEMBER 가 있다고 가정하면 그냥 POSTGRESQL에서 실행 시 MEMBER의 ROW 수 만큼 삭제되는데 실행계획을 보면 1 EXCUTE된다. 하지만 OPENQUERY 실행 시 ROW 수 = EXCUTE 수가 된다. 즉 하나를 삭제할 때 마다 모든 테이블을 읽어온다는 뜻이다. INSERT도 마찬가지로 INSERT 작업 후 SELECT문을 실행시켜 모든 데이터를 한번 얻어온다고 한다. 직접 확인은 못했지만 아래 링크를 확.. 2020. 4. 22. [OOP] 객체지향프로그래밍 OOP 개발 시 객체 중심으로 협업과 유지보수를 위한 소프트웨어 개발 방법론, 패러다임 과거에는 절차지향, 구조적, 데이터 중심 프로그래밍이 패러다임이였으나 PC가 보급되기 시작하면서 웹 및 각종 소프트웨어의 발전이 생김. 기존의 절차지향 등 프로그래밍 방식을 사용한 시대에는 대부분 업무적으로 사용하는 프로그램이 대부분(계산기 등) 따라서 INPUT OUTPUT에 대한 문서화가 명확해야했으며 그걸 토대로 개발 및 유지보수 진행 이러한 시스템이다보니 객체지향이 굳이 필요 없었다 기존 방식으로는 한계가 있어 객체지향프로그래밍이 패러다임으로 발전 객체지향프로그래밍은 이미 옛날 부터 있던 개념이였다. 다형성, 추상화, 상속, 무엇을 이용해서 만들어짐 즉 OOP의 특징의 정확한 의미는 character가 아닌 ?.. 2020. 4. 17. [XFF] 클라이언트 IP 가져오기 (X-Forwarded-For) X-Forwarded-For(XFF) - HTTP Header 중 하나로 HTTP Server에 요청한 Client의 IP를 식별하기 위한 표준 - 웹 서버나 WAS 앞에 L4 같은 Load balancers 나 Proxy server, caching server 등의 장비가 있을 경우 웹서버는 Proxy server 나 장비IP에서 접속한 것으로 인식 따라서 웹서버는 실제 클라이언트 IP가 아닌 앞단에 있는 Proxy서버 IP를 요청한 IP로 인식하고, Proxy장비 IP 로 웹로그를 남김 이 때 웹 서버에서는 X-Forwarded-For HTTP Hearder에 있는 클라이언트 IP를 찾아 실제 요청한 클라이언트 IP를 알 수 있고, 웹로그에도 실제 요청한 클라이언트 IP를 남김 콤마를 구분자로 Cl.. 2020. 4. 14. 이전 1 2 3 4 5 6 7 8 ··· 10 다음