중앙정보기술인재개발원

중앙정보기술인재개발원

[중앙정보기술인재개발원] 19일차

도서 대출 관리 시스템ERD 설계Ref Book - Author -> N : MBook - Publisher -> N : 1Book - Category -> N : MBook - Loan -> N : MMember - Loan -> 1 : N영화 예매 시스템ERD 설계 Ref Movie - Order - Ticket -> 1 : N 1 : NCinema - Theater -> 1 : NTicket - Movie -> N : 1Movie - Theater -> 1 : NMovie - Cinema -> N : MTheater - Cinema -> N : 1과제 - 데이터 모델링인스타그램은 사진을 업로드하고, 사람들이 서로 댓글을 달며 서로 follow 관계를 만들 수 있는 사진 SNS 서비스입니다. 여러분이..

중앙정보기술인재개발원

[중앙정보기술인재개발원] 18일차

관계관계의 정의관계란 엔터티들이 서로 상호 연관성을 가지고 있는 상태를 말합니다.강사와 수강생은 서로 논리적으로 연관성이 부여된 상태이며 해당 관계는 ‘강의한다’라는 관계로 명명할 수 있습니다.또한 강사 인스턴스 하나가 여러 수강생 인스턴스들과 관계를 가지고 있기 때문에 이러한 관계를 일대다 관계라고 부릅니다.관계의 분류존재에 의한 관계 ‘소속된다’라는 의미는 어떠한 행위에 의해 발생되는 의미가 아닌 단지 사원이 부서에 소속되어 있기 때문에 나타나는 관계입니다.행위에 의한 관계 고객과 주문의 관계는 고객이 주문이라는 행위에 의해 발생되는 관계이기 때문에 행위에 의한 관계라고 볼 수 있습니다. 관계의 표기법관계명(Membership) : 관계의 이름관계차수(Cardinality) : 일대일(1:1) , 일..

중앙정보기술인재개발원

[중앙정보기술인재개발원] 16일차

