공부한 기록 110

정렬 알고리즘

정렬 자료들을 오름차순이나 내림차순으로 재배열하는 것이다. 정렬에 기준이 되는 특정 값을 키key라고 한다. 정렬 시에는 안정 정렬 stable sort를 이용해야 하는 경우가 있다. 두 개의 열이 정렬됐을 때 원래 순서가 보장되는 경우, 안정정렬이 된 것이고, 원래 순서가 유지되지 않는 경우 안정정렬이 되지 않은 것이다. 다양한 정렬 알고리즘 중에서 하나를 선택할 때는 고려해야 할 사항들이 많다. 시간 복잡도는 얼마인가? 구현이 간단한가? 자료량이 많거나 적을 때 적절한가? 안정정렬인가? - 이 조건으로 선택가능한 알고리즘이 줄어든다. 추가 메모리양은 얼마인가? 이미 정렬된 경우 더 신속하게 정렬가능한가? 또, 정렬에는 내부정렬 internal sort과 외부정렬 external sort이 있는데 여기..

SQL 고급

SQL에서는 수학의 함수 개념을 사용한다. 특정 값이나 열의 값을 받아서 입력하여 계산한 결과를 보여준다. SQL에서 함수는 DBMS가 제공하는 내장함수 built-in function와 정의함수 user-defined function로 나뉜다. 여기서는 내장함수만을 다루도록 하겠다. 숫자 함수 -78과 +78의 절댓값을 구한다고 해보자. SQL로 구현한 코드는 다음과 같다. SELECT ABS(-78), ABS(+78) FROM Dual; 결과값은 78, 78이다. ※위의 dual 테이블은 함수계산을 위한 '가상의 테이블'이다. 다음은 round 함수를 사용한 코드를 보자. SELECT ROUND(4.875, 1) FROM Dual; 4.875의 소수 첫째 자리까지 반올림을 하는 코드다. 결과값으로 4..

운영체제(8) - 가상 메모리

가상 메모리 이전 글에서 실제 메모리에 대해 다뤘다. 이는 메모리 관리 방법을 토대로 제공하는 기술이며, 각 프로그램에 실제 메모리 주소가 아니라 '가상 메모리 주소'를 주는 방법이다. 이 가상 메모리는 사용자와 논리적 주소를 물리적으로 분리해서 사용자가 메인 메모리에서 용량을 초과하는 프로세스에 가상 메모리 주소를 지정해서 메모리를 제한 없이 사용할 수 있도록 한다. 프로그램 전체를 동시에 실행하는 것이 아니라 일부만 적재해도 실행 가능하도록 한다. 즉, 보다 큰 프로그램을 적은 메모리에서 처리할 수 있게 해준다. 프로세스의 코드와 데이터는 디스크에 저장하고, 실행영역만 메인 메모리에 유지한 상태로 필요할 때만 스왑 인 앤 아웃 과정을 거쳐 프로세스를 재할당한다. 이는 메인 메모리의 '제한된 용량'과 ..

경제학개론 (20) - 소득불평등과 빈곤

빈곤선 Poverty line : 소득이 이 선 이하면 절대빈곤 상태에 있다고 판단되는 수준. 빈곤율 Poverty rate : 가구원 총합 소득이 빈곤선에 미치는 못하는 가정이 총인구에서 차지하는 비율. 현물보조 In-kind transfer : 현금 대신 다른 서비스의 형태로 빈민에게 지원되는 보조. 생애주기 Life cycle : 한 사람의 삶에서 나타나는 일정한 소득 패턴을 일컫는다. 항상소득 Permanent income : 평생에 걸친 균형한 소득. 공리주의 Utilitarianism : 최대다수의 최대행복, 사회 구성원 전체의 효용을 극대화하는 정책을 선택해야 한다는 정치철학이다. 효용 utility : 행복과 만족의 척도. 점진적 자유주의 Liberalism : 무지의 베일에 있는 제3자가..

경제학개론 (19) - 임금소득과 차별

이 부분은 경제에 존재하는 큰 폭의 소득 격차를 여러 분석으로 설명한다. 균형임금의 결정 변수 보상적 임금격차 Compensating differential) : 비금적적 직업 속성의 차이를 보상해주기 위한 임금의 차이 '좋은' 직업, 그러니까 비금전적인 직업 속성이 좋은, 양질의 환경에서 근무할 수 있는 직업에 대한 공급이 반대의미인 '나쁜' 직업에 비해 많다. 따라서 좋은 직업이 조건이 나쁜 직업에 비해 균형임금 수준이 낮은 경향이 있다. 인적자본 Human capital : 교육이나 직업 훈련과 같은, 사람에 대한 투자의 축적, 교육 투자 등으로 인한 결과 인적자본을 어느 정도 축적한 사람의 소득은 그렇지 못한 사람보다 높다. 다만 교육수준에 따른 임금격차는 교육을 위해 소요된 비용에 대한 보상이다..

경제학개론(18) - 생산요소시장

