
전송 계층의 역할 네트워크에서 다른 네트워크로 데이터를 전송하려면 라우터가 필요하고 라우터의 라우팅 기능을 사용하여 전송할 수 있다. 물리 계층, 데이터 링크 계층, 네트워크 계층의 3계층이 있으면 목적지에 데이터를 보낼 수 있다. 하지만 데이터가 손상되거나 유실되더라도 이들 계층에서는 아무것도 해주지 않는다. 이를 방지해주는 역할을 이번에 소개할 전송 계층에서 수행한다. 전송 계층의 두 가지 역할 오류를 점검하는 기능 오류가 발생하면 데이터를 재전송하도록 요청 전송된 데이터의 목적지가 어떤 애플리케이션인지 식별하는 기능 예를 들어, 홈페이지에서 사용하는 데이터인데 메일 프로그램에 전송하는 것을 방지해준다. 연결형 통신과 비연결형 통신 전송 계층의 특징을 간단히 설명하면 신뢰성/정확성과 효율성으로 구분할..

Iterator 패턴 무엇인가 많이 모여 있을 때 이를 순서대로 가리키며 전체를 검색하고 처리를 반복하는 것. 예제 프로그램 책장(BookShelf) 안에 책(Book)을 넣고, 책 이름을 차례대로 표시하는 프로그램 이름 설명 Iterable 집약체를 나타내는 인터페이스(java.lang 패키지) 예제 프로그램에서는 Iterable으로 사용 Iterator 처리를 반복하는 반복자를 나타내는 인터페이스(java.util 패키지) 예제 프로그램에서는 Iterator으로 사용 Book 책 클래스 BookShelf 책장 클래스 BookeShelfIterator 책장을 검색하는 클래스 Main 동작 테스트용 클래스 Iterable 인터페이스 처리를 반복할 대상을 나타내는 것, java.lnag 패키지에 선언되어 ..

UML Unified Modeling Language의 줄임말, 시스템을 시각화하거나 사양 및 설계를 문서화하기 위한 표현 방법 디자인 패턴에 등장하는 클래스나 인스턴스의 관계를 나타내기 위해 UML을 이용한다. UML의 속성(attribute)은 Java의 필드(field), UML의 조작(operation)은 Java의 메서드(method)이다. 클래스 다이어그램 UML의 클래스 다이어그램 클래스나 인스턴스, 인터페이스 등의 정적인 관계를 나타낸 것 클래스와 계층 관계 abstract class ParentClass { int field1; static char field2; abstract void methodA(); double methodB() { // ... } } class ChildClas..

길다면 길었고, 짧다면 짧았던 4주간의 프리코스가 오늘부로 모두 끝났다. 3주차 회고록도 쓰려했으나, 프리코스 진행과 바빴던 개인 일정이 겹쳐서 작성하지 못하였기에 3주차, 4주차 회고록을 한번에 작성하려 한다. 3주차 과제 - 로또 게임 기능 요구 사항 실행 결과 예시는 다음과 같다. 구입금액을 입력해 주세요. 8000 8개를 구매했습니다. [8, 21, 23, 41, 42, 43] [3, 5, 11, 16, 32, 38] [7, 11, 16, 35, 36, 44] [1, 8, 11, 31, 41, 42] [13, 14, 16, 38, 42, 45] [7, 11, 30, 40, 42, 43] [2, 13, 22, 32, 38, 45] [1, 3, 5, 14, 22, 45] 당첨 번호를 입력해 주세요. ..

동적 파라미터화를 이용하면 자주 바뀌는 요구사항에 효과적으로 대응할 수 있다. 아직은 어떻게 실행할 것인지 결정하지 않은 코드 블록으로, 이 코드 블록은 나중에 프로그램에서 호출한다. 즉, 코드 블록의 실행은 나중으로 미뤄진다. [예시] 컬렉션을 처리할 때 다음의 메서드 구현 리스트의 모든 요소에 대해서 '어떤 동작'을 수행할 수 있음 리스트 관련 작업을 끝낸 다음에 '어떤 다른 동작'을 수행할 수 있음 에러가 발생하면 '정해진 어떤 다른 동작'을 수행할 수 있음 변화하는 요구사항에 대응하기 예시로 기존의 농장 재고목록 애플리케이션에 리스트에서 녹색 사과만 필터링하는 기능을 추가한다고 가정 첫 번째 시도: 녹색 사과 필터링 사과 색을 정의하는 Color enum enum Color { RED, GREEN..

정신없던 우아한테크코스 1주차 미션이 끝나고 2주차 미션으로 자동차 경주를 안내받았다. 이전 과제들을 풀어본 경험이 없기에 새로운 마음으로 처음 구현해보는 내용이었다. 1주차 미션에서 피드백으로 받았었던 매직 넘버의 상수화, 메서드명 줄여쓰지 않기, 일급 컬렉션 적용, 중복 로직 제거를 적용하고자 노력하였고, 내가 부족했던 부분인 스트림과 람다를 공부하기 위해 각종 레퍼런스를 참고하며 공부하였으며 현재는 모던 자바 인 액션을 읽고 있다. 이번 회고에는 내가 2주차 미션을 수행하면서 하였던 고민과 구현 과정에 대해 상세히 기록하고자 한다. 요구사항 초간단 자동차 경주 게임을 구현한다. - 주어진 횟수 동안 n대의 자동차는 전진 또는 멈출 수 있다.각 자동차에 이름을 부여할 수 있다. - 전진하는 자동차를 ..