영어 표현 모음

at the urging of ~: ~의 권고(권유)로 urge가 명사로 쓰일때의 의미는 ‘충동, 열망’의 뜻 He signed up for seminar at the urging of the general manager. legal practice: the work of a lawyer, or the place where they work. It takes many years before one can open a legal practice. 발행부수, 판매부수 The journal’s domestic circulation had fallen steadily. 상태를 나타내는 동사인 know는 현재진행형 사용하지 않음 I’m knowing of local traffic laws. (X) I know local trafiic laws. (O) I’m cognizant of local traffic laws. (O) ...

2013년 8월 17일 · 1분 · 123단어

Objective-C 런타임(runtime) 내부 동작 분석

맥의 코코아(Cocoa)나 iOS의 코코아터치(CocoaTouch) 프레임워크를 다루다보면 Objective-C 런타임(runtime)과 항상 맞닥뜨리게 된다. 입문자들의 경우에는 프레임워크를 이용해서 잘 동작하는 Objective-C 코드를 작성하는데만 급급하지만, 해당 객체가 응답할 수 없는 잘못된 메시지를 보내서 런타임 에러가 나는 것 등의 여러가지 예외 상황을 겪게되면 점점 Objective-C 런타임이 어떻게 동작하는지 궁금해지게 된다. 필자도 이것이 궁금해져서 구글링을 하다가 설명이 잘되어있는 Colin Wheeler의 포스팅[^1]을 발견했다. 본 글의 내용들은 이 포스팅을 번역하여 작성되었고 내용상의 설명순서는 좀더 이해하기 쉽게 재배열 하였다. 부분적으로 추가 설명이 더 필요한 부문은 애플의 Objective-C Runtime Programming Guide[^2]도 참조했다. ...

2013년 8월 17일 · 9분 · 1898단어

워드프레스 블로그를 네이버 검색엔진에 등록하기

워드프레스로 블로깅을 하다보면 All In One SEO Pack 플러긴만 설치해두면 구글에는 엄청나게 검색이 잘되는 것을 금방 알 수 있다. 워드프레스 자체의 고유주소(permalink)시스템 + 자동 생성되는 메타정보(키워드나 컨텐츠 내용) 들이 이미 구글 봇이 수행하는 인덱싱에 최적화 되있기 때문이다. 덕분에 큰 노력 없이도 구글에 최상단 노출이 되는 경우가 많다보니, 블로그 트래픽의 구글검색을 타고 들어오고 있다. 하지만 글을 올리고 몇달이 지나도 국내 검색 엔진들에는 전혀 검색이 되지 않길래 이것저것 검색을 해보니, 아니 웬걸. 네이버 검색엔진님께 내가 직접 RSS 피드을 등록을 해줘야 검색이 된다는 황당한 설명을 발견. 네이버 신디케이션 서비스도 그렇고 네이버측에서는 구글처럼 봇으로 긁어오는게 해당 사이트에 무리를 줄 수 있다는 핑계를 대긴 하지만 실제로 이렇게 되어있는 이유가 궁금할 따름이다. 아래는 네이버측의 설명이다 ...

2013년 8월 15일 · 2분 · 270단어

코어데이터(Core Data)와 데이터베이스의 차이

애플의 Core Data Programming Guide 문서에는 코어데이터(Core Data)가 데이터베이스가 아니라고 명시되어있다. 하지만 코어데이터와 데이터베이스 둘다 검색가능하고, 영속적인 저장소를 제공하는 방법이므로 구체적으로 무엇이 다른지는 명확하지 않다. 이 포스트에서는 코어데이터가 동작하는 방법을 살펴보면서 왜 코어데이터가 일반적인 SQL 데이터베이스와 다른지 비교해 볼 것이다(코어데이터를 사용하더라도 실제 뒷단의 저장소는 SQL 데이터베이스가 사용되는 경우도 있다). 소개 코어데이터와 SQL 데이터베이스 모두 구조화된 데이터를 검색가능한 저장소에 저장하는 수단을 제공해준다. 일반적으로 개발자들이 데이터베이스에 익숙하고, 코어데이터가 실제로 뒷단에서 SQLite 데이터 베이스를 사용하여 데이터를 저장하는 경우도 있기 때문에 코어데이터가 마치 SQLite의 wrapper인 것처럼 생각되기 쉽다. ...

2013년 8월 14일 · 6분 · 1250단어

NSSplitView 우선순위 기반 리사이징 예제

NSSplitView의 경우 각 컬럼이 비율을 유지하면서 리사이징 되는것이 기본값이다. 즉 NSSplitView의 크기가 변할때 각 컬럼이 동일 비율로 증가하게되는데, 이러한 방식은 사이드바를 가지는 UI(예: 아이튠즈나 엑스코드의 사이드 바)에는 적합하지 않다. 이 포스트에서는 우선순위 리스트에 기반한 방법으로 사이드바와 메인 뷰를 적절히 리사이징 하는 delegate 클래스를 다뤄보도록 하겠다. 비율 vs. 우선순위 리사이징 3개의 뷰를 가지는 NSSplitView는 다음과 같이 동작한다: 비율 리사이징의 경우, 윈도우 크기가 늘어나면 각 컬럼이 너비가 동일 비율로 증가한다. ...

2013년 8월 5일 · 4분 · 789단어

HTML 속성값 지우기

