일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- PostgreSQL
- java
- docker
- 명령어
- 후기
- github
- 리눅스
- 티스토리챌린지
- oracle
- Python
- error
- mssql
- SQL
- Linux
- 독서
- network
- git
- 자바
- IntelliJ
- pandas
- 오블완
- iBatis
- spring
- mysql
- MariaDB
- DBMS
- 쉘스크립트
- Javascript
- Kibana
- 네트워크
- Today
- Total
목록분류 전체보기 (466)
hanker

전송 계층에서 사용되는 프로토콜인 TCP에 대해서 알아보자. 1. TCP (Transmission Control Protocol) TCP는 인터넷 프로토콜 스위트(Internet Protocol Suite)의 전송 계층 프로토콜로, 신뢰성 있는 데이터 전송을 보장하는 연결 지향 프로토콜이다. 특징1-1. 연결 지향성 (Connection-Oriented)3-way handshake를 통해 양 끝단 간의 연결을 먼저 설정한다.데이터 전송이 끝나면 4-way handshake로 연결을 종료연결이 확립된 후에만 데이터 전송 가능1-2. 신뢰성 있는 전송확인 응답(ACK): 수신 측이 데이터를 받았음을 송신 측에 알려준다.시퀀스 번호: 모든 바이트에 고유한 번호를 할당하여 순서를 보장한다.재전송: 일정 시간 내..

네트워크의 각 계층별로 상위 계층의 데이터를 캡술화하여 하위 계층으로 전달하게 되는데, 캡슐화가 무엇인지, 왜 캡슐화를 하는지 알아보자. 1. 캡슐화란? 캡슐화(Encapsulation)는 네트워크 통신에서 상위 계층의 데이터에 각 계층별 제어 정보(헤더)를 추가하여 하위 계층으로 전달하는 과정을 의미한다. 데이터 포장 과정: 원본 데이터(페이로드)에 각 계층을 지날 때마다 해당 계층의 헤더 정보를 앞에 추가하는 방식으로 진행계층별 처리:응용 계층에서 생성된 데이터는 전송 계층으로 전달전송 계층은 이 데이터에 TCP/UDP 헤더를 추가네트워크 계층은 IP 헤더를 추가데이터 링크 계층은 MAC 헤더와 트레일러(FCS)를 추가최종적으로 물리 계층을 통해 비트 단위로 전송단위 변환: 각 계층별로 데이터 단위의..

