분류 전체보기 20

부트캠프 개발 포트폴리오

프로젝트 1. 자유 게시판 API 서버 – 품질 관리 중심의 게시판 시스템개인 프로젝트 | 2025.09 ~ 2025.10Spring Boot와 Java로 개발한 자유 게시판 백엔드 API 서버입니다.기능 개발뿐 아니라 QA 관점의 위험 요소 분석과 결함 예방 전략을 개발 과정 전반에 적용한 프로젝트입니다.기술 스택Java, Spring Boot, Spring Security, JWT, JPA, MySQL, HTML, CSS, JavaScript주요 기능게시글 CRUD댓글 CRUD게시글/댓글 좋아요게시글·댓글 페이지네이션관리자 페이지(게시글/댓글 관리)Postman을 활용한 API 테스트개발 단계에서 QA 관점 기반의 리스크 분석 및 결함 예방 전략 적용GitHubhttps://github.com/cho..

단위 테스트란? 통합 테스트란?

단위 테스트(Unit Test)가장 작은 단위의 코드를 독립적으로 테스트 하는 것테스트 대상 : 개별 함수, 메소드, 클래스목적 : 각 코드 조각이 의도한 대로 동작하는지 확인특징 :다른 코드와 분리하여 테스트빠르게 실행됨문제 발생 시 정확한 위치 파악 가능 예시java// 계산기 클래스의 덧셈 함수만 테스트@Testpublic void testAdd() { Calculator calc = new Calculator(); assertEquals(5, calc.add(2,3)); // 2+3 = 5 인지 확인} 통합테스트(Integration Test)여러 모듈이나 컴포넌트를 결합하여 함께 동작하는지 테스트하는 것테스트 대상 : 모듈 간의 상호작용, 데이터 흐름목적 : 각 부분이 연결되었을 때..

API 테스트란?

API 테스트란?API 테스트란 애플리케이션의 API(Application Programming Interface) 가 정해진 스펙대로 정확하게 동작하는지 검증하는 과정입니다.주로 요청(Request)에 대한 응답(Response)의 정확성, 응답 시간, 에러 처리, 데이터 형식 등을 확인합니다.UI를 거치지 않고 비즈니스 로직 계층을 직접 테스트할 수 있어 효율적입니다. API란?API(Application Programming Interface)는 소프트웨어 간에 상호작용하기 위한 인터페이스 입니다.클라이언트가 서버의 기능이나 데이터에 접근할 수 있도록 정의된 규칙과 프로토콜의 집합입니다. 예를 들어, REST API는 HTTP 프로토콜을 통해 JSON이나 XML형식으로 데이터를 주고 받으며,특..

JWT를 이용한 인증/인가 란?

JWT를 이용한 인증/인가웹 서비스에서 사용자 신원을 확인하고, 권한을 판단하기 위해 사용하는토큰 기반 인증 방식 입니다->쉽게 말하면 "로그인 했는지 확인하고, 무엇을 할 수 있는지 결정하는 방법"을 JWT(Json Web Token) 으로 처리하는 것 입니다 인증(Authentication) -> "누구세요?"인증은 사용자가 누구인지 확인하는 과정입니다. 예시 흐름1. 사용자가 로그인 요청(아이디/ 비밀번호 전송)2. 서버가 계정 정보를 확인3. 서버가 JWT Access Token(그리고 보통 Refresh Token) 발급4. 사용자는 이후 요청 시 헤더에 Access Token 을 포함하여 전송 pgsqlAuthorization: Bearer 5. 서버는 이 토큰만 보고도 ..

RESTful API 란?

