목록컴퓨터, 풀어그림 (352)
살아가는 이야기
맥북 터미널 글꼴을 바꾸려면 터미널의 설정(cmd+,)에서 "텍스트" 탭의 서체를 "변경"하면 된다. 이렇게 변경하다가 이전 글꼴로 복귀하고 싶은데 그러지 못하는 분들을 위해 이 글을 쓴다. 인터넷에서 아무리 찾아봐도 찾을 수 없었는데, 우연히 다른 글에서 찾게 되어 기록해 둔다. 기본 글꼴은 모나코(Monaco, 13pt)다. 이렇게 기본 서체로 복원하고 나면 다음 그림과 같이 본래 터미널 글꼴이 복귀된다. 정말 오랜만에 매킨토시를 써 본다. 1988년에 처음 매킨토시를 썼을 때는 실로 애플의 전성기라고 할 만할 때였다. 그때만 해도 검은 폭탄 대화창 때문에 악명이 높았는데, 그리고 MC68000 프로세서로 인해 엄청 느렸는데 이제 많이 좋아진 것 같다. 생전에 우여곡절을 겪었던 스티브 잡스도 이제 행..
PowerShell을 관리자로 열어 다음 명령어를 입력한다. Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. 새로운 크로스 플랫폼 PowerShell 사용 https://aka.ms/pscore6 PS C:\WINDOWS\system32> Get-AppxPackage -allusers Microsoft.549981C3F5F10 | Remove-AppxPackage PS C:\WINDOWS\system32> Get-AppxPackage -allusers Microsoft.SkypeApp | Remove-AppxPackage PS C:\WINDOWS\system32> Get-AppxPackage -allusers Mic..
누군가 QorA 게시판에 이를 물어 보았고, 관련하여 나와 비슷한 깨달음을 얻은 사람의 답변이 있어서 번역해 봅니다. Lisp은 어떤 사람들에게는 종교라기보다 종교에 가까운 경험이라고 말하고 싶군요. Lisp은 확실히 하나의 프로그래밍 언어가 아닙니다. Clojure처럼 실용적으로 사용할 수 있는 Lisp 형태가 있지요. 물론 R5RS Scheme처럼 덜 실용적인 것도 있습니다(R5RS Scheme을 실용적으로 사용하려면 사용자가 별도 구현을 추가해야 함). 제가 Lisp을 종교적 체험이라고 말한 이유는 대부분의 사람들이 Lisp을 사용하다가 어떤 깨달음을 얻기 때문입니다. 코드는 트리로 나타낼 수 있는 데이터에 불과하다거나 다른 트리 구조처럼 코드도 생성하거나 없앨 수 있다든지 하는 깨달음 말입니다. ..
Python에는 언어가 정의하고 있는 기본 예외(built-in exceptions)가 너무 많아서 이를 하나로 정리하는 것도 일이다. 그래서 텍스트 파일로 정리해 보았다. 예외 처리시에는 예외 계층을 알아야만 중복 처리로 인한 오류를 줄일 수 있다. BaseException ├── BaseExceptionGroup ├── GeneratorExit ├── KeyboardInterrupt ├── SystemExit └── Exception ├── ArithmeticError │ ├── FloatingPointError │ ├── OverflowError │ └── ZeroDivisionError ├── AssertionError ├── AttributeError ├── BufferError ├── EOFE..
하스켈(Haskell)이 무엇 때문에 만들어졌는지 아무도 언급하지 않는 것이 놀랍군요. 다른 사람들이 언급한 것 외에도 하스켈은 프로그래밍 언어 연구─많은 테크니컬 회사들이 수백만 달러를 투자하고 있는 그 연구─에 독보적으로 유용합니다. 하스켈은 지연 계산 및 순수 함수만 작성할 수 있도록 의도적으로 제한된 실험적 언어에서 출발했습니다. 처음에는 다소 거칠게 설계되었어요. 텍스트 입력을 텍스트 출력으로 바꾸는 함수에 불과했지요. 몇몇 흥미로운 프로그램(예컨대 컴파일러)을 작성할 수 있었지만 다른 일(예컨대 웹 서버)을 하도록 프로그램을 작성하기엔 어려웠습니다. 지연 계산을 수행하기 위한 명백한 방법을 구현하느라 성능도 좋지 않았지요. 시간이 지나면서 하스켈은 달라졌습니다. 컴파일러가 수행할 일련의 명령어..
예전에 Windows 7 노트북의 SSD 교체 방법을 게시한 바 있다(https://woogyun.tistory.com/509). 그러나 해당 방법이 다소 오래되었고, 무엇보다도 파티션 조정 프로그램(EaseUS Partition Manager)이 데모 버전으로 바뀌어 더 이상 이 방법을 사용할 수 없게 되었다. 그래서 Windows 10 노트북을 기준으로 새로운 글을 게시한다. 내 경우에는 Windows 10 LG 그램의 SSD를 다음 방법으로 성공적으로 업그레이드하였다. 무엇보다도 혹시 실패할 경우를 대비하여 사용자 데이터와 중요한 프로그램은 백업한 후 진행하기 바란다. 준비물 1. 노트북의 SSD 용량 이상의 SSD 2. 하드 복사기나 하드 복사 프로그램 하드 복사기는 https://www.amaz..
msys 터미널(mintty)의 vim에서 마우스 선택을 Windows 클립보드로 복사하는 방법은 매우 복잡하다. vim 버전에 따라 지원하는 방법이 다르고 이는 다시 .vimrc 설정에 따라 달라질 수 있다. 게다가 vim에서 복사한 내용이 Windows 클립보드에 전달되지 않기도 한다. 가장 간단한 방법은 mintty의 기능을 이용하는 방법이다. 사실, msys 터미널인 mintty에서는 Ctrl+Ins 키 조합으로 복사하기를 할 수 있고 Shift+Ins 키 조합으로 붙여넣기를 할 수 있다. 그러나 문제는 vim에서 이 키 조합이 동작하지 않는다는 것이 문제이다. 이때, 사용할 수 있는 방법이 바로 Shift+마우스끌기(mouse drag) 조합이다. vim에서 그냥 마우스 끌기로 선택을 하면 다음..
ISO C99부터 복합 상수(compound literal)를 이용하여 대입 연산(assignment)을 수행할 수 있다. 복합 상수란 하나 이상의 상수로 구성된 상수를 뜻한다. int형 변수 a에 정수 10을 저장할 수 있는 것처럼, a = 10; int 쌍으로 구성된 IPair라는 자료형의 변수 p에 다음과 같이 저장할 수 있다. p = (IPair) {a, a+a}; 복합 상수를 이용하여 문자열 상수 값과 문자열의 길이를 모두 저장하고 있는 문자열 형 String을 만들고 테스트해 보았다. 이 예는 다음과 같다. #include #include typedef struct { char *val; int len; } String; int main() { char a[] = "Hello"; String ..