[실시간 강의] 테스트 코드와 Thread, CS 특강

우정·2022년 12월 2일
0

[내일배움캠프] TIL

목록 보기
15/50

테스트코드

  • 장점

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

    • 간단하게 만들기
    • 엣지 케이스 테스트 : 자주 발생하지 않는 항목을 테스트하기
      • 잘못된 입력
      • 누락된 인수
      • 빈 데이터
      • 호출된 함수의 예외
    • 버그 수정하기 전에 테스트 작성
    • 설명이 포함된 이름 사용
    • 한 번에 하나의 요구 사항 테스트

Thread

  • Main Thread
    모든 자바 프로그램은 Main Thread가 psvm을 실행하며 시작.
    Main Thread는 작업 스레드들을 만들어 병렬로 코드들을 실행.

  • Single Thread : 메인 스레드가 종료하면 프로세스도 종료

  • Multi Thread : 실행 중인 스레드가 하나라도 있으면 프로세스 미종료

  • 코드로 스레드를 만드는 방법

    • Runnable 인터페이스를 구현
    • Thread 클래스를 상속받음

Thread Scheduling

  • 컴퓨터가 동시에 처리할 수 있는 최대 작업 수는 CPU 코어의 수와 같음

  • 우선 순위 방식과 순환 할당 방식을 사용

    • 우선 순위(Priority) : 우선 순위가 높은 스레드가 실행 상태를 더 많이 가지도록 스케줄링을 함
    • 순환 할당(Round-Robin) : 시간 할당량을 정해서 하나의 스레드를 정해진 시간만큼 실행
  • 멀티 스레드가 중요한 이유는?!

    • 동기화(Synchronization) 문제
      : 스레드는 잘 다루면 매우 효율적이지만, 스레드 간섭 및 메모리 일관성 오류라는 두 가지 오류가 발생할 수 있음.
      이러한 오류를 방지하는 데에 필요한 도구가 동기화

osi 7계층

  • 계층별 역할

    • 물리 계층 : 들어온 전기 신호를 그대로 잘 전달하는 것
    • 데이터 링크 계층 :주소(MAC)정보를 정의하고 정확한 통신이 되도록 하는 것
    • 네트워크 계층 : IP 주소를 제공하는 역할을 수행
    • 전송 계층 : 두 시스템 간 신뢰성 있는 데이터를 전송하는것이 목적
    • 세션 계층 : 통신 방식을 결정
    • 표현 계층 : 데이터를 읽을 수 있는 형식으로 변환
    • 응용 계층 : 브라우저, 메일 시스템 등 프로그램들이 해당 프로토콜을 통해 데이터를 전송 할 수 있게 해줌

TCP/IP 프로토콜

  • 4계층의 TCP + 3계층의 IP

  • TCP(Transmission Control Protocol)

    • 전송 제어 프로토콜, 한 기기에서 다른 기기로 테이터 전송하는 것을 담당
  • IP(Internet Protocol)

    • 인터넷 프로토콜, 데이터의 조각을 최대한 빨리 대상 IP 주소로 보내는 역할

오늘 하루를 마치며..
매번 달라지는 마지막 주제?이름?ㅋㅋㅋ
오늘 자바 퀴즈도 풀었는데 그게 뭔데요? 이상태임ㅜㅜ 주말에 개념 다시 훑어보고,,제발
강의 복습도 다시해보고,, 꼭
내일 부지런히 움직여보자,,~

0개의 댓글

관련 채용 정보