하이엔드급 IT기기는 항상 가격대비 성능이 좋지 않다는 생각을 갖고있어서 최고가 제품은 거의 사지 않는편이다. 하지만 이번에 구매한 34인치 곡면 21:9 시네뷰 모니터(34UC97)의 경우에는 보는 순간 돈이 아깝지 않겠구나 라는 생각이… [본문 읽기]
코코아팟(CocoaPods) 젠킨스(Jenkins) 설정 연동
코코아팟(CocoaPods)을 사용하게 될경우 프로젝트(.xcproject)기반에서 워크스페이스(.xcworkspace) 기반으로 변경된다. 이때 젠킨스(Jenkins)에서 기존 프로젝트 기반 설정을 그대로 사용할경우 기본 프로젝트는 잘 컴파일되지만, 연결된 Pods 프로젝트가 업데이트 및 컴파일이 되지 않아서 -lPods 링크… [본문 읽기]
HTTP Cache 튜토리얼
HTTP Cache 튜토리얼 HTTP를 이용하는 어플리케이션을 개발하다보면 효율적인 네트워크 송수신을위해 서버/클라이언트에서 캐쉬(cache)를 이용하는것이 필수적이다. HTTP를 이용할때 어떤식의 캐쉬방식이 있는지, 어떤 종류의 캐쉬들이 있는지, 어플리케이션 개발에있어서 상식적으로 알고있어야 할 내용들을 정리해보았다…. [본문 읽기]
allocWithZone: 의 의미
어떤 클래스에 대해 NSCopying 프로토콜을 구현하다보면 allocWithZone: 이라는 메서드에 맞닥뜨리게된다. 객체의 경우 힙(heap)에 할당되는데, 이 힙을 zone으로 나누고 해당 zone별로 메모리를 할당 및 관리하여 메모리 파편화를 막는데 도움을 주기위해 존재하는… [본문 읽기]
오토레이아웃 IB(Interface Builder)에서 다루기
제약조건(constraint) 설정 하나의 뷰를 선택 – 해당 뷰와 슈퍼뷰와의 관계 설정가능, 선택된 뷰 자체의 제약사항 설정가능 두개 이상의 뷰를 선택: 선택된 뷰들간의 관계 설정가능, 선택된 뷰들의 공통제약사항 설정가능(ex: equal width)… [본문 읽기]
상수 포인터(constant pointer)와 상수를 가리키는 포인터(pointer to constant)
C문법에서 const 키워드가 포인터에대해 사용될때 키워드의 위치에따라 의미가 매우 달라진다. 상수포인터와, 상수를 가리키는 포인터 변수 두가지가있으니 주의해서 사용해야한다. 상수 포인터(constant pointer) 문법: int * const myValue; 포인터 변수가 갖고있는 주소… [본문 읽기]
iOS 고급 오토레이아웃(auto layout)
본 글에서는 기본적인 오토레이아웃 튜토리얼들에서 잘 다루지 않는 커스텀 뷰에 오토레이아웃(auto layout)을 적용하는 방법과, 전반적으로 레이아웃 시스템이 어떻게 동작하는지를 중심으로 설명해보도록 하겠다. 오토레이아웃의 종류나 기본적인 적용방법들은 다른 좋은 튜토리얼들이 많으니… [본문 읽기]
Cocoa Binding Controller Keys
코코아 바인딩 컨트롤러의 경우 최소한의 코딩만으로 model값이 변화할때 view와 model 사이의 싱크를 맞춰주는 역할을 한다. 애플에서 제공하는 각 클래스별 바인딩 가능한 키값들은 다음 문서 에서 확인하면 되고, 본 글에서는 자주… [본문 읽기]
MacOS 10.10 & iOS 8 새기능 익스텐션(Extensions) 개념 잡기
기존의 OS X나 iOS에서는 custom URL Scheme을 이용하거나 custom pasteboard(번들 seed ID를 동일한경우만 가능) 등을 이용하여 어플리케이션 간에 데이터를 ‘전달’하는 것만 가능했다. 즉, A라는 앱에서 B라는 앱으로 데이터를 전달한 후… [본문 읽기]
수정배포된 CSS/JS 파일 캐시 방지
웹사이트를 운영하다보면 웹사이트의 디자인이나 프론트엔드 동작을 바꾸기 위해서 CSS 또는 javascript 파일을 수정하는 일이 종종 생기게 된다. 이때 수정된 파일을 서버로 배포하더라도, 기존 웹사이트를 이용하던 유저의 브라우저 캐쉬때문에 수정된(fresh) 파일을… [본문 읽기]