목록컴퓨터, 풀어그림 (352)
살아가는 이야기
윈도 키(⊞, 좌측 Ctrl 키와 Alt 키 사이에 있는 그림 키, 이후 Win)+R을 누르면 직접 실행할 수 있는 명령어가 있다. 이것으로 옛날 제어판(윈도 7시절에 있던 제어판)을 부를 수 있는데, 그 방법은 바로 "control"이다. Win+R로 실행할 수 있는 명령어를 몇 가지 여기 정리해 둔다. appwiz.cpl: 프로그램 및 기능(프로그램 제거 또는 변경) calc: 계산기 charmap: 문자표 cmd: 명령 프롬프트 control: 제어판 explorer: 파일 탐색기(발음 주의) notepad: 메모장 pbrush: 그림판 sysdm.cpl: 시스템 속성(환경 변수를 바꾸려면 sysdm.cpl ,3로 세 번째 탭을 선택할 수 있다.) 혹시 다른 유용한 프로그램이 있다면 답글 바랍니다...
Haskell을 쓰는 사람이 많이 없겠지만, 연산자 우선순위를 여기에 정리해 둔다. +--------+----------------------+-----------------------+-------------------+ | Prec- | Left associative | Non-associative | Right associative | | edence | operators | operators | operators | +--------+----------------------+-----------------------+-------------------+ | 9 | !! | | . | | 8 | | | ^, ^^, ** | | 7 | *, /, `div`, | | | | | `mod`, `rem`,..
msys2에서 7zip을 설치하기 위해 pacman -S 7zip, pacman -s 7z 등을 시도해 보았지만 어느 것도 작동하지 않았다. 7zip을 설치하려면 앞에 p를 붙여야 한다. pacman -S p7zip 이렇게 쉬운 걸... 그렇게 헤맸다니...
msys2를 업데이트한 후 VS Code에서 미친듯이 msys의 python을 사용하기 시작했다. 그래서 디버거 런처에 문제가 발생했다. VS Code에서 다시 윈도에 설치된 python을 찾도록 하려면 Ctrl-Shift-P를 눌러 나타나는 명령어 팔레트(command palette)를 이용한다. 명령어 팔레트에서 "python: s"까지 타이핑하면 다음 창과 같이 원하는 인터프리터 선택 명령을 택할 수 있다.
Python 코딩 시 분명 오류 없이 모듈을 작성하였는데, 제목과 같은 오류 메시지가 나온다면 이는 순환 import일 가능성이 높다. A.py의 첫 부분에 import B가 있고 B.py의 첫 부분에 import A가 있으면 다음과 같은 오류가 발생한다. ImportError: cannot import name 'A' from partially initialized module 'B' 여기서 A와 B의 순서는 바뀔 수 있다. 어떤 모듈을 먼저 import하려고 했느냐만 차이일 뿐이다.
한컴 한글(hwp)에서 표가 크다보면 마우스 끌기로 행이나 열을 선택하는 것이 매우 불편하다. '엑셀처럼 행 전체나 열 전체를 선택하면 좋을 텐데....' 하던 차에 찾게 된 기능이 있다. 먼저 한 셀을 F5로 선택해야 한다. 그 후 F7, F8을 선택하면 열이나 행 전체를 선택할 수 있다. F7: 열 전체 선택 F8: 행 전체 선택 반드시 F5로 셀을 선택한 후에 눌러야 한다. 그렇지 않으면 F7은 〈편집 용지〉 설정 기능이, F8은 〈맞춤법 검사〉 기능이 작동하게 된다.
2021년 현재 가장 널리 사용되는 것은 역시 Code::Blocks다. 그러나 DevC++도 만만치 않게 사용된다. 이 두 개발 환경의 링크를 여기 저장해 둔다. Code::Blocks: www.codeblocks.org DevC++: www.bloodshed.net MinGW를 별도로 설치하고 VisualStudio Code(VS Code)를 사용해도 된다. VisualStudio Code에서는 터미널이 같은 윈도 내에 존재하므로 프로그램 출력을 IDE에서 확인할 수 있다는 장점이 있다. MinGW: sourceforge.net/projects/mingw-w64 VisualStudio Code: code.visualstudio.com Code::Blocks나 DevC++는 컴파일러가 포함된 버전을 지..
표준입력(stdin)에서 행 단위로 읽으려면 fgets를 사용한다. 과거 사용하던 gets는 버퍼 넘침(buffer overflow) 문제로 인해 더 이상 사용하지 않는다. fgets의 인수는 fgets(버퍼, 크기, 스트림) 형식으로 사용하는데, 우리말 순서로는 인수 순서가 잘 이해되지 않지만 영어 순서로는 "get a string into 버퍼 with 크기 from 스트림"으로 읽을 수 있으므로 뜻이 통한다. 헷갈리는 것은 버퍼와 스트림 순서인데, strcpy(버퍼, 소스)의 순서처럼 우측 끝 인수가 소스(source)라고 생각하면 기억하기 쉽다. #include int main() { char line[BUFSIZ]; int sz = sizeof line, lineno = 0; while (fge..