일단 씻고 나가자

23.03.09 본문

Study/닥치는 대로 주워 담기

23.03.09

일단 씻고 나가자 2023. 3. 13. 19:52

2023. 03. 09 목요일

 

- 별 찍기 다중 for문의 핵심 논리?

: 바깥 for문의 I, 안쪽 for문의 j, 전체 줄 수의 n의 관계가 중요하다.

I++로 뒀다면 j는 점점 늘어나는 문자열에 대해선 I를 이용, 점점 줄어드는 문자열에 대해선 i를 이용해야 한다. (단순히 등차라면 +, 등비라면 *)

이때 총 개수를 의미하는 n에 대해서도 적절히 사용해야 하는데, 특히 줄어드는 값에 대해서 몇부터 시작해서 줄어들 것인가의 몇에 해당하는 부분을 n으로 채워주자.

 

(i) 관련하여 문자열이 증가하는가 감소하는가? -> 각 문자열의 초깃값은 무엇인가?

이해가 안 되면 그냥 숫자를 써놓고 문자로 치환하자.

 

ex) I는 증가하는 값. j=0이고 j++이라면 결국 j<k k에 들어갈 값을 계산하면 되는 건데,

만약 증가하는 문자열이라면 I가 증가하는 값이기 때문에 j<i 적어놓고, 우변의 I가 초항과 일치하는지만 계산. 감소하는 문자열이라면 I가 증가하는 값이기 때문에 j<i 적어놓고 우변의 초항과 일치하는지만 계산. 이때 전체 줄인 n과 연관이 있다면 우항에 n을 추가해서 적음.

 

 

- [Java] 스트림을 컬렉션으로 바꾸는 함수?

: .stream().collect(Collectors.toSet/List/Map());

 

 

- [Java] String의 한 글자씩 배열에 나누는 방법과 합치는 방법?

: String.split(“”); / String.join(“”, List/pString[]);

 

 

- 테스트 케이스를 사용하는 이유? 스프링에서 테스트를 작성하는 공간과 방법? 주의점?

: 매번 main이나 컨트롤러에서 실행하면 시간이 오래 걸리고, 반복이 어렵고, 여러 테스트를 한번에 실행하기 어렵다. (테스트를 먼저 작성하는 경우도 있다. = 테스트 주도 개발 TDD)

 

스프링에선 test 폴더가 따로 있으며, test.java 하위 폴더에 같은 이름의 패키지를 만들고 같은 이름의 함수를 만들어 실행시켜보면 된다. 어노테이션은 클래스명 위에 @Test를 쓰며, System.out.print로 콘솔에서 확인해 볼 수도 있지만, 실무에선 보통 JUnit에서 제공하는 Assertions.assertEquals(expect, actual)를 이용한다.

(asserttj에서 제공하는 assertThat(expect).isEqualTo(result)를 이용하기도 한다.)

통과했다면 하단 콘솔창에서도 녹색 체크 표시가 뜨며, 알람으로도 알려준다.

클래스 전체로도 실행 가능하며, 메소드단위로도 실행 가능하다.

 

, 테스트를 클래스 단위로 할 경우 메서드 순서가 랜덤으로 지정되면서 서로 다른 메서드에서 만든 객체들의 중복 때문에 에러가 날 수가 있는데, 이럴 때를 대비해 @AfterEach로 따로 메서드를 만들어 매 실행마다 불러오는 콜백메서드를 만들어주어야 한다. (공용 데이터를 지워주는) 따라서 테스트할 원본 클래스에 clearXX() 같은 저장소를 지워주는 함수를 만들어주고, 테스트의 AfterEach에 해당 함수를 실행하도록 설정하면 됨.

 

 

- gitcommit 말고 add의 기능이 있는가?

: 선택적인 commit을 위해서. 우리는 대부분의 경우 바로 commit을 하지 못하고 한번에 여러 파일을 commit 해야 할 경우가 있을 텐데, 그때 add된 파일들만 (git status에서 초록색 글씨로 modified라 적혀 있음.) commit 할 수가 있다. , addcommit의 대기 상태로 들어간다. commit은 대기 상태의 파일들을 저장하는 것이며, 이것들은 stage area라고 한다. stage에는 대기 파일들이 올라가며, 실제 올라간 파일들이 있는 곳을 repository라 한다.

 

예전의 VCS들은 바뀐 모든 것들을 한 번에 commit 해야 했지만, gitadd는 그런 의미에서 혁신을 불러온 기능이라 할 수 있다.

 

'Study > 닥치는 대로 주워 담기' 카테고리의 다른 글

23.03.13  (0) 2023.03.14
23.03.10  (0) 2023.03.13
23.03.08  (0) 2023.03.13
23.03.07  (0) 2023.03.13
23.03.06  (0) 2023.03.13