-
2022.03.19
[Python] global
global 개요 함수 안에서 지역 변수(Local Variable) 대신 전역 변수(Global Variable)로 변수를 사용하고 싶을 때, global 예약어를 사용한다. global 예약어를 사용하여 전역 변수를 지정하면, 함수 안의 지역 변수는 더 이상 존재하지 않게 된다. 파이썬의 global 예약어는 다른 프로그래밍 언어와 형식이 다르다. 사용 예 ## 함수 선언 부분 ## def func1(): global a a = 10 # 이 함수 안에서 a는 전역 변수 print("func1()에서 a 값 %d" % a) def func2(): print("func2()에서 a 값 %d" % a) ## 전역 변수 선언 부분 ## a = 20 # 전역 변수 ## 메인 코드 부분 ## func1() fu..
-
2022.03.19
[Python] 파이썬에서의 main() 함수
파이썬에서의 main() 함수 개요 C, C++, C#, Java 등은 main() 함수가 필수로 있어 프로그램 시작 위치가 명확하지만, 파이썬은 필수가 아니다. 하지만, 필요하다면 비슷한 효과를 다음과 같이 표현할 수 있다. if __name__ == "__main__": hap = plus(100, 200) print("100과 200의 plus() 함수 결과는 %d" % hap) 사용 예제 # 함수 선언 def plus(v1, v2): result = 0 result = v1 + v2 return result # 전역 변수 hap = 0 # 메인 함수 if __name__ == "__main__": hap = plus(100, 200) print("100과 200의 plus() 함수 결과는 %d" ..
-
2022.03.19
[Python] 파이썬에서 넘파이(NumPy) 설치하기
파이썬에서 넘파이(NumPy) 설치하기 개요 파이썬에 간단하게 넘파이(NumPy)를 설치하는 방법을 알아보자. 방법 윈도우 터미널에 "python -m pip install numpy" 명령을 입력하면 된다. 테스트
-
2022.03.19
아나콘다(Anaconda) 환경 변수 설정 방법 (Windows)
아나콘다(Anaconda) 환경 변수 설정 방법 (Windows) 개요 윈도우(Windows) 터미널에서 "conda" 명령어를 입력하면, 아나콘다 프롬프트가 실행되게 해보자. 보통 아나콘다 설치 시, PATH를 자동으로 등록하는 옵션이 있는데, 선택하지 않았을 경우 수동으로 PATH 등록을 해주어야 한다. 방법 윈도우 [검색] → "환경 변수" → [시스템 환경 변수 편집] [환경 변수(N)] 버튼 클릭 [사용자 변수(U)] 항목에서 변수 선택 후, [편집(E)] 버튼 클릭 [새로 만들기(N)] 버튼을 클릭 후, Anaconda가 설치된 경로, 그리고 내부의 Library, Scripts 디렉터리를 추가 테스트 윈도우 터미널에 conda 명령어를 입력하여 설정이 되었는지 확인한다.
-
2022.03.18
[리눅스] 샌드메일(sendmail) 관련 주요 파일
샌드메일(sendmail) 관련 주요 파일 ① /etc/mail/local-host-names 메일 서버에 사용하는 도메인을 설정하는 파일 한 줄에 도메인 하나씩 기입하면 된다. 설정 예 # vi /etc/mail/local-host-names starrykss.org starrykss.co.kr yuloje.com ② /etc/mail/sendmail.mc sendmail의 매크로 설정 파일 sendmail.cf 파일이 삭제되었거나 복원할 경우에 m4 라는 매크로 프로세서를 이용하여 새롭게 생성할 수 있다. 사용 예 # m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf ③ /etc/mail/access 메일 서버로 접근하는 호스트나 도메인의 접근을 제어하는 파일 허..
-
2022.03.18
[리눅스] /etc/named.conf
/etc/named.conf DNS 서버 설정 DNS 서버 설정의 핵심 파일 /etc/named.conf DNS 서버의 환경에 대한 설정 운영하는 도메인에 대한 존(zone) 파일 및 리버스 존(Reverse Zone) 파일을 생성한다. zone 파일 지정된 경로에 정해진 포맷으로 생성됨. 도메인에 대한 다음 정보를 담고 있는 파일 호스트명 지정 2차 도메인 부여 /etc/named.conf 파일 # cat /etc/named.conf 더보기 // // named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // server as a caching only nameserver (as a localhos..
-
2022.03.18
[리눅스] /etc/logrotate.conf
/etc/logrotate.conf (참고) logroate 더보기 로그 파일을 여러 개로 분할해주는 프로그램 로그 파일 계속적으로 덧붙여져면서 쌓이는 형태 파일의 크기도 계속 커지게 됨. 다음의 기능 지원 로그 파일의 자동 로테이션 기능 압축 기능 제거 각각의 로그 파일은 하루, 일주일, 한 달 단위로 로테이션을 할 수 있음. 시스템과 관련된 기본적인 로그 설정 : /etc/logrotate.conf 응용 프로그램은 /etc/logrotate.d 디렉터리에 내에 위치하여 로그 파일을 관리함. 명령행에서 logrotate를 직접 사용 가능함. 하지만, 현재 리눅스에서는 /etc/cron.daily 디렉터리에 등록됨. cron에 의해 스케쥴링 되어 실행되고 있음. 사용법 # logrotate [option..
-
2022.03.18
[리눅스] NFS(Network File System)
NFS(Network File System) NFS(Network File System)의 개요 NFS(Network File System) 1984년 Sun Microsystems 사에서 개발한 프로토콜 TCP/IP 네트워크 상에서 다른 컴퓨터의 파일 시스템을 마운트하고 공유한다. 상대방의 파일 시스템 일부를 마치 자기 자신의 디렉터리인 것처럼 사용 할 수 있게 해준다. NIS 와 더불어 RPC(Remote Procedure Call) 기반으로 작동한다. 해당 서비스를 해주는 rpcbind(구 portmap) 데몬을 먼저 실행시켜야 한다. 사용이 편리한 대신, 보안에 상당히 미약하기 때문에 주의해서 사용해야 한다. NFS 관련 주요 RPM 패키지 NFS 서버를 구축하려면 다음과 같이 2개의 패키지를 설..
-
2022.03.18
[리눅스] NTP(Network Time Protocol)
NTP(Network Time Protocol) NTP(Network Time Protocol) 의 개요 NTP(Network Time Protocol) 컴퓨터간의 시간을 동기화 하는데 사용되는 프로토콜 1985년 이전에 델라웨어 대학교의 데이비드 밀슨에 의해 처음 개발되었다. NTP 서버를 구성하면 클라이언트들의 시간을 1/1000초 까지 동기화시킬 수 있다. 협정 세계시(UTC: Coordinated Universal Time) 기준으로 사용 여러 계층(Stratum) 으로 구성된다. Stratum 0 최상위 계층 세슘 원자시계, GPS 시계 등과 같은 장치 NTP 서버 Stratum 1 부터 Stratum 15 까지 15단계로 나뉜다. Stratum 1 최상단 계층 라디오 클럭과 외부 타임 소스 액..
-
2022.03.18
[리눅스] KVM(Kernel-based Virtual Machine)
KVM 서비스 구축 절차 KVM(Kernel-based Virtual Machine) 2005년에 설립된 Qumranet(2008년 레드햇 에서 인수) 에서 개발한 하이퍼바이저 x86 시스템을 기반으로 CPU 전가상화 방식을 사용한다. CPU 가상화 기술인 인텔의 VT 및 AMD-V를 기반으로 동작하는 공개형 기술로서, 리눅스 커널 2.6.20 부터 포함된다. 리눅스 커널에서 kvm.ko라는 이름의 모듈로 포함되어 동작한다. 코어 가상화 구조와 프로세서 세부 모듈로 구성된다. kvm-intel.ko 또는 kvm-amd.ko QEMU 라는 CPU 에뮬레이터를 사용한다. 수정되지 않은 리눅스나 윈도우의 이미지를 생성하여 다중의 가상 머신을 운영한다. 각각의 가상 머신은 개별적인 하드웨어(Network, Di..
-
2022.03.17
[리눅스] vsftpd
vsftpd vsftpd Very Secure FTP Daemon 리눅스에서 사용하는 대표적인 FTP 서버 프로그램 간결하고 안전하며 처리 속도도 매우 빠른 프로그램 리눅스 및 유닉스 계열에서 사용할 수 있다. RHEL, Fedora, CentOS, Ubuntu, Slackware 등의 배포판에 기본적으로 포함되어 있다. 환경 설정 시 YES/NO로 설정하도록 되어 있다. 보안 관련 점검을 많이 한다. 특히 anonymous 계정에 대한 검사를 많이 한다. anonymous 관련 디렉터리의 퍼미션이 777로 설정되어 있으면 로그인을 막는다. (참고) FTP(File Transfer Protocol) 더보기 TCP/IP 프로토콜 기반으로 서버와 클라이언트 사이에 파일을 주고 받기 위한 프로토콜 FTP 를 ..
-
2022.03.17
[리눅스] /etc/httpd/conf/httpd.conf
/etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf 더보기 # # This is the main Apache HTTP server configuration file. It contains the # configuration directives that give the server its instructions. # See for detailed information. # In particular, see # # for a discussion of each configuration directive. # # Do NOT simply read the instructions in here without understanding # what they do. They'..
-
2022.03.17
[리눅스] /etc/fstab
/etc/fstab 파일 /etc/fstab 파일 시스템에 대한 다양한 정보를 담고 있는 파일 부팅 시에 마운트 할 파티션 정보가 기록 되어 있는 파일이기도 하다. 파티션 정보를 변경하였거나 디스크를 추가한 경우 이 파일에 등록해야만 부팅 시에 자동으로 마운트할 수 있다. 다음의 명령어가 수행될 때, 이 파일의 정보를 참조한다. mount umount fsck 총 6개의 필드로 구성되어 있다. # cat /etc/fstab # # /etc/fstab # Created by anaconda on Thu Feb 11 01:16:53 2021 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fst..
-
2022.03.17
삼각 함수(Trigonometrical Function)
삼각 함수(Trigonometrical Function) 삼각 함수 각에 대한 함수로서 삼각형의 각과 변의 길이를 연관시킨 것 삼각형의 연구뿐만 아니라 소리나 빛의 파동과 같은 다양한 주기적 현상을 설명하는 데 이용된다. 정의 방법 직각 삼각형의 변의 길이의 비 좌표평면 위의 원에서 얻어지는 다양한 선분의 길이 무한 급수 (최근) 복소수의 값을 취하는 경우까지 확장 종류 : 사인(Sine) 함수, 코사인(Cosine) 함수, 탄젠트(Tangent) 함수 ① 직각 삼각형(Right Triangle)에서의 삼각 함수 $\angle C$ 가 직각인 직각 삼각형에서, $\angle A$, $\angle B$, $\angle C$ 와 마주 보는 변의 길이를 $a, b, c$ 라고 할 때, $\angle A$ 에 ..
-
2022.03.17
[TeX] 행렬(Matrix) 표현하기
행렬(Matrix) 표현하기 개요 TeX에서 행렬(Matrix)을 포함하는 방법에는 5가지가 있다. 지시어 특징 matrix 괄호 없음 bmatrix 대괄호(bracket) : [ ] pmatrix 소괄호(parentheses) : ( ) vmatrix 세로줄(vertical) : | | Vmatrix 겹세로줄(Vertical) : || || ※ 이중에서 bmatrix 또는 pmatrix를 쓰는 것이 일반적이다. 사용 방법 \begin{지시어} item_1 & item_2 & ... & item_n \\ item_1 & item_2 & item_n \\ ... \end{지시어} \begin : 행렬의 시작 \end : 행렬의 끝 지시어 : 표현하고자 하는 행렬의 타입 & : 요소와 요소의 구분 \\ : ..
-
2022.03.16
[리눅스 명령어] iptables / iptables-save / iptables-restore
iptables 패킷 필터링(Packet Filtering) 도구 방화벽 구성이나 NAT(Network Translation Address)에 사용된다. (참고) iptables의 구조 더보기 커널 2.2 에서 사용되던 ipchains의 사슬(Chain) 구조를 그대로 승계함. 4계층 구조의 테이블(Table)을 만들어 사용하여 이름을 iptables라 명명하였음. ipchains와 거의 유사하게 사슬에 정책을 설정하여 사용함. 하지만, 기능과 역할을 강화하기 위해 테이블로 확장하여 테이블 별로 각각의 사슬을 지정하고 해당 사슬에 정책을 설정하도록 되어 있음. 5개의 테이블이 있음. FILTER iptables의 기본 테이블 패킷 필터링을 담당함. ipchains 이전 프로그램들은 FILTER 테이블만 ..
-
2022.03.16
[리눅스 명령어] ntpq / ntpdate
ntpq NTP 질의 응답 명령어 사용법 # ntpq [option] 주요 옵션 옵션 설명 -p 연결된 서버(Peers)의 상태를 출력해줌. 사용 예 예 1 대화형으로 질의 help 라고 입력하면 사용 가능한 명령어의 목록을 보여줌. peers, delay 등의 명령을 입력할 수 있음. # ntpq ntpq> help ntpq commands: :config delay mreadvar readlist addvars exit mrl readvar associations help mrv rl authenticate host ntpversion rmvars cl hostnames opeers rv clearvars keyid passociations saveconfig clocklist keytype pass..
-
2022.03.16
[리눅스 명령어] named-checkconf / named-checkzone
named-checkconf DNS 서버의 환경 설정 파일인 /etc/named.conf 파일의 문법적 오류를 찾아주는 명령 사용법 # named-checkconf [파일명] 사용 예 예 1 /etc/named.conf 파일의 문법적 오류 검사 # named-checkconf 예 2 /backup/etc/named.conf 파일의 문법적 오류 검사 # named-checkconf /backup/etc/named.conf named-checkzone zone 파일의 문법적 오류를 찾아주는 명령 사용법 # named-checkzone 도메인명 zone_파일_경로 사용 예 예 linux.zone 파일의 문법적 오류 검사 # named-checkzone linux.or.kr /var/named/linux.zone
-
2022.03.16
[리눅스 명령어] mailq / sendmail
mailq 보내는 메일이 대기하는 디렉터리의 큐(Queue) 상태를 출력해주는 명령 사용법 # mailq [option] 주요 옵션 옵션 설명 -Ac /etc/mail/submit.cf 파일에 명시된 큐의 상태 출력 사용 예 예 1 보내는 메일이 대기하는 큐인 /var/spool/mqueue의 상태 출력 # mailq 예 2 Submission Program 이 보내는 메일이 대기하는 큐인 /var/spool/clientmqueue 의 상태 출력 # mailq -Ac sendmail sendmail 관리 명령 사용법 # sendmail option 주요 옵션 옵션 설명 -bq - mailq 와 같은 명령 - 큐의 상태를 출력함. -bi - newaliases 와 같은 명령 - /etc/aliases 파일..
-
2022.03.16
[리눅스 명령어] rpcinfo / exportfs / showmount / nfsstat
rpcinfo rpc 관련 정보를 출력해주는 명령 사용법 rpcinfo [option] [호스트명] 주요 옵션 옵션 설명 -p 등록된 rpc 프로그램의 정보 출력 -s 관련 정보를 간결하게(Simply) 출력 사용 예 예 1 로컬 호스트의 rpc 관련 정보 출력 $ rpcinfo 예 2 192.168.12.12 호스트의 rpc 관련 정보를 간결하게 출력 $ rpcinfo -s 192.168.12.22 exportfs NFS 서버에 익스포트(Export)된 디렉터리 정보를 관리해주는 명령 사용법 # exportfs [option] [호스트명] 주요 옵션 옵션 설명 -v 설정된 내용을 자세히 출력 -r /etc/exports에 설정된 내용을 다시 읽어들임(Reload). -a '모두'라는 의미로, 한 번에 ..
-
2022.03.16
[리눅스 명령어] smbclient / smbstatus / testparm / nmblookup / mount.cifs / smbpasswd / pdbedit
smbclient 리눅스 및 유닉스에서 사용하는 삼바 클라이언트 명령 윈도 서버로 접근할 때 사용된다. 사용법 ftp 클라이언트 명령과 유사 접속한 후에 특정 명령어를 입력하여 작업 수행 접속된 후에 ?나 help 라고 입력하면, 사용 가능한 명령어의 목록을 볼 수 있다. 사용법 smbclient [option] [호스트명] 대상이 되는 호스트명 192.168.12.22처럼 IP 주소도 가능 동일한 작업 그룹을 사용할 때, 리눅스 시스템인 경우 호스트 이름 윈도우 시스템인 경우 컴퓨터 이름 호스트명 다음에 공유 디렉터리명을 입력할 수 있음. 다음 기호 모두 사용 가능 \(Back Slash) 윈도우에서 NetBIOS 를 이용하여 접속할 때 리눅스에서 smbclient 명령을 이용하여 \ 로 접근할 때는,..
-
2022.03.16
[리눅스 명령어] nisdomainname / ypwhich / ypcat / yptest / yppasswd / ypchsh / ypchfn
nisdomainname NIS 도메인명을 보여주거나 설정하는 명령 사용법 # nisdomainname [도메인명] 사용 예 예 1 설정된 NIS 도메인명 출력 # nisdomainname 예 2 NIS 도메인명을 starrykss.co.kr 로 설정 # nisdomainname starrykss.co.kr ypwhich NIS 클라이언트에서 사용하는 명령어 NIS 서버명과 관련 맵 파일을 보여준다. 사용법 # ypwhich [option] 주요 옵션 옵션 설명 -m NIS 서버의 맵 파일 출력 사용 예 예 1 NIS 서버명 출력 # ypwhich 예 2 NIS 서버의 맵 파일 출력 # ypwhich -m ypcat NIS 클라이언트에서 사용하는 명령어 NIS 서버의 데이터베이스라고 할 수 있는 맵 파일..
-
2022.03.16
[리눅스 명령어] htpasswd
htpasswd 아파치 사용자 인증 파일을 생성하고 관리해주는 명령 사용법 # htpasswd [option] 계정_파일 사용자명 주요 옵션 옵션 설명 -c - 사용자 계정 파일을 생성(Create)할 때 사용하는 옵션 - 계정 생성할 때 한 번은 반드시 사용해야 함. 사용 예 예 1 starrykss 라는 계정을 생성하고, 관련 정보 파일은 /usr/local/apache/conf/passwd에 생성함. # htpasswd -c /usr/local/apache/conf/password starrykss 예 2 yuloje 라는 계정을 생성함. # htpasswd /usr/local/apache/conf/password yuloje (참고) 생성 예 더보기 ① 웹 사용자 계정 생성 웹 사용자 계정은 리눅..
-
2022.03.16
[리눅스 명령어] apachectl
apachectl Apache Control 아파치 웹 서버를 apachectl 이라는 데몬 실행 제어 스크립트를 이용하여 실행 및 제어를 할 수 있다. apachectl 은 httpd 명령어를 기반으로 동작한다. httpd의 명령어 옵션을 그대로 사용할 수 있다. 사용법 # apachectl command command command 설명 help 간단한 도움말 출력 start 아파치 데몬 시작 stop 아파치 데몬 중지 restart 아파치 데몬 재시작 reload 아파치 데몬을 재시작하지 않고, 환경 설정 파일만 다시 읽어들임. configtest httpd.conf 파일의 문법적 오류 검사 graceful 웹 서버에 연결된 접속을 끊지 않고, httpd.conf 의 설정만 다시 읽어들임. grac..
-
2022.03.16
[리눅스 명령어] httpd
httpd 아파치 웹 데몬을 실행하는 명령 사용법 # httpd [option] [filename] 주요 옵션 옵션 설명 -t 환경 설정 파일인 httpd.conf 의 문법적 오류 검사 -f 새로 설정한 conf 파일이 있을 경우, 그 설정 파일로 아파치 데몬을 구동할 때 사용 -S 설정되어 있는 가상 호스트 출력 -l 정적 컴파일된 모듈에 대한 목록 출력 (Static Module) -k - httpd 데몬에 시그널을 보내는 옵션 - 다음을 인자값으로 지정할 수 있음. ▶ stop ▶ start ▶ restart ▶ graceful -M 정적 컴파일 모듈과 공유 모듈을 전부 출력함. (Static & Shared Module) -V httpd에 빌드된 파라미터(Parameter)와 버전 정보를 출력함...
-
2022.03.15
[Computer Animation] Vector Operations
Vector Operations Scalar vs. Vector Scalar : a quantity, such as time or temperature, that has magnitude(규모) but not direction. Vector : a variable quantity, such as force, that has size and direction. Scalar vs. Vector vs. Matrix Addition and Scalar Multiplication Let $a$ and $b$ be 3D Vectors and $s$ is a scalar value. Vector Addition Vector-Scalar Multiplication Vector Length (Magnitude) Unit..
-
2022.03.15
[Computer Animation] Point and Vector (Affine Geometry)
Point and Vector (Affine Geometry) Animation Function of time Movement 1D Space Uniform Speed Non-Uniform Speed 2D or 3D Space Cartesian Coordinate System(데카르트 좌표계) 를 사용하여 표현한다. 함수가 만들어지는 절차 Sampling Global Points In a New Coordinates System Sampling Difference Vectors In a New Coordinates System Function Points and Vectors Points and Vectors A Point is a position specified with coordinate value..
-
2022.03.15
[리눅스 명령어] rsync
rsync Remote Synchronous 네트워크로 연결된 원격지의 파일들을 동기화하는 유틸리티 예전에 사용하던 rcp(remote copy)에 비해 처리 속도가 빠르다. 다음의 기능을 제공한다. 링크된 파일이나 디바이스 파일도 복사가 가능하다. 그룹을 포함한 소유권 및 허가권도 유지하여 복사할 수 있다. GNU tar 와 유사한 옵션을 사용한다. 특정 부분만 백업할 수 있다. CVS의 exclude 모드처럼 같은 파일들은 제외할 수 있다. ssh나 rsh을 이용하여 전송 가능하고, root 권한이 필요하지 않다. 내부 파이프라인을 통하여 전송 기간을 줄인다. 익명(Anonymous) 사용자 및 인증된 사용자를 지원한다. 미러링(Mirroring)에 이상적이다. 로컬 시스템의 백업 시에는 별다른 서버..
-
2022.03.15
[리눅스 명령어] dump / restore
dump / restore 파일들이 아닌 파일 시스템 전체를 백업할 때 사용하는 유틸리티 보통 파티션 단위로 백업할 때 많이 사용 전체 백업과 증분 백업 지원 0 ~ 9 단계의 레벨을 갖고 증분 백업을 지원한다. 레벨 0 : 전체 백업 나머지 레벨은 부분 백업 시 사용된다. 백업할 때 /etc/fstab 파일을 참조한다. 데이터 복원은 restore 명령을 사용하면 된다. 관련 명령어가 존재하지 않으면, 다음의 명령을 실행하여 설치한다. # yum install dump 지원 ext 파일 시스템 계열인 ext2, ext3, ext4만 지원한다. CentOS 7 의 기본 파일 시스템인 XFS 는 지원하지 않는다. dump 파티션 단위로 백업하는 명령 사용법 # dump option 파일명 백업대상 주요 옵..
-
2022.03.15
[리눅스 명령어] cpio
cpio Copy Input to Output tar 와 비슷한 유틸리티 장점 많은 양의 데이터에 대해서는 tar보다 빠르다. 장치 파일이나 네트워크 파일 등의 특수 파일도 백업이 가능하다. 백업본의 크기도 작다. 백업본에 손상된 부분이 있더라도 손상된 부분을 제외하고 나머지 부분을 복구한다. 기존의 명령어를 사용하여 백업을 진행한다. 다양한 조건을 활용하여 백업이 가능하다. 단점 증분 백업 기능은 지원하지 않는다. 사용법 [ 셸명령어 | ] cpio option > 파일명 cpio option < 파일명 주요 옵션 옵션 설명 -o - 표준 출력(Output)으로 보내어 사용 - (--create) -i - 표준 입력(Input)으로 받을 때 사용 - 백업한 자료를 불러올 때 사용 - (--extract..