Back-end 9

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

[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

[IT] 소프트웨어 디자인 패턴 - MVC 패턴

소프트웨어 디자인패턴 중 MVC 패턴에 대하여 알아봅시다 !  MVC 패턴은 흔하게 쓰이는 디자인 패턴 입니다.주로 Spirng Web Prjoect에서 흔하게 쓰이며, - 구글의 AngularJS- php의 코드이그나이터- python-django 에서도 쓰입니다.  MVC 패턴Model-View-Controller (모델-뷰-컨트롤러)  '소프트웨어 디자인 패턴'  MVC는 Model(모델) - View(뷰) - Controller(컨트롤러) 의 약자입니다. 사용자가 직접 사용하고 보는 페이지와 (View)데이터 처리를 하는곳과 (Model)이 두가지를 중간에서 제어하는 컨트롤러 (Controller) 개발을 할 때 3가지 형태로 역할을 나누어 개발하는 방법론입니다. 하나의 애플리케이션, 프로젝트를 ..

Back-end 2024.02.15

[Spring] 데이터 전송 - @RequestBody, @RequestPart, JSON, multipart/form-data

@RequestBody, @RequestPart, JSON, multipart/form-data 스프링 프로젝트에서 사용하는 데이터 전송 관련 어노테이션과, 데이터를 서버로 전송하는 인코딩 방식에 대해 정리를 해보았다. 먼저 스프링 프로젝트에서 사용하는 데이터 전송 관련 어노테이션에 대해 알아보자. 데이터 전송 관련 어노테이션 @RequestBody 어노테이션은 HTTP 요청의 본문(body)에 있는 데이터를 읽어와 해당 데이터를 메소드 파라미터에 바인딩한다. 주로 JSON 또는 XML과 같은 데이터 형식을 읽을 때 사용된다. @RequestPart 어노테이션은 multipart/form-data 형식으로 전송된 요청의 파트(part)를 읽어와 메소드 파라미터에 바인딩한다. 이것은 주로 파일 업로드와 함..

Back-end 2024.02.01

[Java] String 배열 대신 HashSet을 이용하여 문자 찾기

String배열(String[]) 대신 HashSet을 이용하여 문자 찾기   클라이언트에서 요청 온 파라미터(과일)이내가 선언한 과일리스트에 포함 되어있는지 안되어 있는지 확인 후 ture/false를 반환해주는 로직을 만들고 싶다. 참고로, 리스트안에 들어갈 내용은 DB에서 조회한 값이 아닌 하드코딩된 문자열을 넣어야 한다.   내가 처음에 개발한 방법은  위 코드를 보면,String[]에 선언된 과일배열에 In_array 메소드를 사용했다.forEach를 사용해 있으면 true, 없으면 false를 리턴해주는 메소드이다. 하지만 이렇게 String[]을 선언하고 과일 여부를 체크하는 방법보다는,HashSet으로 선언을 하고 contains를 이용해서 찾는게 속도 면에서는 훨-씬- 좋다고 하여 리팩토..

Back-end 2024.01.19

[Java] OPEN JDK 1.8 설치 방법 (zip, msi)

OPEN JDK 1.8 설치 (Java 설치) 학원이나 집에서 개인 공부로 JAVA를 설치해보았던 나는 신입으로 개발 회사에 취직했다 출근 첫날, 컴퓨터에 개발 환경을 세팅을 부랴부랴 하는데- 사수가 JAVA를 JDK 1.8 말고 OPEN JDK 1.8 을 설치를 해야 한다고 안내를 받았다. 그래서 OPEN JDK 1.8을 zip파일을 받고 난 후, 알려주신 방법으로 설치를 시도해봤는데 정상적으로 실행이 되지가 않아서 알아 보았더니, 나같이 정상적으로 실행이 되지 않는 경우는 zip파일 대신 msi파일로 다운을 받아서 설정을 해야했다. 그래서 msi파일로 다시 다운을 받아 설치 후 환경변수를 설정 하였더니, 성공적으로 설치 및 설정을 완료 하였다 ! 그래서 이 방법을 자세히 적어보려고 한다. 여기서부터 ..

Back-end 2024.01.17

[Java] 자바 예외 처리 - Throw, Throws

자바 예외처리 : Throw, Throws 자바 예외처리에 대해서 알아보기 전에 오류와 예외에 대해서 정리를 해보려고한다. 일단, 오류와 예외는 다르다. 🔍 오류(Error)와 예외(Exception) 오류(Error)는 시스템이 비정상적인 상황이 생겼을 때 발생한다. 예를들어, 메모리 부족(OutofMemoryError)이나 스택오버플로우(StackOverflowError)와 같이 복구할 수 없는 것을 말한다. 이러한 오류는 주로 JVM에서 발생하기 때문에 애플리케이션 코드에서 해결하면 안되고, 개발자가 예측하기도 쉽지 않고 처리할 수 있는 방법도 없다. 예외(Exception)는 프로그램 실행 중 개발자의 실수로 예기치 않는 상황이 발생했을 때 발생한다. 예를들어, 값이 null인 참조변수를 참조(N..

Back-end 2023.12.11

[Java] 자바 레퍼런스(Reference) - 스택과 힙

자바(Java) 레퍼런스(Reference): 변수선언,  스택(Stack)과 힙(Heap)  오늘은 자바의 레퍼런스에 대해 정리를 해보았다.변수선언 스택 그리고 힙에 대해서 알아보자.  자바 프로그램은 JVM(Java Virtual Machine -  자바 가상 머신) 이라는 프로그램이 실행시켜주는데, IDE(편집기)에서 프로그램 실행 버튼을 누를 때 마다IDE는 JVM을 실행시키고JVM은 작성한 파일을 실행해 달라고 요청을 한다.  정확하게 말하면, javac가 자바코드를 자바 바이트 코드로 바꾸고 JVM이 해당 자바 바이트 코드를 실행 시킨다 !  JVM은 프로그램을 실행시키기 위해 여러가지 일을 하는데, 그 중 하나가 '메모리 관리'이다. 여기서 말하는 메모리는 RAM을 말한다.  "메모리는 한정..

Back-end 2023.12.08