반응형

전체 648

ISBN이 뭐지?

ISBN은 국제 표준 도서번호(International Standard Book Number)의 약자이다. 우리가 사는 책에는 모두 바코드와 함께 ISBN이 적혀있는데, 총 13개의 숫자로 적혀있다. 이 번호는 원래 10개의 숫자였는데 출판물의 수가 늘어남에 따라 ISBN-10의 시스템에서 표현할 수 있는 수가 거의 포화상태가 되자, 2007년 1월 1일부터 13개의 수로 늘어나게 되었다. 책을 사보면 뒤에 바코드와 함께 쓰여진 숫자들을 볼 수 있다. 10자리 ISBN 13자리 ISBN ISBN이 10자리인 경우는 2007년 이전에 발행된 도서라고 생각하면 된다. 13자리인 경우 기존 10자리 번호에 앞에 987의 3자리를 추가하여 13자리를 맞춘다. 여기서 마지막 체크번호는 앞에 있는 번호들을 일정한 ..

관심사/도서 2015.11.09

엑셀 피벗테이블 만들기

엑셀에서 피벗테이블을 사용하면 복잡하게 저장된 데이터베이스의 데이터를 구미에 맞게(동적으로) 요약할 수 있습니다. 피벗(pivot)은 중심이 되는, 또는 기준이 되는 것을 의미하는데 기준에 따라서 데이터를 보여준다는 의미입니다. 우선 피벗테이블을 사용하기 위해서는 적합한 형태로 정규화가 된 데이터가 필요합니다. 정규화 형식은 열 단위로 카테고리와 데이터가 늘어선 모양입니다. 이 부분은 예를 들어 설명하겠습니다. 데이터와 카테고리 여기서 말하는 데이터 필드는 알고자 하는 결과값을 의미합니다. 카테고리는 이 값의 범위를 나타내는데 데이터 필드와 카테고리 수가 많아질수록 복잡한 형태의 데이터베이스가 됩니다. 여기에 피벗테이블을 이용하면 카테고리를 선별하여 (유효한 데이터만 선별하여) 보고서를 만들 수 있습니다..

엑셀 2015.11.06

쉘정렬 알고리즘(shell sort)

