목록분류 전체보기 (92)
새벽을 밝히는 붉은 달
np.meshgrid 함수: 2개의 1차원 배열을 받아 가능한 한 모든 (x, y) 짝을 만들 수 있는 2차원 배열 2개를 반환한다. np.where 함수: x if 조건 else y 같은 삼항식의 벡터화된 버전 np.array 함수는 두 번째 와 세 번째 인자는 배열이 아니어도 괜찮다. 둘 중 하나 혹은 둘 다 스칼라값이라도 동작한다. np.array함수는 데이터 분석에서 다른 배열에 기반한 새로운 배열을 생성하는 식으로 자주 사용한다. sum 배열 전체 혹은 특정축에 대한 모든 원소의 합을 계산한다. 크기가 0인 배열에 대한 sum 결과는 0이다. mean 산술평균을 구한다. 크기가 0인 배열에 대한 mean 결과는 NaN이다. std, var 각각 표준편차(std)와 분산(var)을 구한다. 선택적..
ndarray는 같은 종류의 데이터를 담을 수 있는 포괄적인 다차원 배열이다 ndarray의 모든 원소는 같은 자료형이어야만 한다 모든 배열은 각 차원의 크기를 알려주는 shape라는 튜플을 가지고 있다. 모든 배열은 배열에 저장된 자료형을 알려주는 dtype이라는 객체를 가지고 있다. array 함수를 이용하면 순차적인 객체를 받아 넘겨받은 데이터가 들어있는 새로운 NumPy 배열을 생성한다 명시적으로 지정하지 않는 한 np.array는 생성될 때 적절한 자료형을 추정한 후, 이를 dtype 객체에 저장한다. zeros와 ones는 주어진 길이나 모양에 각각 0과 1이 들어있는 배열을 생성한다. empty 함수는 초기화되지 않은 배열을 생성한다. arange 함수는 range 함수의 배열 버전이다. 배..
그동안 VMware로 가상머신 돌려서 리눅스를 썼기 때문에 오랜만에 WSL을 쓰게 되었다. 실행은 정상적으로 되는데, network가 연결이 되지 않는 것을 알 수 있었다. 처음에는 단순히 git repository를 clone을 하려고 했는데 실패해서, nameserver에 문제가 생긴 줄 알고 해당 주소를 변경 후 nslookup으로 확인해보았으나 여전히 안 되길래, ping을 날려보았더니 network가 아예 연결이 안 되어있다는 것을 깨달았다. 구글링을 통해 ubuntu에서 network is unreachable이 뜰 때의 해결방법을 시도해보았으나, 여전히 나의 wsl에서는 인터넷이 연결되지 않았고, 어디가 문제일까 하다가 ubuntu 내부의 문제가 아니라 외부의 문제가 아닐까 짐작을 하고 찾아..
이것이 우분투 리눅스다 SMTP(Simple Mail Transfer Protocol): 클라이언트가 메일을 보내거나 메일 서버끼리 메일을 주고 받을 때 사용하는 프로토콜 POP3(Post Office Protocol)/IMAP(Internet Mail Access Protocol): 메일 서버에 도착한 메일을 클라이언트로 가져올 때 사용하는 프로토콜 Sendmail 서버의 작동 원리 1. 메일 클라이언트 1은 SMTP 프로토콜을 이용해서 메일 서버의 sendmail 서비스(=데몬)에 메일을 보내달라고 요청한다 2. Sendmail 서비스는 메일을 '메일 큐'에 넣어둔다 3. Sendmail 서비스는 시간이 되면 MDA에 메일을 보내달라고 요청한다 4. MDA는 SMTP 프로토콜을 이용해서 메일 서버 2..
텔넷 서버 구축 과정 요약 1. 텔넷 서버 설치 2. 설정 파일 편집 3. 텔넷 전용 사용자 생성 4. 텔넷 서비스 가동 5. 방화벽 설정 (포트 열기) 6. 클라이언트에서 접속 Ubuntu 20.04의 버그로 /etc/security 파일이 누락되어 텔넷으로 root 사용자 접속이 가능함 root 사용자의 텔넷 접속을 허용하는 것은 좋은 생각이 아님 -> root의 권한이 필요하다면 일반 사용자로 접속 후 sudo 명령 사용 텔넷은 서버와 클라이언트 사이에서 데이터를 전송할 때 암호화하지 않아 해킹 위험에 노출됨 (예: Windows에서 리눅스로 접속할 때 사용하는 아이디와 비밀번호가 그대로 노출) 이를 보완하기 위해 OpenSSH 서버를 사용함 OpenSSH 서버 구축 과정 요약 1. ssh 서버 설..
for ~ in 문 for 변수 in 값1 값2 값3 .... do 반복할 문장 done while 문 while 조건 do 반복할 문장 done until 문: 조건식이 참일 때까지 계속 반복 사용자 정의 함수 함수이름 () { // 함수 정의 내용 입력... } 함수이름 // 함수 호출 함수의 파라미터 사용 함수이름 () { // 함수 정의 $1, $2 ..... 등 사용 } 함수이름 parameter1 parameter2 // 함수 호출 eval : 문자열을 명령문으로 인식하고, 실행함 export: 외부 변수로 선언 -> 선언한 변수를 다른 프로그램에서도 사용할 수 있게 함 set $(명령) : 리눅스 명령을 결과로 사용 shift: parameter를 왼쪽으로 시프트함 참고: 이것이 우분투 리눅..
if 문 if [ 조건 ] then 참인 경우 실행 else 거짓인 경우 실행 fi 문자열 비교 연산자 "문자열1" = "문자열2" // 두 문자열이 같으면 참 "문자열1" != "문자열2" // 두 문자열이 같지 않으면 참 -n "문자열" // 문자열이 NULL이 아니면 참 -z "문자열" // 문자열이 NULL이면 참 산술 비교 연산자 수식1 -eq 수식2 // 두 수식(또는 변수)이 같으면 참 수식1 -ne 수식2 // 두 수식(또는 변수)이 같지 않으면 참 수식1 -gt 수식2 // 수식1이 크면 참 수식1 -ge 수식2 // 수식1이 크거나 같으면 참 수식1 -lt 수식2 // 수식1이 작으면 참 수식1 -le 수식2 // 수식1이 작거나 같으면 참 !수식 // 수식이 거짓이면 참 파일조건 -d..
LVM(Logical Volume Manager): 여러 개의 하드디스크를 합쳐서 한 개의 파티션으로 구성한 후, 다시 필요에 따라 나누는 것이 주요 용도. 쿼터(Quota): 파일 시스템마다 사용자나 그룹이 생성할 수 있는 파일의 용량과 개수를 제한하는 것 $ edquota -p 대상사용자 // 각 사용자별 또는 그룹별 할당량을 편집. 기본적으로 nano 에디터가 열림 hard 한도를 초과하면 더 사용할 수 없음. hard 한도까지 사용할 수 있는 남은 용량만큼만 복사되기 때문에 마지막에 오류가 발생한 파일은 정상적인 파일이 아니게 됨. 소프트 한도를 초과하는 초과 공간은 grace 동안만 사용할 수 있으므로 그 이내에 초과 공간을 정리해야 함 shell에 설정된 환경 변수는 echo $환경변수이름 형..