'전체 글'에 해당되는 글 171건

  1. 2013.11.11 2014 연말정산 달라지는 점 - 1탄
  2. 2013.10.31 [android] loadLibrary 와 CPU 특성
  3. 2013.10.25 [일본] 도쿄 시부야 미키하우스 ( 세이부 백화점 )
  4. 2013.10.24 [일본] 도쿄 여행기 ( 시부야, 록본기, 모리타워 )
  5. 2013.10.22 [책] 읽기 좋은 코드가 좋은 코드다

2014 연말정산 달라지는 점 - 1탄

정치&경제 2013. 11. 11. 23:07

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

올해도 연말 정산 기간이 다가 왔습니다. 보통은 2014년 연말 정산이라고 말하지만 정확하게는 2013년 귀속 연말정산입니다. 세법에서는 2013년도에 발생한 세금에 대해서 연말정산을 하기때문에 2013년 귀속이라는 용어를 쓰는것 같습니다. 


매년 연말정산 세법이 조금씩 바뀌는데 올해는 크게 무엇이 달라 졌는지 달라진점 위주로 알아 보겠습니다. 


1. 대중교통비(신용카드)에 대한 소득공제 확대 

지하철이다 버스등 대중교통을 이용시 신용카드를 사용했으면 이용 금액의 30%를 소득공제 받을 수 있습니다. 한도는 100만원 이내입니다.  ( 단, 택시 요금은 제외 : 택시는 아직 국민 정서상 대중교통으로 인정 안하는 분위기 인가 봅니다. ) 


2. 신용카드 공제율 하향 & 현금영수증 공제율 상향 

신용카드는 20% -> 15% 으로 낮아짐. 

현금영수증은 20% -> 30% 으로 높아짐. 

연봉이 5,000 만원인 사람의 경우 소득의 25%인 1,250 만원까지는 신용카드를 사용하고, 초과 금액은 체크카드와 현금을 사용하는 것이 유리 하다고 합니다. 


3. 교육비 공제대상 확대 

기존 공제 대상에서 제외되었던, 급식비, 특별활동비, 교재비 등이 추가되었습니다. 

어린이집은 부가비용이 그렇게 크지 않은데, 유치원의 경우에는 특별활동비등이 솔찬게 들어 갔었는데 참 다행입니다. 

( 교제비는 2013.06.28일 이후 지출분에 한해서 된다고 하네요 ) 


4. 주택 월세액 소득공제 확대 

월세 공제율이 40% -> 50% 으로 확대 되었음. 

그러나 월세 공제 받는 사람들이 얼마나 될까? 현실적으로 별로 시덮지 않은 확대 정책 같아 보입니다. 


5. 한부모 공제 신설 

배우자가 없는 사람이 자녀(20세 미만)가 있는 경우 100 만원의 추가 공제를 해줌. 

이혼을 했거나, 배우자가 사망했거나 등등 어째든 혼자서 자녀를 키우는게 힘드니까 추가로 공제해주는 것입니다. 


여기 나열된 5가지는  2번의 신용카드 공제율이 줄어던것 빼고는 대부분 공제 대상이 확대 된 것입니다. 이중에서 사람에 따라서 다르겠지만 해택 받을 만한것은 1번 대중교통과 3번 교육비 확대정도가 되겠네요.  정부는 세수가 부족한데 이렇게 공제를 왜 늘려 주는 걸까요?  아마도 지난 8월8일 개정된 세법에 따라서 많은 부분이 소득공제에서 세액공제로 변경되느까 다른 부분을 조금 늘려주려는게 아닌가 하네요 ㅠㅠ 망할~. 

참고로 변경된 세법은 2014년 (귀속)에 적용되니까 실제로는 2015년 1월쯤 실시하는 연말정산에서 뼈져리게 느끼겠네요 ㅠㅠ 

 

추가로 아래 국세청 페이지에 가면 간단하게 소득공제를  자동 계산해 볼 수 있습니다. 

