728x90
반응형

분류 전체보기 1376

[jQuery] $.getScript

$.getScript()는 jQuery에서 제공하는 함수로, 외부 JavaScript 파일을 동적으로 불러와서 실행하는 기능을 말해.아주 쉽게 정리해줄게!✅ 1. $.getScript() 기본 개념📌 외부 JS 파일을 “AJAX 요청처럼 다운로드해서 실행”HTML에 넣는 것과 똑같은 효과.📘 기본 문법 $.getScript("경로/파일명.js");이렇게만 써도 해당 JS 파일이 다운로드되고, 즉시 실행돼.✅ 2. 실제 사용 예시 $.getScript("/js/src/partnerKeyman.js");이러면 /js/src/partnerKeyman.js 파일을 불러와서 실행함.✅ 3. 콜백 추가 가능파일 로딩 후 해야 할 작업이 있을 때:$.getScript("/js/src/myFile.js", fun..

Front/JS & jQuery 2025.11.05

[js] window.hasOwnProperty

✅ 1. window는 “브라우저 전체 전역 객체”브라우저에서 전역 변수나 전역 함수는 전부 window 안에 저장됨.예) var a = 10; 이건 사실: window.a = 10; 과 같아.✅ 2. hasOwnProperty()는 “직접 가진 속성이냐?” 확인예시: window.hasOwnProperty("a") // truewindow.hasOwnProperty("b") // false즉,window 안에 a라는 변수가 존재하는지 확인하는 것.✔ 쉽게 비유해보자🏠 window = 우리 집📦 속성(property) = 집 안 물건🔍 hasOwnProperty(“물건”) = 그 물건이 집 안에 있나 확인 if (!window.hasOwnProperty("lodingAccountJsCheck..

Front/JS & jQuery 2025.11.04

[Error][JAVA][MyBatis] Cannot read the array length because "<local2>" is null

이 로그를 보면 MyBatis나 Java 코드 실행 중 Cannot read the array length because "" is null 오류가 발생했습니다. 즉, 코드에서 배열이나 리스트를 다루려 하는데, 참조가 null이라 길이를 확인할 수 없는 상황입니다. 문제 원인라는 로컬 변수가 null 상태인데 length 또는 size()를 접근하려고 했음.흔히 발생하는 케이스:컨트롤러에서 파라미터로 전달된 배열/리스트가 null.서비스/DAO에서 반환한 결과가 null인데, 코드에서 바로 .length 또는 .size() 접근.JSON 바인딩에서 배열이 누락되어 null로 들어옴.

Error 2025.10.30

[DB][MySQL] JSON_OVERLAPS()

