반응형

1. 컨트롤러에서 showList

- searchKeyword에 아무것도 들어가지 않는 경우("")일떄 null로 처리

- 양쪽 공백값이 들어올 경우에 trim()으로 양쪽 공백 제거

 

2. ArticleService에서 getArticles

- null일 경우 그냥 게시물들 리턴

- 필터링 된 게시글을 넣어줄 filtered 생성

- 제목에 searchKeyword의 값이 포함된 내용들만 filtered에 넣어서 리턴한다.

 

3. 작업한 코드

https://github.com/wjxor/untact/commit/9f6b41d0f90c5a7529464f03b94e9279e4166bb2

반응형
반응형

1. doAdd에서 연산자를 수정

 

2. doModify, doDelete

- title이나 body와 다르게 id는 null이 들어가지 않아서 null이 들어갈 수 있도록 Integer로 바꿔주었다.

  - id가 입력이 들어오지 않을경우를 대비

  - 물론 이상한 문자가 들어오는건 막지는 못하지만 RequestParam을 이용해서 defaultValue를 0으로 해놓으면 괜찮다.

    - 나중에 필요하면 할 예정.....

 

3. 작업한 코드

https://github.com/wjxor/untact/commit/6f8b287e5d977281de6d219c523077a48fd50817

반응형
반응형

1. ArticleService 생성

- 컨트롤러는 직접 DB로 접근하면 안되고 서비스를 거쳐서 DB로 가야한다.

- 컨트롤러는 건물에 들어가면 맨 앞에서 반겨주는 인포데스크 직원이라고 생각하면 편하다.

- 따라서 컨트롤러는 ArticleService에게 필요한 것들을 요청하고, 

- ArticleService는 데이터를 가지고 논다.

- 컨트롤러는 그냥 길안내만 하고, 일들을 서비스에게 넘겨버린다.(게으른 놈들!)

- 컨트롤러는 예를 들어 데이터가 입력이 안되었거나 할 때 돌려보내는 일을 한다.

- 그냥 문지기다.

 

2. @Autowired, @Component, @Service

- @Autowired

  - 객체가 알아서 연결이 되기 때문에 뒤에 new ~를 쓰지 않아도 되는 간편함이 있다.

- @Component

  - Autowired를 쓰려면 연결하려는 객체가 있는 클래스에 붙여줘야 한다.

- @Service

  - 그러나 서비스는 특별하게도 @Component대신 @Service로 쓸 수 있다.

 

3. 작업한 코드

https://github.com/wjxor/untact/commit/44f7eb5d2ba39d0101e57ff1b32cf57d504749e7

반응형
반응형

1. ResultData

- 기존에 리턴값이 많이 길기도 하고 결과값을 좀 더 명확하게 표현하기 위해서 ResultData를 만들었다.

 

2. 작업한 코드

https://github.com/wjxor/untact/commit/4d7adb0aaed8ea675a29ca0af507f2fb9dd1934f

반응형
반응형

1. mapOf 적용

- LinkedHashMap을 사용하였다.

- LinkedHashMap이 입력된 순서대로 배열을 넣기 때문에 HashMap보다 좋다.(무조건 LinkedHashMap이 좋은 것은 아님)

- 반복되는 일들을 mapOf로 일을 시켰다.

 

2. 작업한 코드

https://github.com/wjxor/untact/commit/3e5f9eb0c2caa1c03580c058439c19975a1222df

반응형
반응형

1. lombok을 추가해준다.

 

2. lombok을 쓰는 이유

- 변수가 생길떄마다 생성자, toString, getter/setter등을 바꿔줘야하는데 

  lombok을 쓰면 알아서 만들어준다.

- (만든사람 상줘야 한다고 생각한다.)

 

2. Article

- 생성자, toString, getter/setter를 다 지운다.

- Article class에 @Data, @NoArgsConstructor, @AllArgsConstructor를 넣어준다.

- @Data

  - toString, getter/setter를 만들어준다.

- @NoArgsConstructor

  - 파라미터가 없는 생성자를 만들어준다.
- @AllArgsConstructor

  - 생성자를 만들어준다.

 

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Article {
	private int id;
	private String regDate;
	private String updateDate;
	private String title;
	private String body;

}

이렇게 생긴다.

 

3. 작업한 코드

https://github.com/wjxor/untact/commit/75b265ec40e6edcf1904282fdb80f40bb2eb1f1e

반응형
반응형

1. Article

- updateDate 추가후 게터세터 추가하였다.

- toString도 바꿔줘서 값이 잘 나오게 변경한다.

 

2. updateDate 사용

- doAdd에 게시글이 추가될떄 updateDate가 나오도록 추가하는데 

  어차피 게시글이 추가될때랑 날짜가 같기 때문에 regDate를 대입하였다.

- doModify에도 setUpdateDate로 업데이트 날짜가 변경되도록 설정(Util에서 기능을 가져온다.)

 

3. 작업한 코드

https://github.com/wjxor/untact/commit/de68a9cd14a48c6b941aca259b6fe4329d59b895

반응형
반응형

1. Util 추가

- 다른 장소에서도 쓰일만한 기능들을 모아놓는 공유창고라고 생각하면 된다.

- 다른 곳에서도 날짜생성이 필요할 것 같아 Util에 기능을 추가하였다.

 

2. 날짜 기능 추가

- NowDate에 날짜를 추가하는 객체이다.

 

3. 참고한 링크

- 날짜 추가하는 기능은 다음 링크에서 가져왔다.

https://coding-factory.tistory.com/259

 

4. 작업한 코드

https://github.com/wjxor/untact/commit/2a911edbb5cf35ef811551d169d64e28ff839828

반응형
반응형

1. 게시물 수정

- 게시물 선택하는 selArticle 변수 생성

- for문으로 id가 일치하는 게시물을 selArticle에 넣는다.

- selArticle이 null이면 F-1과 존재하지 않는다는 값으로 리턴

- 존재하면 입력받은 title과 body를 setTitle과 setBody로 수정한다.

 

2. 작업한 코드

https://github.com/wjxor/untact/commit/26f560d544a9a2d696c4966c5c9c01bb326c76b6

반응형
반응형

1. deleteArticle함수 추가

- 참, 거짓을 반환하는 deleteArticle함수를 만들었다.

- 예를 들어 1번글이 지워지면 0의 자리에는 2번글이 옮겨지게 되기 떄문에 

  articles.remove(id - 1);이 먹통이 된다.

- 따라서 for문으로 articles의 갯수만큼 돌린 후 if문으로 id의 값이 입력받은 id의 값과 일치하면 제거하는 작업을 한다.

 

2. 함수를 따로 만든 이유

- doDelete에서 하면 코드가 길어져서 보기 싫기 때문.....ㅎㅎ

 

3. 작업한 코드

https://github.com/wjxor/untact/commit/dc7ef6f456d05b88e340e1a9b1bd0069c52eee5f

반응형

+ Recent posts