Xcode에서 gitignore생성 가능 -> 따로 글쓰기 yyyy vs YYYY YYYY는 Week of Year의 년(?)을 나타내고 yyyy가 calendar year를 나타내므로, yyyy를 쓰면됨. 타입추론 vs 타입어노테이션 예전에는 타입 어노테이션을 해주는 것이 더 빨랐지만, 애플이 알고리즘을 점점 수정하면서 타입 추론을 이용하는 것이 시간이 덜 걸림. 디바이스 네트워크 컨디션 Window - Devices and Simulators에서 기기가 연결되어 있다면 아래쪽에서 네트워크 컨디션을 설정해서 느리게 할 수 있음. 인코딩 검색 API를 사용할때 사용자가 한글로 입력해도 주소창엔 변환돼서 보임. 실제로 네트워크 통신을 할때 URL에 한글을 넣으면 제대로 동작하지 않음. -> 인코딩필요 ad..
HTTP vs Socket 소켓통신은 HTTP와 달리 양방향 연결이 이루어짐. -> 서버가 클라이언트의 요청이 없어도 데이터 전달 가능 HTTPS TCP(전송계층)와 http(응용계층)사이에서 작용하여 데이터를 암호화하여 전송 URL은 노출되지만, HTTP Body등은 암호화돼서 전송 REST API 6가지 원칙 Uniform Interface -> 자원에 대한 식별이 가능해야함 -> HTTP method를 통해 자원을 조작해야함 정해진 규칙이 있다고 생각하면될듯 Stateless(무상태) -> HTTP의 특징이므로 REST 또한 가짐 -> 클라이언트와 통신을 한 후, 상태가 서버에 저장되지않고 종료됨. Cacheable(캐시 가능) -> HTTP의 특징이므로 REST도 사용 가능. -> 서버의 부하를 ..

HTTP(Hyper Text Transfer Protocol) 인터넷에서 데이터를 주고 받을 수 있는 프로토콜 모든 프로그램이 규칙에 맞춰 개발해서 상호 간 정보 교환 가능. 클라이언트에서 http를 통하여 서버로 부터 데이터를 요청하면 서버는 json, xml 등의 형태로 응답을 줌. 특징 단방향 통신 -> 클라이언트가 요청을 해야만 서버가 리스폰스를 줄 수 있음. Connectionless -> 모든 클라이언트의 요청이 전부 개별적임 Stateless -> 서버가 클라이언트 정보를 기억하고 있지 않음. -> 웹에서는 쿠키, 세션을 통해 클라이언트 식별 -> 앱에서는 토큰을 통해 클라이언트 식별 Method GET -> 서버에 정보를 요청할때 사용 -> URL에 데이터를 포함하여 요청하여 보안에 취약 ..

클래스 이름 받기 String(describing: )을 사용. struct Hee { var name = "hee" var age = 13 } class Cheol { var name = "131" var age = 1234 } print(String(describing: Hee.self)) //Hee print(String(describing: Cheol.self)) //Cheol 구조체와 클래스의 이름을 위처럼 받을 수 있는데 Hee, Cheol만 입력한다면 에러남. -> .self까지 붙여야함. 키보드 높이 알아내기 keyboardFrameEndUserInfoKey를 이용. @objc func keyboardWillChange(_ sender: Notification) { guard let key..

DataDetector 텍스트뷰에는 dataDetector라는 것이 있음. 텍스트뷰에 입력된 텍스트를 감지해서 다양한 기능을 만들어줌. 하지만 이 기능을 이용하려면 isEditing이 false로 되어있어야함!! -> 즉, 내가 텍스트뷰에 입력하는 것이 아닌 미리 코드로 작성해야함. Detector이기때문에 타입을 link로 해놓고 url이 입력되어있다면 인식하지 못함. 1. link userInputTextView.dataDetectorTypes = .link userInputTextView.text = "www.naver.com" userInputTextView.isEditable = false 2. PhoneNumber userInputTextView.dataDetectorTypes = .phone..
- Total
- Today
- Yesterday