HSU 돋부기
서비스 개요 한성대학교 LMS 강의, 과제, 퀴즈 한 눈에 보기 이 프로그램은 한성대학교 LMS에서 제공하는 강의, 과제, 퀴즈 정보를 한 번에 모아서 보여줍니다. 이를 통해 학생들은 각 강의의 출석 현황과 과제 및 퀴즈의 제출 여부를 쉽게 확인할 수 있으며, 제출 마감 시간이 다가오면 알림 기능을 통해 기한을 놓치지 않도록 도와줍니다. 주요...
서비스 개요 한성대학교 LMS 강의, 과제, 퀴즈 한 눈에 보기 이 프로그램은 한성대학교 LMS에서 제공하는 강의, 과제, 퀴즈 정보를 한 번에 모아서 보여줍니다. 이를 통해 학생들은 각 강의의 출석 현황과 과제 및 퀴즈의 제출 여부를 쉽게 확인할 수 있으며, 제출 마감 시간이 다가오면 알림 기능을 통해 기한을 놓치지 않도록 도와줍니다. 주요...
개인정보처리방침 (Korean) 시행일: [2025/03/08] 1. 소개 한성대학교 LMS 정보 통합 확장 프로그램은 한성대학교의 LMS 시스템에서 제공하는 강의, 과제, 퀴즈 정보를 한 곳에 모아 사용자에게 제공함으로써 출석 및 과제/퀴즈 제출 여부를 쉽게 확인할 수 있도록 설계되었습니다. 본 개인정보처리방침은 프로그램이 수집하는 정보와 그 ...
백앤드 개발 중 의존성 순환 참조 문제를 겪었고 해결 방법을 공유하고자 한다. *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the applicat...
개요 진행할 프로젝트의 구체적인 화면을 제작하고 완성도를 높인다. 팀에서 선정한 UI 설계 기준은 다음과 같다. 1. 요구사항에 작성된 기능들을 모두 반영하는가? 2. 각 화면에서 진행하는 입출력 동작을 구체화한다. 3. 예측 가능한 예외를 찾는다. 요구사항 정의서 기존에 작성한 요구사항 정의서 내용은 다음과 같다....
[AWS] Docker로 SpringBoot 배포하기 앞서 EC2 리눅스 콘솔 환경에 docker와 docker-compose를 설치하였다. 다음은 이를 사용하여 서버에 SpringBoot를 배포하는 작업을 수행할 것이다. Dockerfile Dockerfile은 컨테이너 이미지를 빌드하기 위한 스크립트 애플리케이션이 실행되는 환경을 정의...
[AWS] SpringBoot, Swagger-ui 연동 1. build.gradle 의존성 추가 dependencies { implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.4' } 2. application.yml 파일 수정 하단에 해당 부분을 추가하여준다. s...
[AWS] SpringBoot, MariaDB 연결하기 1. 패키지 설치 1. 설치 가능한 mariadb 패키지 검색 sudo yum search mariadb 2. Mariadb 설치 sudo yum install mariadb105-server.x86_64 -y 3. Mariadb 실행 sudo systemctl start mariadb ...
[AWS] EC2 docker, docker-compose 설치 다음으로 SpringBoot 배포를 위해 docker와 docker-compose를 설치할 것이다. 1. Docker란? Docker는 애플리케이션을 실행할 수 있는 가벼운 가상화 환경인 컨테이너를 생성하는 도구이다. 컨테이너는 시스템의 전체 운영체제를 복제하는 대신, 필요한 부분...
[AWS] EC2 생성 및 접속 들어가기에 앞서 교내 팀 프로젝트를 통해 백엔드 개발 다수 존재하지만, 환경 구축이나 배포 경험은 부족하다. 이번 학기에는 “다우기술”의 사내 문제를 해결하는 해커톤 형태의 과목을 수강하게 되었고, 팀원들과 역할을 분담하여 초기 백엔드 환경 구축 및 배포를 맡게 되었다. 해당 글은 기록용으로 부족한 부분이 있을 수 ...
[Project:Sherpa] 유스케이스 정의서 & 다이어그램 / ERD 1. 요구사항 정의서 (Requirements Definition Document) 2. 유스케이스 정의서 (Use Case Description) 3. 유스 케이스 다이어그램 (Use Case Diagrams) 회원가입 로그인 ...
[Linux] Ubuntu 한글 설정 크롤러를 만드는 중 gui가 필요하여 xrdp를 설치하여 접속하였다. 브라우저에서 검색을 하려고 하니 영어 밖에 입력이 되지 않고, 한글은 모두 깨져서 ㅁ으로 표시되는 일이 발생했다. 이 내용을 바탕으로 검색하여보니 많은 해결법들이 있었지만 나에게는 적용되지 않아 골머리를 앓았다. 다음은 내가 해결한 방법이다....
데이터 통신 1. 인터넷이란? Perspective for nuts and bolts 상호 연결된 ISPs 호스트 = 종단 시스템 (네트워크 응용을 실행) 통신 링크 (ex 광섬유, 구리선 … ) 전송률 : 대역폭 패킷 교환 (라우터와 스위치에 의해 교환) Protocols : 개체 사이의 통신 규...
8장 메모리 관리 1. 컴퓨터 시스템에서 메모리 계층 구조를 이루는 근본 이유는 무엇인가? ① CPU의 메모리 액세스 속도를 높이기 위해 2. 메모리계층화가 성공적인 이유는? ① 참조의 지역성 때문 3. 메모리 계층 구조에서 가장 빠른 메모리는 ④ CPU 레지스터 4. 메모리 계층 구조를 구성하는 기억 장치들의 특장으...
구조 기반 테스트 명세 → Black Box 구조 → 프로그램 코드 : White Box Statement Testing, Branch Testing, Decision Testing Statment Testing 문장 : Test Coverage Item 100%의 문장 커버리지 : 프로그램 내의 모든 문장들을 적어도 한 ...
테스팅 소프트웨어 재앙 어떻게 해야하는가 소프트웨어의 오작동 발생 Risk를 줄인다 위험 : (발생확률) x (발생 시 끼치는 손실) 소프트웨어 테스팅은 위험에서 발생 확률을 줄이는 작업 테스팅의 목표 결함 발견 ...
[Anroid] Could not launch inspector backgroundtask.inspection: Failed during instantiating inspector with id backgroundtask.inspection 오류 Room Database 사용 중 Database를 내용을 보기 위해 App Inspection을 열었지...
7장 교착상태 1. 젓가락과 숟가락이 하나씩만 있는 식탁에서 두 사람이 식사를 한다고 하자. 숟가락과 젓가락을 동시에 들어야 한 입 식사가 가능하며, 숟가락이든 젓가락이든 한 번에 하나 씩 들어야 한다. 한 개만 가진 사람은 나머지 한 개가 준비될 때까지 기다려야 한다. 한 입 식사 후 들고 있던 숟가락과 젓가락은 모두 내려놓으며, 둘은 대화할 수 ...
[Android] GPS 좌표 값 얻기 + Reverse Geocoding 프로젝트를 진행하는 도중, 애뮬레이터의 현재 위치 값을 받아오는 일이 생겼다. 구글링을 통해 여러 방법을 시도해보았다. 하지만 LocationManager.getLastKnwonLocation(…) 함수를 통해 반환 받는 값이 null인 것을 보고 이전에 설정된 좌표 값...
교착상태 (DeadLock) 1. 교착상태 문제 제기 1.1 무한대기와 교착상태 교착상태 : 상대가 가진 것을 확보할 때까지 무한정 대기하는 상황 1.2 식사하는 철학자 문제(Dining Philosophers Problem) | | - 5명의 철학자가 원탁에서 식사. 식사 시간은 서로 다를 수 있음- 자리마다 스파게티 그릇이 하...
Chapter 4 - SQL 연습문제 1. 다음용어에 대해 설명하라. ① 데이터 정의 언어(DDL) 데이터의 전체적인 구조나 골격을 결정하는 역할 (create, drop, alter … ) ② 데이터 조작 언어(DML) 테이블 안에 있는 데이터를 조작하는 역할 (insert, select, update set … ) 2....
1. 여러 스레드가 공유 변수를 접근하려고 경쟁할 때 공유 변수의 값이 훼손되는 상황이 발생할 수 있다. 공유 변수가 훼 손되지 않도록 스레드 사이에 공유 변수에 대한 접근 시간과 방법 등을 조절하는 기법을 무엇이하고 하는가? ① 스레드 동기화 2. 멀티스레드가 동시에 공유 데이터를 접근할 때 공유 데이터가 훼손되지 않도록 막는 기법의 핵심...
1. 다음 빈 칸에 적절한 단어를 삽입하라 프로그램의 실행 과정은 두 가지 상황이 번갈아 진행되는데, 그것은 한동안 CPU 연산이 계속되는 ( ) 상황과, I/O 작업이 이루어지는 ( ) 상황이다. CPU 연산이 주를 이룰 때 ( ) 프로세스라고 부르고 I/O 작업이 주를 이룰 때 ( ) 프로세스라고 한다. CPU 스케줄링은 CPU의 ( ) 시간을 ...
5장. CPU 스케줄링 복합문제 1. 다음 표와 같이 5개의 스레드가 있다. 스레드들이 모두 0의 시간에 도착하여 T1에서 T5의 순서로 준비 큐에 대기 중 이라고 할 때 다음 물음에 답하라. 실행 시간 동안 스레드는 입출력 없이 실행된다고 가정한다. 스레드 실행 시간 (ms) 우선순위 (숫자가 클수...
1. 다음 글에서 프로세스와 프로그램 중에서 선택하라. (프로그램)은(는) 컴파일되어 실행 가능한 형태로 저장 장치에 저장된 상태일 때 부르는 용어이며, (프로세스)은(는) 메모리에 적재되어 실행 중인 상태일 때 부르는 용어이다. 2. 프로세스의 특징을 설명한 것 중 맞는 것은? ④ 프로세스를 스케줄링하는 것은 커널의 기능이다 3. 프...
1. Mutex 구현 #include <stdio.h> #include <pthread.h> int sum = 0; pthread_mutex_t lock; void * worker(void * arg){ printf("%s 시작\t %d\n", (char*)arg, sum); for(int i = 0 ; i &...
1 • 컴퓨터 시스템에서 주소를 발생시킬 수 있는 하드웨어를 있는 대로 골라라? ① CPU 2. CPU의 주소 선이 총 24개 있다면 이 CPU7^ 액세스할 수 있는 메모리의 최대 크기는? ② 16MB 3. 캐시 메모리가 있는 컴퓨터에서 CPU가 실행할 명령어와 코드가 반드시 있어야 하는 곳은? ① 캐시 메모리 4. 다...
1. 응용프로그램을 작성할 때 표준 라이브러리 함수(예: printf())를호출하는 것이 시스템 호출 함수(예: write()) 를 호출하는 것보다 나은 방법인 이유를 설명하라. printf()는 표준 라이브러리 함수로 현재 버퍼가 가득 차거나 ‘\n’을 만나면 시스템 호출 함수인 write()를 호출한다. printf()는 먼저 버퍼에 ...
1. 운영체제의 기능과 거리가 먼 것은? ④ 컴파일 2. 운영체제의 특징과동떨어진내용은? ① 운영체제의 기능이 자원을 관리하는 것이지만, 운영체제가 컴퓨터의 모든 자원을 관리하지는 않는다. 3. 고정 프로그래밍 방식을 설명하는 것으로 틀린 것은? ② 운영체제가 한 번에 한 개의 프로그램만 실행시키는 방식이다. 4. 모바...
1. 다음은 프로그램 A, B, C가 모두 도착해있는 상태에서 배치 운영체제에 의해 처리되는 과정이다. 다음 2개의 문항에 답하라 (1) 3개의 프로그램이 모두 메모리에 적재되어 있다고 할 때, 다중프로그래밍 운영체제에서 3개의 프로그램 A, B, C가 실행되는 과정을 그려라 참고로 프로그램 A. B, C 순서로 처리하되, 프로그램의 실행 중 입...
스레드 동기화 1. 스레드 동기화의 필요성 여러 스레드가 동시에 같은 변수에 접근하여 데이터를 조작할 경우 원치 않는 결과가 초래됨 이를 해결하기 위해 공유 데이터에 대한 다수 스레드의 동시 접근을 해결하는 방법이 스레드 동기화이다. 1.1 공유 집계판 문제 스레드 동기화를 통해 여러 스레드가 동시에 공유 데이터에 접근하는 것을 막...
Coupling and Cohesion (결합도, 응집도) 설계의 기본 원칙 Cohesion : 관련된 것을 묶는 것 (높게 설계) Coupling : 모듈관의 관계 (낮게 설계) ※ A, B : 모듈 (응집도와 관련) / A <-> B : 모듈관의 관계 (결합도) 1. CoheSion (응...
<문제 1> 3. 아래의 문제를 SQL로 작성한다. 가. 과목명에 ‘구조’가 들어 있는 과목번호와 과목명을 찾아라. select course_id, title from course where title like '%구조%'; 나. 2012년도 1학기에 강의가 없는 교수의 이름을 찾아라. select name from profe...
CPU 스케줄링 1. CPU 스케줄링 개요 CPU 스케줄링은 준비 상태의 스레드 중 하나를 선택하는 스레드 스케줄링이다 자원에 대한 경쟁이 있는 곳에서 경쟁자 중 하나 선택 1.1 다중프로그래밍과 스케줄링 작업(JOB) 스케줄링 대기중인 job 중에 메모리에 적재할 작업 결정 CPU 스케줄링 ...
1. Class Diagram 문제나 해결책의 정적인 구조 표현 클래스와 그들간의 관계 표현 시스템의 내부 구조를 나타냄 1. 클래스 UML의 클래스 표현 세부분으로 나누어진 박스로 표현 클래스 이름(필수) / 속성 / 연산 ※...
3장 프로세스와 프로세스 관리 3.1 프로세스 개요 1.1 프로그램과 프로세스 프로세스란? 프로그램은 하드 디스크나 USB 등 저장 장치에 저장된 실행 가능한 파일이며, 프로그램이 메모리에 적재되어 실행 중일 때 프로세스라고 부른다. ※ 프로세스 메모리에 적재되어 실행중인 프로그램 3.1.1 프로세스의 특징 메모리...
1. ‘프로세스와 스레드의 차이점이 무엇인지 설명해보라’ 이것은 작년 넥슨의 채용계약형 인턴 선발에서 나온 질문이다. 프로세스와 스레드의 차이점을 간단히 설명하고, 멀티태스킹 프로그램을 작성하기 위해 여러 프로세스를 생성하는 것보다 멀티 스레드를 생성하는 것이 왜 나은 것인지, 개발자의 입장과 컴퓨터 시스템의 입장에서 구분하여 구체적으로 설명하라. ...
Prototype 1. 프로토 타입 시스템 일부 경험할 수 있는 도구 요구 사항의 대화 촉진, 오류나 누락 식별 stakeholder가 시스템 요구사항에 대한 이해 ↑ 요구사항 도출/분석/검증 도구로도 사용 프로토 타입 종류 범위(Scope)에 따른 분류 Horizontal prototype ...
1. 운영체제는 프로그램을 적재하여 프로세스를 만든다. 3장 전체를 공부한 결과 프로세스를 만든다는 의미가 무엇인지 나름대로 긴 3줄로 설명하라. 운영체제가 어떤 작업을 하느냐 하는 관점에서 설명하면 된다. 운영체제의 관점에서 프로세스를 만드는 것은 프로세스에게 필요한 메모리를 할당하고 이곳에 코드와 데이터 등을 적재한다. 운영체제는 프로세스 마다 ...
1. 요구 사항 (Requirements) 무엇을 구현 해야하는 가 ( 고객의 니즈를 만족 시켜야함 ) 기능, 품질 특성 (성능, 보안성) 개발 프로세스에 대한 제약 조건 ( 특정 언어로 작성) ※ stakeholder (이해 관계자) : 시스템 직간접적 영향을 주고 받는 그룹 - 이들을 통해 요구사항 도출 1....
3. 커널과 시스템 호출 3.1 응용프로그램의 자원 접근문제 응용 프로그램이 자원에 대한 직접적인 접근 권한을 가지게 된다면 다음과 같은 문제가 발생할 수 있다. 응용프로그램이 다른 응용프로그램이 적재된 메모리를 덮어써버리거나, 다른 응용프로그램이 생성 한 파일을 삭제하거나 하는 등 다른 응용프로그램의 실행을 망칠 수 있다. • 응용...
3주차 과제 1. 학생은 지금 게임회사 넥슨에서 면접을 보고 있다. ‘커널이 무엇인가’라고 질문 받을 때, 학생의 답을 기술하라. 전공자로서 정확하고 충분히 답을 못하면 면접에서 떨어진다. 최소 5줄을 꽉 채울 수준으로 설명하라. 커널이란 부팅 후부터 메모리에 상주하면서 CPU, 캐시, 메모리 등 하드웨어를 관리하고 프로세스의 실행과 중단...
2장 관계형 데이터베이스 - 관계 대수 과제 11번 아래는 은행에 대한 정보를 저장하고 있는 데이터베이스이다. customer, branch, dposit 테이블은 각각 고객, 지점, 계좌에 관한 정보를 저장하고 있다. customer (customer_id, name) customer_id name ...
1. 컴퓨터 시스템과 하드웨어 1.1 컴퓨터 시스템의 범위 컴퓨터 시스템은 크게 다음 3개의 요소로 이루어진다. 응용 소프트웨어 층 운영체제 층 하드웨어 층 사용자는 응용 소프트웨어를 조작하여 컴퓨터를 사용하고 응용 프로그램은 운영체제와의 인터페이스를 통해 하드웨어를 조작한다. 운영체제의 본질적인 특징은 사용자가 하드...
스크럼 1. 스크럼은 무엇인가? 애자일 방법론 중 하나로 널리 사용되는 애자일 방법론 중 하나 Scrum, Kanban, Extreme Programming 순으로 사용량 ↑ Agile에서 iteration은 Scrum에서 Sprint (반복주기) 초기에 설정된 Sprint 기간은 변경되지 않음 ...
3장 연습문제 08. page 디렉티브 태그를 이용하여 다음 조건에 맞게 JSP 애플리케이션을 만들고 실행 결과를 확 인하시오. 1. 조건 page.jsp 파일을 생성한다. • page 디렉티브 태그에 java.util.Dale, java.lang.Math 클래스를 이용하여 현재 날짜와 5의제곱을출력한다. 2. 웹 브라우저에 'http://l...
2장 연습문제 07. 선언문 태그를 이용하여 다음 조건에 맞게 JSP 애플리케이션을 만들고 실행 결과를 확인하시오. 1. declaration.jsp 파일을 생성한다. • 선언문 태그에 문자형 전역 변수를 선언하여 ‘Hello. Java Server Pages‘를 저장한다. • 문자형 변수 값을 반환하는 전역 메소드 getString() 을 작성한...
운영체제 2주차 과제 1. 컴퓨터 시스템은 계층구조(layered architecture)로 이루어져 있다. 어떤 층으로 구성되는 지 그림으로 그리고, 계층 구조로 설계된 이유 혹은 장점은 무엇인가? 계층 간 독립성을 확보하기 위함이다. 각 계층은 독립성을 유지하고 있기 때문에 어떤 한 계층의 기능이 변경된다고 할 때 해당 계층을 제외한 ...
1. 운영체제를 자신만의 말로(영혼을 담아) 간단히 정의하고, 운영체제의 기능을 5가지만 설명하 라.” 각 기능에 대해서는 2줄로 설명하라. 1. 운영체제란 1. 입주민(사용자)의 요청을 처리하고, 컴퓨터의 자원을 독점적으로 관리하는 아파트의 경비 아저씨(관리자)이다. 2. CPU/프로세스 관리 1. 프로세스의 실행, 새로운 프로세스 생...
1. 운영체제의 개념 1-1. 운영체제의 정의 운영체제란 무엇인가? 운영체제는 컴퓨터를 관리하는 특별한 기능의 코드 집합 혹은 프로그램이다. 간단히 말해 >운영체제란 컴퓨터의 자원을 독점적으로 관리하는 특별한 소프트웨어이다. 즉, 운영체제는 모든 컴퓨터 자원을 관리한다. 자원에는 하드웨어 자원, 소프트웨어 자원, 데이터 자원이 있으...
소프트웨어 개발 방법론 1. RAD (Rapid Application Development) 사용자의 지속적 참여하에서 빠르게 애플리케이션을 개발하기 위한 개발 라이플 사이클 모델 빠른 애플리케이션 개발을 위한 자동 생성 도구 지속적인 참여 및 피드백을 통한 개선 1.1 RAD의 특성 고객 참여 - 피드백 신속 ...
8장 상속 1번 ① 오리와 닭은 가축이다. 2번 ① TV와 스마트 TV 3번 ③ protected 멤버는 클래스 내에서 보호받기 때문에 상속되지 않는다. 4번 ④ 5번 ② 6번 ①,②,④ 7번 ② - 업 캐스팅, ③ - 다운 캐스팅 8번 1) ③, 2) ③, 3) dp = (D*)...
7장 프렌드와 연산자 중복 1번 ① 한 클래스의 전체 멤버 함수를 프렌드로 선언할 수 없다. 2번 ④ 함수 중복 시에 3번 friend SampelManager; 4번 friend bool compare(Sample &a, Smaple &b); 5번 외부 함수에서 객체의 private 멤버 변...
5장 큐 연습문제 풀이 Linear Queue #include <stdio.h> #include <stdlib.h> #define MAX_QUEUE_SIZE 5 typedef int element; typedef struct { int front; int rear; element data[MAX_QUEU...
8장 상속 실습문제 1번 #include <iostream> #include <string> using namespace std; class Circle { int radius; public: Circle(int radius = 0) { this->radius = radius; } int getRa...
9장 가상함수와 추상 클래스 1번 #include <iostream> #include <string> using namespace std; class Converter { protected: double ratio; virtual double convert(double src) = 0; virtual s...
7장 프렌드와 연산자 중복 실습문제 1-1번 #include <iostream> #include <string> using namespace std; class Book { string title; int price, pages; public: Book(string title = "", int price...
11장 C++ 입출력 시스템 1번 #include <iostream> using namespace std; int main() { int ch; int count = 0; while ((ch = cin.get()) != EOF) { if (ch == 'a') count++; ...
11장 C++ 입출력 시스템 1번 #include <iostream> using namespace std; int main() { int ch; int count = 0; while ((ch = cin.get()) != EOF) { if (ch == 'a') count++; ...
10장 템플릿과 표준 라이브러리(STL) 1번 #include <iostream> using namespace std; template <class T> T biggest(T x[], int size){ T biggest = x[0]; for(int i = 1 ; i < size ; i++){ ...