어제(9월 8일) 안드로이드 7.0 누가의 OTA 메시지를 받았습니다.

Nexus 5x 구입해서 마시멜로 사용한지 9개월만에 새 OS를 만났네요..

누가 업데이트 알림이 왔습니다


업데이트 후 제일 먼저 눈에 들어왔던 건

상단의 퀵세팅 타일이었습니다.

퀵세팅 타일이 심플해졌어요

마시멜로에서 처음 등장했던 퀵세팅 타일의 심플 버전이 생겼네요.

여기서 바로 와이파이나 손전등을 터치 한 번으로 켜거나 끌 수 있습니다.

 

이전 마시멜로에서는 넓은 타일이 나와서 한눈에 보기에는 편했지만

화면 대부분을 덮어서 좀 불편한 느낌도 없지 않았지요.


물론 누가에서도 심플 타일에서 아래로 한번 더 swipe 하면

넓은 타일을 볼 수 있습니다.


여기서 블루투스 이어폰을 연결하려고

블루투스 버튼을 터치했는데 이렇게....

곧바로 블루투스 설정 화면으로 들어가 버리더군요.

저는 우아하게 블루투스만 살짝 켜려고 했는데 말이죠.


우아한 조작을 위해서 수정 버튼을 터치하고 순서를 변경해 봤습니다.

수정 모드에서 해당 버튼을 길게 터치하면 이동이 가능합니다


퀵메뉴 타일에서 편리해진 또 하나가

배터리 세이버 모드 선택이 용이해 졌다는 겁니다.


마시멜로에서는 배터리를 선택해서

배터리 설정 화면으로 들어간 후

다시 배터리 세이버 모드로 들어가서 활성화 해야 했습니다.



마시멜로에서는 배터리 세이버 켜기가 쉽지 않습니다


누가에서는 퀵세팅 타일에서 배터리 터치하면

곧바로 배터리 세이버 선택이 가능해집니다.

배터리 세이버도 우아하게


잠금화면 알림창도 스타일리시하게 변했습니다.

스타일리시해 보이는 듯한 느낌적인 느낌

잠금해제 화면에서의 알림도 확실히 달라진 느낌입니다.

광고 메일도 우아하게 보이는군요


설정화면에도 들어가 봤습니다.

설정 메뉴별로 대표 설정값들이 한눈에 들어옵니다.

현재 설정값들을 한눈에 볼 수 있습니다


그리고 무엇보다 만족스러웠던 점..

여유 저장 공간이 1.6GB 이상 늘었네요.

마시멜로 때에는 2.9G 이던 여유 공간이 4.5G로 늘었네요

OS 업데이트 되면서 임시 파일이 삭제된 것일 수도 있지만

 OS 파일 크기도 줄어든 게 아닐까 싶네요.


오늘은 여기까지입니다.

이제 하루 틈틈히 써 본 거라 내용이 많지는 않네요.

계속 써보면서 또 올려보도록 하겠습니다.



연일 이세돌 9단과 알파고의 대결이 화제다.

페이스북과 언론, 블로그들에는 인공지능의 미래, 바둑 이야기로 가득하다.


사실 난.. 알고리즘은 영.. 젬병이고..

바둑은 문외한이다.

어릴 때 아버지에게 바둑을 배우려고 해본 적이 있는데..

내 나름의 솔루션을 만드는 식으로 접근했던 장기와는 달리..

바둑은 그 변화무쌍함에 결국 포기한 기억이 있다..



운동경기나 선거, 시험 등 승부를 겨룸에서 항상 마지막에 등장하는 것이

복기를 한다.. 이다.

사실 이 복기란 말 자체가..

다시복(復)자와 바둑기(棋)자로

바둑의 판국을 비평하기 위해 두었던 대로 처음부터 다시 두는 걸 말한다.


챌린지 매치 4국에서 이세돌 9단의 불계승 후에도

묵묵히 앉아서 복기하는 모습이 화제였는데..

이세돌 9단은 복기를 많이 하는 기사로 유명하다고 한다.

집요할 정도로 매달리는 복기가 지금의 이세돌 9단을 만들었다고 해도 될 듯하다.


복기는 대국이 끝나고 나면 승자와 패자가 마주 앉아

패자가 놓아보는 돌(질문)에 승자가 놓아주는 돌(응답)로 진행한다고 한다.

패자에게는 대국 전체를 다시 돌아보는.. 잔인한 시간이 되겠지만

이렇게 잔인한 과정을 겪으며 진일보 할 수 있는 것이 아닌가 싶다.


승자 역시 승리의 기쁨에 도취되지 않고

차분히 자신의 수를 다시 돌아보며 반성하는 시간이 된다.


결국 복기는 패자와 승자 모두에게 꼭 필요한 공부이며

자신을 발전시키는 과정이다.



코드 리뷰의 기회가 많지 않은 나는

배포 후 며칠(혹은 몇 주)이 지나고 나서...

심심치 않게 이전에 짜놓은 소스를 열어보곤 한다.


그러면서 작게는 변수 이름을 수정하는 것에서부터

로직을 변경하려 들려고 할 때가 종종 있다.

왜 그 땐 떠오르지 않았던 좋은 생각들이

배포까지 마친 시점에서 불현듯 떠오르는 건지....


그러다가 멀쩡한 소스 건드려서 장애가 나버리기도 하지만

그래도 고쳐보려고 하는 욕심은 어쩔 수 없는 듯하다..

(차마 리팩토링이란 말까지는 못 붙이겠다..^^;;)



우리 속담에 소 잃고 외양간 고친다는 말이 있다.

우리 문화는 선제 대응을 하지 못 한 것을 큰 오점으로 여기며

