전체 글 79

[Crownix Report] 사용 방법 및 함수 정리

📌 참고사항이 내용은 8 버전 기준으로 작성✅ 스크립트 함수(요약)요약부에서 사용하는 스크립트 함수 정리GETPARAM : 전달 받은 파라미터를 사용 - ex) GETPARAM("$1")GETVALUE : 현재 레코드 위치에서 0만큼 떨어진 레코드의 특정컬럼의 값을 조회 - ex) GETVALUE("name", 0)GETCOLUMN : 0번째 행에 해당 컬럼값을 조회 - ex) GETCOLUMN(0,"name")LOADIMAGE : url로 이미지를 불러와서 표시 - ex) LOADIMAGE("http://test/test/image.png")FORMAT : 데이터를 원하는 형식으로 변환 - ex) FORMAT(DATE,"yyyy.mm.dd",0)✅ 파라미터 함수쿼리나 스크립트에 사용할 파라미터들을 추..

코딩 2025.07.08

[Error] PostgreSql 한글 정렬 관련 문제

🗂️ 한글정렬시 제대로 정렬이 안되는 문제1️⃣ 원인데이터베이스 내에 문자열 데이터 정렬순서를 지정해주는 datcollate 가 en_US.UTF-8로 default 설정이 되어있음2️⃣ 해결ALTER TABLE 테이블명 ALTER COLUMN 컬럼명 TYPE 컬럼타입 COLLATE "ko_KR.utf8"; 으로 설정 변경3️⃣ 또다른 해결방법SELECT 조회시 ORDER BY 뒤에 COLLATE "ko_KR.utf8" 붙여서 조회 ex) ORDER BY 컬럼명 COLLATE "ko_KR.utf8" DESC NULLS LAST

오류 2025.07.01

[Mybatis] 보조기능 태그 정리

보조 기능 태그쿼리 실행 전후 동작을 돕는 보조 태그 1. , sql : 재사용할 SQL 블록을 정의include : 위에서 정의한 블록을 다른 쿼리 안에 삽입 AND USER_NAME = #{userName} AND USER_ID = #{userId} ORDER BY USER_NAME DESC ORDER BY CREATE_DATE DESC SELECT * FROM USER 📌 장단점장점 : 코드 중복제거, 유지보수 편리, 가독성 향상단점 : SQL 추적필요하여 파악하기 어려움, sql id 중복 관리 필요 2. INSERT 실행 전후에 별도 SELECT 실행해서 자동 생성 키 조회≫ keyPrope..

코딩 2025.06.30

[Mybatis] 동적 SQL 정리

동적 SQL입력값에 따라 SQL문장을 동적으로 생성하는 기능, 다양한 태그들을 제공 1. 조건에 따라 SQL 구문을 포함 시킴 AND USER_NAME = #{userName} 📌 장단점장점 : 조건부 필터링을 깔끔하게 처리단점 : 조건이 많을수록 XML 가독성이 낮아짐 2. , , 자바의 switch 문 처럼 사용 ORDER BY USER_NAME DESC ORDER BY CREATE_DATE DESC 📌 장단점장점 : switch처럼 명확한 분기 처리 가능단점 : if 와 마찬가지로 조건이 많을수록 XML 가독성이 낮아짐 3. WHERE 절을 자동으로 붙여주며, 첫 번째 조건절 앞의 AND 나 OR도 자동으로 제거해줌 AND USER_NAME = #{userName} ..

코딩 2025.06.27

[기술면접] 트랜잭션 격리수준 정리

✅ 트랜잭션 격리수준 이란동시에 여러 트랜잭션이 실행될 때 한 트랜잭션이 다른 트랜잭션의 연산에 영향을 받지 않도록 하는 정도트랜잭션 격리 수준은 READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SERIALIZABLE가 있음📌 용어 정리Dirty Read : 커밋되지 않은 데이터를 읽음, 그 데이터가 나중에 롤백될 경우 트랜잭션의 결과가 변경될 수 있음Phantom Read : 한 트랜잭션이 같은 조건의 쿼리인데 삽입, 갱신, 삭제등으로 결과가 달라짐Non-Repeatable Read : 같은 트랜잭션에서 같은 쿼리를 두 번 실행했을 때 결과가 달라질 수 있음1. READ UNCOMMITTED1. 다른 트랜잭션이 아직 커밋하지 않은 변경 내용을 조회 가능2. ..

