목록전체 글 (181)
New World
리스트의 개념 리스트 : 일정한 순서(논리적/의미적)의 나열 개발자가 보는 것은 추상화된 데이터 메인 메모리에서는 순서가 다르되 리스트로 구현하면 리스트의 순서는 동일하게 노출 배열은 인덱스로 표현되는 순서는 물리적인 위치와 동일 리스트의 순서 개념은 논리적인 순서 구현 방법 포인터 배열 배열을 이용한 리스트 구현 배열은 메인메모리와 동일한 순서여야 하여 원소 삽입 시, 원소가 이동하여 이동 시간이 걸림 배열의 확장 - 초기 배열 선언에서 충분히 크게 하면 배열의 추가 확장을 피할 수 있다 - 배열의 추가 확장을 위해 하나씩 뒤로 밀어야 하는 상황이 발생 배열을 이용한 원소 삽입.삭제 - 원소 순서가 연속적인 물리적 주소에 저장 - 모든 원소를 뒤로 물리거나 앞으로 당겨야만함 - 원소 삽입은 프로그램의 ..
큐의 개념 및 추상 자료형 큐의 의미 : 먼저 들어와서 먼저 빠지는 것 작업 큐에 들어간 작업이 가장 처음에 처리되는 작업 스케줄 (First-in-First-out) 한쪽에서는 삽입 연산만 발생 가능하고 다른 한쪽에서는 삭제 연산만 발생 가능한 양쪽이 모두 터진 관 rear과 front 는 내용 이해를 위한 것 Element : item에서 나온 것 큐의 응용 CPU의 관리 방법 : FCFS 스케줄링은 작업이 준비 큐에 도착한 순서대로 CPU를 할당받도록 해주는 기법 RR 스케줄링 기법은 대화형 시스템에 사용되는 스케줄링 방식 배열을 이용한 큐의 구현 큐의 생성 : 변수 rear 초기값은 큐의 공백 상태를 나타내는 -1로 시작함 원형 큐 큐를 연결시켜 회전문처럼 사용하겠다 원형 큐 초기 상태 : 원형 ..
스택의 개념과 추상자료형 차곡차곡 쌓으며 중간 것을 뺄 수 없다는 프로그램 정의 스택 : 데이터가 먼저 입력되는, 제일 먼저 출력이 될 수 있는지 확인할 수 있는 것 객체와 객체가 저장되는 순서를 기억하는 방법에 관한 추상 자료형 가장 먼저 입력된 자료가 가장 나중에 출력되는 것 0개 이상의 원소를 갖는 유한 순서 리스트 (Create, pop, push 연산만 접근 가능) push와 pop 연산이 한곳에서 발생 스택의 응용과 구현 시스템 스택 : 변수에 대한 메모리의 할당과 수집 연산자들 간의 우선순위에 의해 계산 순서가 결정되는 수식 계산 인터럽트의 처리와 이후 리턴할 명려 수행 지점을 저장하기 위한 스택 컴파일러, 순환 호출 관리, 서브루틴 호출 관리 서브루틴 호출 관리 (함수호출) 호출 : mai..
배열의 정의 (정의 : 차례(순서)나 간격에 따라 벌여 놓음) 인덱스와 원소값의 쌍()으로 구성된 집합 원소의 메모리 공간의 물리적 위치를 순서적으로 결정하는 특징 배열의 순서는 메모리 공간에서 저장되는 원소값의 물리적 순서 인덱스로 표현되는 순서를 갖는 메모리 영역, 원소값을 위한 저장소 같은 자료형과 같은 크기의 기억 공간을 가짐 배열의 인덱스값을 이용해 배열의 원소값에 접근하기 때문에 직접 접근이 가능함 인덱스의 숫자는 변경하지 않지만 컴퓨터의 위치는 변경될 수 있기 때문에 배열을 통해 저장 배열의 추상 자료형 추상자료형 : 객체 및 관련된 연산의 정의 공용으로 쓰는 데이터에 대해 정의를 하고 그것을 접근할 수 있는 연산자를 뜻함 자료형 : 메모리 저장 할당을 위한 선언 프로그램에 대해 할당받는 것..
프로젝트를 시작하게 된 계기 어렸을적부터 다른 사람들에 비해 주택과 마당 달린 집에 대한 관심도가 높았다. 하지만 주택은 아파트보다 근처에 편의시설이 많이 없으며 직접 살아보지 않는한 어떤 곳인지 알기 어렵다 생각하여 집주인과 몇개월 or 몇주 그 집에 스테이를 약속하고 미리 살아볼 수 있었으면 좋겠다고 생각했다. 집주인으로서도 아무것도 하지 않는 것보단 집에 대한 정보를 올려 짭짤한 수익을 벌 수 있게 하면 구매자와 판매자 둘 다 이득이라 생각했다. 그렇게 집을 구하는 시스템을 구축하고 싶어 만들게 된 프로젝트이다. 프로젝트의 이이 - 몇 주 or 몇 개월 동안 그 집에서 머물 것인지 약속 (달력 만들어보기) - 머무는 동안 집에서 해주는 서비스 (와이파이, TV, 전기 등) [추가금액] - 집 근처 ..
홈 기능 1. 로그인 상태인지 아닌지 확인 controller ㄴHomeController memberService를 통해 현재 로그인이 되어있는지 파악하고 관리자라면 관리페이지로, 일반 회원이면 일반 페이지로 갈 수 있도록 만들었다 @RequestMapping("/") public String home(HttpSession httpSession, Model model) { Long nowLoginMemberNo = memberService.nowLoginInfo(httpSession); Member nowLoginMember = null; if (nowLoginMemberNo != 0L) { nowLoginMember = memberService.myInfo(nowLoginMemberNo); } mod..
배송 등록 기능 1. 배송 등록을 통해 바로 상태값 등록도 가능 2. 프로젝트의 배송으로 잘 저장되는지 확인 controller ㄴTrackingController // 배송 생성 @RequestMapping("/trackingSave{orderNo}") public String trackingSave(HttpSession httpSession, @PathVariable("orderNo") Long orderNo, Model model) { Order order = orderService.findOne(orderNo); model.addAttribute("order", order); model.addAttribute("nowLoginMember", memberController.modelMember(ht..
캐쉬를 적립하는 페이지 기능 1. 캐쉬 적립할 내용을 작성 controller ㄴCashController @RequestMapping("/cashOrder") public String cashOrder(HttpSession httpSession, Model model) { Long nowLoginMemberNo = memberService.nowLoginInfo(httpSession); model.addAttribute("nowLoginMember", memberService.myInfo(nowLoginMemberNo)); return "sample/cash/cash-order"; } API ㄴ CashApiController 입력했던 정보가 캐쉬 입력하기 위한 정보로 잘 들어가게 해준다. // 충전 ..