요즘 들어 자신감, 자만심 그리고 자존감에 대한 생각을 많이 한다.


'자신감과 자만심의 경계는 무엇일까?'

'자존감과 허영심의 경계는 무엇일까?'


이건 사실 고민을 한다고 정답을 낼 수 있는 문제는 아닌 것 같지만, 나의 가치관에서 비롯된 나 나름대로의 답을 내고 있는 중이다.


우선 자신감과 자만심의 경계, 그리고 자존감과 허영심의 경계는 '객관적인 판단' 이라고 생각한다. 내가 뭘 알고 뭘 모르는지, 뭘 할 수 있고 뭘 할 수 없는지에 대해서 객관적인 판단을 내릴 수 있다면, 이에서 비롯되는 생각과 말은 자신감 혹은 자존감이겠지.


이 객관적인 판단을 위해서는 충분한 근거, 그리고 분명한 경험이 있어야 한다고 생각한다. 객관적인 판단을 위한 근거라는 것이 결국은 직접 간접적인 경험을 토대로 생각할 수 있는 것이기 때문에 경험이 없는 근거는 절대 객관적인 판단이 아닌듯.


그리고 또한 자신감이나 자존감을 나타내는 문장을 생각으로만 한다면 그것은 아무리 충분한 근거가 있더라도 자만심이나 허영심이 되는 것 같다. 예를 들어 내가 과거에 공부를 열심히 해서 자격증 시험에 합격한 적이 있었고, 이 경험을 토대로 이번에 새로 볼 자격증 시험에 대해서도 합격할 수 있다고 생각한다면 이건 나름대로 충분한 근거를 가지고 생각한 것이다. 하지만 이 생각이 생각에서 멈추고 열심히 자격증 시험을 준비하지 않고 놀기만 한다면 그것은 자만심이 된다.


이렇게 생각한다면 자신감 or 자존감 = 경험 + 현재의 노력이 아닐까.

나 자신에 대해서 "이랬으면 좋았을텐데..." 라는 생각이 들 때가 가끔(혹은 자주?) 있다. 외모부터 시작해서(머리가 좀 더 작았으면 좋았을텐데, 콧대가 높았으면 좋았을텐데 등), 머리가 좀 더 좋았으면 좋았을텐데, 술 좀 잘 마셨으면 좋았을텐데 등등 바라는 점은 한도 끝도 없지 뭐..


그냥 평상시에 이런 생각이 들면 그래도 괜찮지만, 여러가지 힘든 상황 속에서 이런 생각들이 들면 좀 우울해지기도 하고 그런다. 주변 사람들을 보면 그런 경우가 정말 많지. 시험 공부를 하다가 이해도 잘 안 되고, 성적도 잘 안 나올 때, 소개팅에 나가서 나는 상대가 맘에 들었는데 상대는 나를 맘에 들어하지 않을 때 등등. 이런 상황에서 "이랬으면 좋았을텐데..." 라는 생각을 하면 참 우울해지기 마련인 듯.


사람이라면 이런 생각이 드는 것은 어쩔 수가 없는 것 같다. 내가 이미 가진 것을 생각하기 보다는, 없는 것에 대해서 아쉬워하고 그러는게 당연한 거겠지. 사람의 욕심이란 끝이 없으니깐.


하지만 이런 생각들만 하는 것은 나에게 전혀 도움이 되지 않는다. 내가 그렇게 생각한다고 해서 뭐가 어떻게 변하나? 키가 커지고 싶다고 생각해서 키가 커지나? 외모가 나아지면 좋겠다고 생각해서 외모가 나아지나?


이럴 때는 내가 가진 것들에 대해서 다시 생각해보고 기분을 전환하는 것이 훨씬 정신건강에 좋다고 생각한다.


그리고 더 나아가서, 내가 가지지 못한 것들에 대해서 아쉬워만 하기 보다는, 나의 노력으로 보완할 수 있는 점들을 계속해서 찾고 실천하는 것이 가장 좋겠지. 


