본문 바로가기

전체 글

(404)
[Day14~15 - JAVA] chap11. 컬렉션프레임워크 1.1 컬렉션 프레임워크(Collection Framework)란? 컬렉션 프레임워크(Collection Framework) : 데이터 군을 저장하는 클래스들을 표준화한 설계 : 다수의 데이터를 쉽게 처리할 수 있는 방법을 제공하는 클래스들로 구성 컬렉션(Collection) : 다수의 데이터. 즉, 데이터 그룹 의미 프레임워크(Framework) : 표준화, 정형화된 체계적인 프로그래밍 방식 컬렉션 클래스(Collection Class) : 다수의 데이터를 저장할 수 있는 클래스 : ex) Vector, ArrayList, HashSet etc... 1.2 컬렉션 프레임워크의 핵심 인터페이스 [프레임워크 핵심 인터페이스 간 상속 계층도] Collection - List, Set / Map 1) List..
[JAVA] ArrayList 생성자 메서드 설명 ArrayList() 크기가 0인 ArrayList 생성 ArrayList(Collection c) 주어진 컬렉션이 저장된 ArrayList를 생성 ArrayList(int initialCapacity) 지정된 초기용량을 갖는 ArrayList 생성 boolean add(Object o) ArrayList의 마지막에 객체를 추가, 성공하면 true void add(int index, Object element) 지정된 위치(index)에 객체(element)를 저장 boolean addAll(Collection c) 주어진 컬렉션의 모든 객체를 저장 boolean addAll(int index, Collection c) 지정된 위치부터 주어진 컬렉션의 모든 객체를 저장 void clear()..
[04장.1] 테스트 코드 개념 테스트 코드란? : 작성한 코드가 의도대로 잘 동작하고 예상치 못한 문제가 없는지 확인할 목적으로 작성하는 코드 : 유지보수에도 매우 좋고, 코드 수정 시 기존 기능이 제대로 작동하지 않을까 걱정하지 않아도 됨 given - when - then 패턴 given : 테스트 실행 준비 단계 when : 테스트 진행 단계 then : 테스트 결과 검증 단계 @DisplayName("새로운 메뉴를 지정한다.") @Test public void saveManuTest(){ // given : 메뉴를 저장하기 위한 준비 과정 final String name = "아메리카노"; final int price = 2000; final Menu americano = new Menu(name, price); // when..
[1. 소프트웨어 설계] 소프트웨어 아키텍처 4+1 뷰 구성요소 1. 유스케이스 뷰(Usecase View) : 유스케이스 또는 아키텍처를 도출하고 설계하며 다른 뷰를 검증하는데 사용되는 뷰 : 외부 행위자에 의해 인식되는 시스템의 기능 요구사항을 보여주는 데 초점 : 사용자, 설계자, 개발자, 테스트 관점 2. 논리 뷰(Logical View) : 시스템의 기능적인 요구사항이 어떻게 제공되는지 설명해주는 뷰 : 설계자, 개발자 관점 3. 프로세스 뷰(Process View) : 시스템의 비기능적인 속성 : 자원의 효율적인 사용, 병행 실행, 비동기, 이벤트 처리 등을 표현한 뷰 : 개발자, 시스템 통합자 관점 4. 구현 뷰(implementation View) : 개발 환경 안에서 정적인 소프트웨어 모듈의 구성을 보여주는 뷰 : 컴포넌트 구조와 의존성을 보여주고 컴..
[1. 소프트웨어 설계] 소프트웨어 아키텍처 프레임워크 구성요소 1. 아키텍처 명세서(Architectural Description) : 아키텍처를 기록하기 위한 산출물들 : 이해관계자들의 시스템에 대한 관심을 관점에 맞춰 작성한 뷰로 표현 : 개별 뷰, 뷰 개괄 문서, 인터페이스 명세 등 2. 이해관계자(Stakeholder) : 시스템 개발에 관련된 모든 사람과 조직 : 고객, 최종 사용자, 개발자, 프로젝트 관리자, 유지보수자, 마케팅 담당자 등을 포함 3. 관심사(Concerns) : 시스템에 대한 이해관계자들의 서로 다른 의견과 목표 - 사용자 입장 : 기본적인 기능, 신뢰성, 보안, 사용성 등의 품질 - 유지보수자 입장 : 유지보수의 용이성 - 개발자 입장 : 적은 비용과 인력으로 개발 4. 관점(Viewpoint) : 개별 뷰를 개발할 때 토대가 되는 패..
[4일차] 가로세로 1cm 프로세서 칩 노트북 용 하드 드라이브는 용량이 10~100배까지 늘어났지만고 겉보기에는 거의 차이가 없을정도로 변화가 없고, SD 카드 패키지는 용량은 훨씬 커졌지만 가격은 매우 저렴해졌다. 하지만, 컴퓨터의 부품에 올라가있는 회로 기관을 보면 부품의 수가 더 적지만 부품 내부에 더 많은 회로가 들어가 있고, 배선이 더 미세하며, 연결 핀의 수가 훨씬 더 많고 조밀하게 배치되어 있음을 알 수 있다. 전차 회로는 몇 가지 기본 소자가 매우 많이 모여 만들어진다. 기본 소자로는 논리 게이트(Logic gate)가 있다. 논리 게이트란, 한 개나 두 개의 입력 값을 바탕으로 단일 출력 값을 계산하며, 전압이나 전류 같은 입력 신호를 이용해 전압이나 전류인 출력 신호를 제어한다. 따라서 게이트가 필요한 만큼 적절한 방식으로..
[1. 소프트웨어 설계] 코드 설계 코드 설계란? : 데이터의 분류나 조합을 쉽게 하기 위하여 사물을 표현하는 코드를 설계하는 기법 코드의 기능 1) 표준화 : 정보들 종류, 모양, 크기 등의 일정한 기준에 따라 통일적으로 표현하는 기능 2) 분류 : 정보들을 동일한 특성을 가진 데이터로 그룹화하여 나누는 기능 3) 식별 : 다른 것들과 구별될 수 있는 기능 4) 배열 : 일련의 순서로 나열할 수 있는 기능 5) 간소화 : 정보의 표현을 간소화해서 나타낼 수 있는 기능 6) 연상 : 정보를 표현하고자 하는 대상체 뜻과 의미가 코드에 내포되게 하는 기능 7) 암호화 : 정보의 외부 표현을 감추고자 하는 기능 8) 오류 검출 : 정보 입력이나 관리 시 잘못된 정보를 찾아내는 기능 코드 설계 종류 1) 연상 코드(Mnemonic Code) : ..
[03장.3] 스프링 부트 요청-응답 과정 한 방에 이해하기 (1) 포스트맨에서 톰캣에 요청 진행 >> 스프링 부트 내로 이동 (2) 스프링 부트의 디스패처 서블릿이 URL을 분석하고 이 요청을 처리할 Controller를 찾음 요청을 처리할 수 있는 메서드를 가지고 있는 Controller를 찾아 요청을 전달 (3) 요청을 처리할 수 있는 메서드와 요청이 매치되고, 비즈니스 계층과 퍼시스턴스 계층을 통하면서 필요한 데이터를 가져옴 (4) 뷰 리졸버는 템플릿 엔진을 이용해 HTML, JSON, XML 등 데이터를 생성 (5) 요청에 대한 응답을 반환 * 위 내용을 책을 기반으로 정리한 것이기 때문에 더 자세한 동작 및 역할은 아래 블로깅 참고 [아래 블로깅 참고] https://kcode-recording.tistory.com/69 [Spring MVC] Spri..