왜 프로그래머는 주유소 직원보다 더 많은 소득을 얻을 수 있는가? 이 임금격차를 발생시키는 것은 무엇일까? 수요와 공급의 원리에 기반한 요소시장에 대한 분석으로 이에 대한 해답을 얻을 수 있다. 생산요소(factors of production)이란 재화와 서비스를 생산하기 위한 투입자원을 일컫는다. 노동, 자본, 토지 등을 3대 생산요소라고 한다. 프로그램을 만들기 위해서는 프로그래머의 시간(노동), 작업장소(토지), 작업 장비(자본)이 투입되어야 한다. 이런 생산요소시장은 얼핏 보기에 생산물시장과 유사해 보이지만 기업이 시장에 상품을 공급하기 위해 파생된 수요. 즉 파생수요(derived demand)의 존재에 대한 차이가 있다. 우리는 여기서 요소시장의 기본이론을 배워서 한 나라의 경제 소득이 어떻게..

자료구조(7) - 그래프 Graph

그래프 Graph는 사물이나 현상을 정점 vertex이나 간선 edge으로 표현한 것이다. 정점은 대상, 간선은 대상 간의 관계를 나타낸다. 선형 자료구조나 트리 구조로는 표현할 수 없는 다 대 다 관계를 표현할 수 있다. 그래프의 종류 무방향 그래프 undirected graph 간선에 방향이 없는 그래프다. 정점 a와 정점 b를 동일하게 가르킨다. 즉, (a,b), (b,a)이다. 방향 그래프 directed graph digraph라고도 한다. 간선에 방향이 있는 그래프다. 무방향 그래프와 다르게 한쪽 방향만 가르킨다. 완전 그래프 complete graph 각 정점에서 다른 모든 정점으로 가는 간선이 존재하는 그래프를 뜻한다. 즉, 주어진 정점 수에 대해 간선수가 최대이다. 정점이 n개인 완전 그..

정규화

이상현상 Anomaly 잘못된 설계를 바탕으로 건축된 건물은 무너질 수 있다. 데이터베이스도 그렇다. 데이터베이스를 잘못 설계한다면 SQL이 불가능하거나, 투플을 삭제할 때 다른 정보도 연쇄 삭제되는 삭제 이상(deletion anomly), 투플 삽입 시에 특정 속성에 해당하는 값이 없어 null값을 입력해야 하는 삽입이상(insertion anomaly), 투플 수정 시 중복된 데이터 일부만 수정되어 불일치가 일어나는 수정이상(update anomaly)이 있을 수 있다. 이런 이상현상은 정규화를 통해 해결할 수 있다. 다만 정규화를 다루기에 앞서 함수종속성에 대해 알아야 한다. 함수종속성 Functional Dependency 테이블의 각 속성 사이에는 의존성이 존재한다. 만약 속성 A의 값을 알면..

운영체제(7) - 페이징, 세그먼테이션, 페이지화된 세그먼테이션

불연속 메모리 할당 페이징 Paging 작업을 메모리관리장치(MMU)에서 작업크기가 동일한 페이지에 할당하여 처리하는 불연속 메모리 할당 방법이다. 빈 프레임에 어떤 페이지든 적재시킬 수 있기에 메모리의 효율적인 사용. 프레임 간의 외부단편화가 발생하지 않는다. 운영체제 선에서는 페이지 관리 부담이 크다. 프로세스의 필요공간이 페이지와 맞지 않으면 내부단편화가 발생할 수 있다. 논리적 주소가 전해지면 페이지 테이블에서 논리적 주소의 페이지번호(p)를 보고 알맞는 페이지를 할당한다. 그리고 실제 메모리의 위치인 프레임(f)의 값을 물리적 주소에 저장하고, 논리적 주소에 있던 오프셋(d)값을 물리적 주소에 넘긴다. 비로소 메모리에 이를 할당하면 된다. 각 테이블 항목마다 논리적 페이지 주소와 프레임번호가 있..

경제학개론 (17) - 과점(Oligopoly)

과점 Oligopoly 상호의존관계 Interdependence : 과점시장에 존재하는 한 공급자의 행동은 다른 공급자의 이윤에 영향을 미친다. 따라서 의사결정을 할 때 '서로 연결되어 있다.' 게임이론 Game Theory : 자신이 취하는 행동에 따라 상대방의 대응을 미리 생각하는 '전략적인 행동'을 연구하는 이론. 동일하거나 다소 차별화된 제품을 생산 및 공급하는 소수의 판매자들이 존재하는 시장구조다. 이러한 과점 시장은 상호의존관계에 있으며, 소수의 공급자들이 존재하기에 전략적인 행동(게임이론)이 중요한다. 즉, 자신의 생산량이 상대의 생산량에도 영향을 미치기 때문에 이를 고려해야 한다. 소수의 기업이 지배하는 시장 복점 Duopoly : 과점기업의 가장 단순한 형태로 2개의 기업(공급자)만이 존..

728x90
반응형