전체보기
-
(프로그래머) 코드 스타일Programing Study/E.T.C 2019. 10. 18. 15:10
들어가며 코드를 짤 때마다 변수에 어떻게 네이밍을 헤야 할 것인지가 고민이었다. 그 중에서도 가장 먼저 체계를 잡아줘야 하는 것이 케이스 문제인데, 언어마다 권장하는 케이스도 다르고, 하나의 프로젝트에서 케이스를 섞어 쓴다면 좋지 못한 코드가 되기 때문이다. 주변 사람들과 개발에 관한 얘기를 할 때마다 가끔씩 나오는 주제인데, 케이스의 이름을 항상 잊어버려서 이번에 블로그에 포스팅을 하여 잊어버리지 않게 되었으면 한다. lower 카멜 케이스 (lowerCamelCase) camelCase, backgroundColor, className 단봉낙타 표기법이라고도 한다. 보통 카멜 케이스라고 하면 lower 카멜 케이스를 의미한다. 각 단어의 첫 문자를 대문자로 표시하되, 이름의 첫 문자는 소문자로 적는다..
-
(iOS) 화면간 데이터 전송 방법Programing Language/iOS(Swift) 2019. 10. 17. 18:01
ViewController(A) 에서 -> page2(B)로의 데이터 이동 1. Segue화면 전환 방법으로 데이터 전송방법 A->B ViewController(A) 클래스 class ViewController: UIViewController { @IBOutlet weak var input_name: UITextField! var name_text : String = "" @IBAction func move_page2btn(_ sender: Any) { //segue를 이용한 데이터 전달 var final_name = "" viewController.final_name = name_text //여기서 as는 자바에서 class에 상속(extent)과 같은 개념이다. // } } 2. 코드 화면 전환으로 ..
-
(iOS) ViewController 화면 전환 방법Programing Language/iOS(Swift) 2019. 10. 17. 14:18
뷰 컨트롤러 직접 호출에 의한 화면 전환 현재의 뷰 컨트롤러에서 이동할 대상 뷰 컨트롤러를 직접 호출해서 화면에 표시한다. Presentation 방식이라고 부르기도한다. - 화면 전환은 *비동기 방식*으로 전환되기 때문에 화면 전환이 끝나기 전에 다음 코드를 실행한다. 따라서 위 메서드를 이용해야 한다. - 비동기 방식 : 하나의 처리가 끝나기를 기다리지 않고 다음 작업을 바로 이어서 수행하는 방식을 비동기 방식이라고 부른다. - *present 메서드*를 이용한 화면 전환은 기존 뷰 컨트롤러를 유지한 채, 그 위에 새로운 뷰 컨트롤러의 화면을 덮는 방식이다. - dismiss 메서드에 의해서 걷어내진 viewcontroller화면은 운영체제에 의해 곧 메모리에서 해제된다. - dismiss 메서드를 ..
-
(Swift) 클래스,구조체/ 열거형 차이Programing Language/Swift 2019. 10. 15. 22:40
- 예시 코드 struct ValueType { var property = 1 } class ReferenceType { var property = 1 } // 첫 번째 구조체 인스턴스 let firstStructInstance = ValueType() // 두 번째 구조체 인스턴스에 첫 번째 인스턴스 값 복사 var secondStructInstance = firstStructInstance // 두 번째 구조체 인스턴스 프로퍼티 값 수정 secondStructInstance.property = 2 // 두 번째 구조체 인스턴스는 첫 번째 구조체를 똑같이 복사한 // 별도의 인스턴스이기 때문에 // 두 번째 구조체 인스턴스의 프로퍼티 값을 변경해도 // 첫 번째 구조체 인스턴스의 프로퍼티 값에는 영향이..
-
[네트워크] TCP/IP 프로토콜 소개Programing Study/네트워크 2019. 10. 11. 00:26
TCP/IP 프로토콜 구조 인터넷을 통해 통신을 수행하는 개체는 크게 호스트와 라우터로 나눌 수 있습니다. 호스트(host): 최종 사용자(end-user) 응용 프로그램을 수행하는 주체 라우터(router): 호스트에서 생성된 데이터를 여러 네트워크를 거쳐 전송함으로써 서로 다른 네트워크에 속한 호스트 간에 데이터를 교환할 수 있게 하는 장비 호스트와 라우터, 라우터와 라우터 그리고 호스트와 호스트가 통신하려면 정해진 절차와 방법을 따라야 하는데 이를 통신 프로토콜 이라고 부릅니다. 인터넷에서 사용하는 핵심 프로토콜은 TCP와 IP로, 이를 비롯한 각종 프로토콜을 총칭하여 TCP/IP 프로토콜이라고 부릅니다. 통신을 수행하는 주체이자 통신의 최종 목적지는 호스트 자체가 아닌 호스트에서 수행하는 응용프로..
-
게임 네트워킹의 - Deterministic 방식(정리중)Programing Study/네트워크 2019. 10. 10. 23:36
Deterministic 방식은 UDP 프로토콜을 사용하는 방식 - Delay 방식 A 컴퓨터에서 B컴퓨터로 명령어를 보낼때 지연시간이 10이라면 A 버튼 클릭 시간 +10(지연시간)이 지난후에 A 화면에 움직임 출력, B 화면에 움직임 출력 B화면에서 A버튼 클릭시 A화면에서 누른 버튼이 활성화 된후에 B화면서 버튼을 누른 것이 실행 되고 그 버튼 시간 +10(지연시간)으로 다시 A화면까지 넘어간다. 예) Delay 방식 이렇게 실시간으로 행동을 주고 받을 수 있다.
-
프로토콜에서 TCP 와 UDP 의 차이점Programing Study/네트워크 2019. 10. 10. 23:07
TCP는 연결에서 신뢰성이 높아서 게임으로 예를 들면 MMORPG나 보드 게임에서 많이 사용 되는 반면에 UDP는 반응이 빠르게 필요한 롤이나 격투 게임 등에서 사용된다. TCP의 장점 1. 연결유무 확인 2. 패킷 순서 보장 3. 송신 순서 보장 TCP의 단점 1. 속도가 UDP에 비해 많이 느리다. 왜냐하면 TCP는 3HandShake 방식임으로 연결 유무 확인 등에 거치는 확인작업이 많기 때문이다. UDP의 장점 1. TCP에 비해 빠르다 UDP의 단점 1. 데이터 유실이 많고, 연결 유무의 신뢰성 확보가 어렵다.