네트워크 계층별로 전송되는 데이터 단위(Protocol Data Unit)에 대해서 알아보자. 1. OSI 7계층 모델의 PDU 물리 계층 (Physical Layer)데이터 단위: 비트(Bit)전기적 신호(0과 1)로 데이터를 전송케이블, 리피터, 허브 등의 장비가 이 계층에서 작동데이터 링크 계층 (Data Link Layer)데이터 단위: 프레임(Frame)MAC 주소를 이용하여 같은 네트워크 내에서 통신오류 감지 및 흐름 제어 기능을 수행스위치, 브리지 등이 이 계층에서 작동네트워크 계층 (Network Layer)데이터 단위: 패킷(Packet)IP 주소를 사용하여 다른 네트워크로 데이터를 라우팅라우터가 이 계층에서 작동전송 계층 (Transport Layer)데이터 단위: 세그먼트(Seg..

스택 오버플로우와 스택 언더플로우가 뭔지 알아보자. 1. 스택 오버플로우 (Stack Overflow) 스택 오버플로우는 데이터 구조가 가득 차서 더 이상 데이터를 저장할 수 없는 상태에서 추가 데이터를 넣으려고 할 때 발생하는 오류이다. 발생 원인 재귀 함수의 과도한 호출: 가장 흔한 원인으로, 종료 조건이 없거나 잘못된 재귀 함수가 메모리 한계까지 호출 스택을 쌓음큰 지역 변수: 함수 내에서 너무 큰 배열과 같은 지역 변수를 선언할 때 발생깊은 함수 호출 체인: 함수가 다른 함수를 호출하고, 그 함수가 또 다른 함수를 호출하는 구조가 깊게 이어질 때public class Main { public static void infiniteRecursion() { infiniteRecursi..

리눅스 시스템에 등록된 환경변수를 확인하는 방법에 대해서 알아보자. 1. echo 명령어# echo $변수명echo $HOMEecho $변수명 : 특정 환경 변수의 값을 확인한다. 2. env 명령어env모든 환경 변수 목록을 출력한다. 3. printenvprintenvprintenv SHELL # 특정 변수만 출력할 때env 명령어와 유사하게 모든 환경 변수를 출력한다.또한 특정 변수만 출력할 수 있다. 4. setset모든 환경 변수와 셸 변수를 출력한다. 5. export 명령어 (-p 옵션)exportexport -p환경 변수 설정 및 확인에 사용된다. (-p 옵션 생략 가능) 6. compgen -ecompgen -e모든 환경 변수의 이름만 표시한다. 정리명령어설명echo $변수명특정 환..

서버에 명령어가 설치되어 있는지 확인하거나, 실행될 파일의 위치를 확인할 때 which 명령어를 사용한다. which 명령어에 대해서 알아보자. 1. 사용법# which [옵션] 명령어이름 ...which ls 환경변수 PATH 에 설정된 디렉터리 순서대로 ls 실행 파일을 검색첫 번째로 찾은 파일의 절대 경로(예: /bin/ls)를 출력하고 종료 2. 옵션옵션설명-aPATH 에 있는 모든 매칭 경로를 순서대로 전부 보여준다.--help사용 가능한 옵션과 간단한 도움말을 출력 정리 단순히 PATH 디렉터리를 순회하며 검색하므로 매우 가볍다

선형 구조(Linear structure)는 데이터 요소들이 일렬로(순차적) 배치되어 있고, 각 요소가 이전 요소와 다음요소가 연결된 구조를 말한다. 1. 선형 구조의 정의 및 특징 선형 구조는 데이터 요소가 순차적으로 나열되어 있어, 논리적 순서가 명확하고, 각 요소는 한 번에 하나씩만 접근하거나 처리할 수 있다. 특징순차적 접근첫 번째 요소에서 시작해 차례대로 다음 요소로 이동하며 처리메모리 배치 방식연속적 할당(배열) 또는 비연속적 할당(연결 리스트) 모두 가능시간 복잡도인덱스 기반 접근은 O(1), 순차 탐색은 O(n) 연산삽입·삭제 시 위치에 따라 O(n) (특히 배열)스택/큐 연산은 O(1) 2. 선형 구조 종류구조설명연산배열(Array)메모리가 연속적으로 할당된 고정 크기 시퀀스인덱스 접근 ..

Well-Known 포트는 네트워크 프로토콜이 사용하는 표준 서비스 포트를 의미하며, IANA(Internet Assigned Numbers Authority)에 의해 0번부터 1023번까지 할당되어있다. * IANA는 인터넷 할당 번호 관리기관의 약자로 IP 주소, 최상위 도메인 등을 관리하는 단체이다. 1. Well-Known 포트 할당 범위 : 0 ~ 1023번 포트관리 기관 : IANA (Internet Assigned Numbers Authority)목적 : HTTP, FTP, SMTP 등 대표적인 서비스들이 사용하는 표준 포트를 일관되게 유지하여 호환성과 관리 편의성 제공하기 위함이다. 표준화: 모든 컴퓨터가 동일한 포트 번호를 통해 같은 서비스를 인식자동 연결: 사용자가 URL을 입력하면 브..

우리가 흔히 사용하는 형상관리 툴은 Git과 SVN이 있다.대부분의 프로젝트에서 메인 개발자들이 잘 사용하는 형상관리 툴을 쓰게 되는데, 이 두 툴의 장단점을 알아보자. 1. Git Git은 2005년 리누스 토발즈가 리눅스 커널 개발을 위해 만든 분산형 버전 관리 시스템이다.현재 가장 널리 사용되는 형상관리 도구로, 특히 오픈 소스 프로젝트와 대규모 팀 협업에 인기가 있다. 특징 분산형 구조각 개발자는 중앙 서버에 의존하지 않고 저장소 전체(커밋 내역, 브랜치, 태그 등)를 로컬에 복제한다.모든 기록이 로컬에 있기 때문에 중앙 서버 장애 시에도 작업이 가능하다.빠른 브랜치 생성과 병합 가능브랜치를 생성할 때 별도의 복사본을 만들지 않고, 메타데이터 수준에서 즉시 분기한다.브랜치 간 전환(checko..

uname 명령어는 Linux/Unix 시스템의 커널 및 하드웨어 정보를 확인할 때 사용한다.1. uname 명령어 사용법 # uname [옵션]uname아무 옵션을 붙히지 않으면 커널 이름만 출력된다. (-s 옵션) 2. 옵션 표옵션의미-s커널 이름-r커널 릴리스-v커널 빌드 버전-m하드웨어 이름-p프로세서 유형-i하드웨어 플랫폼-o운영체제-a모든 정보 종합 # 커널 릴리스만 확인uname -r # 모든 정보 확인uname -a # 머신 아키텍처 확인uname -m