분류 전체보기
-
Mybatis 를 사용하여 List 데이터를 Insert 하는 방법이다. 데이터는 아래와 같이 List 형 Map 을 사용했다.[ {role_id=O0100, right_name=기관관리자, site_code=101}, {role_id=S9900, right_name=시스템관리자, site_code=101}, {role_id=M0100, right_name=통합운영관리자, site_code=101}] SELECT MAX(right_seq)+1 FROM m_right INSERT INTO m_right(right_seq, right_name, right_desc, site_code, role_id) VALUES ( ..
Mybatis foreach, selectkey, Auto Increment 구현Mybatis 를 사용하여 List 데이터를 Insert 하는 방법이다. 데이터는 아래와 같이 List 형 Map 을 사용했다.[ {role_id=O0100, right_name=기관관리자, site_code=101}, {role_id=S9900, right_name=시스템관리자, site_code=101}, {role_id=M0100, right_name=통합운영관리자, site_code=101}] SELECT MAX(right_seq)+1 FROM m_right INSERT INTO m_right(right_seq, right_name, right_desc, site_code, role_id) VALUES ( ..
2024.09.02 -
Spring Security 6 의 내용을 보다가 문득 Security Filter Chain 의 Filter 실행 순서가 궁금하여 찾아봤다. 참고 사이트(docs.spring.io)https://docs.spring.io/spring-security/reference/servlet/architecture.html#servlet-security-filters FilterOrderRegistration.javahttps://github.com/spring-projects/spring-security/blob/6.3.3/config/src/main/java/org/springframework/security/config/annotation/web/builders/FilterOrderRegistration...
Spring Security Filter 등록 및 실행 순서Spring Security 6 의 내용을 보다가 문득 Security Filter Chain 의 Filter 실행 순서가 궁금하여 찾아봤다. 참고 사이트(docs.spring.io)https://docs.spring.io/spring-security/reference/servlet/architecture.html#servlet-security-filters FilterOrderRegistration.javahttps://github.com/spring-projects/spring-security/blob/6.3.3/config/src/main/java/org/springframework/security/config/annotation/web/builders/FilterOrderRegistration...
2024.08.30 -
미디어 쿼리(Media Query, @Media)미디어 쿼리는 화면 해상도, 기기 방향 등의 조건으로 HTML 에 적용하는 스타일을 전환할 수 있는CSS3 의 기능이다. 반응형 웹 디자인에서 보통 사용하며 기기 및 크기마다 적용할 스타일을전환할 수 있다. 반응형 웹(Responsible Web)웹 사이트 내용을 그대로 유지하면서 다양한 디바이스, 창, 화면 크기에 맞게 렌더링 되는걸 반응형 웹이라 한다.예를 들어 스마트폰의 크기와 태블릿 크기는 달라 고정 크기로 해놓았을 경우 화면이 깨질수 있다.이러한 문제로 인해 크기에 따라 화면 스타일을 적용하여 깨지지 않도록 할 수 있다.즉, 디바이스마다 레이아웃 크기를 다르게 설정하기 위해 미디어 쿼리를 사용한다. @media (min-width: 320px) {..
미디어쿼리(Media Query) 와 뷰포트(viewport)미디어 쿼리(Media Query, @Media)미디어 쿼리는 화면 해상도, 기기 방향 등의 조건으로 HTML 에 적용하는 스타일을 전환할 수 있는CSS3 의 기능이다. 반응형 웹 디자인에서 보통 사용하며 기기 및 크기마다 적용할 스타일을전환할 수 있다. 반응형 웹(Responsible Web)웹 사이트 내용을 그대로 유지하면서 다양한 디바이스, 창, 화면 크기에 맞게 렌더링 되는걸 반응형 웹이라 한다.예를 들어 스마트폰의 크기와 태블릿 크기는 달라 고정 크기로 해놓았을 경우 화면이 깨질수 있다.이러한 문제로 인해 크기에 따라 화면 스타일을 적용하여 깨지지 않도록 할 수 있다.즉, 디바이스마다 레이아웃 크기를 다르게 설정하기 위해 미디어 쿼리를 사용한다. @media (min-width: 320px) {..
2024.08.07 -
Spring 에서 프로퍼티 파일에 있는 설정값들을 불러오기 위해선 다양한 방법이 존재하지만대표적인 방식이 @Value 와 @ConfigurationProperties 어노테이션이다. @Value@ConfigurationProperties주입 형식단일값 주입N개 주입(여러개 주입 가능)RelaxedBindingXO @ConfigurationProperties 어노테이션은 RelaxedBinding 이 적용되므로 보다 유연하게 값을 바인딩할 수 있다.RelaxedBinding 이란 값이 정확히 일치하지 않아도 유연하게 값을 바인딩 할 수 있게 인식한다.대표적으로 Camel Case 와 Snake Case 로 설정된 설정값들을 동일한 설정으로 이해하며, 우선순위에 따라1개의 값으로 설정한다. @Value..
@Value, @ConfigurationProperties 어노테이션Spring 에서 프로퍼티 파일에 있는 설정값들을 불러오기 위해선 다양한 방법이 존재하지만대표적인 방식이 @Value 와 @ConfigurationProperties 어노테이션이다. @Value@ConfigurationProperties주입 형식단일값 주입N개 주입(여러개 주입 가능)RelaxedBindingXO @ConfigurationProperties 어노테이션은 RelaxedBinding 이 적용되므로 보다 유연하게 값을 바인딩할 수 있다.RelaxedBinding 이란 값이 정확히 일치하지 않아도 유연하게 값을 바인딩 할 수 있게 인식한다.대표적으로 Camel Case 와 Snake Case 로 설정된 설정값들을 동일한 설정으로 이해하며, 우선순위에 따라1개의 값으로 설정한다. @Value..
2024.07.18 -
HTTP(HyperText Transfer Protocol )는 웹 문서나 데이터를 전송하기 위한 프로토콜입니다.클라이언트와 서버가 통신할 때 부가적인 정보를 담기 위해 header 를 사용합니다. HTTP Header 구조 1. General (일반) Request URL(요청 URL) : 브라우저에서 요청한 서비스 요청 주소Request Method(요청 메서드) : 서비스 요청 방식 (GET, POST 등)Status Code(상태 코드) : 요청한 서비스에 대한 응답 상태 코드 (200, 400, 404 에러 등)Remote Address(원격 주소) : 서비스 접근 IP 주소(naver.com 의 서버 IP 주소)Referrer Policy(리퍼러 정책) : 브라우저에서의 참조자 정책 2. ..
HTTP Header 구조HTTP(HyperText Transfer Protocol )는 웹 문서나 데이터를 전송하기 위한 프로토콜입니다.클라이언트와 서버가 통신할 때 부가적인 정보를 담기 위해 header 를 사용합니다. HTTP Header 구조 1. General (일반) Request URL(요청 URL) : 브라우저에서 요청한 서비스 요청 주소Request Method(요청 메서드) : 서비스 요청 방식 (GET, POST 등)Status Code(상태 코드) : 요청한 서비스에 대한 응답 상태 코드 (200, 400, 404 에러 등)Remote Address(원격 주소) : 서비스 접근 IP 주소(naver.com 의 서버 IP 주소)Referrer Policy(리퍼러 정책) : 브라우저에서의 참조자 정책 2. ..
2024.07.02 -
Javascript 에서 물음표(?), 느낌표(!) 등 다양한 연산자를 통해 코드의 간결하고 가독성 있게 바꿔준다. 물음표 1개(?)물음표 한개 연산자는 "삼항연산자", "옵셔널 체이닝 연산자" 에서 사용된다. 삼항연산자// 조건식 ? 참값 : 거짓값let a = 11;a > 10 ? 'a가 10보다 큽니다.' : 'a가 10보다 작습니다.' 삼항연산자는 조건식이 참과 거짓일 때 콜론(:)을 기준으로 각각 다른 값을 반환한다. 옵셔널 체이닝 연산자(?.)// 사용법 = (?.)let card = {};// undefined, 객체의 존재하지 않는 요소에 접근해 정보를 가져오려고 할 경우 에러가 발생한다.console.log(card && card.name && card.name.number);// u..
Javascript 유용한 연산자Javascript 에서 물음표(?), 느낌표(!) 등 다양한 연산자를 통해 코드의 간결하고 가독성 있게 바꿔준다. 물음표 1개(?)물음표 한개 연산자는 "삼항연산자", "옵셔널 체이닝 연산자" 에서 사용된다. 삼항연산자// 조건식 ? 참값 : 거짓값let a = 11;a > 10 ? 'a가 10보다 큽니다.' : 'a가 10보다 작습니다.' 삼항연산자는 조건식이 참과 거짓일 때 콜론(:)을 기준으로 각각 다른 값을 반환한다. 옵셔널 체이닝 연산자(?.)// 사용법 = (?.)let card = {};// undefined, 객체의 존재하지 않는 요소에 접근해 정보를 가져오려고 할 경우 에러가 발생한다.console.log(card && card.name && card.name.number);// u..
2024.06.25