기술면접 2025.06.15

[Mybatis] Collection, Association 정리

📌 용도복잡한 결과를 매핑 할때 사용하는 XML 태그, 중첩 객체나 List형태로 매핑할때 사용예시) 객체 정보class User { int id; String name; String country; Address address; List orders;}class Address { String mainAddress; String subAddress;}class Order { int orderId; String orderItem;}1. 1:1 관계 – 결과를 하나의 객체 필드에 매핑할 때 사용 1. 사용자 정보 조회 (단일 컬럼일 경우) SELECT ID, NAME FROM USER WHERE ID = #{id} ..

코딩 2025.06.15

[기술면접] Checked Exception과 Unchecked Exception 정리

✅ Checked ExceptionRuntimeException 하위가 아니면서 Exception 하위에 있는 클래스throws 를 사용하거나 try catch 문을 이용하여 반드시 처리해야하는 특징이 있음컴파일 하는 과정에서 확인함여러 예외처리를 핸들링 하여 개발자의 실수를 줄여주지만 번거로운 단점이 있음✅ Unchecked ExceptionRuntimeException 하위 클래스예외처리를 강제로 할 필요 없음런타임 하는 과정에서 확인함예외처리를 해줄 필요가 없어 단순하지만 개발자의 실수를 줄여주지 못함📌 컴파일 VS 런타임컴파일은 소스코드를 기계가 이해할수있도록 변환하는 작업을 말하며,런타임은 컴파일을 마치고 실행중인 상태를 말함📌 커스텀 예외 클래스 사용 방법기본 생성자를 만들고 오버로딩하는..

기술면접 2025.06.04

[SQLD] 오답정리

1과목1. 데이터 모델링 유의점더보기≫ 중복성, 유연성, 비일관성 2. 데이터 스키마 구조 단계 - 외부, 개념, 내부더보기≫ View 단계는 여러 사용자 관점으로 구성하는 외부 스키마에 해당≫ 논리적인 데이터 독립성을 고려하는 단계는 외부, 개념적 단계≫ 물리적인 저장구조를 표현하는 스키마는 내부스키마≫ 통합된 모든 사용자의 관점은 개념스키마와 관련있음 3. 엔티티 특징더보기≫ 영속적으로 존재하는 인스턴스의 집합이어야함≫ 발생시점에 따라 구분할수있는건 행위, 중심, 기본 엔티티≫ 엔티티에 이름을 부여할때 가능하면 약어를 사용안함 4. 속성의 특징더보기≫ 인스턴스에서 관리하고자 하는 의미상 더이상 분리 되지않은 최소 데이터 단위≫ 하나의 인스턴스에서 각각의 속성은 한개의 속성값을 가짐≫ 이름을 부여할때 ..

SQL 2025.05.30

[Error] 제로 너비 공간

1. 제로 너비 공간 (ZWSP)눈에 보이지 않지만 텍스트에 영향을 줄 수 있는 특수 문자주로 텍스트 편집이나 디지털 문서에서 보이지 않게 문자를 분리하거나, 줄바꿈을 제어하는 데 사용 2. 문제점1. WHERE 조건이 예상대로 동작하지 않음// a‍d‍m‍i‍n (a + U+200B + d + U+200B + ...) 이런 식으로 매칭 실패함SELECT * FROM users WHERE username = 'admin'; 2. 데이터 중복 처리 실패// 나중에 'a‍b‍c'를 넣으면 똑같아 보이지만 실제로는 다른 값이라서 중복 체크가 안되고 insert됨INSERT INTO table (value) VALUES ('abc'); 3. 보안 문제 (SQL Injection 우회)// UNION 차단에 걸리..

오류 2025.04.26