쉘정렬은 지금까지 배운 정렬과 좀 다른 방식으로 생각해 봐야 한다. 쉘 정렬은 다양한 해석이 있는데, 그 이유는 내부에 사용되는 알고리즘으로 삽입정렬을 많이 사용하는데, 버블정렬이나 선택정렬 등도 사용 해도 되기 때문이다. 보통 삽입정렬로 설명하는데, 그 이유는 효율이 좋기 때문에 그렇다. 어떻게 내부에서 선택되는 알고리즘이 다양해 질 수 있는지 알기 위해서 쉘정렬의 구조를 파악해야 하는데 개념 자체는 어렵지 않다. 개인적인 의견으로는 이런 구조로 인해서 쉘정렬이라고 하면 어떤 형식의 알고리즘이 사용되었는지 기술해 주는 정도는 필요하다고 생각한다. 쉘 정렬 위 배열은 14개의 요소를 지닌 배열이다. 쉘정렬은 주어진 자료를 다음과 같은 형식으로 나누어 생각한다.(나누는 방식은 다양할 수 있다. 여기서 나누..

could have pp must have pp 비교

한국어로 '했다' 라는 표현은 영어로 ~ed form으로 표현한다. 그런데 우리가 현재완료라고 알고 있는 have pp 또한 한국어로 ~했다 라고 번역된다. could have pp 형태의 'have pp' 는 이런 맥락에서 과거를 나타낸다. 구조적으로 could는 조동사로 뒤에 동사원형이 와야 한다. 그래서 ~ed 형태의 동사는 올 수 없기 때문에, 과거를 나타내는 의미로 have pp가 온 걸로 이해하면 되겠다. must도 마찬가지다. 이런 식으로 이해하니 굳이 무식하게 암기하고 까먹는 반복은 하지 않을 수 있어 좋은 것 같다. could의 의미 could는 상황에 따라서 의미가 다양하게 변신한다. 이렇게 뜻이 변하기 때문에 could를 단순히 can의 과거로 볼 보는 습관은 버려야 한다. 또한 co..

영어공부일기 2015.11.03

화성학 기초 - 음이름 계이름 음정

음이름은 음의 높이(pitch)에 대한 이름이고 계이름은 음의 조성에 따른 이름입니다. 음이름은 C, D, E, F, G, A, B, C 또는 다, 라, 마, 바, 사, 가, 나, 다입니다. 반면에 계이름은 우리가 알고 있는 도, 레, 미, 파, 솔, 라, 시, 도 입니다. 여기서 조성은 무슨 장조, 무슨 단조 이런 걸 의미합니다. 피아노 건반에 음이름과 계이름을 써 넣으라고 하면 각 건반의 음이름은 변하지 않지만, 계이름은 조성에 따라서 변합니다. 피아노 건반으로 따지면 음이름은 건반의 절대적인 이름이라고 생각하면 되겠죠. 이젠 본격적인 화성학을 해부하기에 앞서 전반적으로 감을 잡는 정도의 이야기를 하겠습니다. 한번 피아노 건반을 그려보겠습니다.(보통 88개의 건반수를 갖습니다) 한 옥타브는 7개의 흰..

음악/화성학 2015.10.31

파이썬 람다(lambda) 함수

파이썬의 람다함수는 매우 직관적입니다. C++11에서도 람다함수가 등장했는데 파이썬의 문법과 비교하면 복잡하죠. 아마 파이썬 문법 익숙하게 되면 C++ 람다함수를 보고 황당해 할겁니다. 람다함수란? 람다함수란 람다식, 또는 람다 표현식, 익명함수 등으로 알려져 있습니다. 실제로 이름이 없이 정의되어 사용됩니다. 이 녀석은 함수와 동일한 녀석인데 실제로 사용을 하는 건 자기 취향이라고 생각합니다. 없어도 되는데 보통 어디에 사용되냐 물으면 언어들마다 특색이 있기에 한마디로 정의할 수는 없겠지만, 우선 대부분의 언어들이 람다함수(람다식)을 지원하는 추세로 바뀌었기 때문에 소스를 읽기 위해서라도 알아둘 필요가 있습니다. 실제 함수와 비교 lambda x,y:x+y 는 람다식입니다. 여기서 f는 람다식의 위치를..

엑셀 순환참조 이해 및 활용 예

엑셀에서 수식의 표현 중 순환참조 라는 것이 있다. 순환참조는 오류라고 볼 수도 있겠지만, 어떤 수식에서는 의도적인 순환참조가 쓰이기도 한다. 실무에서는 특정 분야가 아니고서야 그렇게 많이 쓰이지는 않으므로(가끔 쓰인다.) 순환참조 오류를 찾고 수정하는 정도만 알면 된다. 여기서는 순환참조 찾기 및 수정하는 방법과 의도적인 순환참조를 통해서 나타낼 수 있는 수학적 수식을 예를 들어보겠다. 순환참조란? 순환참조는 프로그래밍 기법에서는 재귀(recursive)적 호출을 의미한다. 쉽게 말하면 자기 자신을 반복해서 호출하는 것이다. 엑셀에서는 프로그래밍에서 사용하는 것보다 매우 제한되게 사용된다. 따라서 엑셀에서 의도적 순환참조를 사용하려면 VBA를 통해서 사용하는 것이 좋다고 생각한다.(VBA는 여기서는 안..

엑셀 2015.10.29

심플하고 유용한 마인드맵 프로그램

개인적으로 마인드맵을 손으로 그리는 것이 가장 이상적으로 사용하는 방법이라고 생각한다. 하지만 손으로 그리는 것은 한계가 있다. 과거에는 지식을 체득하는 것이 주요 목표였다면 현재는 정보를 어떻게 체계적으로 정리하느냐가 관건인 시대다. 정확도도 중요하지만 얼마나 빠르게 정보에 접근하느냐가 더 중요해졌기 때문에 마인드 맵을 체계적으로 다루는 프로그램은 필수라고 생각한다. 마인드맵을 사용하는 것 자체로도 큰 이점이 되지만, 좋은 프로그램 사용은 이점을 극대화 시킨다. 마인드맵 프로그램은 여러가지가 있다. 토픽과 하위 가지들을 시각적으로 표현해주는 개념은 같지만 프로그램들 마다 장단점이 있다. 여기서는 Simple mind를 소개한다. Simple Mind http://www.simpleapps.eu/simp..

can be able to 차이 공부 정리

can은 조동사로서 일반동사의 앞에 놓여서 어떤 의미를 더해준다. 기본 뜻은 '할 수 있다' 지만 상황에 따라서 미묘하게 뜻이 바뀐다. 의무, 추측, can보다 더 공손한 부탁 등등. 여기서는 can의 본래의 뜻과 비슷한 be able to와의 차이점을 공부한다. 보통 can과 be able to는 별 차이 없이 쓰인다. 이 경우 can이 be able to 보다 많이 쓰인다고 한다. We can eat a lot.(We are able to eat a lot) 어쩔 수 없이 be able to 를 사용해야 하는 경우(구조적인 문제) 그런데 can은 조동사라서 표현의 한계가 있다. 예를 들어 We must be able to eat a lot.이라는 표현은 can을 사용하여 할 수 없다. 조동사 + 조동..

영어공부일기 2015.10.26

우측값 참조 [C++11]

우측값 참조는 C++11에서 생긴 개념이다. 좌측값 참조는 우리가 흔히 알고 있는 참조를 말한다. 흔히 수식에서 Rvalue, Lvalue로 데이터의 상태를 나타내는데 일반적인 변수는 Lvalue, 상수나 임시객체(값)은 Rvalue가 된다. 예를 들어 int a = 3; int b = 4; int c = a+b; int d = 3;// 여기에서 a, b c, d는 Lvalue가 되고, a+b, 3은 Rvalue가 된다. Lvalue는 수식의 계산이 끝난 후에도 지속적으로 존재하는 변수들이고, 3이란 값이나 a+b는 Rvalue로 임시 객체내에서 존재하다가 식의 계산이 끝난 후 임시객체는 파괴된다. 우측값 참조 우리가 흔이 알고 있는 참조는 좌측값 참조다. 이런 일반적인 참조의 경우는 우측값을 참조할 수..

프로그래밍/cpp 2015.10.24
반응형