나는 정말 부족한 점이 많지만, 그래도 노력으로 이룰 수 있는 점들은 많이 살리고 있다고 생각한다. 중고등학교땐 머리가 좋지 않다는 생각 정말 많이 했어서 그만큼 남들보다 열심히 공부했었다. 너무 마른 체형이고 운동신경도 별로 좋지 않은 편이라 일부러 심하다 싶을 정도로 운동도 많이 했었고.


아무튼 가끔 "이랬으면 좋았을텐데" 라고 생각하는 내 자신이나 주변 사람들을 볼 때 이런 말들을 해주고 싶다.


"그래서 뭐가 더 나아지는데? 지금 네가 갖고 있는 것을 생각해봐. 얼마나 행복한건지. 그리고 정말 아쉬운 점이 있다면 지금 고민하는 것보다는 노력으로 그걸 보완할 수 있는 걸 찾아서 하는게 훨씬 너에게 좋지 않을까?"




창업에 관심을 둔 주변 사람들에게 여러 번 추천을 받았던 "실리콘 밸리의 해적들"을 드디어 보았다. 

영화로서의 재미는... 전혀 없었지만, 익히 들어왔던 스티브잡스와 빌게이츠의 창업스토리가 큼직큼직하게 나와서 나름 흥미롭게 볼 수 있었던 것 같다.


실리콘 밸리의 해적들에서 묘사한 스티브잡스는... 천재 + 또라이.  특히 스티브잡스는 전기를 어느 정도 읽어서 알고 있었지만, 광적이라고 생각될 정도로 괴이한 행동을 하는 모습을 영화에서 많이 보여준다. 오히려 천재적인 모습은 그저 잘 나간다, 돈을 많이 벌게 되었다 정도만 보여주고, 막상 영화 속 장면들이나 스토리들은 또라이라는데 주력을 두고 있다.


빌게이츠의 경우는 천재 + 찌질이? 초반에 나온 빌게이츠는 정말 컴퓨터 밖에 모르는 찌질이로 나오지만, 후반으로 갈 수록 천재적인(?) 모습들을 보여주는 인물로 묘사된다. 사실 초반에 보여준 모습과 후반에 보여준 모습과의 개연성이라든지 통일성은 전혀 없긴 했지만, 어차피 영화로서의 재미는 없다고 이미 말했으니...


영화를 보며 가장 많이 든 생각은, 최근 하고 있던 고민인, 나는 어떤 사람이(사업가로서) 되어야 하는가에 대한 생각이었다. 나는 분명 스티브잡스와 같은 천재는 아니다. 아니 오히려 멍청한 편이라고 하는 것이 맞는 것 같다. 그렇다면 어떤 방향으로 어떤 노력을 하며 어떠한 사람이 되어야 스티브잡스와 같이 위대한 기업을 만들 수 있을 것인가?


 이건 스스로 생각하기엔 답을 내릴 수 없는 문제인 것 같다. 실제로 사업을 하는 분들의 얘기를 많이 듣고, 다양한 사례들을 보며 간접경험하고, 스스로 직접 시행착오를 겪어가며 배우는 수밖에...



뷰를 전환할 때 모달 뷰(Modal View) 형태로 띄우고 싶을 경우를 위해 포스팅을 해본다. 해놓고 나니 완전 기초 코드였고 도대체 내가 왜 헤맸을까 싶기도 했지만, 처음에는 모달 뷰라는 것이 뭔지도 몰랐고 어버버버 하다가 구글링에 구글링을 거듭해 겨우 해냈던거 ㅜㅜ

 

0. 목표

우선 하려고 하는 바를 정리해보면, 뷰를 2개 만들고, 뷰1에서 버튼을 클릭하면 뷰2가 모달 뷰로 나타나도록 하고 여기에 전환 효과를 살짝 넣어보는 것이다. 그리고 뷰2에서 닫기 버튼을 클릭하면 모달 뷰가 사라지고 다시 뷰1이 나타나게 한다.

 

1. 뷰 2개 생성하기

