일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 개발/컴퓨터네트워크
- 개발/Electron
- 개발/환경
- 개발/Java/Spring
- 개발/Java
- 개발/Tools/프레임워크/Spring
- 개발/CS/알고리즘
- 취업
- 개발/CS/OS
- 개발/언어론
- 카카오 테크 캠퍼스
- 개발/MySQL
- 개발/webrtc
- 개발
- ⌨️Developer/보안
- AI/ML
- ⌨️Developer
- 개발/프레임워크&라이브러리
- electron
- 개발/보안
- 카카오테크캠퍼스
- 개발/에러
- 개발/언어/Java
- 알고리즘
- 카테캠
- 개발/OOP
- ai
- 대외활동/카카오테크캠퍼스
- 개발/네트워크
- AI/GPT
- Today
- Total
목록Computer Science (173)
봄수의 연구실
메모리 구조 요즘 🐥 카카오 테크 캠퍼스에서 Java를 공부하는데 강의에서 메모리 구조와 연관지어 설명하니 귀에 쏙쏙 들어온다. 좀 더 깊은 이해를 위해서는 메모리 구조가 필수란 생각이 들어 복습 한다 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드되어야 합니다. 이때 프로그램이 사용하는 변수들을 저장할 메모리 공간도 필요하며, 이러한 메모리 공간은 운영체제가 제공합니다. 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간은 코드(code) 영역, 데이터(data) 영역, 스택(stack) 영역, 힙(heap) 영역 등이 있습니다. 운영체제는 이러한 메모리 공간을 효율적으로 관리함으로써 프로그램의 안정성과 성능을 보장할 수 있습니다. 메모리의 기본 구조 코드(code) 영역: 실행할 프로그..
NAT(network Address translation) NAT(네트워크 주소 변환)는 인터넷에 연결할 때 로컬 네트워크의 여러 장치가 단일 공용 IP 주소를 공유할 수 있도록 하는 네트워킹 기술입니다. 사용 가능한 IPv4 주소의 수가 제한되어 있기 때문에 IPv4 주소 고갈 문제를 해결하기 위한 솔루션으로 NAT가 도입되었습니다. 종종 로컬 네트워크와 인터넷 사이의 게이트웨이 역할을 하는 라우터 및 모뎀과 같은 장치는 NAT와 유사한 기능을 수행합니다. 사용법 일반적인 홈 네트워크 시나리오에서 ISP(Internet Service Provider)는 DHCP(Dynamic Host Configuration Protocol)를 사용하여 가정에 단일 IP 주소를 할당합니다. 컴퓨터 및 스마트폰과 같은 ..
SSH의 포트포워딩 SSH 터널링이라고도 하는 SSH 포트 포워딩은 클라이언트 시스템에서 서버 시스템으로 또는 그 반대로 응용 프로그램 포트를 터널링하기 위한 SSH의 메커니즘입니다 SSH 포트 포워딩은 로컬 포트 포워딩과 원격 포트 포워딩 의 두 가지 유형으로 분류할 수 있습니다. 로컬 포트 포워딩 로컬 포트 포워딩은 보다 일반적인 포트 포워딩 유형입니다. 사용자가 암호화된 SSH 터널을 통해 로컬 컴퓨터에서 다른 서버로 연결할 수 있도록 하는 데 사용됩니다. 이렇게 하면 액세스된 서비스 자체가 암호화되지 않은 경우에도 통신을 암호화된 상태로 유지하면서 원격 서비스에 안전하게 액세스할 수 있습니다. 원격 포트 포워딩 원격 포트 포워딩을 사용하면 원격 서버가 암호화된 SSH 터널을 통해 로컬 ..
데코레이터 패턴(Decorator Pattern) 데코레이터 패턴은 동일한 클래스의 다른 개체의 동작에 영향을 주지 않고 정적 또는 동적으로 개별 개체에 동작을 추가할 수 있는 디자인 패턴입니다. 이 패턴은 비헤이비어가 포함된 특수 래퍼 개체 안에 이러한 개체를 배치하여 개체에 새 동작을 연결하는 것과 관련된 구조적 패턴입니다. 데코레이터 패턴의 핵심 포인트 및 이점 데코레이터 패턴을 사용하면 구조를 변경하지 않고 객체에 새로운 기능을 추가할 수 있습니다. 런타임에 동작을 동적으로 추가하고 제거할 수 있기 때문에 상속 기반 접근 방식보다 더 유연합니다. 데코레이터를 함께 연결하여 복잡하고 복합적인 동작을 제공할 수 있습니다. 패턴은 클래스가 확장에는 열려 있지만 수정에는 닫혀 있는 개방-폐쇄 설계 원칙을..
다익스트라 알고리즘(Dijkstra’s Algorithm) 다이스트라 알고리즘은 네트워크에서 한 노드에서 다른 노드까지의 최단 경로를 찾는 그래프 알고리즘이며, 가중치가 양수인 연결 그래프에 대해 작동합니다. 다이스트라 알고리즘의 핵심 정의에 기인한 장 단점 장점 가장 빠르게 수렴하는 최단 경로 알고리즘 중 하나입니다. 각 단계에서 최소 비용의 경로를 선택하기 때문에 항상 최적의 해를 찾습니다. 단점 가중치가 음수인 경우에는 잘못된 결과를 반환할 수 있습니다. 그래프의 크기가 커질수록 계산 복잡도가 증가하여, 리소스 소모가 크게 됩니다. 다이스트라 알고리즘 전개 과정 예시 시작 노드를 정하고, 시작 노드와 다른 모든 노드 간의 거리를 무한대로 설정합니다. 시작 노드와 자기 자신의 거리는 0으로 설정합니다..
링크 상태 알고리즘 링크 상태 알고리즘(Link State Algorithm)은 라우팅 알고리즘 중 하나로, 네트워크 내의 각 라우터가 자신의 인접 라우터들과의 연결 상태를 수집하고, 이 정보를 전체 네트워크에 전파함으로써 모든 라우터가 네트워크의 전체 토폴로지를 이해할 수 있게 합니다. 핵심 원리는 전체 네트워크의 상태 정보를 공유하는 것입니다. 링크 상태 알고리즘의 핵심에 기인한 장/단점 장점: 최적 경로: 네트워크의 전체 토폴로지를 알고 있는 라우터들은 최적 경로를 계산하여 효율적인 라우팅을 할 수 있습니다. 빠른 수렴: 네트워크 변화에 대한 정보가 빠르게 전파되므로 라우터들은 상대적으로 빠르게 새로운 경로를 계산할 수 있습니다. 단점: 복잡성: 링크 상태 알고리즘은 거리 벡터 라우팅 알고리즘(Di..
거리 벡터 라우팅 알고리즘(Distance Vector Routing Algorithm) 거리 벡터 알고리즘은 동적 라우팅 프로토콜 중 하나로, 라우터가 이웃 라우터와 거리 정보를 교환하며 최적 경로를 찾아 라우팅 테이블을 업데이트하는 알고리즘입니다. 거리 벡터 알고리즘의 장/단점 아래의 장단점을 고려하여 거리 벡터 알고리즘은 주로 규모가 작고 변경이 덜 발생하는 네트워크에서 사용됩니다. 큰 네트워크에서는 링크 상태 알고리즘과 같은 더 복잡한 알고리즘이 사용되기도 합니다. 장점 간단한 구현: 거리 벡터 알고리즘은 상대적으로 간단한 구현으로 네트워크에서 동작하기 때문에 작은 네트워크에서는 효과적입니다. 자동화: 라우터들이 이웃 라우터와 거리 정보를 교환하고 라우팅 테이블을 자동으로 업데이트하므로 관리자의 ..
포이즌 리버스(Poison Reverse) 포이즌 리버스(Poison Reverse)는 라우팅 알고리즘에서 사용되는 기술로, 라우팅 루프(routing loops)를 방지하기 위해 쓰입니다. 이 기술은 라우팅 알고리즘 중 하나인 거리 벡터 라우팅 알고리즘(Distance Vector Routing Algorithm)에서 주로 사용됩니다. Count to Infinity Problem는 무엇인가 포이즌 리버스는 Count to infinity problem의 해결책이기 때문에 Count to infinity problem를 먼저 짚고 가야 합니다 Count to infinity problem은 거리 벡터 라우팅 알고리즘에서 발생할 수 있는 문제입니다. 이 문제는 네트워크에서 특정 링크 또는 라우터가 실패할..
컴네보 2장 연습 문제 1. SpeacialForces PDF 문제 1. 2개의 키 Cryptographic과 Network Security를 이용하여 다음 메시지를 암호화 하라 1차 암호화 : cryptographic 2차 암호화 : network security 정답은 아래와 같습니다 ISRNG BUTLF RRAFR LIDLP FTIYO NVSEE TBEHI HTETA EYHAT TUCME HRGTA IOENT TUSRU IEADR FOETO LHMET NTEDS IFWRO HUTEL EITDS 1차 암호화에서는 입력 받은 키를 순서대로 적은 후 알파벳 순서대로 숫자를 부여합니다. 입력 받은 메시지는 순차적으로 입력해서 각 칸을 모두 채웁니다 알파벳 순서대로 각 줄을 정렬 한 후 2차 암호화를 시작합..
공개 키 기반구조(PKIX)(Public-Key Infrastructure) 공개 키 기반 구조의 정의 비대칭 암호 시스템에 기초해서 디지털 인증서를 생성하고, 관리하고, 저장하고, 분배하며 취소하는데 필요한 하드웨어, 소프트웨어, 사람, 정책 및 절차 즉 PKI 개발 목적은 안전하고, 편리하고, 효율적인 공개 키를 획득하는 것이다 PKIX 구조적 모델 종단 개체 종단 사용자, 종단 장치(서버, 라우터) 공개 키 인증서의 주체 필드에서 식별 되는 다른 개체에 대한 일반적인 용어 종단 개체는 전형적으로 PKI와 관련된 서비스를 사용하거나 지원한다 인증 기관 (CA) 등록 기관 (RA) 선택적 요소로서 CA의 행정 기능을 의뢰 받아 수행 한다 RA는 종단 개체의 등록 절차와 관련된 업무 수행 그 외 업무도 ..