살아가는 이야기
choco(Chocolatey, 쵸콜라티)는 Windows용 설치 관리자이다. 데비안의 apt나, 레드햇의 yum, 아치리눅스의 pacman과 유사하다고 생각하면 된다. 다만 이를 사용하려면 별도로 설치해야 하는데, 한 번 choco를 설치한 후에는 이후 choco를 통해 설치하는 여러 프로그램에 대해서는 별도로 PATH를 지정하지 않아도 되므로 매우 편리하다. choco를 설치하기 위해서는 먼저 PowerShell을 관리자용으로 실행해야 한다. 윈도우 검색 창(없으면 Win+S키를 누름)에서 "power"를 입력하여 Windows PowerShell을 검색한 후 관리자로 실행 메뉴를 클릭한다. 그리고 나타나는 사용자 계정 컨트롤 창―경우에 따라서는 작업 표시줄에 방패 모양만 깜빡일 수도 있는데, 이를 ..
이미 제목에 답이 나와 있어서 맥이 풀리긴 하지만 '해야겠다'의 띄어쓰기는 모두 붙여 쓰는 것이다. 형태소 분석을 해 보면 다음과 같다. 하-여야-겠-다 여기서 '-여야-'가 줄어 '-야-'로 된 것이다. 그러므로 '해야겠다'는 모두 붙여 쓴다. 해야겠다. '-겠-다'를 '-하-겠-다'로 바꾸게 되면 다음과 같이 띄어 써야 한다. 해야 하겠다 두 번째 '하겠다'가 보조 용언이므로 본 용언 '해야'와 띄어 써야 한다. 그러나 앞서 말한 것처럼 '하겠다'가 아니라 '겠다'라면 어미로 취급하여 붙여 쓴다.
교정용 원고를 출력할 때에는 줄 간격을 두 배(double space)로 조절하는 것이 좋다. 그리고 표 등 삽입물의 줄간격을 필요에 맞게 조정해야 할 수도 있다. 이를 할 수 있는 LaTeX 패키지로 setspace가 있다. 프리앰플에 setspace를 사용하도록 설정한 다음 필요한 부분에서 \begin{spacing}{간격} ... \end{spacing}으로 지정하면 된다. \usepackage{setspace} \singlespacing \begin{document} ... \begin{spacing}{1.125} … \end{spacing} ... \end{document} 문서 전체의 줄간격을 조정하고 싶다면 프리앰블(\begin{document} 위)에 \singlespacing, \oneh..
'지'는 의존 명사로 쓰이기도 하고 '-ㄴ지' 형태의 연결 어미로 사용되기도 한다. 의존 명사로 쓰일 때에는 앞 말과 띄어 써야 하고, 연결 어미로 쓰일 때에는 당연히 앞 말에 붙여 써야 한다. 그런데 의존 명사로 쓰일 때에도 앞에 용언의 활용형이 나오는 경우가 많기 때문에 띄어 써야 하는지 붙여 써야 하는지 헷갈리는 경우가 많다. 다행스럽게도 쉽게 구별하는 방법이 있으니, 바로 의미에 따른 구별이다. 의존 명사로 쓰일 때는 시간 경과의 의미로 사용된다. 과거 어떤 일이 있었던 때부터 지금까지의 '동안(period)'을 의미할 때는 의존 명사이므로 띄어 쓴다. 그 외의 경우에는 연결 어미이므로 붙여 쓴다. 시간 경과의 의미를 확인하려면 '지'를 '후(後, after)'로 바꾸어 써 보면 된다. 바꾸어서 ..
워드 프로세서 한글(HWP, HNC 오피스) 프로그램을 사용하다 보면 철자 검사로 인해 나타나는 빨간 줄 때문에 불편한 경우가 있다. 특히 파일의 일부를 캡처해야 할 때, 빨간 줄은 제거하고 캡처하는 것이 좋다. 이 글은 이런 경우를 위한 글이다. HWP에서 빨간 줄을 제거하려면 "도구→환경 설정(톱니바퀴)" 메뉴를 선택한다. 그럼 다음과 같은 대화창이 나타나는데, 여기에서 "편집" 탭의 "편집" 섹션, "맞춤법 도우미 작동"의 체크를 해제한다. 그리고 가볍게 "설정" 버튼을 누르면 다음과 같이 빨간 줄이 사라진다. 이제 원하는 대로 깔끔하게 캡처할 수 있다.
C의 gets는 매우 사용하기 편리하지만, 초기 설계의 문제로 인해 버퍼 오버플로(buffer overflow: 지정한 영역을 넘어 기록하는 현상)가 발생한다는 치명적 오류가 있다. 그래서 지속적으로 지원 중단 예정(deprecated) 함수로 지정되었다가 C11 이후로는 아예 지원되지 않는다. 문제는 이전에 gets를 이용하여 사용하던 코드의 경우 다시 작성해야 하는데, 이때 fgets를 사용해야 한다. fgets의 프로토타입은 다음과 같다. char *fgets(char *버퍼, size_t 크기, FILE *입력스트림); 따라서 gets로 다음과 같이 작성된 코드가 있다고 하면 gets(line); 다음과 같이 다시 작성해야 한다. fgets(line, sizeof line, stdin); 다만 줄..
프로그램 수행 성능을 알아 보기 위해서는 실제 수행 시간을 재는 것이 가장 확실한 방법이다. 물론 실제 수행 시간은 시행 시마다 다를 수 있지만, 여러 번 반복하여 재면 해당 프로그램의 수행 시간을 얼추 가늠할 수 있다. 10회 정도의 수행 시간을 잰 후 평균 수행 시간을 계산하면 비슷한 다른 프로그램의 수행 시간을 비교하는 데 사용할 수 있다. 대부분의 운영체제에는 프로그램의 수행 시간을 재는 유틸리티 프로그램이 존재하는데, 윈도(Windows)의 경우에는 어떻게 시간을 잴 수 있을까? 과거 윈도 서버 2003(Windows Server 2003)에는 Resource Kit Tools라는 도구 모음에 timeit이라는 유틸리티가 제공되었다고 한다. timeit은 수행 시간 정보뿐 아니라 시스템 호출 수..
2021년 추석 기념으로 프로그래밍 언어 인기도를 게시한다. 한동안 저장하지 못했던 프로그래밍 언어 인기도를 올해는 생각이 나서 측정해 보았다. 최근 게시글과 마찬가지로 TIOBE 인덱스(https://www.tiobe.com/tiobe-index/) 기준이다. 작년에 비해 조금 낮아지긴 했지만 아직 C가 부동의 1위이다. Fortran과 Delphi, Visual Basic의 약진이 놀랍다. 이후 50개의 인기 언어는 다음과 같다. 상위 10위 표에 작년 순위가 함께 게시되어 있어서 다행이라고 생각했었는데, 장기간 순위가 별도로 나와 있었다. 그래서 그것도 함께 게시한다. 장기간 순위를 보면 C/C++와 Java의 영향력이 독보적이다. 아직 대세는 C 언어 그룹임을 알 수 있다. 배우기 쉬운 BASIC..