본문 바로가기

전체 글18

Gesture Recognizer Example 2020년 3월에 적었던 글입니다. from velog.io 1. Gesture Recognizer Example 상황 설명: 상위 뷰로 GreyView(customized)가 있고 이 뷰의 하위 뷰로 MyLabel, MyButton, MyTextField(역시 모두 cutomized)가 있다. 앱 화면 Tap Gesture Recognizer가 참조하는 객체는 MyTextField 객체로 두었고, send Action 설정은 ViewController로 두었다. tapField는 Tap Gesture Recognizer와 연결된 action 함수이다.(send Action) class ViewController: UIViewController { override func viewDidLoad() { s.. 2022. 2. 8.
모든 개발자를 위한 HTTP 웹 기본 지식_섹션4_HTTP_메서드 1. HTTP를 만들어보자. 아래의 기능을 할 수 있는 HTTP API를 만든다고 가정해보자. 회원 목록 조회 회원 조회 회원 등록 회원 수정 회원 삭제 초보개발자 아무개가 위 기능에 대해 api path를 어떻게 이름 지을지 고민하다 음 그래 역시 뭐든 의도가 분명하게 적어야지! 라며 다음과 같이 정한다고 가정해보자. 회원 목록 조회 /read-member-list 회원 조회 /read-member-by-id 회원 등록 /create-member 회원 수정 /update-member 회원 삭제 /delete-member 음 그래,, URI 이름의 동사를 보면 의도가 분명하여 함수 메소드라고 생각하면 잘 지었다고 생각할 수 있다. 하지만 과연 옳게 지었는가? 이것이 과연 좋은 URL 설계인가?(실제로 이.. 2022. 2. 6.
HTTP_지속_커넥션 책 HTTP 완벽 가이드 의 글을 요약 및 가져왔습니다. HTTP/1.0의 keep-alive 커넥션 멍청한(dump) 프록시 vs 영리한 프록시 HTTP/1.1의 지속 커넥션 기본으로 활성화 HTTP/1.1 애플리케이션은 트랜잭션이 끝난 다음 커넥션을 끊으려면 Connection: Close 헤더를 명시해야 한다. 이는 keep-alive 커넥션이 선택사항이 아닐 뿐만 아니라 지원 자체를 하지 않는다는 점에서 이전 HTTP 프로토콜과는 크게 다르다. 지속 커넥션(HTTP/1.1)의 제한과 규칙 커넥션에 있는 모든 메시지가 자신의 길이 정보를 정확히 가지고 있을 때에만 커넥션을 지속시킬 수 있다. 예를 들어 엔티티 본문은 정확한 Content-Length 값을 가지거나 청크 전송 인코딩(Chunked t.. 2022. 1. 25.
모든 개발자를 위한 HTTP 웹 기본 지식_섹션2_URI와_웹_브라우저_요청_흐름 URL 전체 문법 scheme://[userinfo@]host[:port][/path][?query][#fragment] example: [https://www.google.com:443/search?q=hello&hl=ko](https://www.google.com:443/search?q=hello&hl=ko) 프로토콜(https) 호스트명(www.google.com) 포트 번호(443) 패스(/search) 쿼리 파라미터(q=hello&hl=ko) 2022. 1. 25.
모든 개발자를 위한 HTTP 웹 기본 지식_섹션3_HTTP_기본 모든 것이 HTTP(HyperText Transfer Protocol) HyperText Transfer Protocol 초기의 정의: 주로 문서간의 링크를 통해서 연결할 수 있는 프로토콜, 문서는 Html. 현재는 모든 것이 HTTP의 메시지를 통해 전송합니다. HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 등등 모든 것이 HTTP를 통해 전송이 됩니다. 지금은 HTTP 시대! HTTP 역사 HTTP/1.1 1997년: 가장 많이 사용, 우리에게 가장 중요한 버전 => 가장 중요한 버전이므로 1.1을 공부를 많이 해야 한다. 기반 프로토콜 TCP: HTTP/1.1, HTTP/2 UDP: HTTP/3 (👍) 현재 HTTP/1... 2022. 1. 22.
모든 개발자를 위한 HTTP 웹 기본 지식_섹션1_인터넷_네트워크 기본 내용 인터넷 통신 복잡한 인터넷 망: 수많은 서버 노드를 거쳐서 서버와 클라이언트가 통신을 하게 되는데(ex. 해저 광케이블), 이 복잡한 상황에 제대로 통신이 되기 위해 IP(인터넷 프로토콜)이라는 규약을 사용한다. 그럼에도 부족해서 TCP 존재. IP(인터넷 프로토콜) 패킷(Packet: Package + Bucket): 패킷이라는 통신 단위로 데이터를 전달. IP 패킷 정보에 출발지 IP, 목적지 IP 둘 다 들어가야 한다(출발지 IP는 다시 서버가 Response를 보낼때 필요하다). IP 프로토콜의 한계 비연결성(connectionlessness): 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송(destination 컴퓨터가 확 꺼져버린다든가) 비신뢰성(unreliability.. 2022. 1. 16.