목록컴퓨터, 풀어그림 (352)
살아가는 이야기
누가 봐도 '사이드바(side bar)'라고 하기에 딱 어울릴 이것을 한글 2014(HWP 2014)에서는 '작업창'이라고 부른다. HWP 2010에서 자동으로 보이던 것이 HWP 2014에서는 사라져서 당황했다. 작업 창에 특히 '스타일'을 보이게 두고 누르면 되기 때문에 무척 편리하다. 숨겨진 작업창을 다시 보이는 방법은 메뉴에서 '보기 -> 작업 창'을 선택하면 된다. 참고: http://mainia.tistory.com/3009
가장 유명한 사이트는 dbpia이다.http://www.dbpia.co.kr/하지만 위 사이트에서 제휴되지 않은 논문지(대표적으로 정보처리학회논문지)는 검색되지 않는다. 따라서 KERIS 사이트를 한 번 더 검색하는 것이 좋다.http://www.riss.kr/모두들 좋은 연구 하시기 바랍니다.
C에는 데이터의 크기를 측정하는 sizeof라는 함수가 있다. 하지만 Python에는 이런 함수가 없을까? 비슷한 함수인 getsizeof가 있다. Python 3.x에서 사용한 예를 보면 다음과 같다.>>> import sys >>> x = 2 >>> sys.getsizeof(x) 14 >>> sys.getsizeof(200) 14 >>> sys.getsizeof("getsizeof") 34 >>> sys.getsizeof("") 2516비트 정수를 가정하면 오버헤드(overhead)가 적어도 12바이트는 되는 것으로 보인다. 문자열은 오버헤드가 두 배인 24바이트! 후덜덜한 오버헤드지만 인터프리터이므로 이해해야 할 듯싶다.
C의 라이브러리 함수 printf에는 출력 폭을 지정하는 기능이 있다. %d가 그냥 십진수로 출력하는 것이라면 %5d는 5칸 내에 우측 정렬하여 십진수로 출력한다. 그런데 동적으로 출력폭을 지정하는 기능도 있다. 그것은 바로 별표 *이다. 출력폭을 별표로 지정하고 인수로 해당 출력폭을 주면 그 출력폭에 맞게 출력해 준다. 예컨대 다음 프로그램은 포물선을 따라 1부터 7까지 출력해 준다.#include int main() { int width = 1, i = 1; for (i = 1; i < 8; width *= 2, i++) printf("%*d\n", width, i); return 0; }사실 이 글을 전에 적은 줄 알았는데, 아무리 검색해도 나오지 않는다. 이건 건망증도 아주 이상한 건망증이다.
제목이 조금 복잡하긴 하지만 오류를 그대로 넣은 것이다. 오류를 자세히 읽어 보면 아래와 같은 뜻이다.error: variable 'std::istringstream sstream' has initializer but incomplete type 오류: 'std::istringstream sstream' 변수가 초기화 리스트를 이용하고 있지만 불완전 타입임이유는 std::istringstream sstream이 클래스 선언만 되어 있고 정의가 없기 때문이다. 따라서 아래 #include 문을 추가하면 된다.#include 이것 하나 때문에 엄청난 오류를 때리다니... ㅠㅠ
C/C++ 개발 IDE로 코드블록(Code::Blocks)이 있다. 무료에다가 강력하므로 자주 사용하는데, 단점은 메뉴가 너무 복잡하여 메뉴를 찾는 데 너무 시간이 많이 걸린다는 것이다. 혹 도움이 될까 싶어 몇 가지 적는다. 아래 있는 것들은 찾을 때마다 어려움을 느꼈던 것들이다. 어떤 것은, 예컨대 Code refactoring 같은 것은 알고 있어도 찾기 힘들다. 메뉴가 알파벳순도 아니고 Code refactoring이라는 이름보다 Refactoring이라는 이름을 먼저 찾게 되는 경우도 있기 때문이다. 아무쪼록 도움이 되길 바란다. 1. 컴파일러 옵션 설정:Settings -> Compiler...표 경계 세로줄을 마우스로 끌어 옮기면 옵션 전체가 보인다. 2. 명령행 인수(command-line..
이클립스(Eclipse)가 여러 언어의 개발 도구로 사용되면서 언어별 버전의 이클립스를 사용해야 하는 경우가 있다. 그런데 본래 언어에 따라 퍼스펙티브(perspective)를 변경해 가며 사용하는 것이 이클립스의 철학에 더 가깝다. 그리고 Java와 CDT는 서로 충돌되는 것이 거의 없으므로 함께 사용하는 것이 더 좋다. 2016년 12월 현재 최신인 Eclipse Neon.1의 경우에는 아래 사이트를 SW 업데이트 사이트로 사용하면 된다.http://download.eclipse.org/tools/cdt/releases/9.1사용하는 방법은 'Help -> Install New Software...' 메뉴를 선택한 후, 나타나는 'Work with:' 필드에 위 주소를 입력하고 계속 진행하면 된다.이..
Bison이라는 컴파일러 제작 도구가 있다. Yacc의 GNU 버전인데 -dy 옵션을 주면 Yacc과 같은 방식으로 동작한다. 그런데 사용자 정의 타입에 대해 다음과 같은 오류가 나오는 경우가 있다.error: unknown type name 타입이름여기서 "타입이름"은 사용자가 나름 정의한 타입으로서 통상 헤더파일에 정의되어 있다. 이 헤더파일을 type.h라고 하자. 분명 type.h에서 "타입이름"을 정의했고 이것을 다음과 같이 Bison 입력 파일에 명시했는데도 이런 오류가 나오는 경우가 있다.%{ // Bison input #include #include "type.h" %}원인은 Bison이 아니고 Flex 입력이다. 위와 같이 정의해 둔 경우에 bison -dy 옵션으로 y.tab.h를 자동..