전체 글 45

투자 대안의 경제성 분석

이 글은 (홍성조 외) 를 참고하여 만들어졌습니다일반적으로 투자 안(investment proposal)이라는 것은 투자를 고려 중인 하나의 계획이나 프로젝트를 말하는 것이다.투자 의사 결정에서는 대부분 다수의 투자 안을 놓고 선택 여부를 결정하게 된다. 투자 대안(investment alternative) : 투자 의사결정에서 선택할 수 있는 상호 배타적(mutually exclusive)이고, 완전 포괄적(totally exhaustive)인 여러 행동 방향들(course of action) 중 하나를 일컫는 말이다.=> 상호 배타적 : 반드시 하나만 선택해야 한다. (완전 포괄적 : 반드시 대안들 중 하나를 택해야 함) 즉, 의사결정을 위한 대안의 집합을 구성했다는 말은 그중 반드시 하나를 그리..

컴파일러 2025.06.10

세금을 고려한 등가계산

이 글은 을 참고하여 만들어졌습니다. 5.1 감가상각과 감모기업이 생산을 위해 보유하고 있는 기계, 설비 등의 유형 자산은 생산 활동이 진행되거나 시간이 지남에 따라 마모 또는 소모되거나 효용이 떨어져 그 가치가 감소하게 된다. => 이러한 자산가치의 감소를 회계 처리 감가 상각(depreciation) : 유형자산의 원가를 자산의 사용 가능 기간 동안 적절하게 배분하여 비용으로 처리하는 절차감가 상각비 : 실제적인 현금 지출을 의미하는 것은 아니지만 기업의 운영에 따른 비용으로 간주 감모(depletion) : 자연자원을 대상으로 하는 자산의 감소=> 기계나 설비 등의 자산에 감가상각이 발생하였을 때 기업은 기존의 자산을 다른 자산으로 대체할 수 있는 데 반해 자원이 고갈되어 발생하는 감모의 경우 그..

공학경제 2025.06.09

데이터베이스 설계

출처: 데이터베이스 개론 2판 김연희 저, MySQL로 배우는 데이터베이스 개론과 실습 박우창 외2데이터베이스 설계의 중요성과 목표를 이해한다.데이터베이스 설계 5단계를 학습한다.요구 사항 분석, 개념적 설계, 논리적 설계의 과정을 실제 예를 통해 연습해본다. 1. 데이터베이스 설계 단계데이터베이스 설계사용자가 다양한 요구 상항을 고려하여 데이터베이스를 생성하는 과정관계 데이터베이스의 대표적인 설계 방법E-R 모델과 릴레이션 변환 규칙을 이용한 설계정규화를 이용한 설계E-R 모델과 릴레이션 변환 규칙을 이용한 설계의 과정=> 설계 과정 중에 오류를 발견하여 변경이 필요하면 이전 단계로 되돌아가 설계 내용을 변경 가능 설계 1단계: 요구 사항 분석목적사용자의 요구 사항을 수집하고 분석하여 개발할 데이터베..

데이터베이스 2025.06.07

구문 분석

이 글은 (저자: 오세만)을 참고하여 만들어졌습니다. 구문 분석이란 주어진 입력이 올바른 프로그램인가를 검사하고 다음 단계에서 필요한 정보를 구성하는 과정이다.이와 같은 작업을 수행하는 컴파일러의 단계는 구문 분석기(syntax analyzer)이다. 구문 분석기는 간단히 파서(parser)라 부르며, 스캐너에 의해 생성된 토큰을 입력으로 받아 문법적인 검사를 한 후에 다음 단계인 중간 코드 생성기가 효과적으로 중간 코드를 생성할 수 있는 형태의 정보를 구성하여 출력한다. 6.1 구문 분석 방법유도 트리(derivation tree) : 구문 분석기의 출력으로 생성되는 트fl=> 이 트리가 구문 분석기에 의해 생성될 때는 파스 트리(parse tree) Context-free 문법을 위한 구문 분석 방..

컴파일러 2025.06.05

Context-free 문법

이 글은 (저자: 오세문)을 참고하여 만들어졌습니다.프로그래밍 언어의 구문 구조를 명시하는데 context-free 문법이 널리 사용되어 왔다.또한 context-free 문법은 효율적이고 잘 정의된 구문 분석 알고리즘을 가지기 때문에 프로그래밍 언어의 문법적인 표현이나 번역에 매우 중요하다. 정규 문법은 프로그래밍 언어의 구문 구조를 표현하기에는 너무 제약이 많아 부적합하다.대부분의 경우 토큰의 구조는 정규 표현으로 나타내지만 프로그래밍 언어의 구조는 context-free 문법을 사용한다. 장점1. 간단하고 이해하기가 쉽다.2. 표현된 문법으로부터 자동적으로 인식기를 구현할 수 있다.3. 입력된 프로그램의 구조를 생성 규칙에 의해 분해할 수 있으므로 번역에 유용하다. context-free 문법은 ..

컴파일러 2025.06.04

어휘 분석

