본문 바로가기

Programming120

static 변수에 @Value inject 목차 문제 원인 해결책 참고 문제 foo.properties 파일 str.foo = staticValue java 파일 @Component public class CommonVariables { @Value("${str.foo}") public static String strFoo; //null } 외부 프로퍼티 파일로부터 @Value를 통해 값을 주입하려했으나 null 발생. 원인 스프링은 @Value를 static field에 지원하지 않는다. 해결책 public static String strFoo; @Value("${str.foo}") private void setStrFoo(String strFoo){ CommonVariables.strFoo = strFoo; // "staticValue" } .. 2022. 10. 24.
[ORACLE] Lock 1편 - Lock의 개념과 매커니즘 본 포스팅은 도서 "전문가를 위한 오라클 데이터베이스 아키텍처 (저: 토마스 카이트)" 중 chapter 06 락킹과 래칭을 참고하여 정리한 글입니다. 다중 사용자 기반의 애플리케이션이 데이터베이스를 사용한다면, 락킹 (locking) 메커니즘에 대해 고려하지 않을 수 없습니다. 락킹 메커니즘은 DB를 활용하는 주요 기능으로 개발자는 락킹 메커니즘을 충분히 이해하고 활용하여 애플리케이션을 개발해야 합니다. 특히 오라클의 경우 다른 DB보다 더 월등한 락킹 메커니즘을 제공합니다. Lock을 무시한 채 개발한 애플리케이션은 데이터 무결성이 깨지거나 예상 밖의 데이터 결과를 만들어 버리게 됩니다. 따라서 이번 포스팅에서는 공유 데이터 구조 (table, row, procedure 등)에 대하여 어떻게 락을 걸.. 2022. 10. 12.
JSP란 목차 JSP란 JSP 요소 JSP란 동적인 웹 콘텐츠 (문서)를 더 편하게 만들기 위해 고안된 서블릿입니다. 기존 서블릿 (JSP가 아닌)의 경우 java class 파일에 html을 작성하고, 컴파일하고, was를 재기동하는 과정이 필요하기 때문에 굉장히 불편합니다. 그러나 JSP는 server side의 JAVA 코드를 스크립트 언어로서 HTML 페이지에 작성할 수 있도록 하는 서블릿입니다. 그리고 컴파일은 WAS (톰캣)가 최초 요청마다 자동으로 컴파일하기 때문에 WAS의 재기동과 같은 과정이 필요 없습니다. 오늘 날짜를 출력하는 웹페이지를 jsp와 jsp가 아닌 서블릿으로 예시를 보여드리면 jsp의 탄생 이유, 편리함이 바로 체감되는데요. jsp가 아닌 서블릿의 경우 아래처럼 작성됩니다. pack.. 2022. 10. 5.
DISTINCT, GROUP BY 무엇을 쓸까 데이터 중복제거, 집계 함수 사용 등을 할 때 많이들 사용하는 게 DISTINCT 함수 와 GROUP BY 절입니다. 둘의 차이를 알아보고 경우에 따라 더 효율적으로 쓰기 위해 포스팅합니다. 목차 DISTICNT, GROUP BY 예시 성능 차이 (실행 계획) 가독성 결론 참조 DISTICNT, GROUP BY 예시 -- 요구 1 : 사원 테이블에서 부서 번호 별 소속 수 출력 SELECT DEPT_NO, COUNT(*) FROM TB_USER GROUP BY DEPT_NO; -- 요구 2 : 사원 테이블에서 중복 제거한 부서 번호 출력 -- DISTINCT SELECT DISTINCT DEPT_NO FROM TB_USER; -- GROUP BY SELECT DEPT_NO FROM TB_USER GROU.. 2022. 9. 26.
웹 (WEB), 웹어플리케이션, WAS, 웹 컨테이너... 웹, 웹 애플리케이션, 톰캣, WAS, 웹 컨테이너, 서블릿 컨테이너... 웹 개발을 하다보면 위 단어들이 아주 여기저기 날아다니는데 그 개념이 명확하게 정리되어있지 않습니다. 심지어 웹 개발자들 조차 실무에서 위 단어들을 혼용해서 맘껏 사용합니다. 명확한 정의를 알고 용어를 혼동하지 않고 소통할 때 비로소 일도 효율이 잘된 것 같습니다. 이번 포스팅에서 간단하게 정리합니다. 웹 개발자라면 구분해야겠지요? 목차 웹 (web) 웹 어플리케이션 (web application) CGI (Common Gateway Interface), WAS (Web Application Server) Web Server와 WAS Servlet, JSP, Web Container 참조 웹 (web) 팀 버너스 리 (Sir Ti.. 2022. 9. 23.
HTTP 프로토콜 초간단 요약 목차 HTTP 프로토콜이란? HTTP 요청 메시지 구조 HTTP 응답 메시지 구조 HTTP 프로토콜 (PROTOCOL)이란? 웹 서버 (아파치 등)가 클라이언트 (브라우저, 크롬 등)와 통시하는 규약입니다. TCP 프로토콜에 기초합니다. HTTP 프로토콜의 특성 connection-oriented : 서버에 접속 후 요청함 stateless : 서버는 응답한 후 클라이언트의 상태를 유지 (보유) 안 함 (쿠키 / 세션의 필요성) HTTP 요청 / 응답 과정 (request / response) 접속 설정 클라이언트가 요청 메세지 전송 (request) 웹서버가 응답 메세지 전송 (response) 연결 끊음 HTTP 요청 메세지 구조 (request) GET : 웹 서버에게 요청 처리 방식을 지정 /in.. 2022. 9. 14.