숫자만 추출

const str = "aAb1B2cC34oOp";
const numbers = str.match(/\d+/g);
// ["1", "2", "34"]

/\d+/g

  • \d+ : 연속된 하나이상의 숫자에 매칭
  • g : 전체 문장
  • 전체 문장에서 연속된 하나이상의 숫자에 매칭되는 문자를 찾는다. 

참고로 \D+ 는 숫자가 아닌 문자들을 찾는 패턴

 

3x , 7, 2x 추출

const str = "3x + 7 + 2x"
const numberX = str.match(/\b\d+x\b/g); // [ '3x', '2x'] 
const number = str.match(/\b\d+\b/g);   // ['7']
const number2 =str.match(/\d+/g);       //['3', '7', '2']

/\b\d+\b/g

  • \b : 단어의 경계를 의미 --- |on| |the| |board|  에서 | 가 경계
  • \d+x : 연속된 하나이상의 숫자와 x로 이루어진 패턴
  • g : 전체 문장

HTTPS 통신 방식 요약

먼저 비대칭키 암호화 방식을 사용하여 대칭키를 교환하여 안정성을 확보하고
데이터 전송을 할때에는 대칭키 암호화 방식을 이용하여 효율성을 확보

 

HTTPS 통신 방식 단계별  설명

 

1. 클라이언트가 서버에 접속

    ▷ 클라이언트가 서버에 접속하여 SSL / TLS 핸드쉐이크 시작

 

2. 서버의 인증 및 공개키 전달 

    ▷ 서버에서 CA 로 부터 받은 공개키가 포함된 인증서를 클라이언트에 전달

 

3. 키 교환 (비대칭키 암호화 방식 사용)

    ▷ 클라이언트에서 임의로 대칭키를 생성

    ▷ CA를 확인하고 얻은 공개키를 이용하여 생성한 대칭키를 암호화

 

3. 세션키 확보 (비대칭키 암호화 방식 사용)

    ▷ 클라이언트에서 암호화된 대칭키를 서버에 전달

    ▷ 서버에서 개인키를 이용하여 복호화 하여 대칭키를 획득

 

4. 데이터 전송 (대칭키 암호화 방식 사용)

    ▷ 데이터를 전송을 하는 쪽 (서버 / 클라이언트) 에서 세션키(대칭키)를 이용하여 암호화

    ▷ 데이터를 받은 쪽 (클라이언트 / 서버) 은 세션키를 이용하여 복호화

 

SSL 핸드쉐이크의 동작 과정을 나타낸 그림

"그림으로 쉽게 이해해는 웹" 에 있는 그림

 

[ 웹 ] 비대칭키(공개키)와 대칭키 비교

 

[ 웹 ] 비대칭키(공개키)와 대칭키 비교

대칭키 (Symmetric Key) 암호화 암호화와 복호화에 같은 키를 이용하는 방식 장점 단점 ◎ 빠르게 암호화 복호화 가능 ◎ 구현이 간단 ◎ 키 전달시 보안에 대한 주의 필요 ◎ 송 / 수신자 간에 동일

joey0203.tistory.com

[책][그림으로 쉽게 이해하는 웹 - HTTP- 네트워크] - 6장 : HTTP (Hypertext Transfer Protocol)

 

6장 : HTTP (Hypertext Transfer Protocol)

웹의 짝궁 HTTP 커피숍에서 주문없이 자리에만 앉아 있으면 커피는 제공되지 않는다. → 요청(주문)이 없으면 응답(커피)이 없다. Http(hypertext Transfer Protocol)?? 웹 브라우저와 웹 서버간에 데이터를

joey0203.tistory.com

 

디렉터리나 파일의 owner 와  group 을 변경하여 사용자와 그룹에 대한 권한을 설정가능

 

chown [옵션] owner[:group] file

 

 

예시

# 파일소유자를 jeongwoo 으로 변경
$ chown jeongwoo personal.file 

# "moe.dir" 및 이 디렉토리 아래의 모든 파일 및 서브디렉토리에 대한 소유자를 "larry"로 반복적으로 변경
$ chown -R larry moe.dir

# "memo.txt" 파일의 소유자를 "sam", 파일의 소유 그룹을 "abbey" 로 변경 
$ chown sam:abbey memo.txt

 

옵션정보 ( $ man chown )

옵션 내용
-R recursicve, 지정한 파일 혹은 폴더의 하위까지 변경
-H (R 과 같이 사용) 명령어에 지정된 심볼릭 링크가 가리키는 대상의 소유권이 변경
해당 대상 내부에 또 다른 심볼릭 링크가 있으면 그 링크는 변경안됨
-L (R 과 같이 사용) 심볼릭 링크가 가리키는 실제 파일이나 디렉토리의 소유권도 변경
-P (R 과 같이 사용) 명령어 내의 모든 파일과 디렉토리의 소유권을 변경하지만, 
심볼릭 링크가 가리키는 대상은 변경하지 않고 심볼릭 링크 자체의 소유권만 변경
-h 파일이 심볼릭 링크인 경우 링크자체의 사용자 및 그룹 을 변경
(기본값)  명령어에 심볼릭링크가 있다면 링크 자체의 소유권만 변경

 

 

참고자료

https://www.ibm.com/docs/ko/i/7.3?topic=directories-chown

 

chown - 파일 소유권 변경

요약 chown [-R [ -H | -L | -P ]] [ -h ] owner[:group] file ... 설명 chown을 사용하여 파일의 소유자를 소유자가 지정한 사용자 ID 또는 프로파일로 설정할 수 있습니다. 선택적으로 chown은 파일의 그룹을 그룹

www.ibm.com

 

 

명령어는 파일이나 디렉터리의 접근 권한을 변경

 

사용하는 방법

chmode [option] [mode] [file]

 

Option 내용
-v 모든 파일에 대해 모드가 적용되는 진단(diagnostic) 메세지 출력
-f 에러 메세지 출력하지 않음
-c 기존 파일 모드가 변경되는 경우만 진단 메세지 출력
-R 지정한 모드를 파일과 디렉토리에 대해 재귀적으로 적용

 

Mode 내용
u, g, o, a 소유자 (u), 그룹 (g),  그 외 사용자 (o), 모든 사용자 (a)
+, -, = u,g,o,a 에게 권한 추가 (+) 제거(-) 지정(=)
r w x 읽기 권한 (r), 쓰기 권한 (w) , 실행 권한 (x)
X X 는 권한 지정 대상이 "실행(x) 권한을 가져도 괜찮은 경우에만 실행 권한을 지정"

 

예시

$ chmod u+x FILE        # 파일 소유 사용자에게 실행권한 추가.
$ chmod ug=rw FILE      # 파일 소유 사용자와 그룹에게 읽고쓰기 권한 지정
$ chmod u=rwx,g=r FILE  # 파일 소유 사용자는 모든권한 지정, 그룹에게는 읽기권한 지정
$ chmod u-x FILE        # 파일 소유 사용자의 실행 권한 제거.

 

 

참고자료

https://recipes4dev.tistory.com/175

 

리눅스 chmod 명령어 사용법. (Linux chmod command) - 리눅스 파일 권한 변경.

1. 리눅스 파일 사용 권한 리눅스에서, 파일(File)을 사용해 할 수 있는 작업은 크게 세 가지로 나눌 수 있습니다. 파일에 저장된 데이터를 읽기. (r = read). 파일에 데이터를 쓰기. (w = write). 파일 실

recipes4dev.tistory.com

 

+ Recent posts