728x90

전체 글 317

108 삐약 : 백준 17266 | 어두운 굴다리 [이분 탐색|Binary Search |JAVA]

https://www.acmicpc.net/problem/17266  package BOJ;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class BOJ_17266 { static int[] lights; static int N, M; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); N = Integer.parseInt(br.readLine()); ..

[github action| AWS] .pem key secret setting , EC2 접속 | Mac

pre github action을 사용하여 ec2에 배포하는 것을 자동화 하는 테스트 진행 중 목적ec2에 접속하기 위한 pem key 등록 및 접속  name: EC2 deployon: push: branches: ["main"]jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Run Tests run: echo "hello world"  1. 레포 -> Setting -> Secrets and variables -> action 선택- 깃허브 액션 용 시크릿 파일을 담아두게따.   2. New Repository secret -> 새로운 secret 정보 추..

[Github] GitHub Actions | 깃허브 액션

Github actions특정한 이벤트가 발생했을 때 내가 원하는 일을 자동으로 수행할 수 있도록 만들어 둔 툴 흐름Event : 깃허브에서 발생할 수 있는 대부분의 이벤트ex) main 브랜치로 머지ex) 커밋을 푸쉬ex) 누군가 이슈를 열었을 때ex) push, PR, Cron : 특정 시간대에 반복, Webhook을 사용해 외부 이벤트 실행Workflows수행하고 싶은 일.aka. 요리 책.yaml 파일로 작성github/workflows 폴더 아래 저장Jobs ; 작업하나 혹은 다수의 job을 가질 수 있음병렬적으로 동시다발적으로 실행.순차적인 진행이 필요한 경우 그렇게 구현 가능각 작업 안에는 진행되는 절차(;step)가 명시되어있음shell script 사용하여 커맨드를 실행하거나 action..

[리눅스 | Linux] 파이프라인, 리다이렉션 적용 예제

ubuntu@civic-asp:~/colors$ vi colors.txtubuntu@civic-asp:~/colors$ cat colors.txt blueblackredredgreenbluegreenredredblue colors.txt를 생성한다.  ubuntu@civic-asp:~/colors$ favcolors.txtubuntu@civic-asp:~/colors$ lacolors.txt favcolors.txtubuntu@civic-asp:~/colors$ cat favcolors.txt 4 red 3 blue 2 green colors.txt에서 가장 많이 존재하는 색상의 개수와 이름을 상위 3개 추출하는 명령어를 수행한다.   단계적으로 파악하자.     1. c..

[리눅스 | Linux] 리다이렉션 파이프라인

# 리눅스 표준 스트림 동작 과정일반적으로 커맨드command로 실행되는 프로세스process는 표준 입력 스트림standard input stream ; stdin, 표준 출력 스트림standard output stream; stdout과 오류 출력 스트림standard error stream ; stderr을 가지고 있다.기본적으로 이 모든 스트림은 일반적인 문자열plain text로 콘솔console에 출력 하게 되어 있다.   # 리다이렉션표준 스트림의 흐름을 바꿔준다. == 실행된 프로세스의 스트림을 콘솔이 아닌 파일로 사용하고 싶을 경우 사용.기호방향의미>표준 출력명령의 결과를 파일로 저장; 기존 파일 덮어씀>>표준 출력(append)명령의 결과를 기존 파일에 추가표준 입력파일의 데이터를 명령..

[리눅스 | Linux] 리눅스 패키지 | 디렉토리 구조 | 마운트

# 리눅스 패키지; Linux Package시스템에서 소프트웨어를 실행하는데 필요한 파일들(실행 파일, 설정 파일, 라이브러리 등)이 담겨있는 설치 파일 묶음종류1.소스패키지 소스 코드가 들어있는 패키지컴파일 과정을 통해 바이너리 파일로 만들어야 실행 가능설치 시 컴파일 작업도 진행.-> 설치 시간 김, 작업 과정에서 오류 발생 가능원하는 대로 소프트웨어를 수정하여 사용 가능2.바이너리 패키지성공적으로 컴파일된 바이너리 파일이 들어있는 패키지이미 컴파일 되어있음-> 설치시간 짧고 오류발생 가능성 적음대부분의 리눅스 기본 설치 패키지문제점 : 내 컴퓨터 환경과 바이너리 패키지가 컴파일된 환경이 다를 경우 문제 발생 패키지 의존성소프트웨어 패키지가 실행되거나 설치되기 위해 다른 패키지나 라이브러리에 의존하는..

[네트워크] TCP Handshake | TIME-WAIT

# TCP 연결 수립 과정  연결 수립 /  연결 해제  시 : 상대방이 보낸 시퀀스 번호 +1 로 승인 번호를 계산하여 반환 0.initClient : CLOSEDclient_seq_num = 0Server : LISTENserver_seq_num = 100 1. client -> server / SYNClient : SYN-SENTseq_sum = 0Server : CLOSED 2. server -> client / SYN + ACKClient : SYN-SENTServer = SYN_RECIEVEDack_num = 1_seq_num +1 == 0+1 ==1seq_num = 100 3. client -> server / ACKClient : ESTABLISHEDack_num = 2_seq_num + ..

[네트워크] TCP 헤더

# TCP 헤더   크기 기본 : 20byte == 160 bitsOption field 미 사용최대 : 60byte == 480bitsOption field 전체 사용 # 구성 요소1. Source Port / Destination Port크기 : 2byte == 16bits출발지와 목적지를 나타내는 포트TCP헤더에는 IP주소를 나타내는 필드가 아니라 포트를 나타내는 필드가 존재.IP주소는 한 계층 밑에 있는 IP헤더에 담김  2. Sequence Number크기 : 4byte == 32bits전송하는 데이터의 순서최대 표현 순서 : 4,294,967,296-> 중복 염려 x수신자는 쪼개진 세그먼트의 순서를 파악하여 올바른 순서로 데이터를 재조립 할 수 있게 된다.적용최초 전송 시 seq num을 랜덤..

[네트워크] 프록시 | 로드밸런서

# 프록시 ; Proxy클라이언트와 서버 간의 통신을 중계하는 역할을 하는 서버나 소프트웨어.클라이언트는 서버에게 직접 요청을 보내지않고 프록시를 통해 요청을 보냄프록시는 해당 요청을 대신 서버에게 전달하여 응답을 받아 클라이언트에게 전송프록시 서버 : 프록시 기능을 수행하기 위해 사용되는 서버   # 포워드 프록시일반적으로 여겨지는 프록시주역할 : 웹서버 로드 감소 위치클라이언트 바로 뒤에 있다== 인터넷보다 프록시 서버를 먼저 호출한다.프록시 서버는 같은 내부망에 존재하는 클라이언트의 요청을 외부 네트워크(인터넷)로 중계-> 서버에게 클라이언트가 누군지 감추는 역할.  특징 및 역할1. 캐싱; 불필요한 로드 감소웹페이지나 이미지와 같이 자주 요청되는 컨텐츠를 캐싱클라이언트가 동일한 컨텐츠에 대해 다..

[네트워크] SSH

# SSH; Secure Shell원격 호스트에 접속하기 위해 사용되는 보안 프로토콜원격 서버나 컴퓨터에 안전하게 접속하고 명령을 실행하거나 파일을 전송하기 위해 사용포트번호 : 22 작동 원리사용자와 서버는 각각의 키를 보유하고 있으며 이 키를 이요해 연결 상대를 인증하고 안전하게 데이터를 주고 받음. # 비대칭 키 방식1. 서버 또는 사용자가 공개 키와 개인 키 두 가지로 이루어진 Key pair를 생성2. 서버는 공개키를 받아서 이 키로 만들어진 랜덤한 값을 생성하여 사용자에게 전달.사용자가 올바른 키페어를 가지고 있는지 시험3. 사용자는 키페어 시 함께 생성된 개인 키를 이용해 전달된 암호문을 해석.개인키는 공개키와 달리 어디에도 보여주면 안됨. 개인키 == 서버와 사용자 간의 사이를 증명하는 수..

728x90