FTP(File Transfer Protocol) - FTP는 파일을 전송하기 위한 TCP/IP 프로토콜- 서버와 클라이언트로 나눠지는데 서버에 있는 내용을 클라이언트가 다운받거나 클라이언트가 원하는 내용을 서버로 전송하여 저장한다.- FTP를 사용하기 위해서는 서버가 존재해야하며 클라이언트와 이어주는 통신 포트가 생성되어야 한다. - 21번 포트 : 데이터 전송을 제어하기 위한 신호- 20번 포트 : 실제 데이터 전송에 사용 FTP 사용 방법1) IE 사용http:// ~ 인 주소를 http → ftp 2) FTP 전용 클라이언트 사용FTP클라이언트 소프트웨어를 pc에 설치해서 서버에 접속 3) commandcmd창에서 접속 FTP 활용리눅스 가상환경을 만들어서 윈도우와 파일을 주고받는 예제가 있는데차..
REST(Representational State Transfer)란 HTTP URI를 통해 리소스를 명시하고, HTTP Method(Post, Get, Put, Delete)를 통해 해당 리소스에 대한 CRUD operation을 적용한다.즉, 설계의 중심에 리소스가 있고 HTTP Method를 통해 리소스를 처리하도록 설계된 아키텍쳐를 의미한다.조금더 쉽게 설명하자면 URI와 HTTP Method를 이용해 객체화된 서비스에 접근하는 것! Method CRUD POST Create GET Read PUT Update DELETE Delete REST 특징 - 1 (ROA)Addressability - URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행하는 아키텍처 스타일 (유일한 ..
쿠키와 세션의 사용 이유 - HTTP 프로토콜의 약점을 보완하기 위해약점1) Connectionless 클라이언트가 요청을 한 후 응답을 받으면 그 연결을 끊어 버리는 특징 약점2) Stateless접속을 끊는 순간 클라이언트와 서버의 통신은 끝나고 상태 정보는 유지하지 않는 특징 쿠키(Cookie)쿠키는 클라이언트 로컬에 저장되는 키와 값이 들어있는 작은 데이터 파일이다. - 이름, 값, 유효시간, 도메인, 경로 정보가 들어있다.- 일정시간동안 데이터를 저장할 수 있다. (로그인 상태 유지에 활용) 쿠키 프로세스1. 브라우저에서 웹페이지 접속2. 클라이언트가 요청한 웹페이지를 받으면서 쿠키를 클라이언트 로컬에 저장3. 클라이언트가 재 요청시 웹페이지 요청과 함께 쿠키값도 전송4. 지속적으로 로그인 정보..
쓰레드 동기화- 쓰레드의 실행 순서를 정의하고, 이 순서에 반드시 따르도록 하는 것- 메모리 접근에 있어서 동시 접근을 막는 것 임계 영역- 배타적 접근이 요구되는 공유 리소스에 접근하는 코드 블록을 의미 유저모드 동기화동기화가 진행되는 과정에서 커널모드로의 전환이 불필요하므로 성능상에 이점이 있다.critical section : 메모리 접근 동기화- 전역으로 선언된 변수 하나의 접근 방식을 동기화Interlocked Family Of Function : 메모리 접근 동기화- 함수 내부적으로 한 순간에 하나의 쓰레드에 의해서만 실행 커널모드 동기화커널모드로의 전환이 필요해서 성능은 저하되지만 유저모드에서 제공 못하는 기능을 제공할 수 있다.Mutex : 메모리 접근 동기화- 단순화된 세마포어- 공유된 ..
TCP/IP- TCP/IP는 네트워크를 상호 연결시켜 정보를 전송할 수 있도록 하는 기능을 가진 다수의 프로토콜이 모여있는 집합이다.- OSI 7 layer 처럼 추상적인 레이어 역할을 하는것이 아닌 실용적인 네트워크 연결을 위해 만들어졌다. TCP vs UDPTCP/IP에는 TCP와 UDP가 존재하는데(Transport layer) TCP는 신뢰성이 있는 연결을 지향하며, UDP는 빠른 전송을 지향하는 것에서 차이점이 있다.TCP- 송신자, 수신자 모두 소켓이라고 부르는 종단점을 생성- 전송이 양방향으로 동시에 일어날 수 있다. (전이중, full-duplex)- 각 연결이 2개의 종단점을 가지고 있다. 1:1통신 (점대점, point to point)- 멀티캐스팅, 브로드캐스팅은 지원하지 않는다.- ..
Micro Kernel- 꼭 필요한 핵심적인 기능만 남겨둔 최소한의 커널- 커널에서 제공하는 기능 : IPC, 동기화, 프로세스/메모리 관리 등- 사용자 프로세스 형태로 제공 : 파일시스템, 네트워크, 입출력 장치 관리- 입출력장치에 대한 서비스도 인터럽트가 들어오면 커널이 인터럽트를 처리하는 프로세스에게 메시지를 보내어 처리해야함- 이식성이 뛰어나 커널 수행 중에도 서비스를 동적으로 추가할 수 있다.> 모든 기능을 다 하지 않고 유저레벨로 올려서 처리하므로 이식성이 뛰어나고 안전하지만 느리다는 단점이 있다. Monolithic Kernel- 모든 커널의 기능을 커널의 내부에 시스템호출과 인터럽트 처리 부분으로 포함하여 제공- 모든 서비스는 시스템 호출을 통해 제공하는 거대한 객체에 비유될 수 있다.- ..
DeadLock- 한정된 자원을 여러 곳에서 사용하려고 할 때 발생한다. 발생 조건- 상호배제(Mutual Exclusion) : 프로세스들이 필요로 하는 자원에 대해 배타적인 통제권을 요구- 점유대기(Hold and wait) : 프로세스가 할당된 자원을 가진 상태에서 다른 자원을 기다린다.- 비선점(No preemption) : 프로세스가 어떤 자원의 사용을 끝낼 때까지 그 자원을 뺏을 수 없다.- 순환대기(Circular wait) : 각 프로세스는 순환적으로 다음 프로세스가 요구하는 자원을 가지고 있다. Deadlock 처리교착상태 회피 - 은행원 알고리즘- 프로세스가 자원을 요구할 때 시스템은 자원을 할당한 후에도 안정상태로 남아있게 되는지를 사전에 검사하여 교착 상태를 회피하는 기법- 안정 상..
프로세스- 실행 중인 프로그램을 의미한다.- 리소스와 스레드로 구성된다.- 코드, 스택, 데이터, 힙 영역으로 이루어져있다. 스레드- 프로세스 내에서 생성,실행되는 하나의 실행주체이며 여러 개가 동시에 생성이 가능하다.- 자원소모가 줄어들고 응답시간이 단축된다. - 코드, 데이터, 힙 영역을 공유하고 스택과 레지스터를 스레드마다 각각 할당받는다.- context switch할 때, stack영역만 switch하면 되므로 프로세스 스위칭보다 빠르다. Multiprogramming / Multiprocessing / MultithreadingMultiprogramming- Memory 관점에서 여러 개의 프로세스 수행하는 것- 프로세서의 자원낭비를 최소화하기 위해 낭비되는 시간을 다른 프로그램(프로세스) 수..
- Total
- Today
- Yesterday
- LinearLayout
- 이진탐색트리
- C
- 네트워크
- windows
- 정렬 알고리즘
- RelativeLayout
- handshake
- DATABASE
- WinDbg
- OS
- HTTP
- 백준
- frameLayout
- debug
- Android
- 윈도우
- 안드로이드
- 백준알고리즘
- ConstraintLayout
- listview
- adapter
- layout
- 운영체제
- C++
- 스프링부트
- 알고리즘
- 스프링
- BOJ
- 퀵정렬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |