Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

1차 요구사항 구현

  • 유저가 루트 url로 접속시에 게시글 리스트 페이지(http://주소:포트/article/list)가 나온다.

  • 리스트 페이지에서는 등록 버튼이 있고 버튼을 누르면 http://주소:포트/article/create 경로로 이동하고 등록 폼이 나온다.

  • 게시글 등록을 하면 http://주소:포트/article/create로 POST 요청을 보내어 DB에 해당 내용을 저장한다.

  • 게시글 등록이 되면 해당 게시글 리스트 페이지로 리다이렉트 된다. 페이지 URL 은 http://주소:포트/article/list 이다.

  • 리스트 페이지에서 해당 게시글을 클릭하면 상세페이지로 이동한다. 해당 경로는 http://주소:포트/article/detail/{id} 가 된다.

  • 게시글 상세 페이지에는 id에 맞는 게시글 데이터와 목록 버튼이 있다. 목록 버튼을 누르면 게시글 리스트 페이지로 이동하게 된다.

  • article 등록 버튼고 목록버튼이 부트스랩 디자인으로 생성되었다.

미비사항 or 막힌 부분

  • HTML에 article_form과 article_detail부분

UI/UX

image

image

image

MVC 패턴

  • Model, View, Controller 의 약자로 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴.
  • 각각의 의미
    1. 모델: 데이터와 비즈니스 로직을 관리.

    사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한다.

    뷰나 컨트롤러에 대한 어떠한 정보도가지고 지 말아야 한다.

    변경이 일어나면 처리방법을 구현해야한다.

    1. 뷰: 레이아웃과 화면을 처리. 유저 인터페이스, 인풋 텍스트처럼 사용자가 입력하거나 보여주는 출력을 담당하며, 정보를 따로저장해서는 안된다.
    2. 컨트롤러: 모델과 뷰로 명령을 전달. 모델과 뷰를 알고 변경을 모니터링하는 중간다리 역활.
  • 인텔리제이에서 도메인별로 각각의 페키지를만들어 레포지터리와 서비스, 컨트롤러로 관리하는것이 MVC 패턴에 맞게 코딩을 관리하기 위해서다.

스프링에서 의존성 주입(DI) 방법 3가지 방법

  • 1.생성자 주입

    객체 생성 시점에 의존성을 주입하는 방식으로 의존성을 불변하게 유지하며 의존성이 많을경우 생성자가 복잡해질 수 있음.

  • 2.세터주입

    세터 메서드를 통해 의존성을 주입하는 방식으로 선택적 의존성을 주입할 때 유용하고 객체가 불완전한 상태로 생성될 수 있음.

  • 3.필드주입

    클래스 필드에 @Autowired 어노테이션을 사용하여 의존성을 주입하는 방식으로 코드가 가장 간결하고 설정이 쉬우며 테스트하기 어렵고, 의존성 주입이 이루어지기 전에 객체를 초기화할 수 없음.

JPA의 장점과 단점

  • 장점 : 생산성이 용이하고 유지보수하기 편하며 특정 DB벤더에 종속적이지 않다.
  • 단점 : 내부동작이 많아 SQL로호줄하는것보다 성능이 낮을 수 있고, Jpa를 사용하기 위해 사용해야 할것들이 많다.

HTTP GET 요청과 POST 요청의 차이

  • get은 클라이언트가 서버에리소스 정보를 요청하는 것이고 post는 클라이언트에서 서버로 리소스를 생성하거나 업데이트하기 위해 데이터를 보낼 때 사용 되는 메서드이다
  • get은 주소에 정보에대한 값들이 다 남기떄문에 민감하지 않은 정보를 다룰때 사용된다.
  • 이 테스트에선 게시글 리스트 페이지에서 Article 등록하기 버튼을 누를때 article_list.html 파일에의해 get("/article/create) 요청이 들어가고, 폼 페이지에서 정보를 기입하고 저장하기를 누를 때, article_form.html 파일에 의해 post("/article/create) 요청이 실행된다.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages