전체 글 219

폴링과 인터럽트의 차이

이번 시간에는 폴링 방식과 인터럽트 방식의 차이를 알아보겠습니다. (1) 폴링 (Polling) - 정해진 시간 또는 순번에 상태를 확인해서 상태 변화가 있는지 없는지를 체크하는 방식입니다. - 주기적으로 값을 확인하는 거라고 이해하시면 됩니다. (2) 인터럽트 (Interrupt) - 외부의 핀에 신호가 들어오면 즉각적으로 하고 있는 모든 task를 멈추고 서비스 루틴을 실행한 다음 다시 작업하던 곳으로 복귀한 후 수행하는 방식입니다. - 바깥에서 신호를 보내면 하는 일을 잠시 멈추고 밖으로 나온다고 이해하시면 됩니다. - 폴링 교사: (수업을 진행하다가 일정 시간 간격으로) A학생, 질문 있어요? A학생: 아니오. 없습니다. 교사: B학생, 질문 있어요? B학생: 예. 있습니다. (질문을 함) 교사:..

게임 엔진의 정의 및 종류

요즘 게임 좋아하는 사람들 많죠? 저 역시 게임을 좋아하다보니 자연스럽게 이런 글을 쓰게 되는군요 ㅎㅎ 따라서 이번 시간에는 게임 엔진을 정의해보고 종류를 살펴보려고 합니다. 게임 엔진은 게임 소프트웨어의 구성에 필요한 소프트웨어 구성 요소를 재사용할 수 있게 만든 것입니다. 게임 엔진은 다음과 같은 특징을 갖고 있습니다. - 초보자들도 게임을 쉽게 만들 수 있도록 인터페이스를 제공합니다. - 새부적인 효과(애니메이션 효과, 충돌 시 반응 등)를 코딩 처리 하지 않아도 됩니다. - 게임 개발에 필요한 기능을 즉시 사용할 수 있도록 제공하여 개발의 단가와 복잡도를 줄여주고 제 일정에 복잡한 게임을 출시할 수 있게 해 줍니다. - 게임 제작 뿐만 아니라 홍보용 데모, 건축 시각화, 훈련 시뮬레이션, 모델링 ..

키의 종류 (슈퍼키, 후보키, 기본키, 대체키, 외래키)

이번 시간에는 키의 종류에 대해 알아보겠습니다. 인터넷에서 찾아보면 키의 개념을 설명해주는 글들이 나와있지만 설명이 어렵고 추상적인 것이 많아 처음 보는 사람들은 이해하기 어려울 것 같습니다. 그래서 이 게시글을 안 올릴 수가 없더라구요 ㅋㅋㅋ 그래서 키의 종류를 알아보고 쉽게 풀어서 설명해드릴려고 합니다. 우선 아래와 같이 테이블이 있다고 가정하고 설명하겠습니다. (1) 슈퍼키 (Super Key) - 각 행을 유일하게 식별할 수 있는 속성들의 집합입니다. - 서로 구분만 할 수 있다면 '슈퍼키'라고 할 수 있습니다. - 위의 테이블로 예시: - [학번] (O) : 학번만 가지고 학생들을 구분할 수 있으므로 슈퍼키가 맞습니다. - [주민등록번호] (O) : 주민등록번호만 가지고도 학생들을 구분할 수 있..

부서 별 최고 급여를 직원명과 함께 출력

1. 문제 정의 Employee(Id, Name, Salary, DepartmentId) Department(Id, Name) 위의 테이블에서 부서 별로 급여를 가장 많이 받는 직원을 부서명, 직원명, 최고급여 순으로 출력시키시오. 2. 문제 해결 방안 (1) 부서 ID로 그룹핑해서 부서 ID와 부서 별 최고 급여를 가진 테이블을 생성합니다. (2) 위의 테이블을 Employee 테이블의 급여와 부서ID로 조인합니다. 최고 급여를 가진 직원의 이름을 찾아야하기 때문입니다. (3) 추가로 Department 테이블의 ID하고도 조인합니다. 부서명을 찾아야하기 때문입니다. (4) 부서명, 직원명, 최고급여 순으로 출력시킵니다. 3. 소스 코드

세 번 연속적인 숫자 출력

1. 문제 정의 Logs(Id, Num) 테이블에서 세 번 연속적인 숫자들을 출력시키시오. 예를 들어 (1,4), (2,4), (3,4) 이면 Id가 1, 2, 3일 때 모두 Num이 4이므로 세 번 연속이니까 4를 출력시켜야 합니다. 2. 문제 해결 방안 (1) Logs 테이블 3개를 카티션 곱 합니다. (2) 숫자는 모두 같지만 ID는 1씩 증가하는 행을 골라냅니다. 세 번 연속이라는 것은 ID가 세 번 증가했음에도 숫자가 서로 같다는 뜻이기 때문입니다. (3) 숫자만 골라서 출력시킵니다. 3. 소스 코드

중복되는 메일 주소 출력

1. 문제 정의 Person(Id, Email) 테이블에서 2개 이상 중복되는 메일 주소를 모두 출력시키시오. 2. 문제 해결 방안 (1) Person 테이블끼리 카티션 곱을 합니다. (2) 메일 주소는 같지만 ID는 다른 행을 골라냅니다. 중복된다는 것은 서로 다른 사람인데 메일 주소가 같은 경우이기 때문입니다. (3) 메일 주소만 골라서 출력시킵니다. 3. 소스 코드

트랜잭션의 4가지 특징: ACID

트랜잭션은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미합니다. 이번 게시글에서는 트랜잭션의 4가지 특징에 대해 알아보겠습니다. 트랜잭션의 핵심적인 특징 이라고 하는데요. 줄여서 'ACID' 라고 부릅니다. 트랜잭션은 아래와 같이 4가지 특징을 가지고 있습니다. (1) 원자성 (Atomicity) - 트랜잭션과 관련된 작업들은 부분적으로 실행되다가 중단되지 않는 것을 보장한다는 의미입니다. - '완전히 실행되거나 또는 아예 실행되지 않는다' 라고 이해하시면 됩니다. - 예를 들어 계좌로 돈을 보내는 중에 연결이 끊겼다면 이 작업은 아예 철회되어야 합니다. (2) 일관성 (Consistency) - 트랜잭션이 실행을 ..

보안의 3대 요소: CIA

보안은 위험, 손실 및 범죄가 발생하지 않도록 방지하는 상태를 뜻합니다. 따라서 컴퓨터 보안은 하드웨어 또는 소프트웨어 또는 데이터의 도난이나 손상, 컴퓨터가 제공하는 서비스의 중단 또는 오용으로부터 컴퓨터 시스템을 보호하는 것을 뜻하지요. 이번 게시글에서는 이러한 보안의 3대 요소에 대해 알아보겠습니다. 보안의 핵심적인 특징 이라고 하는데요. 줄여서 'CIA' 라고 부릅니다. 이 내용은 정보처리기사 실기, 전산직 공무원 시험에서도 출제된 적이 있으므로 준비하시는 분들은 알아두시는게 좋을 것 같습니다. 트랜잭션은 아래와 같이 4가지 특징을 가지고 있습니다. (1) 기밀성 (Confidentiality) - 인가받지 않은 대상에게는 정보를 공개하지 않는 것을 의미합니다. - 아무나 내용을 볼 수 없다고 이..

디자인 패턴의 종류

이번 시간에는 디자인 패턴의 종류를 살펴보겠습니다. 디자인 패턴이란 객체 지향 프로그래밍 설계를 할 때 자주 발생하는 문제들을 피하기 위해 사용되는 패턴을 뜻합니다. 편의를 위해 많이 사용되는 클래스의 구조라고 생각하시면 됩니다. 개인적으로 가장 좋아하는 내용 중 하나인데 그 이유는 게임으로 비유하기 정말 좋기 때문입니다. 디자인 패턴은 개념만이 아니라 클래스의 구조를 전체적으로 이해하는 것이 중요한데, 일단 지금은 종류만 살펴보고 자세한 내용은 게시글 하나하나씩 알려드리도록 하겠습니다. # 아직 모든 게시글이 다 업로드되지 않았기 때문에 간단한 설명 밖에 없습니다. 게시글이 업로드 될 때마다 링크를 올려서 점차 수정해 나가겠습니다. (1) 스트래티지 패턴- 객체의 동작들을 캡슐화한 다음 어떤 동작을 사..

추천 알고리즘의 종류

추천이란 어떤 조건에 적합한 대상을 책임지고 소개하는 것을 뜻합니다. 쉽게 말해 상대방이 좋아할만한 것을 소개해주는 것을 뜻하지요. 그렇다면 추천 시스템은 이러한 시스템을 뜻하고 추천 알고리즘은 이렇게 하기 위한 방법, 절차, 과정이라고 할 수 있습니다. 따라서 이번 게시글에서는 추천 알고리즘의 종류에 대해 살펴보도록 하겠습니다. 지난 게시글에서는 협업 필터링 방식만 설명을 드렸는데요. 사실 이 외에도 다양한 추천 방식이 있습니다. 1. 협업 필터링 (CF, Collaborative Filtering) - 소비자랑 평가 패턴이 비슷한 사람들을 한 집단으로 보고 그 집단에 속한 사람들의 취향을 활용하는 기술입니다. - 본인하고 취향이 비슷한 사람들이 또 좋아하는 것이 무엇인지 찾아내서 추천해주는거라고 이해..

728x90
반응형
LIST