이 책은 (저자: 오세만)을 참고하여 만들어졌습니다.4.1 서론3장에서 다루었던 정규 언어에 관한 이론을 적용하여 이 장에서는 구체적으로 어휘 분석기를 구현하는 방법을 살펴보자 어휘 분석(lexical analysis) : 소스 프로그램을 하나의 긴 문자열로 보고 차례대로 문자를 검조(scanning)하여 문법적으로 의미있는 최소의 단위로 분할해 내는 것을 말하는데 이 문법적인 단위(syntactic entity)를 토큰(token)이라 부른다.이러한 작업은 컴파일러의 어휘 분석기(lexcial analyzer)에서 처리하는데 어휘 분석기는 간단히 스캐너(scanner)라 부른다.토큰은 유한 오토마타에 의해 인식될 수 있으며, 토큰의 구조는 프로그래밍 언어 설계자(language designer)나 컴파..

컴파일러 2025.06.04

정규언어(후반부)

이 글은 을 참고하여 만들어졌습니다. 3.3.4 DFA의 상태수 최소화DFA의 상태수 최소화(state minimization)는 DFA를 이용하는 어휘 분석기의 상태 전이표의 크기를 줄임으로써 기억 공간을 적게 차지하도록 하고 또한 어휘 분석 프로그램을 간단히 하는데 큰 도움을 준다.상태수를 최소화하는 방법은 등치 관계(equivalence relation)을 이용하여 상태들을 합침(state merge)으로써 상태수를 최소화하는 것이다.따라서 구별되지 않는 상태들은 같은 형태의 입력 스트링을 인식하기 때문에 모두 합칠 수 있다.다음은 동치 관계를 이용하여 구별되지 않는 상태들을 하나의 상태로 합치는 방법이다. DFA의 상태 집합을 동치 관계에 의해 분할하고 각 동치류를 최소화한 유한 오토마타 상태(Q..

컴파일러 2025.06.03

회복과 병행 제어

병행 제어와 회복 작업의 기본 단위인 트랜잭션의 개념을 이해한다.데이터베이스를 장애로부터 복구하는 다양한 회복 기법을 읽힌다.여러 사용자가 동시에 접근할 수 있도록 트랜잭션 수행을 통제하는 병행 제어 기법을 익힌다.트랜잭션(transaction)의 개념하나의 작업을 수행하는데 필요한 데이터베이스 연산들을 모아놓은 것작업 수행에 필요한 SQL 문들의 모임특히, 데이터베이스를 변경하는 INSERT, DELETE, UPDATE 문의 실행을 관리논리적인 작업의 단위장애 발생 시 복구 작업이나 병행 제어 작업을 위한 중요한 단위로 사용됨데이터베이스의 무결성과 일관성을 보장하기 작업 수행에 필요한 연산들을 하나의 트랜잭션으로 제대로 정의하고 관리해야 함. 트랜잭션의 특성 - 원자성(atomicity)트랜잭션의 ..

데이터베이스 2025.06.02

정규화

정규화의 필요성과 이상 현상의 의미를 이해한다.정규화를 수행하기 위해 함수 종속성의 개념을 이해한다.정규형의 유형과 관계를 이해하고, 실제 예를 통해 정규화 과정을 연습해본다.이상(annomaly) 현상불필요한 데이터 중복으로 인해 릴레이션에 대한 데이터 삽입, 수정, 삭제 연산을 수행할 때 발생할 수 있는 부작용정규화이상 현상을 제거하면서 데이터베이스를 올바르게 설계해 나가는 과정이상 현상의 종류삽입 이상 : 새 데이터를 삽입하기 위해 데이터도 함께 삽입해야 하는 문제갱신 이상 : 중복 투플 중 일부만 변경하여 데이터가 불일치하게 되는 모순의 문제삭제 이상 : 투플을 삭제하면 꼭 필요한 데이터까지 함께 삭제되는 데이터 손실의 문제삽입 이상(insertion anomaly)릴레이션에 새 데이터를 삽입하려..

데이터베이스 2025.06.02

인덱싱

1. 데이터베이스의 물리적 저장 실제 데이터가 저장되는 곳은 보조기억장치하드디스크, SSD, USB 메모리 등가장 많이 사용되는 장치는 하드디스크하드디스크는 원형의 플레이트(plate)로 구성되어 있고, 이 플레이트는 논리적으로 트랙으로 나뉘며 트랙은 다시 몇 개의 섹터로 나뉨원형의 플레이트는 초당 빠른 속도로 회전하고, 회전하는 플레이트를 하드디스크의 엑세스 암(arm)과 헤더(header)가 접근하여 원하는 섹터에서 데이터를 가져옴하드디스크에 저장된 데이터를 읽어 오는데 걸리는 시간은 모터(motor)에 의해서 분당 회전하는 속도(RPM, Revolutions Per Minute), 데이터를 읽을 때 액세스 암이 이동하는 시간(latency time), 주기억장치로 읽어오는 시간(transfer ti..

데이터베이스 2025.06.02