본문 바로가기

코딩독학

[JAVA | SPRING | MVC | CRUD] 게시물 수정 Update 게시물 수정 HTTP메서드 : POSTEndpoint URL : /api/update/posts/{post-id}작업 내용 : 작성된 게시물 수정게시물 수정 기본 설명과 예시 : 게시물 수정은 특정 게시물의 내용을 업데이트하는 기능이다. 클라이언트가 서버로 요청을 보내 특정 게시물의 일부 또는 전체 정보를 변경하고 서버는 이를 처리하고 결과를 반환한다.   요구 사항  게시물의 id에 해당하는 게시물을 찾아 제목(title)과 내용(content)을 수정한다.클라이언트는 수정 요청을 JSON 형식으로 보내며, 서버는 성공 여부를 응답한다.잘못된 id로 요청 시 예외 처리 및 적절한 메시지를 반환해야 한다. 개념 정리   HTTP 메서드: POSTPOST는 보통 새로운 데이터를 생성하는 데 사용되지만, 경.. 더보기
열거형 - ENUM [JAVA | 학습을 위한 자료 | 김영한 자바 중급 1편] ENUM  자바는 타입 안전 열거형 패턴"(Type-Safe Enum Pattern)을 매우 편리하게 사용할 수 있는 열거형(Enum Type)을 제공한다.쉽게 이야기해서 자바의 열거형은 앞서 배운 타입 안전 열거형 패턴을 쉽게 사용할 수 있도록 프로그래밍 언어에서 지원 하는 것이다. 영어인 `enum` 은 `enumeration` 의 줄임말인데, 번역하면 열거라는 뜻이고, 어떤 항목을 나열하는 것을 뜻한다. "Enumeration"은 일련의 명명된 상수들의 집합을 정의하는 것을 의미하며, 프로그래밍에서는 이러한 상수들을 사용하 여 코드 내에서 미리 정의된 값들의 집합을 나타낸다.    주요 메서드  values()**: 모든 ENUM 상수를 포함하는 배열을 반환한다.valueOf(String name).. 더보기
[JAVA | 영상스크립트 | 백문이 불여일타!!] 메서드(리팩토링) https://youtu.be/Duk3XobIiOU 1. 문제 설명다음은 입출금을 나타내는 코드이다. 코드를 보면 한 클래스 안에 입금로직과 출금로직이 섞여서 진행되고 있다.입금(deposit)과 출금(withdraw)을 메소드로 만들어서 리팩토링하면서 JAVA의 입출력,반복문, 조건문을 함께 공부할 수 있다.public class RefactoringQ { public static void main(String[] args) { int balance = 10000; // 잔액 // 입금 1000 int depositAmount = 1000; balance += depositAmount; System.out.println(depositA.. 더보기
[HTTP | HTTP 웹 기본지식 | HTTP 헤더2 - 캐시와 조건부 요청] 캐시, 프록시 캐시 HTTP 헤더의 캐싱은 웹 성능 최적화의 핵심적인 부분이다. 캐싱은 서버와 클라이언트 간의 데이터 전송량을 줄여주며, 페이지 로딩 시간을 단축시켜 사용자 경험을 개선한다. 이 과정에서 사용되는 주요 HTTP 헤더를 살펴보자.Cache-Control: 이 헤더는 캐시의 동작을 제어한다. 예를 들어, Cache-Control: no-store는 어떠한 캐시도 사용하지 않도록 지시하며, Cache-Control: max-age=3600은 리소스를 3600초 동안 캐시로 저장하고 사용할 수 있음을 나타낸다.Expires: 이 헤더는 리소스가 언제 만료되는지를 나타내는 날짜와 시간을 제공한다. Expires 헤더가 설정되어 있으면, 그 시간 이후에는 캐시된 복사본을 사용하지 않고 서버로부터 새로운 복사본을 요청해.. 더보기
[스프링| 스프링 핵심 원리 | 기본편 | 스프링 컨테이너와 스프링 빈]스프링 컨테이너에 등록된 빈 조회 public class ApplicationContextBasicFindTest { // 스프링 빈 조회 기능을 테스트하는 클래스 정의 AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); // 스프링 컨테이너를 초기화하고, AppConfig 클래스의 설정 정보를 로딩 @Test // JUnit 테스트 메소드임을 나타내는 어노테이션 @DisplayName("빈 이름으로 조회") // 테스트의 이름을 설정 void findBeanByName() { // 빈 이름으로 조회하는 테스트 메서드 MemberService memberService = ac.. 더보기
[스프링| 스프링 핵심 원리 | 기본편 | 스프링 핵심 원리 이해2 - 객체 지향 원리 적용]리팩터링, 새로운 구조와 할인 정책 적용 리팩터링 전public class AppConfig { public MemberService memberService() { return new MemberServiceImpl(new MemoryMemberRepository());} public OrderService orderService() { return new OrderServiceImpl( new MemoryMemberRepository(), new FixDiscountPolicy());}public class AppConfig { public MemberService memberService() { return new Memb.. 더보기
[스프링| 스프링 핵심 원리 | 기본편 | 스프링 핵심 원리 이해1 - 예제 만들기]회원 도메인 실행과 테스트 package hello.core.member;// 이 줄은 패키지 이름을 선언합니다. 패키지는 Java에서 관련된 클래스와 인터페이스를 조직화하는 데 사용됩니다.public class MemberApp {// 이 줄은 'MemberApp'이라는 public 클래스를 선언합니다. public static void main(String[] args) { // Java 애플리케이션의 진입점인 'main' 메서드를 선언합니다. 이 메서드는 'String' 배열을 매개변수로 받으며, 프로그램이 실행될 때 실행됩니다. MemberService memberService = new MemberServiceImpl(); // 'MemberService' 인터페이스의 구현체인 'Mem.. 더보기
[스프링| 스프링 핵심 원리 | 기본편 | 스프링 핵심 원리 이해1 - 예제 만들기] 도메인 개발 package hello.core.member;// 이 줄은 패키지 이름을 선언합니다. 패키지는 Java에서 관련된 클래스와 인터페이스를 조직화하는 데 사용됩니다.public enum Grade {// 이 줄은 'public' 접근 제어자로 선언된 'enum' Grade를 정의합니다. 'enum'은 열거형으로, 한정된 상수 값만을 멤버로 가지는 특수한 클래스 타입입니다. BASIC, // 'BASIC'은 Grade 열거형의 첫 번째 상수입니다. 이는 회원 등급 중 기본 등급을 나타냅니다. VIP // 'VIP'는 Grade 열거형의 두 번째 상수입니다. 이는 회원 등급 중 높은 등급을 나타냅니다.}package hello.core.member;// 이 줄은 패키지 이름을 선언합니다... 더보기