✅ JSON_OVERLAPS() — JSON 배열끼리 겹치는 값이 있는지 비교📌 용도JSON 배열끼리 공통되는 요소가 있으면 TRUE겹치는 값이 하나도 없으면 FALSE.예)제품 태그 id = [1,3]검색 조건 태그 id = [3,5]→ 3이 겹치므로 매칭됨.📌 예제 테이블product(product_id, tags)-- tags → {"items":[{"id":"1"},{"id":"3"}]}📌 JSON_OVERLAPS 사용 예SELECT *FROM product pWHERE JSON_OVERLAPS( JSON_EXTRACT(p.tags, '$.items[*].id'), JSON_ARRAY('3', '5') );👉 동작 원리JSON_EXTRACT(p.tags, ..

Front/JS & jQuery 2025.10.28

[DB][MySQL] JSON_TABLE - GROUP_CONCAT()

✅ 2. GROUP_CONCAT() — 여러 행을 하나의 문자열로 합침📌 용도여러 row의 값을"A, B, C" 처럼 하나의 문자열로 합치고 싶을 때 사용.📌 예시위에서 JSON_TABLE로 펼친 결과를 다시 하나로 합치면?SELECT p.product_id, GROUP_CONCAT(jt.name ORDER BY jt.id SEPARATOR ', ') AS tag_namesFROM product pCROSS JOIN JSON_TABLE( p.tags, '$.items[*]' COLUMNS ( id VARCHAR(10) PATH '$.id', name VARCHAR(100) PATH '$.name' )) AS jtGROUP BY p.product..

DB 2025.10.27

[DB][MySQL] JSON_TABLE()

✅ 1. JSON_TABLE() — JSON 배열을 행(row)으로 펼치는 함수📌 용도테이블 안에 JSON 형식으로 들어 있는 배열 데이터를정규 테이블처럼 행 단위로 꺼내 쓸 수 있게 만드는 함수.📌 예제 테이블product ( product_id INT, tags JSON -- 예: {"items":[{"id":"1","name":"전자"},{"id":"3","name":"가전"}]})📌 JSON_TABLE 사용 예SELECT p.product_id, jt.id AS tag_id, jt.name AS tag_nameFROM product pCROSS JOIN JSON_TABLE( p.tags, '$.items[*]' COLUMNS ( i..

DB 2025.10.26

[DB][MyBatis][MySQL] MyBatis + MySQL에서 실제로 가능한 resultSetType

💡 중요MySQL JDBC 드라이버(mysql-connector-j)에서는 사실상 FORWARD_ONLY만 완전 지원됩니다.resultSetTypeMySQL 실제 지원 여부FORWARD_ONLY✅ 정상 지원SCROLL_INSENSITIVE❌ 내부적으로 FORWARD_ONLY로 다운그레이드됨SCROLL_SENSITIVE❌ 지원 안 됨 → 결국 FORWARD_ONLY가 됨➡ MyBatis XML에서 SCROLL_INSENSITIVE라고 써도 그대로 FORWARD_ONLY로 동작합니다.✔ 2. 실무에서 어떤 타입을 써야 하나?⭐ 결론: MySQL + MyBatis에서는 그냥 FORWARD_ONLY 쓰는 게 정답입니다.어차피 MySQL이 SCROLL_* 지원을 안 함가장 빠르고, 메모리 가장 적게 쓰고, 안정..

DB 2025.10.22

[DB][MyBatis] resultSetType 비교 그림

🔍 ResultSet Type 비교 그림1️⃣ FORWARD_ONLY➡️➡️➡️ 앞으로만 이동 가능[ row1 ] → [ row2 ] → [ row3 ] → [ row4 ] ↑ 시작점 (뒤로 이동 불가)커서는 오직 한 방향, 앞으로만 이동뒤로 이동 ❌특정 row로 점프 ❌가장 빠르고 메모리 효율적아주 많은 데이터 조회할 때 주로 사용 (기본값)2️⃣ SCROLL_INSENSITIVE⬅️➡️ 앞뒤 자유 이동 가능[ row1 ] ↔ [ row2 ] ↔ [ row3 ] ↔ [ row4 ] 커서를 앞뒤로 자유롭게 움직일 수 있음특정 row로 점프 가능데이터 변경사항은 반영되지 않음(조회 후 DB 값이 바뀌어도 ResultSet에는 반영 안 됨)3️⃣ SCROLL_SENSITIVE⬅️➡️ 🔄 실시간..

DB 2025.10.21

[DB][MyBatis] resultSetType

1. 기본 의미resultSetType 속성은 MyBatis가 내부적으로 JDBC ResultSet을 생성할 때 커서를 어떻게 이동시킬지를 정의합니다.FORWARD_ONLY커서를 앞으로만 이동할 수 있음기본값이며, 성능이 가장 빠름이전 행으로 돌아가거나 랜덤 접근이 불가큰 데이터셋 조회 시 메모리 부담이 적음SCROLL_INSENSITIVE커서를 앞뒤로 이동 가능ResultSet이 변경되어도 영향을 받지 않음대형 데이터셋에서는 성능이 떨어질 수 있음SCROLL_SENSITIVE커서를 앞뒤로 이동 가능DB에서 ResultSet이 변경되면 바로 반영됨업데이트 실시간 반영이 필요한 경우 사용2. 언제 쓰는가?데이터가 많고, 단순히 한 방향으로만 읽어오는 경우 → FORWARD_ONLY 사용특정 행으로 돌아가서..

DB 2025.10.20
728x90
반응형