본문 바로가기

프로그래밍/미분류

(74)
[SO번역] CUPS 를 이용해 "Print to PDF" 필터 또는 백엔드를 프로그래밍하는 방법 https://stackoverflow.com/questions/11192396/programming-a-filter-backend-to-print-to-pdf-with-cups-from-any-mac-os-x-appli/11194723#11194723 답변 : 이렇게 해 보자 : 임의의 프린터 드라이버로 프린트큐를 하나 만든다. (프린터 드라이버로는 PostScript driver/PPD 를 사용하길 권장한다. PostScript PPD 파일에는 *cupsFilter: ... 와 같은 라인이 없다.) 우선은 2dir 이라는 CUPS의 예시용 백엔드를 사용한다. 이건 KDE Printing Developer Tools Wiki 에서 복사해 올 수 있다. 가져올 때 파일의 line ending 을 확인하자..
[SO번역] CUPS 시스템에서 포스트 스크립트 드라이버 출력을 가로채기 https://stackoverflow.com/questions/42154774/intercepting-a-postscript-driver-output-on-a-cups-system CUPS 시스템에서 포스트 스크립트 드라이버 출력을 가로채기 질문 : Linux PC 에서 CUPS 를 사용한다. CUPS 로 연결된 프린터가 있다. CUPS 드라이버가 생성해서 프린터로 보내는 PostScript 문서를 얻어내는 게 가능할까? 답변 : 1. 프린터큐를 정지시키고, /var/spool/cups 에 있는 작업파일을 가져오라는 조언은 좀 부족하다. - 그 파일은 (포스트 스크립트) 프린터로 보내지는 작업파일이 **아니다**. - 그 파일은 CUPS 에게 (어플리케이션으로부터) 전달되는 원래형식의 작업파일이다. C..
[BASH] dd 표준입력을 파일로 저장 #! /bin/bash if dd of="output" then echo "INFO: dd successful" 1>&2 exit 0 else echo "INFO: dd failed" 1>&2 exit 1 fi 위 스크립트는 표준입력을 output 이란 이름의 파일로 저장한다. 아래는 위 스크립트가 copystdin 이란 이름으로 저장되어 있을 때의 실행 예이다. input_murmur 란 이름의 파일을 표준입력으로 redirect 하여 실행하면, output 이란 이름의 동일한 파일이 생성된다. (copystdin 을 실행하여야 하므로 chmod +x 로 실행권한 주어야 한다.) ➜ ~ cat input_murmur murmur murmur abcdef ghijkl ➜ ~ ./copystdin < in..
ac_nonexistent.h: No such file or directory 어떤 리눅스 패키지를 소스빌드하여 설치하려고 하였다. ./configure 명령을 때리고, make 로 빌드하였다. config.log 라는 파일이 빌드 과정에서 생성되어 있어서, 그 파일 내용에 에러는 없는지 들여다 보았다. 그 중에 다음과 같은 에러메시지가 있었다. configure:3383: cc -E conftest.c conftest.c:11:10: fatal error: ac_nonexistent.h: No such file or directory 11 | #include | ^~~~~~~~~~~~~~~~~~ 무슨 에러인지 확인하여 보았다. 결론은 이 에러메시지는 빌드에 에러가 있어서 발생한 것은 아니고, 존재하지 않는 헤더파일에 대해 존재하지 않는다는 컴파일 에러를 발생시키는지 확인해 보는 ..
[SO 번역] MIME 타입에서 "vnd"는 무슨 의미인가? https://stackoverflow.com/questions/5351093/what-is-the-meaning-of-vnd-in-mime-types vnd 는 vendor 의 줄임말. 인터넷협의기구 등이 아닌 회사에서 도입한 마임타입이라는 뜻.
0과 1 사이에서 랜덤하게 뽑은 숫자를 평균적으로 몇 번 더해야 1보다 커질까요? # 0과 1 사이에서 랜덤하게 뽑은 숫자를 평균적으로 몇 번 더해야 1보다 커질까요? import numpy as np import math import random def test(): s = 0 cnt = 0 while s < 1: r = random.random() s += r cnt += 1 return cnt def n_tests(N): tests = [test() for _ in range(N)] # print(tests) m = np.mean(tests) s = np.std(tests) print(m, s, N) def main(): for n in [100, 10000, 1000000, 10000000]: for _ in range(3): n_tests(n) print(math.e) if ..
[Ubuntu] 윈도우에서 xubuntu 16.01 로 mstsc 연결하였는데, tab 키가 안 먹었다. 윈도우에서 mstsc (rdp) 를 통해서 원격 xubuntu 에 접속하였다. xubuntu 는 xfce4 데스크탑 환경. 그런데, 터미널 등에서 auto-completion 등을 하려 하는데, tab 키가 먹지 않아서 매우 불편했다. 검색해 보니 스택익스체이지, askubuntu 에 다음과 같은 해결책이 있었다. ~/config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml 파일을 편집기로 열어서, 다음과 같이 수정한다. < --- > Super>Tab 으로 검색하면 두군데가 나왔고, 첫번째 것은 이미 empty 로 되어 있었다. 두번째 것은 아직 switch_window_key 로 되어 있어, empty 로 바꾸어 주었다. switch_..
1/1, 1/2, ... 1/999 의 순환소수 표현 프로젝토 오일러 26번 문제를 오랜만에 다시 풀었다. 중간결과로 n=1부터 1000 이하까지의 1/n 의 순환소수 표현을 구했다. 순환마디의 길이가 커지는 숫자들은 거의 소수로 보이고, 이 숫자들에 대해서 순환마디의 길이는 n-1 이다. 나아가 오일러파이함수(totient)와 관련이 있음. (아래 see also 1, 2) see also : 0. 관련파이썬코드 1. 순환마디에대한수학적논의 2. mathnet의 관련항목 괄호로 감싼 것이 반복되는 순환마디이다. 1/1 = 1.(0) 1/2 = 0.5(0) 1/3 = 0.(3) 1/4 = 0.25(0) 1/5 = 0.2(0) 1/6 = 0.1(6) 1/7 = 0.(142857) 1/8 = 0.125(0) 1/9 = 0.(1) 1/10 = 0.1(0) 1/1..