전체 글 (41) 썸네일형 리스트형 오픈미션 12일차 오늘은 이제 구상한 웹페이지를 만들어보는 날이다. 내가 구현한 기능을 모두 담고 있는 최소한의 프로토타입으로 만들어 볼 것이다. 내가 만든 컨트롤러는 타임리프를 사용하기에는 적절하지 않아 html, css, js를 사용할 것이다..! 너무 오랜만이라 기억이 하나도 안나므로 더듬더듬 만들어봐야지..😭 생각보다 기억이 하나도 안나서..약 2년전에 했던 과제를 참고해보았다. 이런 식으로 화면을 구현했었다. 우선 css는 욕심부리지 말고 기본만 하고 최대한 이것을 참고해서 어제 내가 설계한 화면과 비슷하게 만들어보고 싶다. 1. 기본 화면 (index.html) 여기서 필요한 것은 아래와 같다. 1. 메뉴바 (각 페이지로 넘어가는 링크 포함) 2. 가운데 정렬 3. 프로젝트 설명 정리 이렇게 만들고 나.. 오픈미션 11일차 이제 나는 요청을 처리하는 서비스와 사용자와 서비스를 연결해주는 컨트롤러 구현을 끝냈다!! 이제 지금까지 구현한 것들이 화면과 어떻게 연결될지를 고민해야 한다.. 오늘부터 해야할 일을 아래와 같이 정리해보았다. 화면 설계어떤 버튼/입력칸 등이 내가 구현한 API와 연결될지 정리뷰 설계뷰 구현 1. 화면 설계우선 지금까지 구현해 온 기능을 바탕으로 처음에 계획했던 웹페이지를 구체적으로 설계해보았다. 화면 요구사항 1. 기본 화면 (index.html)- 말그대로 기본 화면으로 이 프로젝트에 대한 설명을 하는 공간으로 설정했다. - 상단 바에는 MyLotto | RandomLotto | PurchasedLotto + 홈화면 아이콘이 존재한다. - 각 글자(버튼?)를 누를 시 해당 페이지를 이동하고 이 상단.. 오픈미션 10일차 오늘 공지가 하나 올라왔는데 17일부터 25일까지가 제출 기한이라고 한다 흠 나의 계획은 주말동안 최대한 마무리하고 월요일에 최종 확인 후 제출하려고 했는데 한 주가 더 생겼으니 4번(통계기능)을 다음주에 구현해보면 좋을 것 같다:) 나머지는 원래 계획대로 월요일까지 마무리해야지 그리구 주말동안 소감문(?)을 작성해서 25일에 제출하면 될 것 같다! 우선 오늘은 컨트롤러 설계한 것을 토대로 포스트맨으로 테스트하면서 하나씩 구현해볼 것이다. 1. 로또 번호 생성 (Generate)1-1. 랜덤 로또 번호 생성기능: DB 저장 없이, 1~45 범위의 중복 없는 6개 번호를 생성하여 반환HTTP Method: GETAPI Endpoint: /im-minji/lotto/random호출하는 서비스 메서드: lo.. 오픈미션 9일차 오늘은 서비스 계층을 마무리하고 컨트롤러로 넘어가는 날이다! 나만의 로또 리스트를 조회하고 삭제하는 기능과 구매 로또 리스트를 조회하는 기능을 추가로 구현해야 한다. 근데 조회와 삭제는 JpaRepository에서 자동(?)으로 제공해준다고 한다. 이를 활용해 서비스를 완성해보자 ☺️ 1. MyLotto 조회// 나만의 로또 리스트 전체 조회 @Transactional(readOnly = true) public List findAllMyLotto() { return myLottoRepository.findAll().stream() // ID(생성순) 오름차순 정렬 .sorted(Comparator.comparing(MyLott.. 오픈미션 8일차 오늘의 할 일은 서비스 계층을 설계하고 구현하는 것이다! 우선 Spring boot에서 서비스 계층이 어떤 역할인지부터 다시 정의해보았다. 1. 서비스(Service) Service는 Springboot에서 가장 중추적인 부분이며, 비즈니스 로직을 총괄하는 심장부이다.DB에 가하는 CRUD 작업을 지휘하고, 문제가 생기면 예외를 발생시켜 Springboot에 알린다.@Service 어노테이션을 통해 스프링에 이 객체가 Service 계층임을 설정한다. 2. 의존성 Service는 필연적으로 CRUD를 위해 Repository 계층에 의존하게 되며, Controller 역시 필연적으로 Service 계층에 의존한다.스프링은 이런 의존 관계를 해결해주기 위해 Service에 Repository를 외부에서 주.. 오픈미션 7일차 아니 벌써 일주일이 지났다니 시간이 너무 빠른 것 같다. 남은 일주일동안 더 열심히 도전하고 몰입해서 멋진 결과를 만들어내고 성장하고 싶다💪🏼 오늘은 눈뜨자마자 JPA를 위해서 객체를 어떻게 설계할지에 대해서 UML 형태로 정리해보았다. 내가 만든 객체는 총 6개인데 그 중 LottoRank와 LottoResult는 계산과 규칙을 위한 객체여서 해당이 안되고 나머지 4개의 객체에 대해서 설계했다! - JPA 설계 패턴 클래스: @Entityprivate Long id; : @Id, @GeneratedValueprotected 기본 생성자(JPA용)를 추가'핵심 객체'(Lotto 객체)은 @OneToOne 어노테이션으로 관계를 맺는다.'단순 객체'(String, int, LocalDate)은 그냥 필드.. 오픈미션 6일차 오늘은 계획해두었던 repository를 구현하기 전에 의존성 추가를 해둔 JPA와 H2 DB에 대해서 좀 더 알아보는 시간을 가졌다. Spring Boot Starter JPA에서 제공하는 기능에 대해 이해하기 위해서는 ORM과 JPA 개념을 우선적으로 이해해야 했다! 1. ORM(Object-Relational Mapping) ORM(Object-Relational Mapping)이란 객체와 관계형 데이터 베이스의 데이터를 매핑해주는 도구이다. 자세히 말하면 프로그래밍 언어의 객체와 데이터베이스의 데이터를 자동으로 연결해준다. ORM을 사용하면 개발자는 SQL 쿼리를 직접 작성하는 대신, 자바 객체를 사용하여 데이터베이스의 레코드를 쉽게 생성, 조회, 수정, 삭제할 수 있다. 이로 인해 개발 과.. 오픈미션 5일차 오늘은 스프링부트 프로젝트를 시작해볼 것이다!! 스프링부트 프로젝트를 만들어보기 전에 우선 스프링부트 공식문서를 통해 기초 정보를 얻어보았다. (잘 이해는 안되지만..)https://spring.io Spring | HomeCloud Your code, any cloud—we’ve got you covered. Connect and scale your services, whatever your platform.spring.io 그리고 나서 책과 블로그를 통해서 스프링부트 프로젝트를 만들어보기 시작했다. 참고 블로그: https://ng-log.tistory.com/22#google_vignette [SpringBoot] 스프링부트 프로젝트 시작하기 - 1. 프로젝트 생성스프링 프로젝트를 다시 시작하려.. 이전 1 2 3 4 5 6 다음