IT 42

SAXParseException으로 인한 Spring Boot 서버 부팅 실패

SAXParseException으로 인한 Spring Boot 서버 부팅 실패 💥 Spring Boot 내장 톰캣 서버 부팅 실패 💥— MyBatis XML 한 줄 오류로 벌어진 도미노 참사 회사에서 최신 소스를 받고 개발 하다가, 테스트를 하기위해... 서버를 실행하였는데 Spring Boot 프로젝트가 부팅 도중 Error creating bean을 뱉으며 꺼져버렸다. 우선 콘솔 로그를 보았는데,주로 이러한 오류 패턴인 경우에는Mapper(xml 파일)쪽에 문제가 있어기때문에 바로 내가 개발한 쿼리부터 체크해보았는데내가 고작 작성한 쿼리는 단순 update 3개 뿐이였고..아무리 보아도 문제가 없었다🤯 그럼 도대체 어떤 부분이 문제일까 하고 다시 로그 파일을 열어 위에서부터 차근 차근 자세..

오류 분석 2025.05.08

Visual Studio Code(VSCODE)에 JAVA 프로젝트 세팅하기 (Feat. Spring, Spring Boot)

Visual Studio Code 에 Java Spring 프로젝트 세팅하기 Visual Studio Code에 Extension만 잘 설치해주면 아.주.쉽.게 Spring Java Project를 사용 할 수 있다. VSCODE에 Extension을 설치를 해주면 된다! 📚 준비물: VS Code + 확장 설치 1. Visual Studio Code 열기2. 왼쪽 사이드바 → EXTENSIONS MARKETPLACE 클릭3. 아래 Extension(=확장)들을 검색 후 Install(설치) 아래 이미지 참고 📌 필수 확장 (Extension) 1. Java Extension PackMs(마이크로소프트)에서 제공하는 패키지이며, 아래의 Extension이 포함되어 있다.- Langu..

Back-end 2025.04.02

[ERD] 이클립스 ER Master 사용법 그리고 ERD 추출, JAVA DOC 추출시 인코딩 에러 해결

이클립스 ER Master 사용법 그리고 ERD 추출, JAVA DOC 추출시 인코딩 에러 해결   매번 회사에서 만들어진 테이블에 컬럼만 추가해봤는데 이번에 직접 DB설계를하게 되었다.. 🙄 그래서 ERD설계를 해야하는데.... 무료 ERD툴이 많지만회사에서 이클립스로 프로젝트를 개발 하기도 하고,회사분들이 ERMASTER를 사용하고 계시기때문에ERMaster를 이용해서 ERD를 만드는게 편할거 같다는 생각이 들었다.(혹시라도 문제 생기거나 그럴때 빠른 도움을 요청하기 위해 ㅋ)  그리고 편하다고 생각한 이유는DDL 코드, JAVA DOC 추출 , 엑셀 문서화 등을 하기에 편리하기 때문이다.ERMaster를 ERM으로 부르기도 한다.  🔍 무료 ERD도구 사이트 혹시나, Ermaster 대신 무료툴..

DB 2024.07.11

[HTTP오류/보안] XSRF-TOKEN 와 X-CSRF-TOKEN (Feat.401응답)

