본문 바로가기

전체 글50

Spring : Outsourcing 14조 팀명: 집사줘 팀원: 이건희, 박하은, 윤종일, 주준호, 조우석 주제: 내방 꾸미기 커뮤니티 자신의 방을 꾸며 업로드하고 다른 회원들로부터 코멘트를 받아 의견을 공유할 수 있습니다, 다른 회원들의 방을 살펴보고 아이디어를 얻어가고 좋아요와 코멘트를 달며 피드백을 줄 수 있습니다. 깃허브 : https://github.com/2GeonHee 사용자 중심의 효과적인 서비스 목록 회원가입, 로그인 프로필 관리 게시물 CRUD 댓글 CRUD 좋아요 기능 팔로우 기능 댓글, 좋아요, 팔로우 알림 기능 와이어 프레임 ERD 다이어그램 API명세서 시연영상 KTP 2024. 2. 29.
2024-02-22 TIL Mockito @Mock private UserRepository userRepository; @Mock private PasswordEncoder passwordEncoder; @Mock JwtUtil jwtUtil; private HttpServletResponse res; @InjectMocks private UserService userService; @Captor private ArgumentCaptor userCaptor; @Mock 테스트 대상 클래스에서 사용되는 외부 의존성을 대체, 특정 객체에 의존하고 있을때, 주입하는 대신에 @Mock을 사용해 객체를 생성할 수 있다. 실제 객체와 동일한 인터페이스를 가지고 있지만, 동작은 직접 정의할 수 있다. (테스트의 격리성 유지) 실제 동작이 구.. 2024. 2. 22.
Test Code 주제 : 전 과제(뉴스피드) 테스트 코드 작성하기 팀원 : 이건희 결과 : https://github.com/2GeonHee/alimalia-TestCode 기본 요구사항 test profile 을 설정해서 구현해주세요! Mockito를 적용하여 레이어간 의존성을 격리시켜주세요. DTO, Entity Test 추가하기 @Test 를 사용해서 DTO 와 Entity Test 를 추가합니다. User, Todo, Comment, DTO 에 존재하는 메서드들에 대해서 테스트를 추가합니다. Controller Test 추가하기 @WebMvcTest 를 사용하여 Controller Test 를 추가합니다. Todo, Comment Controller 에 대해서 테스트를 추가합니다. Service Test 추가하기.. 2024. 2. 22.
Spring : NewsFeed 주제 : 동물 질병, 병원, 약국 등에 관한 뉴스피드 팀장 : 박정섭 팀원 : 손영효, 장원녕, 진유림, 이건희 결과 : https://github.com/katchSpring/animallia.git 기본 요구사항 사용자 인증 기능 회원가입 기능 새로운 사용자가 ID와 비밀번호의 형태로 서비스에 가입할 수 있어야 합니다. 이 때, 비밀번호는 안전하게 암호화되어 저장되어야 합니다! 로그인 및 로그아웃 기능 사용자는 자신의 계정으로 서비스에 로그인하고 로그아웃할 수 있어야 합니다. 프로필 관리 프로필 수정 기능 이름, 한 줄 소개와 같은 기본적인 정보를 볼 수 있어야 하며 수정할 수 있어야 합니다. 비밀번호 수정 시에는 비밀번호를 한 번 더 입력받는 과정이 필요합니다. 게시물 CRUD 기능 게시물 작성, .. 2024. 2. 7.
2024-02-06 TIL HttpStatus * 인텔리제이 shift + shift → HttpStatus 검색 enum파일로 여러 상태코드를 확인 할 수 있다. * @Deprecated 어노테이션이 붙은것은 현재 사용하지 않음 public enum HttpStatus implements HttpStatusCode { OK(200, HttpStatus.Series.SUCCESSFUL, "OK"), CREATED(201, HttpStatus.Series.SUCCESSFUL, "Created"), ACCEPTED(202, HttpStatus.Series.SUCCESSFUL, "Accepted"), NON_AUTHORITATIVE_INFORMATION(203, HttpStatus.Series.SUCCESSFUL, "Non-Author.. 2024. 2. 6.
2024-01-31 TIL @Controller 와 @RestController 차이점 //@Controller @RestController @RequiredArgsConstructor @RequestMapping("/api") public class UserController { private final UserService service; @Controller : 주로 View, 화면을 반환하기 위한 어노테이션 데이터를 변환해야하는 경우 @ResponseBody 같이 사용 @GetMapping("/user/login-page") public String loginPage() { return "login"; } Controller는 받은 요청을 처리하고 ViewName반환, DispatcherServlet은 ViewResolve.. 2024. 1. 31.
2024-01-26 TIL 빈 등록 @Configuration //빈을 등록하는 메서드가 속해있는 해당 클래스 위 @Configuration -> spring ioc container에 Bean으로 저장 public class PasswordConfig { @Bean //빈으로 등록하고자하는 객체의 메서드 위에 @Bean public PasswordEncoder passwordEncoder() { public interface Food { void eat(); } 인터페이스를 구현하는 구현체 클래스에 @Component 설정시, 해당하는 인터페이스가 빈으로 등록 같은 타입의 객체가 두개 있을 경우? Food food; = 오류, Food를 구현하는 구현체 클래스명 직접 명시 @Component @Primary public clas.. 2024. 1. 26.
Spring : CRUD 주제 : 일정 CRUD 만들기 요구사항 1_제목,컨텐츠,이름,비밀번호를 가진 일정 추가 2_조회(비밀번호 제외) 3_비밀번호가 맞으면 수정 가능 4_비밀번호가 맞으면 삭제 가능 5_작성일 추가요구사항 예외사항 대비 결과 : https://github.com/2GeonHee/schedule-CRUD Main @EnableJpaAuditing @SpringBootApplication public class ScheduleApplication { public static void main(String[] args) { SpringApplication.run(ScheduleApplication.class, args); } } Entity @NoArgsConstructor @Getter @Entity public.. 2024. 1. 25.
2024-01-23 TIL 다음 코드를 참고해서 생성한 자동차 수 출력하는 프로그램 완성하기 package static2.ex; public class CarMain { public static void main(String[] args) { Car car1 = new Car("k3"); Car car2 = new Car("G80"); Car car3 = new Car("Model Y"); Car.showTatalCars(); //구매한 차량 수를 출력하는 static메서드 } } Car 클래스 생성 후 생성자를 먼저 만들었다. k3, g80, modelY를 갖고 객체를 만들기 때문에 String model 받는 생성자로 만들고 필드도 같이 생성 Class변수인 static제어자를 붙여 int count선언후 객체를 생성할때마다 .. 2024. 1. 24.
2024-01-18 TIL 최대값과 캡슐화 MaxCounter 클래스 생성 : 최대값을 지정하고 최대값 까지만 증가하는 기능을 제공 int count : 내부에서 사용하는 숫자 int max : 최대값, 생성자를 통해서 입력 increment() : 숫자를 1 증가 getCount() : 지금까지 증가한 값, 최대값을 반환 요구사항 1. 접근제어자를 사용해서 데이터를 캡슐화 2. 해당 클래스는 다른패키지에서도 사용 가능 package access.ex; import javax.swing.plaf.IconUIResource; public class MaxCounter { private int count = 0; private int max; public MaxCounter(int max){ this.max = max; } publi.. 2024. 1. 18.
2024-01-03 TIL 요리 레시피 메모장 만들기 입력값 - 요리제목 - 레시피 입력 - "끝" 으로 프로그램 종료 출력값 - 대괄호안에 자료구조명 + 요리제목 - 순서리스트 + 레시피 package week02.homeWork; import java.util.ArrayList; import java.util.Scanner; public class HomeWork { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String collection = sc.nextLine(); String title = sc.nextLine(); switch (collection){ case "List" : ArrayList recipeList = new.. 2024. 1. 3.
2024-01-02 TIL 요리 레시피 메모장 만들기 입력값 - 요리제목 - 별점(실수) - 레시피 10문장 출력값 - 대괄호 + 요리제목 - 별점(정수) + 5점 만점의 퍼센트 - 문장 앞 1~10 순서 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner cs = new Scanner(System.in); String title = cs.nextLine(); System.out.println("요리 제목은 [" + title + "] 입니다."); float score = cs.nextFloat(); System.out.println("별점은 " + (int)score + "점 입니다."); System.out... 2024. 1. 2.