전체 글 (149) 썸네일형 리스트형 03. 연결리스트(Linked List) && 이중연결리스트(Doubly Linked List) 1. 연결리스트 구조 - 배열이 순차적으로 연결된 공간에 데이터를 나열하는 데이터 구조인 반면 연결리스트는 떨어진 곳에 존대하는 데이터를 화살표로 연결해서 관리하는 데이터 구조 - 배열이 미리 데이터 공간을 할당해야 하는 반면 연결 리스트는 미리 데이터 공간을 할당하지 않아도 되는 장점이 있음 (단, 연결을 위한 데이터 공간이 필요하므로 저장공간 효율이 높지 않음) - 연결정보를 찾는 시간이 필요하므로 접근 속도가 느림 - 중간 데이터 삭제 시 앞뒤 데이터의 연결을 재구성해야하는 부가적인 작업이 필요함 node 데이터 저장 단위 (데이터값, 포인터) 로 구성 pointer 각 노드 안에서 다음이나 이전의 노드와의 연결 정보를 가지고 있는 공간 2. 연결리스트 구현 class Node { construct.. 02. 스택(Stacks) 1. 스택 구조 - 마지막에 넣은 데이터를 가장 먼저 추출하는 데이터 관리 정책 - FILO(First-In, Last-Out) 또는 LIFO(Last-In, First-Out) - 대표적인 스택의 활용으로 컴퓨터 내부의 프로세스 구조의 함수 동작 방식이 있음 - 구조가 단순해서 구현이 쉬우며 데이터 저장/읽기 속도가 빠름 - 데이터 최대 갯수를 미리 정해야 하므로 저장공간의 낭비가 발생할 수 있음 (미리 최대 갯수 만큼 저장 공간을 확보해야 함) push 데이터를 스택에 넣기 pop 데이터를 스택에서 꺼내기 2-1. 스택 구현 (Array-based) class stack { constructor() { this.items = []; } // 1. 스택에 새로운 element 추가 push(elemen.. 01. 큐(Queue) 1. 큐 구조 - 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조 - FIFO (First-In, First-Out) 또는 LILO (Last-In, Last-Out) Enqueue 큐에서 데이터를 넣는 기능 Dequeue 큐에서 데이터를 꺼내는 기능 2. 큐 클래스 생성 class Queue { constructor() { this.count = 0; this.lowestCount = 0; this.items = {}; } // 1. queue의 맨 뒤에 데이터를 넣는 method enqueue (element) { this.items[this.count] = element; this.count++; } // 2. queue에서 맨 앞의 데이터를 삭제하는 method dequeue() { if .. FlexBox Layout 1. Flex Container 01. display display: flex; block level flex container display: inline-flex; inline level flex container 02. flex-direction *main axis, cross axis를 생각 할 것! flex-direction: row; 좌에서 우로 수평 배치 flex-direction: column; 위에서 아래로 수평 배치 flex-direction: row-reverse; 우에서 좌로 수평 배치 flex-direction: column-reverse; 아래에서 위로 수평 배치 03. flex-wrap : flex item 요소들이 강제로 한줄에 배치되게 할 것인지 가능한 영역 내에서 벗어나지.. 04-Spring Data JPA - 게시판 등록, 수정, 삭제 01. 등록 1) com.face.home.springboot.web.dto/ReviewboardRequestDto.java package com.face.home.springboot.web.dto; import com.face.home.springboot.domain.reviewboard.ReviewBoard; import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; @Getter @NoArgsConstructor public class ReviewboardRequestDto { private String title; private String content; private String author; @Builder pu.. 03-Spring Data JPA 01. Spring Data JPA 적용 - build.gradle에 spring data jpa 및 h2 의존성 추가 compile('org.springframework.boot:spring-boot-starter-data-jpa') compile('com.h2database:h2') 02. Spring Data JPA TEST 1) com.face.home.springboot에 domain.reviewboard 패키지 생성 2) Reviewboard.java (실제 DB와 매칭될 클래스. DB상의 테이블이라 생각하자) package com.face.home.springboot.domain.reviewboard; import lombok.Builder; import lombok.Getter; impor.. 02-Lombok 01. 롬복(Lombok) - getter, setter, 기본생성자, toString 등을 Annotation으로 자동 생성해 줌 02. 롬복 설치 - 이클립스와 다르게 인텔리제이에서는 플러그인 설치로 간편하게 사용 가능 1) build.gradle에 의존성 추가 compile('org.projectlombok:lombok') 2) Action 창 오픈 - Plugins 선택 - Marketplace탭에서 lombok 선택하여 install 03. 테스트 1) com.face.home.springboot.web.dto/HelloResponseDto.java package com.face.home.springboot.web.dto; import lombok.Getter; import lombok.Requ.. 01-IntelliJ 설치 및 환경설정 (gradle, git) 01. 젯브레인 설치 - 젯브레인(https://www.jetbrains.com/ko-kr/)의 제품 전체를 관리해주는 데스크톱 앱 - 설치 후 maximum heap size 설정 (PC 메모리가 8G: 1024~2048, 16G: 2048~4096 선택) 02. gradle 프로젝트를 spring boot 프로젝트로 변경 - 변경 전 build.gradle plugins { id 'java' } group 'com.face.home' version '1.0-SNAPSHOT' repositories { mavenCentral() } dependencies { testCompile group: 'junit', name: 'junit', version: '4.12' } - 변경 후 build.gradle .. 이전 1 2 3 4 5 6 7 8 ··· 19 다음