본문 바로가기

시스템

SELECT 기본 용법 ▣ 기본 문법 SELECT select_expr} [FROM table_references] [WHERE where_condition] [GROUP BY {col_name | expr | position}] [HAVING where_condition] [ORDER BY {col_name | expr | position}] [LIMIT {[offset,] row_count | row_count OFFSET offset}]; SELECT 열_이름 FROM 테이블_이름 WHERE 조건식 GROUP BY 열_이름 HAVING 조건식 ORDER BY 열_이름 LIMIT 숫자 예시) SELECT mem_name, addr FROM member WHERE addr IN('경기', '전남', '경남'); -- OR와 .. 더보기
원격 서버에 Jupyter NoteBook으로 접근하기 원격 리눅스 서버에 XRDP를 설치하면 '원격 GUI 접속'이 되지만, 잘 안되는 경우가 많다. 차선으로 생각할 수 있는 방법이 원격 서버에 Jupyter Notebook으로 접근하는 것이다. 1. 원격 서버에서 열어줄 포트 번호를 지정한다. - 아래 예시에서는 8890 포트로 들어오는 것은 Jupyter Notebook으로 연결하겠다는 것이다. # Replace with your selected port number jupyter notebook --no-browser --port= ex) jupyter notebook --no-browser --port=8890 --allow-root 2. 로컬 머신에서 SSH로 원격 서버에 접속한다. # Replace with the port number you s.. 더보기
Dockerfile로 부터 Container 생성 개요 Dockerfile은 텍스트 파일로서 이미지(image)를 빌드 할때 호출 할 수 있는 명령어(+인자) 목록을 담고 있다. 주요 명령어 주요 명령어로는 FROM, CMD, ENTRYPOINT, VOLUME, ENV이 있다. 예시) #Pull base image FROM ubuntu #Install Apache RUN apt-get update -y && apt-get install apache2 apache2-utils -y#Define default port EXPOSE 80 ENTRYPOINT [ "/usr/sbin/apache2ctl" ]#Define default command CMD [ "-D", "FOREGROUND" ] FROM : 도커 이미지 이름을 적는다 RUN : 사용할 디펜던시와.. 더보기
commit --amend 1. 상황 2. 해결법 3. 결과 1. 상황 - 이미 Commit한 로그를 내용을 추가하여 덮어 씌우려고 한다. $ git log commit 326fc9f70d022afdd31b0072dbbae003783d77ed Author: yourname Date: Mon Jul 16 23:17:56 2012 +0900 add의 설명을 추가 commit 48eec1ddf73a7fb508ef664efd6b3d873631742f Author: yourname Date: Mon Jul 16 23:16:14 2012 +0900 first commit 2. 해결법 - git commit --amend 명령을 이용한다. - Branch의 노드가 추가되지 않고, 기존 노드에 덮어씌우게 된다. $ (파일을 스테이징 하거나, 수.. 더보기
네트워크 명령어 nslookup 네트워크 관리 명령 줄 인터페이스 도구로서 많은 컴퓨터 운영 체제에서 사용 가능하며, 도메인 네임을 얻거나 IP 주소 매핑 또는 다른 특정한 DNS 레코드를 도메인 네임 시스템(DNS)에 질의할 때 사용된다. --> 도메인 이름과 IP 주소 매핑 관계를 나타낸다고 이해하였다. 더보기
HTTPS 조사 HTTPS(Hyper Text Transport Protocol Secure) 정의 - HTTPS는 서버에 TLS 인증이 설치된 것을 전제로 한다. 임의로 생성된 공개/개인키가 서버에 저장된다. 공개키는 클라이언트에 전달된다. HTTPS Handshake - 클라이언트(브라우저)는 서버에 연결하며 인증이 유효한 것인지 확인하다. - 핸드 쉐이크가 이루어진 이후에는 모든 통신은 암호화 된다. 출처) https://love2dev.com/blog/how-https-works/ https://coding-start.tistory.com/208 https://www.wireshark.org/docs/wsug_html_chunked/ChapterIntroduction.html#ChIntroWhatIs 더보기
git (init , add, commit, reset) 설명 Contents 1) git init , git add, git commit 2) git reset 3) git reset vs git restore ▶ git init , git add, git commit 1) git init 명령을 실행하면 git 저장소가 생겨나고 HEAD는 아직 없는 브랜치를 가리킨다. 포인터가 생성. 2) git add 명령을 하면 Working Directory 내용을 Index로 복사한다(혹은 Statging 한다). 3) git commit 명령을 하면 master가 커밋 객체를 가리키게 한다. 포인터가 드디어 가리킨다. 4) 파일을 수정한 후 다시 git commit 하면(위의 1 ~ 3 절차를 다시 반복하면) 아래와 같이 된다. 즉, master가 새로운 커밋 객체를 .. 더보기
다중 접속 서버 구현 방법 (feat. IPC, Thread) 다중 접속 서버의 구현 방법 1) 멀티프로세스 기반 서버 : 다수의 프로세스 생성하는 방식 프로세스 생성 좀비프로세스 소멸 시그널 함수 등록 멀티프로세스 기반 다중 접속 서버 2) 멀티플렉싱 기반 서버 : 입출력 대상을 묶어서 관리하는 방식 3) 멀티쓰레딩 기반 서버 : 클라이언트 수만큼 쓰레드를 생성하는 방식 동기(Motivation) 방법(Method) Thread-Safe, Thread-Nonsafe Synchronization(mutex, semaphore 멀티 쓰레딩 기반 다중 접속 서버 1) 멀티 프로세스 기반 서버 1-1) 프로세스 생성 - fork 함수 호출하는 순간 자식 프로세스가 복사되어, 각각의 fork 함수 환 값을 받게 된다. (자식 프로세스는 fork 함수가 호출된 위치까지 실행.. 더보기