네이버 블로그나 기타 웹사이트에서 CSS로 스타일을 적용하지 않고, inline 스타일로 html태그 안에 속성들이 설정된 경우가 많다. 이 경우 해당 문서를 복사하거나, 편집할때 매우 지저분해서 불편한데 다음 링크에서 제공하는 온라인 html 속성 제거 툴을 사용하면 매우 편하다. HTML stripper

2013년 7월 30일 · 1분 · 38단어

iOS, Mac 앱 개발시 하위 호환성 유지

맥OS에서 개발할때, 최신 버전의 SDK를 사용하면 최신 기능들을 이용해서 더 멋진 어플리케이션을 손쉽게 개발 할 수 있다. 하지만 결국 하위 호환성(backward compatibility)을 고려하지 않으면 이전 버전의 OS에서 제대로 작동하지 않는 사태가 종종 발생한다. 이러한 상황은 MacOS 뿐 아니라 iOS에서도 동일하게 적용된다. 현재 필자의 개발환경은 다음과 같다. MacOS 10.7 (Lion) XCode 4.6.2 with MacOS SDK 10.8 (Mountain Lion) 하지만 다음 링크에서 볼 수 있듯이 http://chitika.com/os-x-version-distribution 아직도 10.6(Snow leopard)가 점유율이 가장 높아서, 현재 개발중인 어플리케이션은 최소 스노우 레오파드를 타겟으로 개발을 하기로 마음을 먹었다. 이런 상황에서 호환성을 유지하려면 어떤 점들이 고려되어야 하는지 살펴보도록 하자. ...

2013년 7월 25일 · 3분 · 524단어

NSSplitView 다중 컬럼 생성

현재 XMLRPC를 이용해서 워드프레스로 리모트 퍼블리싱 하는 맥용 코코아 어플리케이션을 개발중이다. 등록된 계정/글목록/세부내용을 보여주기위해서 맥에서 자주사용되는 애플 기본 메일앱이나 에버노트, Ulysses 등에서 사용되는 3 column 형태로 개발을 진행하는 중이다. 기본적으로 인터페이스 빌더(Interface Builder)에서 NSSplitView를 추가하면 행 또는 열이 2개로 나누어져서 추가된다. 여기서 삽질이 시작되었다. 컬럼 수를 늘리기 위해 IB의 스플릿뷰에대한 옵션을 아무리 찾아봐도 없어서 스플릿뷰의 한쪽에 다시 스플릿뷰를 넣어서 컬럼을 3개로 만들었는데, 아무리 생각해봐도 뭔가 이건 아니다 싶은 느낌이 들었다. 결국 한참을 구글링 한 끝에 IB의 Object Tree 화면에 그냥 NSView를 ‘Split View’ 항목 아래로 끌어다 놓으면 된다는 사실을 발견하고나서 허탈해서 이 글을 포스팅 한다. ‘Split View’ 아래의 subview들 숫자만큼 자동으로 컬럼 수가 나누어질지 누가 알았나 허허. (아래 그림 참조) ...

2013년 7월 25일 · 1분 · 166단어

ARC (Automatic Reference Counting) 관련 키워드 사용법

The LLVM Compiler 3.0 에서 ARC기능이 생기면서 4개의 ownership 지시자가 추가되었다[^1]. __strong __unsafe_unretained __weak __autoreleasing 동일한 키워드라도 다음과같이 변수 선언시에는 롱 언더바(__)를 붙여줘야 하고, @property선언시에는 언더바 없이 키워드만 넣어주면 된다. @interface TreeAdditionObj : NSObject { NSString* __unsafe_unretained nodeID; } @property (unsafe_unretained) NSString* nodeID; @end strong 참조 ARC를 사용할 때 모든 포인터를 strong으로 사용하면(strong 참조가 지정된 포인터 변수에 새로운 객체를 대입하면 해당 객체는 무조건 retain된다는 의미), 두 객체가 서로 참조하게되는 순환 참조(circular reference) 상황에서 메모리 해제가 불가능해진다. 일반적으로 Cocoa나 CocoaTouch개발 프레임웍상에서 객체에 delegate를 사용할 때 이러한 순환 참조 상황이 많이 발생하기 때문에, delegate들에 대해서는 주의해서 weak 또는 unsafe_unretained를 사용해야 한다. ...

2013년 7월 25일 · 2분 · 281단어

토익 스피킹 팁

이번에 토익 스피킹 시험 준비하면서 내가 외우려고 적어놨던 노트를 다시 정리 해 보았다. 한국말로 언뜻 보기엔 쉬운데 영어로는 생각안나는 것들이 꽤나되서, 영어공부는 꾸준히 계속 하는 수밖에 없겠구나 하는 좌절감이 든다. 그나저나 2년마다 새로 시험 쳐야되는 이놈의 토익시험비는 정말 시간/비용면에서 국가적인 낭비인듯 휴~. 단/복수 주의해야할 단어들 many peoples are (O) 많은 민족들이 many people are (O) 많은 사람들이 말하기 할때 헷갈리기 쉬운 단/복수 복수형 단어가 따로 존재하는 단어들의 경우 글로 쓸때는 잘 틀리지 않지만 말할때는 생각없이 s를 붙여서 말하게되는 경향이 있으니 주의할 것. ...

2013년 7월 24일 · 2분 · 354단어