728x90
반응형

분류 전체보기 1364

[js] capitalizeFirstLetter

capitalizeFirstLetter는 꽤 자주 쓰이는 유틸이에요.🔹 주로 쓰이는 경우UI 표시용 텍스트 가공사용자 이름, 주소, 상품명 등을 표시할 때 첫 글자만 대문자로 보이게 하고 싶을 때console.log("apple".capitalizeFirstLetter()); // "Apple"문장 포맷팅설명, 제목, 메시지 등을 자연스럽게 보이게 하기 위해 첫 글자를 대문자로 변환데이터 표준화DB나 API에서 내려오는 문자열이 전부 소문자/대문자일 때, 화면에는 "보기 좋게" 첫 글자만 대문자로 표기

Front/JS & jQuery 2025.09.04

[js] String.prototype

🔹 String.prototype 이란?JavaScript에서 모든 문자열 객체(String)가 상속받는 프로토타입 객체입니다.즉, "hello" 같은 문자열 리터럴도 내부적으로는 new String("hello") 객체에서 파생되며, 이때 String.prototype에 정의된 메서드들을 사용할 수 있게 되는 것이에요. 🔹 주요 특징모든 문자열이 공유String.prototype에 정의된 속성과 메서드는 모든 문자열 객체에서 상속됩니다.즉, 한 번 확장하면 전역에 적용됩니다.내장 메서드 포함예:charAt()slice()toUpperCase()toLowerCase()trim()includes()등등 모두 String.prototype에 정의되어 있습니다.사용자 정의 메서드 추가 가능String.pr..

Front/JS & jQuery 2025.09.03

[js] pignoseCalendar 바인딩

👉 pignoseCalendar 기본 동작pignoseCalendar는 단순히 인풋에만 달리는 게 아니라, 그 인풋과 같은 input-group 영역 클릭도 트리거로 인식합니다.공식 문서에서도 input-group과 같이 쓰면 아이콘/버튼 클릭 시에도 focus 이벤트가 인풋에 전달되도록 되어 있습니다.(.input-group-append .input-group-text 클릭 → 내부적으로 input.focus() 발생 → 달력이 뜸)즉, 아이콘을 눌렀을 때도 실제로는 인풋을 focus() 시키기 때문에 pignoseCalendar가 실행되는 거예요.✅ 정리하면:pignoseCalendar는 input의 focus 이벤트를 후킹해서 달력을 띄움.Bootstrap input-group-append는 ..

Front/JS & jQuery 2025.09.01

[js/JAVA] switch 차이

JavaScript와 Java의 switch는 비슷해 보이지만, 동작 방식과 타입 처리에서 꽤 큰 차이가 있습니다. 1️⃣ 타입 비교 방식특징JavaJavaScript타입 엄격성엄격함 (String, int 등 정확히 맞아야 함)느슨함 (== 대신 === 쓰지 않으면 타입 변환 가능)예시switch(1)에서 case "1":는 매칭 안됨switch(1)에서 case "1":도 동작 가능 (느슨 비교)Java: 타입이 안 맞으면 절대 매칭 안 됨.JS: 타입이 맞지 않아도 느슨 비교에 따라 동작할 수 있음 (== 사용 시).2️⃣ break 문 처리Java:switch(x) { case 1: System.out.println("1"); case 2: System.out.println("2");..

Front/JS & jQuery 2025.08.27

[js] PDF 파일(blob 데이터)을 새창에서 보여줄 때, URL 수정하기

예를 들어 blob:http://localhost:8080/3c1a5b1e-2b0f-4f90-b1a0-0c5f9b7d5a1f 이런식으로 이상한 주소로 생성되는데,임시 가짜 주소가 만들어지니까.그게싫으면, 하나 새로운 페이지 내가 url을 만들어서 페이지를 연다음에 ifame으로 blob데이터를 보여주면 된다. https://imswengineer.tistory.com/1376 { const blobUrl = URL.createObjectURL(blob); window.open(blobUrl, '_blank');}, 동작브라우저에서 새 탭을 열고, blob URL을 그대로 그 탭에서 표시브라우저 기본 PDF 뷰" data-og-host="imswengineer.tistory.com" data-og-sour..

Front/JS & jQuery 2025.08.26

[js] blob 데이터를 보여주는 방식 (새창열기, 현재페이지에 보여주기)

1️⃣ window.open(blobUrl, '_blank') 방식success: (blob) => { const blobUrl = URL.createObjectURL(blob); window.open(blobUrl, '_blank');}, 동작브라우저에서 새 탭을 열고, blob URL을 그대로 그 탭에서 표시브라우저 기본 PDF 뷰어 사용특징페이지 내에는 아무것도 표시하지 않고 새 창/탭만 열림UI/레이아웃 제어 불가브라우저 탭 주소 표시줄에 blob URL 표시 (blob://…)사용 시점단순히 PDF를 새 창/탭에서 보여주고 싶을 때2️⃣ 방식success: (blob) => { const blobUrl = URL.createObjectURL(blob); const $ifr..

Front/JS & jQuery 2025.08.25

[Error][Mybatis] Expected one result (or null) to be returned by selectOne(), but found: 145

이 에러는 MyBatis의 selectOne() 사용 시 자주 발생하는 전형적인 문제예요. selectOne()을 호출했는데 실제 쿼리 결과가 145건이 나왔다는 뜻입니다.selectOne()은 0건(=null) 또는 정확히 1건만 반환해야 하는데, 여러 건이 반환되면 예외를 던집니다. 원인SQL 조건이 너무 느슨해서 결과가 여러 건 나오는 경우(예: WHERE 조건 누락, PK가 아닌 칼럼으로 검색 등)잘못된 매핑으로 실제로는 N건인데 1건으로 생각하고 호출한 경우비즈니스 로직 오류로 애초에 여러 건이 나오는 상황을 고려하지 않고 selectOne()을 사용한 경우\ 나의 경우에는 parameter 조건을 느슨하게 하여 (null만 체크)하나의 조회결과가 나와야하는데, 여러개가 나와버려서 발생.

Error 2025.08.20

[DB][SQL] INNER JOIN 시 ON절과 WHERE

1. 기본 INNER JOIN SELECT *FROM CUSTOMER CJOIN ORDER O ON C.CUST_ID = O.CUST_IDWHERE O.STATUS = 'PAID';ON 절: C.CUST_ID = O.CUST_ID → 고객과 주문을 연결하는 “조인 조건”WHERE 절: O.STATUS = 'PAID' → 주문 중 결제 완료된 것만 필터링👉 읽는 사람이 “아, 고객과 주문을 ID로 연결한 후, 결제된 주문만 가져오는구나”라고 바로 이해할 수 있음.2. 조건을 ON 절에 포함한 경우 SELECT *FROM CUSTOMER CJOIN ORDER O ON C.CUST_ID = O.CUST_ID AND O.STATUS = 'PAID';INNER JOIN이라면 결과는 위와 동일함.다만 **“조..

DB 2025.08.19
728x90
반응형