후속 대책을 마련하는 것에 대해서는 부질 없는 짓이라고 생각하는 분위기가 있는 듯하다.


하지만 외양간 고치는 것이야말로

또 다시 소를 잃는 실수를 반복하지 않을

가장 현명하고 현실적인 해결책이 아닐까...



참고

1) 이창호, 이창호의 부득탐승, 라이프맵, 2011

2) 이외수, 코끼리에게 날개 달아주기, 해냄출판사, 2011

3) 정아람, “이세돌 바둑은 늘 격렬” 이긴 날도 이상하면 밤새워 복기, 중앙일보, 2016.3.15



왜 이 영화를 만나기까지 이렇게 오래 걸려야 했는지 잘 모르겠다.


분명 우리에겐 아픈 과거이며, 치유해야 할 상처이지만,

분명 피해를 받은 분들이 계시고, 가해자들이 명백하지만,

이런 이야기를 하는 것이.. 이렇게 힘든 일인 것인지....


손에 꼽을 만큼 높은 영향력을 갖고 있는 영화 시장이라고 떠들지만

이런 영화는 외면해 버리고,


간신히 완성한 작품도 제대로 상영관을 잡지 못해

개봉을 기약할 수 없고....


어쩌면 이 영화는..

위안부 문제에 대하여, 그리고 그 시기 우리 나라가 쳐했던 현실에 대하여

우리가 대하는 태도를 극명하게 보여주는 척도일지도 모른다.


하지만 이런 와중에도 한줄기 희망이라면

아무도 투자하려 하지 않던 이 영화에

7만 명이 넘는 일반인들이 손을 내밀어 주었고,


아무도 틀려고 하지 않았던 이 영화를

일반인들의 성원으로 박스오피스 1위로 만들었다는 것이다.


과거.. 워낭소리처럼 저예산 영화가 박스오피스에서 선전하는 경우는 드물게 있었지만..

귀향의 이런 선전이 의미하는 바는 또 다른 것이 아닌가 싶다.


사람들이 이젠 오래 전 이야기라고, 다들 잊은 이야기라고 떠들어도..

아직도 많은 사람들이 아직 알고 있다고, 잊으면 안된다고 이야기하고 있는 듯 하다.



개봉 2주가 지난 오늘.. 극장 상영관은 비교적 한산했다.

물론 퇴근 시간 직후의 상영 시간이라 아직 극장이 붐빌 만한 시간은 아니었지만,

하나의 중요한 이야기가

또 그렇게 시간이 지나면서 잊혀지는 게 아닌가 싶어 조금 씁쓸하기도 했다.


아직 박스오피스 1위를 차지하고 있지만 이 여세도 언젠가는 꺾이게 될 것이다.

하지만 이미 이 영화는

많은 이들이 이 이야기를 기억할 수 있도록 만들어 주었다.


부디 시간이 지나도 이 이야기를 잊지 않고 그 분들을 기억했으면 하는 바람이다.


p.s. 영화 제목 귀향은 우리가 알고 있는 돌아갈귀(歸)가 아닌, 혼귀(鬼)자를 썼다.

꽃다운 나이에 목숨을 잃은 소녀들의 혼이라도 집으로 돌려보내고 싶었던 감독의 마음이 아닐까 싶다.


3월 10일 AM 1:30

UIabel 위에  UIImageView 를 올려서

이미지를 라벨 위에 노출되도록 하려고 하는데


iOS7 에서는 문제 없이 노출되는데

iOS8 에서는 UIImageView가 UILabel 밑으로 들어가 버리는 문제가 생겼습니다.


UILabel *trainLabel = [[UILabel alloc] initWithFrame:CGRectMake(10.0, posY, 85, 50)];
[cellView addSubview:trainLabel];

UIImage *noImage = [UIImage imageNamed:@"test.png"];
UIImageView *noImageView = [[UIImageView alloc] initWithImage:noImage];
noImageView.frame = CGRectMake(0, 0, 18.0, 18.0);
[trainLabel addSubview:noImageView];


 iOS7

iOS8 

 



 



레이어 순서 문제로 보여

Subview들의 layer 순서를 조절할 수 있는 방법을 찾다 보니

다음의 함수를 찾을 수 있었습니다.


- insertSubview:(UIView *) aboveSubview:(UIView *)

Inserts a view above another view in the view hierarchy.

Declaration

SWIFT

func insertSubview(_ viewUIView,
      aboveSubview siblingSubviewUIView)

OBJECTIVE-C

- (void)insertSubview:(UIView *)view
         aboveSubview:(UIView *)siblingSubview

Parameters

view

The view to insert. It’s removed from its superview if it’s not a sibling ofsiblingSubview.

siblingSubview

The sibling view that will be behind the inserted view.

Discussion

This method establishes a strong reference to view and sets its next responder to the receiver, which is its new superview.

Views can have only one superview. If view already has a superview and that view is not the receiver, this method removes the previous superview before making the receiver its new superview.


참고: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIView_Class/#//apple_ref/occ/instm/UIView/insertSubview:aboveSubview:



addSubview 대신 insertSubView: aboveSubview 를 이용하여


UIImage *noImage = [UIImage imageNamed:@"test.png"];
UIImageView *noImageView = [[UIImageView alloc] initWithImage:noImage];
noImageView.frame = CGRectMake(trainLabel.frame.origin.x, trainLabel.frame.origin.y, 18.0, 18.0);
[cellView insertSubview:noImageView aboveSubview:trainLabel];


위와 같이 수정하니

iOS8에서도 iOS7와 같이 UILabel 위에 UIImageView 를 놓을 수 있었습니다.


조금이나마 도움 되셨기를.... ^^

+ Recent posts