set
-
이번 포스트에서는 MyBatis가 가진 멋진 기능중 하나인 동적 쿼리 작성에 대해 살펴보자. 동적 쿼리는 상황에 따라 분기 처리를 통해 SQL을 동적으로 만드는 것이다.문자열 대체를 통한 쿼리의 재구성 ${}를 이용한 쿼리 작성이제까지 SQL을 작성하면서 사용했던 플레이스 홀더로 #을 사용했었는데 $도 사용할 수 있다. 이 둘의 차이를 살펴보자.구분#{ } : 바인딩 플레이스 홀더 $ { }: 문자열 치환 플레이스 홀더용도값 바인딩문자열 치환변경 가능성값만 대체 가능테이블명, 컬럼명 등 구조까지 변경 가능처리 방식PreparedStatement 사용Statement 사용SQL 인젝션 공격안전취약${}는 SQL 삽입 공격이 발생할 수 있기 때문에 사용을 지양하는 것이 좋지만 쿼리의 구조를 변경할 수 있다는..
[MyBatis] 04. 동적 쿼리이번 포스트에서는 MyBatis가 가진 멋진 기능중 하나인 동적 쿼리 작성에 대해 살펴보자. 동적 쿼리는 상황에 따라 분기 처리를 통해 SQL을 동적으로 만드는 것이다.문자열 대체를 통한 쿼리의 재구성 ${}를 이용한 쿼리 작성이제까지 SQL을 작성하면서 사용했던 플레이스 홀더로 #을 사용했었는데 $도 사용할 수 있다. 이 둘의 차이를 살펴보자.구분#{ } : 바인딩 플레이스 홀더 $ { }: 문자열 치환 플레이스 홀더용도값 바인딩문자열 치환변경 가능성값만 대체 가능테이블명, 컬럼명 등 구조까지 변경 가능처리 방식PreparedStatement 사용Statement 사용SQL 인젝션 공격안전취약${}는 SQL 삽입 공격이 발생할 수 있기 때문에 사용을 지양하는 것이 좋지만 쿼리의 구조를 변경할 수 있다는..
2023.06.18 -
이번 포스트에서는 Vue.js 등 프론트엔드 프레임워크 들에서 반응성을 위해 사용하는 Proxy에 대해서 살펴보자. 반응성이란? 반응성(Reactivity)반응성이란 선언적인 방식으로 어떤 값에 대한 변경에 대한 제어를 수행하는 프로그래밍 방식을 말한다.예를 들어 다음과 같은 엑셀을 생각해보자.A와 B에는 각각 10, 20이 할당되어 있다. Sum에는 이들의 합을 저장하도록 선언되어있으므로 30이 저장된다. 이 상황에서 A의 값을 20으로 변경하면 Sum은 자동으로 계산 결과를 수정해서 40으로 변경된다. 이것이 바로 반응성이다. JavaScript의 반응성하지만 우리의 일반적인 프로그램은 반응성을 갖지 못한다.const nums = { A: 10, B: 20 };let sum = nums.A + num..
[새로운 기능] Proxy이번 포스트에서는 Vue.js 등 프론트엔드 프레임워크 들에서 반응성을 위해 사용하는 Proxy에 대해서 살펴보자. 반응성이란? 반응성(Reactivity)반응성이란 선언적인 방식으로 어떤 값에 대한 변경에 대한 제어를 수행하는 프로그래밍 방식을 말한다.예를 들어 다음과 같은 엑셀을 생각해보자.A와 B에는 각각 10, 20이 할당되어 있다. Sum에는 이들의 합을 저장하도록 선언되어있으므로 30이 저장된다. 이 상황에서 A의 값을 20으로 변경하면 Sum은 자동으로 계산 결과를 수정해서 40으로 변경된다. 이것이 바로 반응성이다. JavaScript의 반응성하지만 우리의 일반적인 프로그램은 반응성을 갖지 못한다.const nums = { A: 10, B: 20 };let sum = nums.A + num..
2022.07.01