[실습] 시작하기🎮 직접 코드 구현하기💾 개요에서 확인한 요청서와 참고 사항을 확인하고 알맞은 프로그램을 제작하여 봅시다.📘 해당 과제는 실습과 제출이 필요 없는 과제입니다. 레퍼런스 코드의 경우 섹션이 모두 종료된 이후 공개됩니다. ref v1단순하게 배열만 활용 Feedbackpackage jungmin.ref.v1;public class Feedback { private String customerName; private String shopName; private String foodName; private int grade; /** * @Feedback() : 정보를 저장합니다 */ public Feedback(String customerName, String shopNa..

중앙정보기술인재개발원

[중앙정보기술인재개발원] 15일차

Thread Pool동시 작업 처리가 많아지만 스레드 수가 증가하고 스래드 생성과 스케줄링으로 인해 메모리 사용량이 늘어나면서 애플리케이션의 성능을 저하시킵니다. 스레드의 무분별한 증가를 방지하려면 스레드풀을 사용해야합니다. 스레드풀은 작업 처리에 사용되는 스레드의 수를 정해 놓습니다. 큐에 들어오는 작업이 들어오면 스레드풀 안에 스레드가 하나씩 맡아서 처리합니다. 작업 처리가 끝난 스레드는 작업 큐의 새로운 작업을 처리합니다.아래 그림을 통해서 대략적인 흐름을 확인해보도록 합시다.스레드풀 생성ExecutorService(스레드 풀) 구현객체는 Executors 클래스 메서드로 생성할 수 있습니다. 스레드풀 종료스레드풀은 main 스레드가 종료되어도 작업을 처리하기 위해 계속 실행 상태로..

중앙정보기술인재개발원

[중앙정보기술인재개발원] 14일차

[스트림] 연습문제 01_computeSumOfAllElements문제Integer 타입을 요소로 가지는 List를 입력받아 요소의 총 합을 리턴해야 합니다. 입력인자 1 : listInteger 타입을 요소로 가지는 List출력int 타입을 리턴해야 합니다.주의 사항비어있는 List의 경우 0을 리턴합니다.반복문(for, while)의 사용은 금지됩니다.입출력 예시List list = Arrays.asList(1, 2, 3, 4, 5);int output = computeSumOfAllElements(list);System.out.println(output); // --> 15 힌트stream을 통해 List의 요소를 순회할 수 있습니다.내 코드p..

중앙정보기술인재개발원

[중앙정보기술인재개발원] 13일차

package com.choongang; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.Arrays; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertArrayEquals; class B_getNthElementTest { B_getNthElement solution; @BeforeEach void setUp() {..

중앙정보기술인재개발원

[중앙정보기술인재개발원] 12일차

예외 처리(Exception Handling) 프로그램을 만들거나 실행하다 보면 우리는 수없이 많은 에러와 마주하게 됩니다. 이렇게 에러가 발생하면 프로그램은 의도한 대로 작동하지 않거나 심각한 경우 비정상적으로 종료되게 됩니다. 이번 챕터에서는 자바에서 개발자가 프로그램을 만들면서 필연적으로 마주하게 되는 오류를 어떻게 효과적으로 핸들링할 수 있는지 자세히 알아보도록 하겠습니다. 본격적인 학습에 앞서, 먼저 다음의 학습 목표를 통해 이번 챕터의 학습 내용을 개략적으로 확인해 봅시다. 학습 목표 프로그래밍에서 예외 처리가 무엇인지 이해할 수 있다. 컴파일 에러와 런타임 에러의 차이를 이해하고 설명할 수 있다. 자바 예외 클래스의 상속 계층도를 통해 클래스 간 관계를 이해할 수 있다. 자바의 핵심적인 예외..

중앙정보기술인재개발원

[중앙정보기술인재개발원] 11일차

실습 - 레스토랑 키오스크 프로그램(객체지향) 💡 레스토랑 키오스크 프로그램 만들기 본 예제는 출력된 안내 사항에 맞게 원하는 메뉴와 수량을 입력하여 주문을 진행하는 프로그램을 만들어 봅니다. (※ 본 예제를 통해 객체지향을 및 가볍게 다뤄보도록 합니다) 내 코드 Kiosk package com.jungmin.seb.kiosk; import java.util.Scanner; public class Kiosk { private final static MenuItem menuItem1 = new MenuItem("김밥", 1000); private final static MenuItem menuItem2 = new MenuItem("계란 김밥", 1500); private final static MenuIt..

중앙정보기술인재개발원

[중앙정보기술인재개발원] 10일차

인터페이스 활용 예제 그럼, 이제 좀 더 구체적인 코드 예제를 통해서 왜 인터페이스를 사용하고, 인터페이스가 가지는 장점이 무엇인지에 대한 좀 더 구체적인 내용들을 살펴보도록 하겠습니다. 먼저 인터페이스를 사용하지 않는 경우에 발생할 수 있는 어려움을 가상의 시나리오를 통해서 알아보고, 인터페이스가 이를 어떻게 보완할 수 있는지에 대해서 설명하도록 하겠습니다. 먼저 다음의 시나리오를 생각해 봅시다. 카페를 운영하는 사람이 있습니다. 단골손님들은 매일 마시는 음료가 정해져 있습니다. 단골손님A는 항상 아이스 아메리카노를 주문합니다. 단골손님B는 매일 아침 딸기라떼를 구매합니다. 위 내용을 코드로 바꿔보면 다음과 같이 작성할 수 있습니다. //카페 손님 public class CafeCustomer { pu..

중앙정보기술인재개발원

[중앙정보기술인재개발원] 9일차

[실습] 시작하기 🎮 직접 코드 구현하기 💾 개요에서 확인한 요청서와 참고 사항을 확인하고 알맞은 프로그램을 제작하여 봅시다. LoL_char1 package com.java.seb.lol_program; import java.util.Scanner; /** * @LoL_char() : 게임정보를 담는 클래스 * @name : 유닛의 이름 * @ad : 유닛의 공격력 * @def : 유닛의 방어력 * @hp : 유닛의 체력 * */ class LoL_char1 { //TODO: // 사용자의 입력을 받기위한 객체 생성을 진행합니다. Scanner sc = new Scanner(System.in); // 게임에 필요한 변수 타입을 사전 정의합니다. String name; String ad; String d..

기록하는 개발
'중앙정보기술인재개발원' 태그의 글 목록 (11 Page)