XSRF-TOKEN 와 X-CSRF-TOKENHTTP 401 응답  업체에서 HTTP PUT 요청시TOKEN값을 헤더에 세팅해서 보내달라고 하여헤더(Request Header)에 X-CSRF-TOKEN와 토큰 값을 추가했다. 포스트맨(Post-man)으로 PUT 요청 테스트시 잘 되는데내가 만든 호출 API에서 PUT 요청시 401응답이 왔다.    HTTP 401 상태 코드(Unauthorized) 이란?401 Unauthorized  HTTP 상태 중 401(Unauthorized)는 클라이언트가 인증되지 않았거나, 유효한 인증 정보가 부족하여 요청이 거부되었음을 의미하는 상태값이다.  즉, 클라이언트가 인증되지 않았기 때문에 요청을 정상적으로 처리할 수 없다고 알려주는 것이다. 401(Unautho..

오류 분석 2024.03.19

[Spring/Java] 스프링 시큐리티(Spring Security)를 사용하여 비밀번호 암호화 하기

스프링 시큐리티(Spring Security) 를 이용해서 비밀번호 암호화 하기 🔒 스프링 시큐리티(Spring Security)를 사용하여 비밀번호를 암호화하는 방법을 알아보자. 대부분의 시스템에서는 회원의 관리(개인 정보 관련)를 하고 있고, 그에 따른 인증(Authentication)과 인가(Authorization)에 대한 처리를 해주어야 한다. 스프링 시큐리티(Spring Security)란? 스프링(Spring)에서 제공해주는 인증(Authentication)과 인가(Authorization)에 대한 처리를 위임하는 별도의 프레임워크이다. 스프링 시큐리티는 보안과 관련해서 체계적으로 많은 옵션을 제공해주기 때문에, 개발자 입장에서는 일일이 보안관련 로직을 작성하지 않아도 된다는 장점이 있다. ..

Back-end 2024.03.15

[SpringBoot] 파일 관련 라이브러리 - Apache Tika (feat. 파일 유효성 체크)

Apache Tika 자바 파일 관련 라이브러리 주로 프론트에서 파일 유효성 체크를 검사 하지만, 백단에서도 한번 더 해주는게 좋기 때문에 오늘은 쉽고 간편하게 백단(Java)에서 쉽게 파일 유효성 체크 하는 방법을 정리해보려고 한다 ! 바로 그 방법은 Apache Tika 라이브러리를 사용하면 쉽고 간단하게 사용 할 수 있다. Apache Tika(아파치 티카) 라이브러리란? 문서 타입 검출 및 다양한 파일 형식에서 컨텐츠를 추출하는 기능을 제공하는 라이브러리이다. Tika를 활용해 광범위한(universal) 타입 검출기 및 스프레드 시트, 텍스트 문서, 이미지, PDF 및 멀티미디어 입력 포맷 등의 다양한 형식의 문서에서 구조화된 텍스트와 메타 데이터를 추출할 수 있는 컨텐츠 추출기를 제작할 수 있..

Back-end 2024.03.13

[오류/SQL] MyBatis 마이바티스 오류 - TypeException 부적합한 열 인덱스

MyBatis 마이바티스 오류 TypeException : Could not set parameters for mapping 부적합한 열 인덱스 MyBatis 오류 중 제일 자주 발생하는 오류 중 하나를 정리해보려고 한다. 혹시나 MyBatis가 어떤 역할을 하는지 모르는 사람들을 위해서 간단하게 개념을 정리해보려고 한다. MyBatis(마이바티스)란? 마이바티스는 DB(데이터베이스)를 쉽게 다룰 수 있도록 도와주는 오픈 소스 프레임 워크이다. Object-Relational Mapping : ORM 마이바티스를 사용하여 데이터베이스쿼리와 프로그래밍 언러 코드를 분리하여 유지보수성과 생산성을 높이기 위해 사용한다. 즉, 마이바티스를 사용하면 DB연결 및 쿼리작성을 쉽게 다룰 수 있다! 그리고, 동적 쿼리..

오류 분석 2024.03.06

[DB] 트랙잭션(Transaction)개념과 접근방식

Transaction(트랜잭션) 개념과 접근방식 프로그래밍에서 트랜잭션(Transaction) 은 아주 기본적이고 중요한 개념입니다. 이번 포스팅에서는 트랜잭션의 정의와 작동 방식, 트랜잭션을 다루는 주요 접근 방식에 대해 정리를 해보았습니다.이 개념을 잘 이해하고 있으면,개발 과정에서의 오류 대응과 안정적인 데이터 처리 로직을 설계하는 데 큰 도움이 됩니다!특히, 트랜잭션 오류는 실제 개발 환경에서 자주 발생하는 이슈 중 하나이므로, 기본기를 탄탄히 다져두는 것이 중요합니다. 트랜잭션이란? 트랜잭션은 데이터베이스의 상태를 변경시키기 위해 수행하는 하나의 작업 단위입니다.즉, 하나 이상의 쿼리를 묶어 논리적으로 하나의 작업처럼 처리하는 것을 의미합니다. 🔸 모든 작업이 정상적으로 완료되면 → 데이터베이..

DB 2024.03.05

[JavaScirpt] 자바스크립트 기초 정리 - 함수선언, 파라미터, 아규먼트, 애로우 함수, this ...

자바스크립트 (JavaScirpt) 기초 정리 함수선언 , 파라미터, 아규먼트, 화살표함수, This 개념 JavaScript 란? 자바스크립트는 객체(Object) 기반의 스크립트 언어이다. 스크립트 언어란, 응용 소프트웨어를 제어하는 컴퓨터 프로그래밍 언어이다. 자바스크립트 외에도 제이쿼리(jQuery), PHP, 파이썬(Python), 루비(Ruby) 등이 스크립트 언어에 해당한다! 이외에도 더 많은 스크립트 언어가 존재한다. 객체 지향 언어란, 객체 지향 언어를 사용해 프로그래밍을 하게 되면, 다수의 ‘객체’를 생성해 그 객체들이 서로 상호작용하며 프로그램을 구축하게 된다. 예를 들면, 우리의 몸을 구성하는 팔, 손, 목, 가슴, 배, 허리, 엉덩이, 허벅지, 무릎, 종아리, 발 등의 객체를 생성..

Front-end 2024.03.01

[DB/SQL] 뷰(View) 그리고 프로시저(Procedure) 개념

뷰(View)와 프로시저(Procedure) 개념 테이블(Table)이나 쿼리(Query)는 익숙하지만,뷰(View)나 프로시저(Procedure)는 상대적으로 생소하게 느껴져서 이번 기회에 개념을 정리해보았습니다. 제가 현재 다니고 있는 회사에서는 뷰와 프로시저를 자주 사용하진 않지만,실제로 사용하는 기업도 많기 때문에 개념만이라도 알고 있으면 실무에 도움이 될 것 같다는 생각이 들어 해당 포스팅을 작성하게 되었습니다 :) 1. 뷰(VIEW)란? 뷰는 데이터베이스에 존재하는 일종의 가상테이블 입니다. 가상테이블이란? 이름 그대로 실제 데이터를 가지고 있지 않은 테이블을 의미합니다. 말 그대로 실제 데이터를 저장하지 않고,특정 SQL 쿼리문을 저장하여 데이터를 조회만 할 수 있는 테이블 형태 입니다.V..

DB 2024.02.29