부트캠프(25일차)

성준혁·2022년 12월 2일
0
post-thumbnail

오늘은 부트캠프 25일차이다. 날씨가 하루하루 다르게 추워지고 있다. 배우고 있는 것도 이해가 될듯 말듯 아리송하다. 날씨가 추워지면 따뜻한 날도 오듯이 어렵다고 움츠리게 되면 한없이 움츠려 들 것이다. 한 번 더 보고 최대한 이해하려고 생각하고 따뜻한 날씨에 몸과 마음이 자연스럽게 피는 날이 오면 좋겠다.

오늘 배운 것

1. 테스트 코드 필요성

-저번 프로젝트를 생각해보면 기능을 확인하려고, 실행-->매뉴선택--> 데이터 넣기--> 등등 하다가 이게 아니네;; 이런식으로 확인할 때 굉장한 피로하다는 것을 느꼈다. 이것을 줄이려고 테스트 코드가 필요하고, 자바에서는 이렇게하는 테스트를 Junit이라고 부른다.

1-1. 장점

-개발 과정 중 예상치 못한 문제를 미리 발견 할 수 있다.
-작성한 코드가 의도한 대로 작동하는지 검증할 수 있다.
-코드의 변경, 추가, 삭제 시 사이드 이펙트를 줄일 수 있다.

1-2. 좋은 테스트 코드를 작성하는 방법

-간단하게 만들기
-엣지 케이지 테스트
-버그를 수정하기 전에 테스트 작성
-설명이 포함된 이름 사용
-한 번에 하나의 요구 사항 테스트

2. 멀티 스레드

-하나의 프로세스 내에서 둘 이상의 스레드가 동시에 작업을 수행하는 것을 의미
-실행되는 것은 각각 실행되지만, 프로세스의 메모리를 공유하므로 시스템 자원의 낭비가 적다.

3. 동기와 비동기

-동기 : 코드가 직관적이고 간단하지만 결과가 주어질 때까지 아무것도 못하고 대기해야 한다.
-비동기 : 코드가 복잡하지만 결과에 도달할 때까지 시간이 걸려도 그 시간동안 다른 작업을 할 수 있어서 효율적이다.

> 4. 오늘의 키워드

*어노테이션 : 소스코드에 추가해서 사용할 수 있는 메타 데이터의 일종

  • 어노테이션의 종류
    -@Test : 테스트 메서드임을 나타냄. 실행 가능
    -@BeforeEach : 각 메서드 전에 실행됨을 나타냄.
    -@BeforeAll : 현재 클래스의 모든 메서드보다 먼저 실행되어야하는 메서드 표시
    -@AfterAll : 현재 클래스의 모든 메서드보다 나중에 실행되어야하는 메서드 표시
    -@RepeatedTest : 메서드 반복 호출을 함을 표시
    -@DisplayName : 사용자 지정 표시 이름을 선언

*사이드 이펙트 : 출력값을 산출할 때 출력 과정에서 전혀 영향을 미치지 않는 작업

*엣지 케이스 : 알고리즘이 처리하는 데이터의 값이 알고리즘의 특성에 따른 일정한 범위를 넘을 경우에 발생하는 문제를 가리킨다.

0개의 댓글