RESTful API 란웹에서 서버와 클라이언트가 소통하는 규칙(설계 방식) 을 말합니다.조금 더 쉽게 설명하면 ->"인터넷에서 약속된 방식으로 데이터를 주고 받는 것" 입니다 REST는REpresentational State Transfer 의 약자입니다자원의 상태를 표현 (Representation) 해서 클라이언트에게 전달(Transfer) 합니다. Resource(자원)웹에서 다루는 대상예: 사용자, 게시글, 상품, 댓글 등 Representation(표현)자원을 어떤 형태로 표현해서 전달하는지보통 JSON, XML, HTML 형태로 전달합니다. 예시:사용자 자원(Resource): 한 사람의 정보표현(Representation): JSON으로 보낸다면{ "id": 5, "name": "홍..

LIKE와 =(등호) 차이

1. = (등호 연산자)완전히 같은 값만 찾습니다대소문자는 DB설정에 따라 다르지만, 기본적으로는 정확히 일치해야 합니다 예:SQL SELECT * FROM Comment WHERE content = 'hello';content 값이 "hello" 인 행만 조회됨"Hello" 또는 "hello world" 는 조회x 해석 : "값이 정확히 같은 경우만 선택한다" 2.. LIKE(패턴 매칭 연산자)문자열의 부분 일치를 찾을 수 있습니다.% : 0개 이상의 어떤 문자열도 올 수 있습니다_ : 정확히 한 글자 와일드 카드 예:SQL SELECT * FROM Comment WHERE content LIKE '%hello%'; -> "hello" -> (O)"hello world" -> (O)"sayhell..

오버로딩(Overloading) 이란?

같은 이름의 메서드(또는 생성자) 를 매개변수의 개수나 타입만 다르게 여러 개 정의하는 것 예제1: 일반 메서드 오버로딩javaclass Calculator { // 1) 두 정수 더하기 public int add(int a, int b) { return a + b; } // 2) 세 정수 더하기 public int add(int a, int b, int c) { return a + b + c; } // 3) 두 실수 더하기 public double add(double a, double b) { return a + b; }}사용 예시:Calculator calc = new Calculator();System.out.printl..

@NoArgsConstructor, @AllArgsConsturctor, @RequiredArgsConstructor 정리

@NoArgsConstructor 와 @AllArgsConstructor 는 Lombok 라이브러리에서 제공하는 어노테이션으로,개발자가 직접 생성자를 일일이 만들지 않아도 자동으로 생성해주는 기능입니다. 1. @NoArgsConstructor뜻 : 매개변수가 없는 기본 생성자를 자동으로 만들어 줌즉, new 클래스명() 형태로 객체를 만들 수 있게 해줌 예제 코드import lombok.NoArgsConstructor; @NoArgsConstructor // 기본 생성자 자동 생성public class User { private String name; private int age;} // 위 어노테이션이 붙으면 컴파일 시 아래 코드가 자동으로 추가됨// public User() {} 사용 예..

파라미터와 기본생성자

1. 파라미터(Parameter) 가 무슨 뜻인가요?파라미터는 함수나 메서드를 호출할 때 전달하는 값을 받는 변수를 의미합니다. 예를 들어, 아래 코드에서 a와 b가 바로 파라미터입니다. public int add(int a, int b) { // 여기서 'int a'와 'int b'가 파라미터입니다. return a + b;} // 이 메서드를 호출할 때는 다음과 같이 값을 전달합니다.int result = add(5, 3); // 여기서 '5'와 '3'은 '인자(Argument)' 라고 부릅니다. 기본 생성자(Default Constructor)가 무슨 뜻인가요?기본 생성자는 파라미터(인자)가 없는 생성자를 말합니다. 객체를 만들 때 초기값 없이 객체만 생성하는 역할을 합니다 Java에서는..

프로그래밍을 하실 예정이라면, 계정명은 반드시 영문으로 설정하시는 것을 강력히 권장드립니다.

최근 프로그래밍할때 오류가 나서 오류의 원인을 구글링하다보면, 결국 경로에 한글이 포함되어 있어서 문제가 발생한 경우가 많았습니다.저의 경우, 사용자 계정명이 한글로 되어 있어 경로에 자연스럽게 한글이 포함되곤 했고, 이로 인해 오류가 발생했습니다. 보통은 환경변수를 변경해서 해결할 수 있었지만, 이런 일이 반복되다 보니 계정명을 영어로 변경하는 것이 더 낫겠다는 생각이 들었습니다.예전부터 컴퓨터를 포맷해서 불필요한 프로그램도 정리하고 싶다는 생각을 하고 있었기 때문에, 이번 기회에 포맷하면서 사용자계정명을 영어로 설정하였습니다. 프로그래밍을 하시는 분들은 사용자 계정명을 영어로 설정하셔서, 한글 계정명으로 인해 발생할 수 있는 오류를 미리 방지하시는 것을 추천드립니다.