본문 바로가기
[Effective Objective-C] #39 핸들러 블록을 사용해 코드가 여러 개로 나뉘는 것을 막으라 [Effective Objective-C] #39 핸들러 블록을 사용해 코드가 여러 개로 나뉘는 것을 막으라 출처 : Effective Objective-C -특정 상황에서 앱이 특정 시간 동안 응답하지 않으면 자동으로 종료될 수 있다.특히 iOS 앱은 반드시 종료된다.시스템 와치독(system watchdog)은 특정 시간 동안 메인 스레드가 중단된 앱은 강제로 종료시킨다. -비동기 메서드를 쓰면 일을 끝냈을 때 완료 사실을 알고 싶어 하는 것들에 완료 사실을 알려주는 방법이 필요하다.이를 할 수 있는 방법이 몇 가지 있다.일반적으로 쓰는 방법은 객체가 따를 수 있는(conform) 델리게이트 프로토콜을 이용하는 것이다.델리게이트 객체는 비동기 작업의 완료 같은 적절한 이벤트가 발생하면 알림을 받을 수.. 2017. 10. 3.
[수유 놀거리] 플레이 스팟 (play spot) 에서 양궁 도전!! [수유 놀거리] 플레이 스팟 (play spot) 에서 양궁 도전!! 1130 / 1136 수유에 새로운 놀거리가 생겼다. 이름은 Play spot. 일반적인 오락실이 아닌, 스크린 야구(Full set 경기는 아님), 사격, 양궁, 스크린 축구 등의IT 와 Activity 가 결합된 형태의 놀이들을 제공하는 곳이다. 2층에 위치해있다. 판타지 빠인 김스타님이 활 쏘고 그런거 좋아해서 양궁 꼭 해보고 싶다 해서 방문한다.9발 쏘는데 3,000원이다.원래는 0점을 잡아야 하는데, 0점을 모든 사람에게 잡아줄 수 없어,테스트 샷으로 3발을 더 준다. 즉 첫 방문에는 12발 쏘는데 3,000원이다. 점원이 어떤 식으로 하면 된다고 간단하게 설명을 해준다.그리고 요청하면(?) 뒤에서 점수도 기록해준다. 도전하는.. 2017. 10. 3.
[Effective Objective-C] #38 많이 사용하는 블록 타입은 typedef 를 이용해 타입을 생성하라 [Effective Objective-C] #38 많이 사용하는 블록 타입은 typedef 를 이용해 타입을 생성하라 출처 : Effective Objective-C -블록은 내재 타입(inherent)이다.블록은 적절한 타입의 변수에 할당될 수 있다. -블록의 타입은 다음과 같이 생겼다.return_type (^block_name) (paramters) 블록 변수(block-variable) 정의는 변수 이름을 맨 오른쪽에 두는 다른 타입들과 달리 변수 이름을 가운데 둔다.이로 인해 블록 타입 정의 문법을 기억하고 읽기가 매우 어려워진다.그렇기 때문에 자주 사용되는 블록 타입을 위한 타입 정의를 만드는 것은 좋은 생각이다.특히 다른 사람들이 사용하는 API 일 때 유용하다.이와 같이 이름 뒤에 블록 타.. 2017. 10. 2.
[DDP 맛집] 몽골 식당 오랜만에 가서 배 뚜들겼수다 [DDP 맛집] 몽골 식당 오랜만에 가서 배 뚜들겼수다 1106 / 1123 오랜만에 몽골식당에 가기로 한다.파티원은 김스타님. 롯데 피트인 앞에 설치된귀여운 발광하는(?) 팬더들. 나무에 매달려서 힘들지도 않니? ㅋㅋ 아주 오래전 방문이라서.. ㅋㅋㅋㅋ당시 크리스마스 시즌이었는데 몽골식당도 크리스마스 느낌을 냈다. 평소에는 꽤 삭막한 분위기인데 이날만큼은 온화함이 느껴졌다. ㅋ 그리고 새로운 음료가 나왔다.가격은 1500원이고,따뜻한 갈매주스라는데... 갈매기 쥬스도 아니고 갈매쥬스가 뭐야?우선 시키고 본다.그리고 인터넷으로 찾아본다. 갈매가 뭔지.. 그리고 우리가 좋아하는 보르쉬.나눠 먹고 이런 거 없다.1인 1보르쉬 해야 한다 ㅋㅋ 저 감칠맛 넘쳐보이는 국물을 보라.지방이 별로 없는 저 찔떡해보이는.. 2017. 10. 2.
[Effective Objective-C] #37 블록을 이해하라 [Effective Objective-C] #37 블록을 이해하라 출처 : Effective Objective-C -맥 OS X 내에서 UI 스레드가 멈추면 그 무시무시한 돌고 있는 비치볼을 보게 될 것이다.iOS 에서는 앱이 너무 오랫동안 멈추어 있으면 강제로 종료될 것이다. -멀티스레딩의 핵심 기술은 블록과 GCD(Grand Central Dispatch) 다.블록은 C, C++. 오브젝티브-C 에 렉시컬 클로저(lexical closure)를 제공하는데 이는 매우 유용하다.( 클로저는 함수 내에 함수를 선언할 수 있게 하는 기능이다. 리스프 계열 언어에서 많이 쓰이며, 내부에 선언된 함수는 외부 함수의 파라미터들을 참조할 수 있다. )블록은 코드를 전달하는 기법을 제공한다. -GCD는 스레딩을 이른.. 2017. 10. 1.
[을지로 맛집] 평래옥 - 평양냉면 매니아라면 이 곳을 모를 리 없지비~ [을지로 맛집] 평래옥 - 평양냉면 매니아라면 이 곳을 모를 리 없지비~ 1046 / 1106 주변 지인의 평양냉면 후기는 참으로 참담했다."걸레 빤 물을 먹는 줄 알았어""무슨 맹물에 냉면 넣고, 고춧가루 조금 뿌려주드라" 이런 참담한 후기 가운데"그나마 평래옥은 평양냉면 입문자들에게 괜찮은 곳인것 같어" 라는 후기를 듣고. 평래옥을 통해 평양 냉면을 도전해보기로 한다. 여름 점심시간에 가면 약 3시까지 줄이 끊이지 않고 서는 이곳.정말 인기가 짱이다. 인테리어는 아주 살짝 북한을 연상시킨다 ㅋㅋ 보면 나이 지긋하신 분들에게 특히나 인기가 좋은 듯 하다. 가격표는 위와 같다.그런데 얼마 전에 가격이 올랐다. 냉면 10,000원이다... ㄷㄷ 약 5~6년전? 첫 회사에 취직했을 때분당에서 냉면을 만원주고.. 2017. 10. 1.
[Effective Objective-C] #36 retainCount 를 사용하지 말라 [Effective Objective-C] #36 retainCount 를 사용하지 말라 출처 : Effective Objective-C -NSObject 프로토콜에 정의된 이 메서드로 객체의 현재 리테인 수를 얻을 수 있다.- (NSUInteger)retainCount -그러나 ARC 는 이 메서드를 폐기했다.실제로 ARC 를 사용하면서 retain, release, autorelease 를 호출하는 것처럼 retainCount 를 호출하면 컴파일러가 에러를 던질 것이다.이 메서드가 공식적으로 폐기 되었는데도 많은 사람들이 잘못 이해하고 있다. -ARC 를 사용하지 않는다면 이 메서드를 사용할 수 있고 컴파일 에러도 받지 않을 것이다.그렇기 때문에 이 메서드를 사용하지 말아야 하는 이유를 반드시 알아야.. 2017. 9. 30.
벨혁이 형이 준 선물 벨혁이 형이 준 선물 아주아주 오래된 이야기인데, 내 블로그의 창고에 있던 사진을 꺼내본다. 벨혁이 형이 iOS 파트장을 맡았을 때다.휴가차 여자친구분과 대만을 다녀오셨는데.. 이렇게 선물상자를 만들어서 파트원 모두에게 돌리셨다는 것.. 감동.. 내용물은 대만에서 유명하다는 간식은 다 들어있었다.파인애플 케익(? 빵), 누가 크래커, 밀크티, 망고젤리 등... 나도 해외여행을 가봤지만 정말 맘 굳게 먹지 않으면 이렇게 바리바리 싸오기가 쉽지 않은데 말이다..게다가 저게 처음부터 저렇게 파는 것이 아니고, 다 따로따로 사서 박스를 구해 포장했단다.여자친구분이 도와줬다고는 하시지만.. (부끄러워서 그렇게 말하고 사실상 아닐수도..)여튼 정성이 대단하시다. 항상 배품을 받기만 하고 뭔가 배풀어드리는게 없어서 .. 2017. 9. 30.
[Effective Objective-C] #35 좀비를 이용해 메모리 관리 오류를 디버깅하라 [Effective Objective-C] #35 좀비를 이용해 메모리 관리 오류를 디버깅하라 출처 : Effective Objective-C -메모리 관리 오류를 디버깅하는 것은 매우 어려운 일이다.할당 해제된 객체에 메시지를 보내는 일은 예상할 수 있듯이 전혀 안전하지 못하다.그러나 때때로 그것은 동작하기도 하고 동작하지 않기도 하는데 이는 객체가 사용했던 메모리를 덮어 썼느냐에 달려있다.메모리가 재사용되었는지 알 수 있는 방법은 없다.그로 인해 크래시가 가끔 일어난다.메모리의 일부분만 재사용되는 경우도 있는데 이 때 객체의 일부분은 여전히 유효하다.또한 순전히 운으로 또 다른 유효한 살아 있는 객체가 메모리를 덮어쓸 수도 있다.이 경우 런타임은 새로운 객체에 메시지를 보낼 것이고 객체는 응답을 할 .. 2017. 9. 29.
반응형