http://www.nts.go.kr/cal/cal_05.asp



:

[android] loadLibrary 와 CPU 특성

android 2013. 10. 31. 14:20

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

Android에서 native 라이브러리를 만들 때 보통은 armeabi / armeabi-v7a 용으로 컴파일 해서 프로젝트의 libs 폴더 밑에 넣어준다. 이는 대부분의 안드로이드 장치가 ARM 기반의 CPU로 만들어 졌기 때문이다. 사실 Android 에서 지원하는 cpu ARM 뿐만 아니라 Interlx86 도 지원하고 MIPS 또한 공식적으로 지원한다. 다만 시장에 아직 제품이 많지 않을 뿐이다.

 

참고 : CPU Architecuture 별 지원 Platforms

Native Code CPU Architecture Used

Compatible Android Platform(s)

ARM, ARM-NEON

Android 1.5 (API Level 3) and higher

x86

Android 2.3 (API Level 9) and higher

MIPS

Android 2.3 (API Level 9) and higher

 

이번에 Intel에서 Xolo-X900 이라는 Intelx86 기반의 안드로이드 폰을 출시했다. 이번이라고 한건 내가 지금 알았기 때문이고, 찾아보니 실체 출시된 날짜는 2012 4월 쯤이었다. ~ 완전 모르고 있었네 ㅎㅎ

 

So 파일을 로딩하기 위해서 보통은 System.loadLibrary() 함수를 호출한다. 그러면 해당 함수가 알아서 CPU를 확인해서 알맞은 so 모듈을 로딩해주는 것으로 알고 있었다. 우연히 xolo 디바이스를 구할 수 있어서 armeabi/armeabi-v7a so 모듈만 있는 프로그램을 실행시켰는데, armeabi-v7aso 가 로딩 되는 것이다. 우와그러나 실행하다가 죽는다. ㅠㅠ  

 

그래서 loadLibrary를 연구해 보기 시작했다. 가장 먼저 developer의 문서를 찾아보면 아래와 같다.

Loads and links the library with the specified name. The mapping of the specified library name to the full path for loading the library is implementation-dependent.

loadLibrary(“foo”) 이렇게 호출하면 이름(foo)과 일치하면서, device의 CPU타입에 따라서 적절한 모듈을 로딩해 준다. 즉 해당 device armeabi-v7a 를 지원하면 lib/armeabi-v7a 경로에 있는 foo.so를 로딩한고 device x86을 지원하면 lib/x86 경로이 있는 foo.so를 로딩하는 것이다. 그리고 full path를 사용하면 해당 so를 직접 로딩한다는 말이다.

 

그럼, loadlibrary(foo)를 호출 했을 때 IntelXolo 단말기는 왜 lib/armeabi-v7a 경로에 있는 모듈을 로딩한걸까? ( lib/x86 폴더는 존재하지 않는 상태임 )

 

궁금증을 해결하기 위해서 일단 Java 레벨에서(NDK가 아닌) CPU 정보를 얻는 방법부터 찾아 보았다. 간단하게 Build 클래스에 정보가 있었다.

Build.CPU_ABI 를 이용하면 되는데, 보다보니 Build.CPU_ABI2가 존재 한다. ~~ 느낌이 온다~

(참고로 ABI는 Application Binary Interface의 약자다. ) 

 

System.loadLibrary  디바이스의 Build.CPU_ABI / Build.CPU_ABI2 의 순서로 so 모듈을 찾는 것이다. Android loadLibrary 내부에서 mapLibraryName을 호출하는 부분이 아마도 이 동작을 하는 것으로 추측된다.

 

해결 하려면 so 파일을 x86용으로 개발해서 빌드한후 추가하면 된다. 또는 모든 기능이 x86을 지원하는 것이 아니라면 아래처럼 Java 코드로 간단하게 막을수 있다.