뷰를 2개 만들어준다. 처음에 프로젝트를 생성할 때 view based project로 생성하면, "프로젝트명ViewController"와 함께 스토리보드 혹은 xib파일이 생성되니 이미 뷰 1개는 만든 것이다. 그리고 뷰 하나 추가는 New File을 생성할 때 View Controller Subclass로 생성하면 .h, .m, .xib파일이 하나씩 생성된다. 이로써 뷰 2개 생성은 완료! 아래 코드에서는 편의상 뷰1의 뷰컨트롤러는 뷰1.h, 뷰1.m라 하고, 뷰2의 뷰컨트롤러는 뷰2.h, 뷰2.m 이라고 하자.

 

2. 뷰1 헤더파일(뷰1.h)에 메서드 선언

- (IBAction)popupSetting;

이 메서드는 뷰1의 스토리보드나 xib에 만들 버튼에 연결할 메서드이다. 헤더파일에 선언 한 다음에 스토리보드나 xib에서 버튼 만들고, control + 클릭해서 touch on inside 오른쪽 원 부분 클릭하고 끌어서 popupSetting에 연결하면 된다.

 

3. 뷰1 구현파일(뷰1.m)에 메서드 정의

#import "뷰2.h"

일단 뷰2를 모달 뷰로 띄울 것이기 때문에, 뷰2.h를 임포트!

- (IBAction)popupSetting
{
    Setting *modalSetting = [[Setting alloc]initWithNibName:@"Setting" bundle:nil];
    [modalSetting setModalTransitionStyle:UIModalTransitionStylePartialCurl]; //모달뷰 전환효과
    [self presentModalViewController:modalSetting animated:YES];
}

메서드 내부에는 딱 저 3줄만 있으면 된다. 심지어 2번째 줄은 전환 효과를 위한 것이고, 전환 효과를 디폴트로 주고 싶으면 굳이 입력하지 않아도 된다.

 

4. 뷰2 헤더파일(뷰2.h)에 메서드 선언

-(IBAction)closeSetting;

모달 뷰로 사용될 뷰2에는 해당 모달 뷰를 닫기 위한 버튼을 만든다. 위의 뷰1에서 했던 것 처럼, 메서드를 생성하고 버튼에 메서드를 연결시키면 된다.

 

5. 뷰2 구현파일에 메서드 정의

-(IBAction)closeSetting
{
    [self dismissModalViewControllerAnimated:YES];
}

모달 뷰 닫기 버튼에 대한 메서드는 심지어 단 한 줄!

 

이렇게 한 후에 빌드를 해보면 시뮬레이터에서 모달 뷰가 아름답게 떴다가 사라졌다가 하는 것을 볼 수 있다. 잘 안 되면 아마 버튼과 메서드를 연결을 시키지 않아서일 가능성이 높음...

 

** 모달뷰 전환효과 더 알아보기

