전체 글
-
[Network] TCP/IP 흐름제어 & 혼잡제어CS 2021. 7. 26. 06:29
>>TCP란? ☑️ 흐름 제어? 혼잡 제어? : 혼잡 상황이 발생하면 네트워크 자원이 낭비되므로 혼잡 상황을 최소화 하기 위한 기법 흐름 제어: 송신측과 수신측의 데이터 처리 속도 차이를 해결하기 위한 기법. 송신측의 데이터 전송량 제어 혼잡 제어: 송신측의 데이터 전달과 네트워크 상의 데이터 처리 속도 차이를 해결하기 위한 기법. 송신측의 데이터 전송 속도 제어 ✅ 흐름 제어 Flow control 1. Stop and wait 방식 매번 전송한 패킷에 대해 확인 응답을 받아야만 그 다음 패킷을 전송하는 방법 (비효율적) 2. Sliding window 슬라이딩 윈도우 기법 수신 측에서 설정한 윈도우 크기만큼은 송신 측에서 확인 응답ACK를 받기 전에 전송 가능. 송신 버퍼의 범위는 수신 측의 여유 버..
-
[OS] 페이지 교체 알고리즘 - FIFO/LRU/LFU/MFU/NURCS 2021. 7. 18. 05:19
💡 페이지 교체 알고리즘 운영체제는 주기억장치보다 더 큰 용량의 프로그램을 실행하기 위해 프로그램의 일부만 주기억장치에 적재하여 사용한다. 이를 가상메모리 기법이라 한다. 페이징 기법으로 메모리를 관리하는 운영체제에서 필요한 페이지가 주기억장치에 적재되지 않았을 시(페이지 부재) 어떤 페이지 프레임을 선택하여 교체할 것인지 결정하는 방법을 페이지 교체 알고리즘이라고 한다. * 프레임: 물리 메모리를 일정한 크기로 나눈 블록 * 페이지: 가상 메모리를 일정한 크기로 나눈 블록 ✅ 페이지 교체 알고리즘의 종류 OPT - Optimal : 앞으로 가장 오랫동안 사용되지 않을 페이지 교체 FIFO - First In First Out LRU - Least Recently Used : 가장 오랫동안 사용되지 않은..
-
[DB] SQL 인젝션 (SQL Injection )CS 2021. 7. 10. 20:09
✔️SQL 인젝션(SQL Injection)이란? 보안상의 취약점을 의도적으로 이용하여 악의적 SQL문을 실행되게 함으로써 데이터베이스를 비정상적으로 조작하는 코드 인젝션 공격 방법중 하나. *코드 인젝션의 종류에는 SQL 인젝션, HTML 스크립트 삽입, evaluation 취약점, 객체 삽입, 원격 파일 삽입, 셸 삽입 등이 있다. 1. Error Based SQL Injection 논리적 에러를 이용한 인젝션 방법 가장 많이 쓰이고, 대중적 공격 방법 보통 로그인을 할때 아래와 같은 쿼리문으로 인증한다. SELECT * FROM Users WHERE id = 'aaa' AND password = 'qwer1234@' 이때 id에 admin, 패스워드에 password' OR 1=1 --를 입력하면 ..
-
[NETWORK] TCP와 UDPCS 2021. 7. 2. 03:53
💡 TCP, UDP가 뭘까? 네트워크 계층들 중 전송계층(Transprot Layer)에서 데이터를 보내기 위해 사용하는 프로토콜 🔸TCP(Transmission Control Protocol) 일반적으로 TCP와 IP를 함께 사용 신뢰성을 보장하는 연결지향형 프로토콜 3-way Handshaking 과정을 통해 연결 설정 4-way handshaking 을 통해 연결 해제 가상회선 패킷 교환 방식 패킷을 전송하기 위한 논리적 경로를 배정 흐름 제어 데이터 처리 속도 조절하여 수신자의 버퍼 오버플로우 방지 송신자가 감당 안되게 많은 데이터를 빠르게 보내 문제가 생기는 것 방지 수신자가 윈도우 크기(Window Size)통해 수신량 설정 혼잡 제어 네트워크 내 패킷 수 넘치지 않도록 방지 전이중(Full-..
-
[OS] 세그멘테이션 SegmentationCS 2021. 6. 27. 21:42
페이징 : 프로세스를 정확하게 일정한 간격(페이지)으로 잘라 메모리에 적재하는 방법 세그멘테이션 : 프로세스를 논리적 단위(세그먼트)로 잘라서 메모리에 적재하는 방법 ✔️세그멘테이션 페이징과 같이 가상 메모리를 관리하는 기법 중 하나. 세그멘테이션에서는 프로세스= 세그먼트의 집합 프로세스를 논리적 내용을 기반으로 나눠 메모리에 배치. => 각 세그먼트는 연관된 기능을 수행하는 하나의 모듈 프로그램 한 프로세스는 기본적으로 세가지 segment로 나눌 수 있음 (그 안에서 각각 더 작은 세그먼트로 나눌수도 OO) - Text(=code) segment(Read) - 프로그램의 기계어 명령이 들어있음 - Data segment(Read & write) - 초기화 된 전역변수, 정적 변수 저장 - Stack ..
-
[rxSwift] Swift UItextView 에서 Placeholder설정, DidBeginEditing, DidEndEditingiOS 2021. 6. 3. 01:32
아주아주 간단한 기능들부터 rxSwift 로 하나씩 해보는 중이다. UItextView 에는 Placeholder기능이 없다. 그래서 야매로 textView Placeholder기능을 구현해봤다. 일단 textview가 클릭됐을때 아무 입력이 없는 상태에서도 DidBeginEditing이 호출되기때문에(처음알았다) 이 때 textView안의 내용이 placeholder의 내용과 같으면 지워주는 식으로 구현을 했다. 만약 클릭을 했다가 아무 내용도 쓰지 않은 채 다른 곳을 누르면 다시 placeholder가 채워져야 하기 때문에 didEndEditing 으로 구현했다. 코드 func textSetUp(){ textView.rx.didBeginEditing .subscribe(onNext: { [self] ..
-
[swift] AutoLayout 기초 개념 한번에 정리iOS 2021. 5. 10. 02:53
해당 뷰의 x,가로/ y,세로 가 모두 충족되어야함. (혹은 네 방향 앵커) Add missing constraint 누르면 자동으로 추가해줌. ' constraints 충돌시 width, height 보다 ancohor가 우선 Scroll View AutoLayout 스크롤 뷰는 처음에 앵커잡아도 빨간줄이 뜸 --> content가 없기 때문 처음에 스크롤뷰 바로 아래에 UIView 하나 넣는게 편함 View의 제약조건을 Content Layout Guide에 건다. View와 Frame Laout Guide에 equal width(세로스크롤일 경우)/equal height(가로스크롤) 건다. 그리고 필요한만큼 heigth 설정 화면 넘어가는 부분 작업할때는 view controller누르고 sizei..
-
[xcode]this class is not key value coding-compliant for the key 에러 원인/해결iOS/error log 2021. 4. 2. 03:43
this class is not key value coding-compliant for the key 자주 보이는 xcode 에러다. Interface Builder 의 구성 에러 설정한 IBOutlet이 없어졌거나 할경우 발생. Tab Bar Controller에 배치한 nib의 경우 Tab Bar Controller 내의 오브젝트클래스랑 nib의 클래스가 일치하지 않는 경우에도 발생. nib에서 Tab Bar Controller의 각 View Controller을 대상 클래스랑 정확히 연결할것 이다. 보통은 금방 해결되는데 이상한 데서 해결이 안될때가 있다. 나같은 경우에는 커스텀 뷰를 만들어두고 nib으로 레지스터하는 부분에서 에러가 발생했는데 알고보니 IBoutlet연결할때 한 개만 file's ..