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(트랜잭션)개념과 접근방식 프로그래밍에서 아주 기본적이고 중요한 트랜잭션에 대해 정리를 해보려고 한다. 이번 포스팅에서 트랜잭션의 개념과 트랜잭션 접근방식에 대해 정리를 해보려고 한다 ! 이 개념을 잘 알아야 나중에 개발할때도, 도움이 되며 트랜잭션 오류를 마주하였을 때에도 해결하기 더 쉬울거라고 생각한다 :-) 생각보다 트랜잭션 관련 오류가 많이 발생한다 트랜잭션은 데이터베이스 관리 시스템(DBMS)에서 데이터를 안전하게 처리하기 위한 개념이다. 트랜잭션이란? 데이터베이스의 상태를 변경시키기 위해 수행하는 작업 단위이다. 데이터베이스의 상태를 변경하는 하나 이상의 쿼리를 하나의 논리적 단위로 묶어서 작업을 수행한다. 트랜잭션내에 수행하는 작업이 모두 성공적으로 완료되면, 해당 작업들..

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)는 나에겐 생소한 개념이라 정리를 해보았다. 내가 지금 다니고있는 회사에서는 뷰, 프로시저를 잘 사용하지 않지만 사용하는 회사들이 종종 있기때문에 잘은 몰라도 개념이라도 익혀두면 좋을것 같다. 뷰(VIEW) 테이블 이란? 데이터베이스에 존재하는 일종의 가상테이블이다. 가상테이블이란? 이름 그대로 실제 데이터를 가지고 있지 않은 테이블을 의미한다. 데이터가 아닌, SQL을 저장하고 있기때문에 데이터를 보여주기만 하는 테이블이며 VIEW를 통해 데이터를 관리 할 수 있다. VIEW는 데이터가 없고 SQL만 저장하고 TABLE은 실질적인 데이터가 있다. 뷰(VI..

DB 2024.02.29