public static void loadLibrary() {

      if (isLoaded) {

            return;

      }

 

      if (isLoaded == false) {

      if (Build.CPU_ABI.equals(“x86”)) {

            isLoaded = false;

            return;

      }

 

      try {

            System.loadLibrary("foo");

            isLoaded = true;

 

      } catch (Throwable e) {

            isLoaded = false;

}

}

추가로 발견한 내용으로는 프로젝트의 lib/x86 폴더에 해당 모듈이 하나라도 있으면 google play 마켓에서 x86용 디바이스에 노출이 된다는 점이다.

따라서 프로젝트가 x86을 부분적으로 지원 할 수는 없고 모든 so 모듈들을 x86으로 지원하는 것이 좋다.

 

 



:

[일본] 도쿄 시부야 미키하우스 ( 세이부 백화점 )

여행&맛집 2013. 10. 25. 01:11

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

우리나라 백화점에도 미키하우스가 입점해 있는데, 귀여운 토끼그림이 주 캐릭터 이다. 커다란 토끼를 3~5살 여자 아이가 특히나 좋아한다.  미키하우스( 미키마우스아니다 ) 는 일본브랜드 라서 일본에석 직접 구매를 하면 우리나라보다 30%~60% 정도 저렴하게 구입할 수 있다. 

참고로 작년에 어린이 귀마개를 약 4만원주고 사면서 비싼건가 했는데, 한국에서는 10만원에 팔고 있더라. 헐~ 


악세사리 및 소품류 (귀마게, 목도리, 장갑등등 ) : 무지하게 싸다. 

신발 :  한국에 비해서 40%~50% 정도 저렴하다. 

티셔츠및 바지류 : 30% 정도 저렴하다. 그러나 신상을 살 수 있다. 

시부야에서 쉽게 미키하우스를 찾아가는 방법을 설명한다. 

일단 시부야에서 커다란 백화점인 세이부 백화점을 찾는다. 그리고 인포메이션에 가서 미키하우스 매장을 알려달라고 하면 7층을 안내해준다. 인포에서 알려준 엘리베이터를 타고 7층에서 내리면 앞으로 조그만 가면 바로 미키하우스가 있다. 우리나라 백화점보다 가격도 훨씬 저렴하고 대부분 신상품 위주로 팔기 때문에 몇개 사오면 좋을 것 같다. 


직원분도 참 친절해서 사진찍는 것도 허락해 주셨다. 


미키하우스의 대표캐릭터가 들어간 신발. 애들이 편하게 신고 벗게 되어 있어서 좋아한다. 


일명 찍찍이가 있는 운동화 스타일. 찍찍이에 큐빅이 있어서 여자 애들이 좋아한다. 



신발 모음 사진. 2~3살때 신던 많이 보던 신발들도 보인다. 이거 말고도 더 어린 아기가 신는 신발도 있는데 그 사진을 패스~



2013년 가을에 새로나온 신상. 역시 토끼가 눈에 띤다. 사와서 딸래미에게 입혀보니 잘 어울니다. 역시 신상으로 사길 잘했어~ ㅎ 





추가로 1만엔 이상구입하면 Tex refund를 받을 수 있다. 일본은 부가가치세가 5% 라서 구매금액의 5%를 돌려받게 된다. 백화점의 꼭대기 층에서 가면 Tex refund 해주는 곳이 있다. 



:

[일본] 도쿄 여행기 ( 시부야, 록본기, 모리타워 )

여행&맛집 2013. 10. 24. 00:47

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

작년 첫 방문이후 2번째 방문한 도쿄. 

첫 일본에 갈때보다 좀 익숙해 졌지만 아직 혼자서 찾아 다닐수 있을까 하는 생각이 들지만 막상 필요하거나 부딛치게 되면 할 수 있을것도 같다. 


[첫째날]

아침 8시40분 김포발 비행기라서 이른아침에 일어나서 공항으로 향했다. 다행이 공항버스가 집 근처에 있어서 편하게 갈 수 있었다. 아시아나에서 주는 기내식으로 아침을 간단히 때우고 하네다공항에 도착하니 일본에 도착한 것을 느끼게 해주는 비행기.


하네다 공항에서 출입구로 나가는 길에 드래곤볼 벽화가 눈에 뜨길래 한컷. 어릴때 참 재밌게 보던 거라서 추억이 돋는구나~ 

짐을 찾고 이것저것 하다보니 금세 시간이 점심시간이다. 목적지인 시부야에 도착해서 간단하게 점심을 먹었다. 

점심은 메뉴는 평범한 일본튀김 백반 같은거.  맛은 한국인 입맛에도 무난하게 어울리면서 맛있다. 




[둘째날]

업무를 보고 저녁에 호텔에 들어가기 좀 아쉬운듯 하여 시부야의 스포츠및 오락시설이 있는 건물에 들렸다. 1층은 전자오락및 기타 오락기게들이 있었고, 2층은 탁구장 3층은 당구장 4층은 볼링장으로 되어 있었다. 오랜만에 볼링장으로 들어 갔는데, 들어가면서 내부 조명에 놀랬다. 쓰고이~ 

여기서 볼링을 치면 아래처럼 몇번핀을 쓰러트렸는지 체크가된 결과를 프린트 해준다. 역시 아직은 일본이 우리나라보다 좀더 앞선부분이 많다고 해야되나. 서비스적인 부분과 섬세한 부분은 아직도 일본에서 배울점이 많은것 같다. 

2게임을 쳤는데 90점 / 106점 나왔다. 쩝~ 오랜만이라서 그런지 점수가 안나오네요. ㅎㅎ 

볼링비는 한국보다 비싼편이다. 아무래도 일본 시부야의 번화가에 있는 볼링장이라서 (우리나라 강남의 당구장이 비싸듯이) 좀 더 비싼것 같았다. 


[세째날]

록본기를 방문했다. 시부야에서 록본기까지 JR (일본 전철 : 우리나라 2호선 같은)로 가는 것 보다 버스로 가는게 편해서 버스를 이용하였다. 일본에 계신 분이 가이드 해주셔서 덕분에 편하게 볼 수 있었다. 


록본기에있는 모리타워(Mori Tower)의 전망대를 구경하였는데, 모리타워에 글로벌 기업 야후가 있다고 한다. 모리타워 엄청 좋아 보이더라~ 



모리타워 52층에 "스카이 갤러리" 라는 360를 볼 수 있는 전망대가 있다. 여기 올라가면 도쿄 시내를 다 볼 수 있는데 밤에 올락니 도쿄의 야경을 멋지게 볼 수 있었다.  

동쪽으로는 오다이바, 시오도메, 치바등이 보이고 

남쪽으로는 시나가와, 하네다, 요코하마를 볼 수 있다. 

서쪽으로는 시부야, 신주쿠를 볼 수 있고, 

북쪽으로는 이케부쿠로, 우에노 방면이라고 한다. 근데, 밤이라서 이방향이 어디 방향인지 잘 모르겠더라~ ㅋㅋ 

모리터워의 옥상에는 "스카이 데크"라고 오픈 야외 전망대가 있는데 바람을 맞으며 도교를 감상할 수 있는 곳이다. 바람이 세게 불면 입장 제한을 하기도 한다고 한다. "스카이 캘러리"와 "스카이 데크" 모두 입장료를 받는데 한국돈으로 15,000원 정도 하는것 같다. 





[숙소정보] 

시부야의 호텔이 2개가 있는데, 하나는 도쿄엑셀이고 하나는 셀루리안인데 저번에는 도쿄엑셀에 묶었는데 이번에는 셀루리안에서 묶었다. 2개 호텔의 가격은 큰 차이는 없는데 셀루리안이 조금더 비싸다.  시설은 셀루리안이 좀더 좋았던거 같다. 호텔의 위치는 도쿄엑실이 시부야의 메인 5거리에서 1분거리도 안되는 중심가이고 셀루리안은 한 5분은 더 걸어가야 한다. 비교하면 아래처럼 정리 된다. 

가격 : 셀루리안이 약 25만원, 도쿄엑셀이 약 20만원으로 도쿄엑셀 승 

위치 : 도쿄엑셀 승 

시설 : 셀루리안 승 

선택은 각자의 판단에 따라서.. 





:

[책] 읽기 좋은 코드가 좋은 코드다

영화&책 2013. 10. 22. 22:29

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


저자 : 더스틴 보즈웰 ( 칼텍 컴공, UC 샌디애고에서 석사 ) ,  트레버 파우커 ( MS, Google출신)

역자 : 임백준 

가격 : 18,000 원  ( 약 250 페이지 ) 


오랜만에 개발 관련된 책을 본것 같다. 책 제목은 "읽기 좋은 코드가 좋은 코드다". 영어 원제목은 "The Art of Readable Code". 코드를 읽기 좋게 작성하는 방법에 대해서 설명하는 얇고 쉽운 책이다. 어떻게 보면 뻔한 이야기 일 수 도 있는 내용이기도 한데, 적절한 예시와 비유로 설명을 잘 했다는 느낌을 받았다. 

책시작은  "무엇이 코드를 더 좋게 만드는가?" 라는 물음으로 시작한다. 대답하기 상당히 어려울수 있는 추상적인 질문이다. 그러나 저자는 간단하게 답한다. 바로 "코드는 이해하기 쉬워야 한다" 라는 함축적인 문장으로..  


아래의 코드를 잠시 보자 

[1번] 

return exponent >=0 ? mantissa * ( 1 << exponent) : mantissa / ( 1 << -exponent); 

[2번] 

if( return exponent >=0 )

return  mantissa * ( 1 << exponent) 

else 

return mantissa / ( 1 << -exponent); 


동일한 내용을 하는 코드인데, 1번은 코드가 간결하지고,  2번은 늘려서 썼지만 가독성이 좋다.  어떤 방식이 더 좋은 방식일까? 개발자의 성향에 따라서 달라질수 있는 문제이지만 보편적으로 읽기 좋은 코드 또는 가독성이 있는 코드라는 측면으로 봤을 때는 2번 방식에 손을 들어주고 싶다. 


그리고 이어지는 내용들은 이해하기 쉽운 코드를 작성하기 위한 나름데로의 요령들을 설명하고 있다. 


1부_표면적인 수준에서의 개선 

  -> 이름짓기, 주석, 줄맞춰 쓰기등으로,  코드 논리와 상관 없이 간단하게 변경할수 있는것들  


2부_루프와 논리를 단순화하기 

 -> 프로그램에 사용되는 루프, 논리, 변수를 개선하는 방법 


3부_코드를 재작성하기

-> 리팩토링에 나오는 내용인데, readable 관점에 맞추어서 설명하고 있음. 


4부_선택된 주제들 

-> '이해하기 쉬운' 이라는 원리를 테스트와 코드예제로 설명 


1~4부의 내용중에서 2부~3부는 리팩토링과 관련되어서 많이 (또는 얼핏) 들었봤던 내용들이 었다면 1부는 설명 예시가 딱 맞아서 그런지 공감이 많이 되었다.  

그런데 프로그램이 모두 영어로 되어 있어서 영어로 이름을 잘 짓기 위해서는 영어를 잘 해야만 하는 것은 아니다. 코딩할때 사용하는 변수의 영단어는 중/고등학교 수준이면 충분하다. 다만 통상적으로 사용되는 이름짓기 규칙을 따르면 도움이 된다. 


책의 부록으로 좋은 코드를 작성하기 위해서 추가적으로 읽어볼만한 도서 목록이 나오는데 그중에서 않읽어본 책들을 읽어봐야 할 것 같다. 






: