공부

[자료구조] CS 질문 & 답변 정리

질문 1. 배열과 연결 리스트의 차이 2. 각 자료구조의 시간복잡도 시간복잡도 Array Array list Linked List Doubly Linked List 삽입 삭제 조회 특징 및 장단점 1) 삽입/삭제 시 특징은? 2)최악의 경우를 고려한 시간복잡도는? 배열과의 차이점은? 최악의 경우를 고려한 시간복잡도는? - 3. 연결리스트, 이중 연결리스트에서 삽입, 삭제, 조회의 시간복잡도가 O(1)이 나오려면 어떤 경우 인가? 4. 스택 & 큐의 형태에 대해 설명하시오 5. 이진 탐색 트리 탐색의 시간복잡도는? 6. 전위, 중위 후위에 대한 순서는? 전위: 중위: 후위: 7. 우선순위 큐의 구조와 시간복잡도는? 8. 해시 테이블의 구조와, 조회가 빠른 이유는? 9. 해시 테이블의 충돌이 발생할때 분리 ..

공부

Union-Find, 크루스칼 알고리즘, 프로그래머스 문제풀이

1. Union FInd 관련 정리 노드와 간선이 연결되어 그래프가 주어질 때, 각 노드의 부모노드를 찾아 반환해주는 알고리즘 즉, 연결된 노드끼리 같은 그래프에 포함되어 있는지 확인하는 알고리즘 # 부모 노드 탐색 테이블에 위치한 값을 반환 def getgraph(graph, x): if graph[x] == x: return x else: return getgraph(graph, graph[x]) # 연결된 두 노드 중 부모 노드를 입력하는 함수 def uniongraph(graph, a, b): a = getgraph(graph, a) b = getgraph(graph, b) print(graph, a, b) if a < b: graph[b] = a else: graph[a] = b # 연결된 두 ..

보안

DDoS 분산 서비스 거부 공격종류

1. DDoS(Distributed Denial of Service) 분산 서비스 거부 다수의 PC를 좀비PC로 만들어 하나의 표적 서버를 공격함으로 일시적으로 서비스 중단을 일으키는 공격 2. DDoS(Distributed Denial of Service) 분산 서비스 거부 ■ SYN Flood 3-way handshake과정에서 마지막 ACK패킷을 서버가 기다리는 동안 공격자가 더 많은 SYN 패킷을 전송 ■ UDP Flood 공격자가 봇넷을 활용해 공격대상에게 서버로 많은 양의 트래픽 전송 ■ HTTP Flood 공격 대상 웹사이트에 지속적으로 많은 양의 HTTP GET 요청을 보내 웹서버 자원을 소진하게해 일반사용자들이 웹서버 방문 불가능

블록체인

Blockchain(블록체인)과 보안요소 특징

블록체인과 보안요소 관계 ■ 무결성 이전 블록의 해시값과 연결된 형태로 이루어져있기 때문에, 악의적으로 조작하게 된다면 블록이 깨져 해당 사용자는 블록체인 네트워크에 접속할 수 없음. 일단 트랜잭션이 블록체인에 기록되면 해당 내용을 삭제하거나 되돌리는 것이 거의 불가능 ※ 실제로 하이퍼레저 패브릭을 구축해 블록에 있는 값을 변경했을때, 해당 사용자(Peer)로 블록체인 네트워크에 접속할 수 없었음 ■ 안전성 블록체인 시스템은 중앙서버없이 분산되어 저장되기 때문에 시스템, 데이터 모두 사용자들에게 공통으로 분산되어 자장됨 따라서, 공격을 위해서는 절반이상의 사용자를 해킹해야하기 때문에 비트코인, 이더리움과 같은 큰 네트워크에서는 현실적으로 불가능함 ■ 익명성 블록체인 네트워크에서 계정을 생성할 때 제 3자..

서버

AWS 글로벌 인프라 구성

1. AWS 글로벌 인프라 구성 ■ Region AWS 인프라를 지리적으로 나누어 배포한 것 글로벌하게 분포되어 있는 지역중 실제 서비스를 사용할 사용자 층과 가까운 리전을 선택해야함 코드 이름 옵트인 상태 us-east-2 US East (Ohio) 불필요 us-east-1 미국 동부(버지니아 북부) 불필요 us-west-1 미국 서부(캘리포니아 북부) 불필요 us-west-2 미국 서부(오리건) 불필요 af-south-1 아프리카(케이프타운) 필수 ap-east-1 아시아 태평양(홍콩) 필수 ap-south-2 아시아 태평양(하이데라바드) 필수 ap-southeast-3 아시아 태평양(자카르타) 필수 ap-southeast-4 아시아 태평양(멜버른) 필수 ap-south-1 아시아 태평양(뭄바이) 불..

보안

ARP(Adress Resolution Protocol)에 대한 개념 및 생성과정

1. ARP(Adress Resolution Protocol) 논리주소(IP 주소) -> 물리주소(MAC 주소) 논리주소(IP 주소)를 통해 상대방의 물리주소(MAC 주소)로 알아오는 '주소해석 프로토콜' 1.1 ARP 필요성 ARP는 IP주소와 MAC주소를 일대일 매핑시켜 LAN에서 목적지를 찾아갈 수 있도록 하는 프로토콜 1.2 ARP(Adress Resolution Protocol) Process ① 송신지에서 목적지 IP를 지정해서 패킷 송신(ARP Reqeust) ② 스위치장비에서 목적지 단말쪽으로 메시지 전송 ③ 목적지에서 자신의 물리주소(MAC주소)를 포함하는 메시지 전송(ARP Reply) ④ 목적지의 MAC주소를 수신 1.3 ARP(Adress Resolution Protocol) 생성과..

보안

APT(Advanced Persistent Threats) 공격이란?

1. APT(Advanced Persistent Threats) 공격대상이 눈치채지 못하도록 은밀하게 침투해 흔적을 남기지 않고 활동하면서 회사 보안서비스를 무력화시켜 유유히 정보를 유출하는 공격방식 ※ 흔적을 지우면서 조심히 활동하기 때문에 유출시점이 바로 들어나지 않음 APT 공격방법 ■ 제로데이공격(Zero-day) : 소프트웨어가 공표되기 이전에 취약점을 발견해 공격하는 방법 ■ 루트킷(RootKit) : 해커들이 컴퓨터 침입한 사실을 숨긴채 관리자용 접근권한을 획득하는 도구 1.1 APT Attack Process 침투단계에서 공격자는 대상이 사용하는 소프트웨어, 소프트웨어 버전, 자주 접속하는 웹 등 자세한 조사진행 1.2 APT Attack Methods ■ 스피어피싱(Spear-Phshin..

카테고리 없음

졸업준비중..

9월부터 한동안 글이 없었네요.. 최근 졸업준비를 하느라 정신이 너무 없어서 졸업을 위해 마무리하고 빠르게 복귀해 공부한 내용 작성해보겠습니다. 감사합니다.

블록체인

하이퍼레저 패브릭(Hyperledger Fabric) v2.2 - Hyperledger Dapp블록생성자 변경

1. Hyperledger Fabric 조직구조 2. Dapp 흐름 - 데이터 조회 - 데이터 삽입 3. Dapp 블록 생성자변경 데이터 삽입시 블록을 생성하고 트랜잭션을 기록하는 조직을 변경해야 위·변조가 불가능하게 기록한 생성자를 알 수 있음 수정 파일 경로 fabric-samples/my-network/application-javascript/app.js fabric-samples/test-application/connection.json fabric-samples/test-application/javascript/AppUtil.js fabric-samples/test-application/javascript/CAUtils.js - app.js 필요 변수 및 함수 설명 const mspOrg1 = ..

1Seok
Tree & Branch