개발_기타 23

tar 명령어 (압축, 압축해제)

tar 명령어 # tar 옵션 -c 압축 -x 압축해제 -f 파일이름 지정 -v 과정 출력 -z gzip으로 압축하거나 해제함 (tar.gz, tgz) # ex # 압축하기 tar -cvf [압축 파일명].tar [압축할 폴더 or 파일] # 현재 경로의 모든 파일을 압축 tar -tvf [압축 파일명].tar # 압축해제 tar -xvf archive.tar # tar.gz로 압축 tar -cvfz [압축 파일명].tar.gz [압축할 폴더 or 파일] # tar.gz 압축해제 tar -xvfz [압축 파일명].tar.gz tar과 tar.gz(gzip)의 차이점 tar : 압축하지 않음. 단순히 파일들을 하나로 묶어주는 것 tar.gz : 압축함.

리눅스 파일 권한과 chmod, 특수 권한 (SetUID, SetGID, Sticky-Bit)

리눅스 파일 권한 권한 보는 법 ex) drwxrw-r— 1번째 문자 : 파일의 종류(- : 파일 / d : 디렉토리 / l : 링크) → d : 디렉토리 2~4번째 문자 : 소유주 권한 → rwx : 읽기, 쓰기, 실행 가능 5~7번째 문자 : 소유 그룹 권한 → rw- : 읽기, 쓰기 가능 8~10번째 문자 : 나머지 유저 권한 → r— : 읽기 가능 권한 계산하는 법 1번째 문자(파일 종류)를 제외한 뒤, 소유주, 그룹, 나머지 권한을 각각 2진수로 나타내면 rwx/rw-/r— = 111/110/100 = 764 즉 chmod 644 [파일명]의 경우, 해당 파일 권한을 rw-/r—/r— 으로 수정한다. chmod 파일의 권한을 수정하는 명령어 # 사용법 chmod [권한] [파일명] # 예 # 파..

이클립스(Eclipse) 자주 쓰는 단축키

빌드, 실행 빌드 Ctrl + B 실행 Ctrl + F11 (웹서버 선택 후) 서버 기동 Ctrl + Alt + R (웹서버 선택 후) 디버그 모드로 서버 기동 Ctrl + Alt + D Spring Boot 실행 Alt + Shift + X, B Ant 빌드 Alt + Shift + X, Q 디버그 메소드 내부로 (Step Into) F5 다음 라인으로 (Step Over) F6 메소드 빠져나가기 F7 다음 브레이크 포인트로 F8 현재 라인까지 실행 (Run to Line) Ctrl + R 브레이크 포인터 설정/해제 Ctrl + Shift + B 유닛 테스트 Unit Test 실행 Alt + Shift + X, T 코드 정리 전체 라인 정리 Ctrl + Shift + F import 정리 Ctrl + ..

SSH로 GCP 인스턴스 접속하기

1. RSA 키 생성 ssh-keygen -t rsa -b 4096 -f ~/.ssh/gcp_yohanistory -C [USERNAME] -t [타입명] : 키 암호화 방식 선택 -b [숫자] : type 의 bytes 설정, rsa 암호화 방식은 기본 2048인데 4096으로 설정 (보다 안전함) -f [파일명] : 생성할 key의 경로와 이름. 여기서는 ~/.ssh에 생성함. -C [내용] : 주석 입력. GCP의 메일 계정을 입력한다. ssh-keygen이 완료되면 2개의 키(공개키, 개인키)가 생성된다. 공개키(.pub)를 GCP에 등록하게 되면, 개인키를 갖고 있는 본인만 접속이 가능하게 된다. 2. GCP에 공개키 등록 GCP → Computer Engine → 메타데이터 → SSH키 공개키..

Python | 파이썬으로 정적 페이지 크롤링하기

1. BeautifulSoup 설치 (정적 페이지 크롤링에 사용되는 라이브러리) # 파이썬에 모듈을 설치하기 위해 pip를 설치한다. # 1. 설치 되어있는지 확인 pip # or pip3 # 2. 설치 # Redhat 계열 (CentOS) yum install python-pip # MacOS sudo easy_install pip # MacOS에서 설치 시 Systax Error가 발생하는 경우 curl 'https://bootstrap.pypa.io/get-pip.py' > get-pip.py sudo python3 get-pip.py # 참고 : https://programmerah.com/solved-failed-to-install-pip-for-macos-prompt-syntax-error-i..

gh-pages로 웹페이지 배포 -3- (Github Action으로 배포 자동화하기)

이전 글 2022.03.19 - [분류 전체보기] - gh-pages로 웹페이지 배포 -2- (React 페이지 배포) gh-pages로 웹페이지 배포 -2- (React 페이지 배포) 1. Github 리포지토리 설정 기존에 연결되어 있는 저장소 사용하면 된다. 단, public이어야 한다. (유료버전은 private도 가능) 2. 프로젝트 설정 1) package.json 이 없는 경우 npm init -y 2) gh-pages 설치 npm.. zuyo.tistory.com 1. Github Action 생성 프로젝트에 .github/workflows 라는 이름의 폴더를 생성하고, 그 안에 gh-pages.yml 파일을 생성. 내용은 아래와 같이 작성한다. name: Build and Deploy #..

gh-pages로 웹페이지 배포 -2- (React 페이지 배포)

1. Github 리포지토리 설정 기존에 연결되어 있는 저장소 사용하면 된다. 단, public이어야 한다. (유료버전은 private도 가능) 2. 프로젝트 설정 1) package.json 이 없는 경우 npm init -y 2) gh-pages 설치 npm i gh-pages 3) package.json 설정 homepage (경로에 대문자가 있어선 안 됨) https://[유저이름].github.io/[프로젝트명(원격저장소명)]/ "homepage": "https://shield41791.github.io/movie_app/" 스크립트 추가 "deploy": "gh-pages -d build", "predeploy": "npm run build" 3. 스크립트 실행 npm run deploy de..

IntelliJ 단축키 (mac, Windows)

자주 사용하는 IntelliJ 단축키 정리 OS : macOS, Windows ⇧ : shift ⌃ : controll ⌥ : option ⌘ : command Home : fn + ← End : fn + → Page Up : fn + ↑ Page Down : fn + ↓ 일반 ⌘ 0~9 (Alt + [0-9]) : 각 도구창 토글 ⌘+1 : Project ⌘+2 : Favorite ⌘+3 : Search ⌘+4 : Run ⌘+5 : Debug ⌘+6 : Problems ⌘+7 : Structure ⌘+8 : Services ⌘+9 : VCS ⌥ F12 : Terminal ⌘ ⇧ F12 (Ctrl + Shift + F12) : 편집기 영역 최대화 토글 ⌘ , (Ctrl + Alt + S) : 설정 (Se..

대칭키, 공개키(비대칭키) 암호화 통신

키를 이용한 암호화 통신은 크게 대칭키 암호화 방식과 공개키 암호화 방식으로 나뉜다. 1. 대칭키 암호화 방식 (symmetric-key algorithm) 대칭키 방식은 통신하는 주체들이 동일한 비밀키를 갖고, 그 키를 이용해 암복호화하며 통신하는 방식이다. 하나의 키로 암호화, 복호화가 가능하다. 그러나 대칭키 방식의 문제점이 있다.. 키 교환 (처음에 대칭키를 어떻게 전달할거냐?) → 키 교환엔 비대칭키 방식을 사용하면 해결 가능 키 관리 (통신할 주체가 늘어나면 그 수만큼 대칭키가 늘어나게 됨) 키를 도난당한 경우 복호화 될 수 있음 ※ 대표적인 대칭키 알고리즘으로는 DES, triple-DES, RC4, IDEA, AES 등의 외산 알고리즘과 SEED, ARIA 등의 국산 알고리즘이 있다. 우리..