기본적으로 사용할 수 있는 모달 뷰 효과는 총 4가지이다. 위에서 이미 사용한 효과는 종이를 말아 올리는 듯한 효과이고, 아래에 있는 3개 효과도 추가로 있다. (디폴트는 CoverVertical이다.) 

    [modalSetting setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
    
    [modalSetting setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
    
    [modalSetting setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];

 

 

아이폰 수동 메모리 관리와 관련된 기초적인 내용.

그냥 읽으니깐 머리 속에 잘 안 들어와서 정리하는 겸 포스팅!

 

클래스/프로토콜 

메서드 이름

의미

 NSObject Protocol

 retainCount

 객체 혹은 인스턴스 변수가 특정 메모리 공간을 참조하고 있는가를 나타내주는 정수인 레퍼런스 참조 횟수 값을 저장.

 NSObject Class  alloc  생성된 객체에 메모리 공간을 할당. 객체에 메모리가 할당되면 retainCount 메서드에는 1이라는 값이 저장됨.
 NSObject Protocol  retain

 객체가 메모리 공간을 참조하고 있다는 사실을 아이폰에 알림. 메모리 주소는 가지고 있으나 메모리 공간을 사용할 수 없는 어떤 객체가 retain 메서드로 메모리 공간을 참ㅁ조하면 retainCount 메서드의 값은 1만큼 증가.

 NSObject Protocol  release

 객체가 현재 참조하는 메모리 공간을 더는 참조하지 말라는 명령을 내림. 실제로 release 메서드는 retainCount 메서드의 값을 1만큼 감소시킴.

 NSObject Class  dealloc

 메모리 공간을 참조하고 있는 모든 객체가 더는 해당 메모리 공간을 사용하지 말라는 명령을 내림. 어떤 조건이든 retainCount 메서드의 값이 0이 됨.

<참조 횟수를 관리하는 메서드>

 

alloc 메서드와 init 메서드를 통해서 하나의 객체가 생성되면, 사용자는 retain 메서드로 메시지를 보내 새로 생성된 객체가 메모리 공간을 참조하고 이를 사용할 권한을 가지고 있음을 알려주어야 한다(소유권). 또한 release 메서드는 객체가 지정된 메모리 공간을 참조할 필요가 없다는 것을 알려준다(소유권 반환). 정리하면 아래와 같다.

 1. 객체의 참조 횟수 값이 1 또는 그 이상일 경우 아이폰은 메모리 공간을 소유하고 사용할 수 있다.

 2. 객체의 참조 횟수 값이 0이 될 경우, 아이폰은 객체의 메모리 공간에 대한 소유권을 반환받아 할당되었던 메모리 공간을 회수한다.

 

객체의 메모리 할당, 참조, 반환 과정에 따른 참조 횟수의 변화를 보자.

먼저 Foo 클래스를 인스턴스화 하고, 메모리 공간을 할당한 첫 번째 객체 myFooOne을 만들어보자. 

 Foo * myFooOne = [[Foo alloc] init];   //retainCount = 1

이때 myFooOne 객체의 참조 횟수 값은 1이다. 이제 myFooOne 객체를 참조하는 두 번째 객체인 myFooTwo를 생성해보자.

 

 Foo * myFooTwo = myFooOne;    //retainCount = 1

 [myFooTwo retain];                   //retainCount = 2

첫 번째 줄은 myFooTwo 객체가 Foo 클래스를 인스턴스화 했으며 myFooOne 객체를 참조하도록 한다. 하지만 myFooOne 객체의 메모리 공간을 참조한다는 사실을 아이폰이 알고 있지는 않다. 따라서 메모리 공간의 참조 횟수 값은 여전히 1이다.

두 번째 줄에서는 retain 메서드를 사용하여 myFooTwo 객체가 myFooOne 객체와 같은 메모리 공간을 사용한다는 메시지를 myFooTwo 객체에 보낸다. 따라서 해당 메모리 공간의 참조 횟수 값은 2가 된다.

 

이제 myFooOne 객체와 myFooTwo 객체가 더 이상 필요하지 않다고 생가해보자. 이럴 때 사용자는 release 메서드를 사용하여 더는 해당 메모리 주소와 공간을 참조하지 않는다는 메시지를 myFooOne 객체와 myFooTwo 객체에 보낸다.

 [myFooOne release];    //retainCount = 1

 [myFooTwo release];   //retainCount = 0

이때 메모리 공간의 참조 횟수 값은 0이 되며, 아이폰은 myFooOne과 myFooTwo 객체가 함께 사용하던 메모리 공간을 회수한다.

 

 

 

출처 : iOS 앱 개발 시작을 위한 단계별 40개 예제 Objective-C 프로그래밍 (Mc Graw Hill 길벗 출판)

 

기발한 아이디어 - 니콘 카메라 얼굴인식 기능 광고

 

 

 

'마케팅' 카테고리의 다른 글

내맘대로 마케팅 브리핑 - 1  (0) 2016.12.15
[마케팅] 고스트 아이템 마케팅  (0) 2013.12.11
Google's Coca-Cola “Hilltop Re-imagined”  (0) 2012.09.07

 

초등학생부터 대학생까지, 학교, 도서관, 독서실 등을 보면 이어폰을 낀 채 공부하는 학생들이 많다. 

 

 음악을 들으며 공부하는 학생들에게 공부가 잘 되냐고 물어보면, 대답은 각양 각색이다. 너무 졸려서요, 저는 음악 들으면서 하면 공부가 더 잘돼요, 가사 없는거라 괜찮아요, 등등..

 

그렇다면 정말 음악들으며 공부하는 것이 효과가 있을까, 혹은 방해가 되지 않을까? 

 예전에 한 논문에서 음악들으며 공부하는 것은 도움이 전혀 되지 않는다는 것을 본 적이 있다. 사람이 멀티태스킹을 한다는 것은, 엄밀히 말하면 멀티태스킹이 아니기 때문이다. 내가 어떤 2가지 이상의 일을 동시에 하는 상황을 생각해보면, 실제로는 동시에 하는 것이 아니라 번갈아가면서 시간을 배분하여 하고 있다는 것을 알 수 있다. 아무튼 여기서는 이런 객관적인 근거들은 논외로 하고, 실제 나의 사례와 주변 학생들의 사례를 바탕으로 간단히 얘기해보겠다.  

 

우선 어떤 공부를 하느냐가 영향이 있을 수 있다. 나같은 경우에는 언어나 외국어 등을 공부할 때는 전혀 도움이 안 되는 것 같았고, 수학을 공부할 때는 그나마 다른 과목에 비해서는 괜찮은 것 같았다. 주변 친구들이나 가르치는 학생들에게 물어봤을 때도 비슷한 답이었다. (이 주제에 대해서는 대학교에서 레포트를 쓴 적이 있었는데, 단순한 작업을 필요로 하는 공부나, 논리적 사고를 요하는 경우에 좀 더 멀티태스킹의 부정적 영향이 덜햇다.) 

 

 

그리고 어떤 노래를 듣느냐도 영향이 있다. 한국 가요를 듣느냐, 팝송을 듣느냐, 클래식, 재즈 등의 음악을 듣느냐, 어떤 템포의 음악을 듣느냐 등.. 우선 한국가요 >팝송 >클래식,재즈 순으로 집중력에 영향을 주는 것 같다. 한국가요는 가사가 바로바로 머릿속에 들어오기 때문에 그런 것 같고, 같은 원리로 가사가 없는 클래식이나 재즈를 들으며 공부하는 것은 방해가 덜 되는 것 같다. 템포의 경우는 딱히 실험을 해본 적은 없는데, 너무 빠른 템포의 음악을 들으면 마음이 급해지는 경향이 있어서 약간 잔잔한 음악이 더 좋은 것 같다.

 

 

앞의 내용들은 간단히 체험적인 결과를 쓴 것이고, 사실 음악들으며 공부를 할 때, 사실 가장 중요한 것은 자신의 페이스이다. 평소에는 왠만하면 음악을 듣지 않고 공부하는 것이 좋다. 다만 집중이 너무 안 될 때, 혹은 너무 졸릴 때는 음악을 들으며 페이스를 조절 하는 것이다. 집중을 하지 못한 채 그냥 앉아서 졸고있거나 다른 생각을 하면서 시간을 허비하는 것 보다는 좀 더 도움이 된다면 음악을 들으며 공부하는 페이스를 찾을 수 있는 것이다.

 

공부를 하기 싫어하는 학생들의 경우에는 (물론 공부를 좋아하는 학생이 어디 있겠냐마는...  여기서는 공부를 하기 싫어하고, 그 싫어하는 것을 참고 해내는 인내심을 발휘하지 않는 학생들을 의미한다) 집중이 잘 될 때건 안 될 때건 항상 음악을 들으며 공부하는 경우가 많다. 그러다 선생님 혹은 부모님이 왜 공부할 때 음악을 들으며 공부하냐고 잔소리를 하게 되면 공부 하는데도 뭐라고 하냐 등등의 반항을 하며 짜증을 내는 경우도 있다.

 

 

솔직히 이런 학생들을 보면.. 안타깝다. 우선 자신이 왜 공부를 하는 것인지 생각하지 않은 채 행동하고 있는 것이며, 주변 상황을 유동적으로 관리하거나 이용하지 못하는 것이다. 이런 상황에 대한 것은.. 나중에 포스팅하기로 하고 넘어가겠다.

 

공부라는 것은 누구나 하기 싫어한다.(극소수를 제외하면) 그래서 학생 때 하는 입시 공부라는 것은 누가 더 인내심을 발휘하고 자기관리에 힘을 쏟느냐의 대결이다. 음악들으며 공부하는 것도 객관적으로 좋은 영향이 있다, 혹은 나쁜 영향이 있다 이런 것을 떠나서 자신이 공부를 하는데 있어서 정말 도움이 되는 방향으로 활용을 하는 것의 일부일 뿐인 것이다.

 

스스로 가슴에 손을 얹고서 음악을 들으며 공부하는 것이 내가 공부에 도움을 주기 위해서 하는 것인지, 단순히 공부하는 힘든 시간을 달래기 위한 것인지 냉철하게 판단한 후에 행동하는 것이 좋은 결론이 될 것이다.

 


앱을 실행하는데 있어서, 간단한 설정값이나 데이터를 저장해야할 경우가 있다. 로그인이 필요한 앱의 경우에는 ID와 Password를 저장해야 할 것이고, 기타 설정들이 있을 경우 그 설정값들을 저장할 필요가 있다. 이 경우 별도의 DB를 이용하는 것이 아니라, 간단하게 값을 저장하고 불러와서 사용할 수 있다.


NSUserDefaults를 이용하면 되는데, 나도 자세한 내용은 모르므로 깊이있게 공부하고 싶다면 애플에서 제공하는 NSUserDefaults Class Reference를 참고하고, 여기서는 아주 간단하게 사용법만 소개!(혹시 틀리게 적은 내용이 있다면, 공격하진 마시구 조언 or 코멘트 부탁드립니다)



1. 설정값 저장하는 방법

아래 나와있는 코드처럼 작성하면 된다. setValue의 경우 id 형식으로 모든 데이터 타입을 담을 수 있고, forKey에는 String값으로 해당 데이터의 키값을 정하여 입력하면 된다.

[[NSUserDefaults standareUserDefaults] setValue:데이터 forKey:키값];


예를 들어 userID라는 이름의 textField에 입력되어있는 값을 saveID라는 키값으로 저장하고 싶다면 아래와 같이 입력하면 된다.

[[NSUserDefaults standardUserDefaults] setValue :userID.text forKey:@"saveID"];

 

그리고 Integer값으로 값이 바뀌었는지 안바뀌었는지 여부를 0 혹은 1로 저장하고 싶은 경우(키값은 isChange) 아래와 같이 입력하면 된다.

[[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"isChange"];


그리고 아래 코드를 한 줄 더 입력하게 되면 값이 저장되는 듯하다

[[NSUserDefaults standardUserDefaults] synchronize];



2. 설정값 불러오는, 사용하는 방법

저장한 데이터를 불러오는 방법은 더 쉽다. 아래와 같이 한 줄 입력하면 해당 데이터를 바로 사용할 수 있다.

[[NSUserDefaults standardUserDefaultsstringForKey:키값]

[[NSUserDefaults standardUserDefaults] integerForKey:키값]


아까 위에서 저장했던 saveID 키값의 데이터를 불러오고 싶다면

[[NSUserDefaults standardUserDefaultsstringForKey:@"saveID"]


isChange키값의 데이터를 불러오고 싶다면 

[[NSUserDefaults standardUserDefaults] integerForKey:@"isChange"]

코드로 바로 데이터를 사용할 수 있다.



뭣보다 코드가 쉬워서 너무 좋은듯!




이번에는 외국어영역 공부법을 적어보고자 한다.

수능 외국어영역은 높은 등급을 받기가 쉽지 않다. 외국어 고등학교에 다니는 학생들, 영어권 국가 체류 경험이 있는 학생들이 있기 때문이다. 그래서 등급으로 보았을 때 외국어영역 1등급 컷은 문제의 난이도에 상관없이 항상 96점 정도로 유지된다. 표준점수로 계산하더라도 만점이나 96점 이상 고득점 학생들이 많기 때문에 그렇게 큰 점수가 나오지 않는다.

 

수리영역의 경우에는 똑같은 1등급이라도 100점을 맞았을 때와 90점을 맞았을 때, 표준점수의 차이가 굉장히 크기 때문에 최상위권 학생들에게는 큰 메리트가 있지만 외국어영역의 경우는 잘 보면 본전, 못 보면 타격인 과목인 것이다.

 

나는 수능 공부에 있어서 외국어 영역이 가장 자신이 없었다. 고등학교 입학할 때부터 고3 중반까지 70,80점대를 유지하다가 그때부터 어떤 방법을 사용해서 점수가 계속해서 올라가, 결국 94점으로 수능을 마쳤다. 물론 1등급은 아니었지만, 영어를 잘하지 못했던 나로서는 만족스러운 결과였고 이 방법이 실제 영어를 잘하고 못하고를 떠나서 적용되는 방법이라 생각되기에 여기에 적어본다.

  

먼저 당연한 외국어영역 공부법들을 먼저 소개하고, 마지막에 내가 했던 방법을 소개해보겠다. 우선, 문장을 끊어서 읽는 연습을 철저하게 한다. 영어는 우리말과 어순이 다르고, 관계대명사 등을 이용한 수식어구가 굉장히 많기 때문에 문장 구조를 정확하게 파악하지 않으면 제대로 독해를 하기가 어렵다. 그리고 문장을 끊어서 읽는 연습을 하면, 문법적인 사항들도 자연스럽게 알게 된다. 아무 영어 독해책이나 펼쳐서 앞부분을 봐도 이 말은 꼭 있을 것이다. '문장의 주어와 동사를 파악하라.' 정말 외국어영역에 있어서 가장 기본이자 가장 강력한 원리이다. 문장의 주어와 동사가 파악되면, 다른 기타 수식어구들을 모르더라도 충분히 문제를 풀 수 있게 된다.

 

그리고 단어를 매일매일 외운다.영어실력과 수능 외국어영역 점수는 정비례하지는 않는다. 하지만 외국어영역도 '외국어'이기 때문에 매일 접하여 나에게 익숙하게 만들어야 한다. 하루에 단어를 300개씩 외웠다가도 며칠 공부 안하다가 다시 300개씩 외우고 이런 형태보다는 하루에 20개씩, 약간의 예습복습을 곁들여서 꾸준히 외우는 것이 훨씬 효과있다.

 

그리고 영어듣기는 점심시간 때 공부한다. 학교에서 점심을 빨리 먹으면 보통 점심시간이 30분 이상 남게 된다.  나는 고1, 고2 때는 그 시간에 운동장에 나가서 공을 찼지만, 고3 때는 절박함에 공부를 했었는데, 이때 항상 영어듣기 공부를 했다. 점심을 먹고 나면 소화를 시키느라 최고조의 집중력을 발휘하기 어렵다. 하지만 실제 수능도 점심시간 이후에 외국어영역 시험을 보기 때문에 이에 몸을 미리 익숙하게 만들어놓는 효과도 보는 것이다. 점심 시간 30~40분 정도면 듣기부분 17문제를 풀고 채점하고, 틀린 문제 다시 듣는 과정까지 충분히 가능하다. 보통 점심시간 때 다른 공부를 하더라도 집중이 잘 되지 않아 효과가 그렇게 크지 않으니 외국어영역 듣기 공부를 하는 것을 추천한다.

 

앞의 방법들은 당연하고 흔히 말하는 방법들이고, 여기서부터는 내가 고3 중반부터 시작하여 5개월 정도만에 15점 가량을 올린 방법이다. (물론 여태 공부한 것들이 마지막에 발현된 것일 수도 있지만... 이 방법이 영향을 줬음은 확실하다.) 단어를 외우고, 듣기를 하는 것은 위에서 설명을 했으니 독해에 대해서만 설명하겠다.

 

우선 외국어영역 독해 공부시간을 둘로 나눈다.

그래서 첫번째 시간에는 시간제한을 둬서 모의고사 반회분 혹은 1회분 정도를 푼다. 그리고 틀린 문제에 대해서는 간단히 다시 읽어보고 단어나 문법사항을 체크한 후 넘어간다. 이 방법을 통해 시간관리에 대한 감각을 익힐 수 있다. 나는 시계를 중간중간에 확인하지 않고 일정한 집중도와 정확도로 문제를 푼 후에 총 걸린 시간을 체크했는데, 이렇게 함으로써 얼마만큼의 정확도로 풀었을 때 시간이 적절한지를 몸에 익힐 수 있엇다.

 

그리고 중요한건 두번째 시간.

영어 독해 책을 편다. 나의 경우에는 EBS 교재를 가지고 공부했다. 실제 수능에 EBS 교재에 나오는 지문이 나오게 되는데, 사람들은 이때 엄청나게 많은 EBS교재의 지문 중 단 몇개만이 나오기 때문에 사실 의미가 없다고 말한다. 하지만 나는 그 엄청나게 많은 EBS 독해 지문들을 모두 이 방법으로 풀었기에 실제 수능에서 익숙한 지문 몇개를 만났다. 교재의 선택 여부는 자신의 선택이고, 아무튼 교재를 편 후에 마찬가지로 시간을 재서 독해를 한다. 이때 문제수는 10문제~15문제 정도로 정한다. 그리고 시간 안에 문제를 풀고, 채점을 한다.

 

여기까지는 동일하지만 채점을 할 때 답을 절대 체크하지 않고, 해설을 읽어보거나 단어를 찾지도 않는다. 그리고 틀린 문제건 맞은 문제건 상관없이 다시 읽어본다. 맞은 문제의 경우에는 대부분은 잘 파악이 된 지문이므로 1,2번만 더 읽어본다. 이때 다시 읽어보는 과정을 시간에 상관없이 정말 꼼꼼하게 읽어서 답만 대충 고를 수 있을 정도가 아니라 그 지문 전체를 완벽하게 이해할 수 있을 만큼 읽어본다.

 

모르는 단어가 많이 나오는 문제라면 굉장히 답답한데, 이때 절대 단어를 찾지 않고 계속하여 읽어본다. 내 기억으로는 보통 맞은 문제들은 1,2번, 틀린 문제들은 평균적으로 5번, 어려운 지문의 경우에는 20번도 넘게 읽어본 적 있다. 그렇게해서 지문이 완벽하게 이해가 되면, 그때 몰랐던 단어를 찾아보고 문법적 사항들을 체크해본다.

이런 무식하게 보일 수 있는 방법으로 공부를 하면, 우선 모르는 단어가 있고 없고에 상관 없이 문장 구조 파악을 할 수 있는 능력이 길러지는 것 같다. 그리고 고3 쯤 되면 왠만한 문법 지식들은 다 알고 있을 것이다. 다만 이것이 활용이 안 되는 형태일텐데, 이것을 무의식적으로 익숙하게 만드는 것이다. 사실 정확히 어떤 효과가 있어서 점수가 올랐는지는 모르겠다. 하지만 정말 좋은 방법임에는 틀림이 없는 것 같다.

외국어영역은 앞서 말했듯이 최상위권에게 있어서는 당연히 잘 봐야 할 과목이고, 중위권 이하의 학생들에게는 막막함의 대상이다. 하지만 나중에 대학에 가서 결국 영어는 계속하여 공부해야 하기 때문에 외국어영역 공부를 계기로 열심히 공부하기 바란다.

 

xcode에서 텍스트필드(TextField)를 생성할 때, 유저가 아이디와 패스워드를 입력하게 할 목적으로 생성하는 경우가 많이 있을 것 같다. 아주아주 쉽고 간단한 팁이지만, 처음에 의외로 찾기 힘들었던 텍스트필드(TextField) 비밀번호 형식으로 보이게 하는 법!

생성된 TextField를 클릭하고, 우측에서 Attribute 영역을 클릭한 후에 스크롤을 내리다보면 Secure 란이 있다. 아래 그림처럼 Secure 좌측의 체크박스에 체크표시를 하면 TextField를 입력할 때 비밀번호 형식으로 보이게 된다.