2015. 12. 6.

스위프트에서 세자리마다 쉼표찍기( Show comma on every 3 digit in swift -Number formatting)

//: Playground - noun: a place where people can play

import UIKit

func convertCurrency( money : NSNumber, style : NSNumberFormatterStyle ) -> String {
    
    let numberFormatter = NSNumberFormatter()
    numberFormatter.numberStyle = style
    
    return numberFormatter.stringFromNumber( money )!
}

let value = 12345678.123

convertCurrency(value, style : NSNumberFormatterStyle.DecimalStyle)
convertCurrency(value, style : NSNumberFormatterStyle.NoStyle)
convertCurrency(value, style : NSNumberFormatterStyle.CurrencyStyle)

#=========== Output  ===================
12,345,678.123     <-- decimalstyle="" font="">
12345678             <-- font="" nostyle="">
$12,345,678.12     <-- currencystyle="" font="">

2015. 8. 23.

Rounded square button in swift ( customizing shape and color in code)


override func viewDidLoad() {
        super.viewDidLoad()

     let TAG_BTN = 1001  // it is assigned to button which you want to change properties.
     let btn : UIButton  = self.view.viewWithTag(TAG_BTN) as! UIButton
     btn.layer.cornerRadius = 5
     btn.layer.borderColor = UIColor.grayColor().CGColor
     btn.layer.borderWidth = 1.5

     btn.backgroundColor = UIColor(red: 1.0, green: 0, blue: 0, alpha: 1)
}



2015. 8. 14.

Removing space of table seperator ( Drawing sperator full width)

http://www.malcontentboffin.com/2014/10/28/Make-iOS-8-Table-View-Cell-Separators-Full-Width



    override 
func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
        //remove identation line ( draw full seperator.)
        cell.separatorInset = UIEdgeInsetsZero
        cell.layoutMargins = UIEdgeInsetsZero
        cell.preservesSuperviewLayoutMargins = false

    }

using image as x repeated background in swift

I found many solutions above title. but It is written in a objective-c  like that:

objView.backgroundColor = [[UIColor allocinitWithPatternImage:[UIImage imageNamed:@"background_image"]];


but in swift   it can be written like that:


 objView.backgroundColor = UIColor(patternImage: UIImage(named: "background_image")!)

2015. 8. 8.

Using UITableView in ViewController (iOS Swift)

When I make UIViewController,  I need to display list , so I think I can use UITableView in UIViewController , but I found it is not possible because of mechanism of iOS.

They provide  another way.  That is using UIContainerView.

In Storyboard,
1) Drag UIViewController
2) Drag  UIContainerView into UIViewController( step.1)
    segue and default view controller will be created.
3) Drag UITableViewController  ( not UITableView)
4) delete segue and default view controller (step.2)
5) Link container  to UITableViewController (step.3)
     - (how to link?: click container with control key and drag to UITableViewController)

** Additional step
    If you have a existing segue with other viewcontroller, you may meet error. So you must check segue.identifier.





2015. 5. 30.

태국여행 4일차, 그리고 마지막 날 (Travels on Bangkok 4th and the last Day )

경로: 송크람 노점음식점-운하보트(판파)-짐톰슨하우스-버거킹-숙소-차이나타운해산물요리-숙소-발마사지-밤의 카오산 클럽거리

송크람 옆의 노점음식점에서 아침을 해결하고,  운하보트를 타러 가기로 했다. 운하보트는 태국사람들이 출퇴근용으로 타는 보트이다. 우리나라를 예로 들자면, 중랑천 정도의 폭이지만 거기에 보트로 사람들이 출퇴근용으로 타고 다니는 것이다. 마치 마을버스 같다고나 할까. 그래서, 지도를 보고 찾아갔지만, 그 곳은 운하보트가 아니라, 관광용 보트였다. 물어물어 위치를 확인하고, 판파까지 택시를 탔다. 문제는 내리기는 했는데, 어디서 타는지 알수가 없는 것이였다. 한참을 둘러보는데, 운하쪽에서 사람들이 우르르 나오는 것이 보였다. 계단아래로 내려가보니, 오호라, 운하보트 정류장(선착장?)이 있었다. 바로 앞에서 파는 얼음커피를 사들고, 앉아있으니, 사람들이 하나둘 타기 시작한다. 그리고는 출발~.  요금은 인당 13바트.(한국돈으로 약 400원).  차장이 보트 바깥쪽으로 매어놓은 줄에 매달려 다니는 것이 보인다. 거의 곡예처럼 보트 앞뒤로 다니면 요금을 받고 표주고, 잔돈도 바꿔준다.
운하보트 선착장

건너편에서 본 다른 선착장
내릴때 줄을 잡고 내리고 탄다.

운하보트 승선표

운하옆 집들


 아속까지 가는데, 파투남에서 보트를 갈아 탔고 , 아속에서 내리고, 다시 거슬러 후아창에 내려서 짐톰슨하우스를 방문했다. 짐톰슨이라는 사람은 태국 실크를 미국으로 수출한 아저씨인데, 여튼 태국의 실크산업에 많은 영향을 준 사람이란다. 짐톰슨하우스는 말그대로, 이사람 집을 관광지로 꾸며 놓은곳이다.  표를 끊으면, 가이드가 데리고 다니면서, 특정 나라의 언어로 설명을 해준다. 한국어는 아쉽게도 없다. 그래서,  영어가이드를 따라서 안내를 받았다. 내부를 둘러보다가, 식탁은 골동품 같은데 숫가락이  새것처럼 보여서 물어보니, 그건 새로 갖다 놓은 것이라 한다.  그리고, 혼자 쭈욱 살았고, 조카들이 일부 같이 살았다.고 이야기 한다.(좀 더 자세한건 홈페이지가면 나와있다.) 거기 가이드 들이 종이로 입모양이나, 학을 접어 주었다. 일부 예의 없는 아이들이 전시된 물건에 앉는 행동을 하는데, 부모가 말리지를 않는다...(어쩔) .
톰슨하우스(내부는 기본적으로 촬영금지)

공연하는 아주머니 


클럽들이 즐비하다. 밤이면 불야성이 된다.

구경을 마치고, 다시  거꾸로 보트를 타고 판파로 왔다. 운하보트도 우리나라 지하철 처럼 특정 선착장에서 갈아 타야 한다. 거시서, 툭툭을 타고  숙소 근처 경찰서에 내려서(주요 만남의 장소중 하나)  버거킹에서 간단하게 점심을 해결하고, 일단 저녁먹기전에 집에서 휴식을 취했다.

다른 물가에 비해서 버거킹과 같은 곳의 햄버거 값은 몇배나 비싸다. 사실은 그냥 태국음식점에서 먹으려 했는데, 오전에 너무 많이 돌아 다녀서 에어콘이 있는곳을 찾다가 들어간 곳이 버거킹이였다.
 저녁에는 차이나 타운에 유명한 시푸드 식당을 갔다. 여긴 뭐 진짜 바글바글 사람들이 가득차 있었다. 대기표 25번을 받고, 미리 메뉴판을 보고 주문표를 작성하면,  자리를 안내 해준다. 실내 혹은 실외가 있으며, 이야기를 해야 한다. 주문표를 전달하면, 식사를 가져다 준다. 그런데, 시킨것이 하나만 나오고 안나온다 하니 그제서야 가져다 준다. 가게가 생각보다 크지는 않았지만, 나름 효율적으로 운영 하는것 같았다. 이층으로는 줄을 달아서 물건을 올려주는 모습이 특이했다.

우리가 시킨 것은 구운새우, 피조개 삶은것( 구운것이 나왔음.) 해물탕, 개살카레, 밥,물,사이다 였는데, 먹고 나니 약간 아쉬었다.
줄세우고, 대기표주는 아저씨

해산물은 이렇게 밖에서 굽는다.

이건 우리 대기표

우리가 시킨 왕새우

삷은 꼬막대신 구운게 나왔는데, 피가 뚝뚝

그냥 해물탕?

게살카레

이건 편의점에서 산 태국산 바카스?

 숙소로 돌아온 후, 와이프와 딸내미들은 발마사지를 받으로 갔다. 아내와 나는 저녁에 카페거리를 구경하러 나왔다. 사람들이 바글바글 했다.  음악도 시끌 시끌. 여행자와 청춘들의 거리라고나 할까.  대부분 젊은 사람들이 많았고, 대부분 배낭여행자들이 많아 보였다.  우리는 아이스크림/크레페 전문점에서 아이스 크림 하나를 먹고(왠지 일본풍이 나는 점원들도 약간 귀여운 컨셉의 어린 친구들이였다.)
태국의 크레페, 양은 많지 않다.

크레페 가게 . 찾아보려고 찍어놨음.


오는길에 바나나로티에 누텔라 초코릿을 바른 것을 사와서 숙소로 귀가를 했다.

우리가 사먹은 로티



















** 5일차(마지막)


경로: 시암파라곤에서 거하게 점심-망고탱고 - 태국에서 먹은 오후의 티 세트 - 그리고 공항-한국

게스트 하우스 아주머니와 한컷 찍고, 가지고 간 출력기로 사진을 한장 뽑아 드리니 무척이나, 좋아하는 주인 아주머니, 게스트들이 돈내고 쓰는 컴퓨터는 일반피시인데, 주인아주머니는 아이맥 이였다. ( 좀 부럽)

시암파라곤은 우리나라의 명동 같은곳, 쇼핑몰은 상상이상으로 크게 되어 있다. 짐을 가지고 나온 관계로 쇼핑몰 지하에 여행자가방을 맡겨주는 곳에 짐을 맡겨두고 구경을 다녔다. (baggage deposit ? 였나 정확히 이름이 생각이 않난다.) 희안하게 음식점도 다양하게 많았지만, 빵가게도 여러군데가 있었다. 조각케익도 화려하고 다양한 종류들이 많이 있었다. 왠지 신시가지의 화려함을 보여주는 단면중에 하나인 것 같았다. 태국의 구시가지와 신시가지는 너무나도 차이가 많이 난다. 우리가 묶었던 구시가지 쪽은 이런 것이 거의 없었다. 여기는 신시가지쪽이다.
시암파라곤의 식당-흡입중

간장모형(태국은 향신료의 나라~)

쇼핑몰 앞의 거대 고양이
 식사후에 후식으로 나름 유명하다는 망고탱고를 찾아갔는데, 이사를 간 관계로, 가게를 못찾아서 거기 살고 있는 와이프 친구분이 살짝 당황하셨다.  가보니, 이게 왠걸 한국사람들로 바글바글 했다. 유명한 데는 한국사람들 잘 찾아 간다. 워낙 블로그에 잘 공유 되니까.. ~
망코탱고 가게

망고탱고 캐릭터

우리가 시킨 망고메뉴1

우리가 시킨 망고메뉴2

우리가 시킨 망고메뉴3

우리가 시킨 망고메뉴4

우리가 시킨 망고메뉴5
 그리고, 마지막으로 우리가 들른곳은 호텔내에 있는 카페 인데, 조용하고 차와 다과 세트가 나름 유명한 곳이라고 했던거 같다. 이전에 카페쇼에서 먹은 오후의 차 세트는 아니였지만, 분위기를 즐기고, 공항으로 출발했다~





2015. 5. 29.

MERS(Middle East Respiratory Syndrome) information sites - 메르스 관련 해외정보 사이트

메르스 (Middle East Respiratory Syndrome  : MERS )가 큰 이슈가 되고 있고, 유언비어가 발생하고 있어 관련 사이트를 검색 해보았다.

1. 미국 질병관리국(http://www.cdc.gov/)
http://www.cdc.gov/coronavirus/mers/


2. 세계 보건기구
http://www.who.int/csr/disease/coronavirus_infections/en/
mers 관련 뉴스를 계속 업데이트 하고 있다. 한국도 리스트에 들어 있다.  who advice는 지속적으로 관련된 사람을 체크하라고 되어 있다.
http://www.who.int/csr/don/archive/disease/coronavirus_infections/en/

3. 유럽질병 관리국
http://ecdc.europa.eu/en/healthtopics/coronavirus-infections/Pages/index.aspx

2015. 5. 25.

태국여행 3일차(Travels on Bangkok 3rd Day)


- 코스: 아침마켓-어묵국수-맥도날드파이-시내버스타기-JJMall-짜툭짝시장구경-생선요리먹기-낯선여행객과의 대화

아침에 일찍 눈이 떠진 관계로 아침마켓을 구경했다.  다양한 먹을 거리로 길은 분주해 보였다. 가장 눈에 띈 것은 스님들의 탁발이였는데, 스님들은 맨발로 탁발그릇을 들고 다니고 있었고, 사람들은 스님에게 드릴 음식을 사서 스님이 오시면, 음식을 탁발 그릇에 넣어 주는 것이였다. 단순한 시주일 수도 있지만, 음식을 드릴때는 음식을 드리는 일반인들도 신발을 벗고, 음식을 드리고 있었다. 단 한순간의 장면이지만, 너무나도 경건해 보였다.
시주하고 있는 장면


 숙소로 돌아오는 길에는,  주황색과자(떡?) 도 사고, 고구마, 옥수수도 사고, 페션프루츠도 사서 숙소로 돌아 왔다. 간단하게(?) 먹은 뒤 아침으로 어묵국수를 먹기위해서 가게를 찾아 다녔는데, 알고 보니, 바로 숙소 앞이였다. 워낙 유명하다 보니, 한국메뉴도 준비 되어 있었다. 아주 가는 면, 가는 면, 그냥 면이 있었는데, 그 중 두가지를 시켜서 먹었고 맛도 아주 좋았다. 그런데 왠지 한국인에게는 좀 적은 양이라고나 할까... 
  그래서, 간 곳이 맥도날드, 검색에 의하면 이동네 파이는 종류가 여러가지라고 해서, 시켰는데 네가지 였고, 모두 너무 맛있었다. 
황색과자,패션푸르츠,옥수수,자색고구마

어묵국수

맥도날드 4가지맛파이

 
  우리가 가야 할 곳은 짜툭짝시장, 가는 번호는 524번. 약 10여분을 기다리니, 허름하게 생긴 버스가 도착, 덩치 좋은 안내양이 어디를 가냐고 묻고 행선지를 말하니, 얼마란다. 돈을 내니, 양철통으로 만든 필통 같은 것에서 돈도 넣고, 표도 꺼내준다. 식구들이 좋아하는 ‘럭셔리 버스’ 라는 노래가 생각나는 버스였다. 오래된 옛날 시내버스처럼 생겼었다. 구글 지도로 위치를 계속 보고 있자니, 안내양이 지금 내리면 된단다. 역시 내리니 사람이 바글바글하다. 

 친구를 만나기로 한곳은 근처의 JJMall, 눈에 보이는데, 길이 잘 안보인다. 물어물어 갔는데, 알고보니, 어린이박물관. 아이들이 바글바글하다. 왠지 조금 사는 아이들과 부모들이 오는 것 같았다.  다시 나와서  찾아가는 도중에  관상어 시장을 만났다.  신기하게도 홍콩처럼 물고기를 봉지에 넣어 팔고 있었다. 그러나, 규모는 몇배로 더 커 보였다.  jjmall에 도착해 보니 분위기는 동대문 시장 비슷했다.
  와이프 친구 부부를 만나서 짝투착 시장을 구경했다. 남대문,동대문,고속터미널지하상가, 청계천물고기상가, 충무로애완동물거리를 합쳐 놓은 것 같았다. 정말 모든 시장이 모여 있는거 같았다. 아마도 다음에 시간이 되어 태국에 다시 온다면 여기는 다시 한번 둘러 보고 싶은 곳이다.  대충 둘러봐도 하루는 더 걸릴듯 하여, 약간의 기념품으로 젓가락을 사고, 차를 얻어 타고 생선구이를 먹으러 갔다. 나름 맛나는 곳이라고 했는데, 주로 현지인들이 오는 곳인듯 했다. 우리는 이런 관광지가 아닌 곳의 모습을 즐기는 터라, 즐겁게 식사를 했다. 생선모양의 그릇에 아래에 숯불을 놓아 데우는 모습이 인상적이였다.
   집으로 돌아와 보니 와이프가 핸드폰을 잃어버렸다는 것을 알고 급히 정지 시켰다. (와이프님의 이 정신세계는 어쩔!). 핸드폰분실에 대한 기억은 잊고 마트에 가서 약간의 간식을 사와서 먹으며 시름을 달랬다~.  
   친구가 사준 과일이 너무 많아서 게스트 하우스 1층에 내려가 다른 외국인들에게 좀 나누어 주었다.  그 친구들은 커플이였는데, 여행한지는 네달 되었다고 한다. (부..부럽다는..) 그래서, 지금까지의 여행지중 한곳을 추천 해달라고 하니, 스리랑카를 추천해 주었다. 모든 것을 즐길수 있다고 했다. 거리가 가까워 산,바다, 등등 모든 것을 많이 이동하지 않고 즐길수 있다고 한다. 내가 요약해줬다. ‘effective travel’ !  (다,다음에 한번 가보리라...) 
   태국의 빼놓을 수 있는 명소, 마사지샵. 숙소 근처에 마사지 샵을 가서 마사지를 받았다. 역시 태국은 저렴한 가격으로 마사지를 받을수 있는곳... 30분만 받으면 안되냐니까, 좀 늦은 시간이라, 30분 하는 사람들은 지금 없다고 한다. 그래서 1시간으로 받았다. 며칠간의 피로를 풀수 있었다. 가격은 저렴. 그러나, 조금씩 위치 마다 틀리니 확인 해보는 것도 나쁘지 않을듯 하다. 하루의 마무리를 마사지로 끝내고 깊은 잠에 빠져 들었다... 

태국여행 2일차(Travels on Bangkok 2nd Day)

둘째날 코스: 대왕궁-왓프라케오(에메랄드사원)-와포(wat pho)-새벽사원(wat arun) - terminal21

 태국의 필수코스중 하나인, 대왕궁을 첫날의 코스로 삼았다. 관련된 소개는 너무나도 인터넷에 날 나와 있기 때문에, 생략하고 다른 그 외의 이야기를 해보겠다. 우선 반바지를 입은 나와 큰애는 긴바지와 치마를 빌려입고, 작은애는 괜찮다고 그냥 통과 하였다. 다들 알겠지만, 여기는 복장규정이 있어서, 노출이 심한 경우 옷을 빌려 입어야 한다. 늦게 가면 옷빌리는데도 줄을 서야 하지만, 우리는 약간 서둘러 아침에 간 관계로 그렇지는 않았다. 큰딸이 늦게 나오길래 물어 봤더니, 치마를 어떻게 입어야 할지 몰라서 헤메고 있었단다.
 우리가 방문한 기간이 중국에도 휴일이였던 관계로 엄청한 중국인을 구경 할 수 있었다. 거기에다 첫날 방콕의 더위에 익숙하지 않은 아이들은 녹초가 되어 버렸다. 너무나도 유명하기에 패키지 관광의 필수코스라 더더운 사람이 많았고, 입구에서는 플랭카드와 함께 사진을 찍는 단체 중국 관광객을 많이 볼 수 있었다. 천천히 시간을 가지고 보기에는 너무 뜨거운 햇살과 북적이는 사람들로 서있기가 힘들어서, 옆에 있는 ‘왓프라케오’로 이동했다. 이 곳은 ‘에메랄드 부처 사원’으로 알려져 있기도 하다. 
우리가 알고 있는 그 탑


중간에 조그만 카페가 있어서 들었는데, 코코넛을 팔고 있었다. 티비에서 보는 코코넛물을 마시는 보면 매우 맛있어 보이지만, 실제로는 별 맛이 없다. (아니, 맛이 없다.. 그래도 안드셔 보셨다면 한번은 사먹어 보시는 것을 권한다. 한개만...), 태국산 하드(폴라포 더위사냥 비슷하게 생긴것)을 사먹었다.
코코넛

와포:wat pho : 
와불(누워있는 불상)이 있는 사원으로 유명하다. 직접 보시면 그 크기를 느낄수 있다. 앞쪽도 앞쪽이지만, 뒤쪽으로 돌아가서 보면 왠지 더 크고 길게 보인다. 머리부터 발쪽으로 가다가 만나는 부처님의 발다닥은 새로운 발견의 재미를 더해준다. 그리고, 옆으로는 작은 동전을 108개의 항아리에 넣을 수 있도록 바꿔주는데, 실제로는 108개에서 조금 모자라게 주는 것 같다. 태국인말고 여행객들이 더 재미 있어 하는것 같다.
부처님 발바닥

더위에 지치고 허기진 배를 채우기 위해서 식당을 들어서 태국식 볶음밥을 먹었다. 우리식구들은 외국에서도 음식을 가리지 않고 잘 먹어서 다니기는 좋다. 바로 앞에서는 길거리에서 커피를 팔고 계셨는데, 홍콩에서 차를 걸러 내듯이 해주는 커피였다. 더 재미있는건 비닐봉지에 잘게 쪼갠 얼음을 넣고 거기에 커피를 부어 준다는 거다. 한국에서도 하면 왠지 잘 될거 같았다. 중국계 이신듯 한 노부부가 팔고 계셨다. 
얼음봉지 커피

배를 타고 강을 건너면,  wat arun( 새벽사원)으로 갈수 있다. 물론 배는 잠깐 강을 건거는 거다. 강물은 탁했지만, 고기가 많은 듯 했다. 왜냐하면 고기밥을 따로 팔고 있었다.   
하필 공사중이라, 들어가지 않고 밖에서 구경만 하다가 돌아 왔다. 큰 놈이 어릴적에 거기를 올라 갔었다고 한다. 
오렌지주스한잔 사먹고,  툭툭타고 집으로 돌아 왔다. (작은 딸은 툭툭타는 것을 제일로 인상에 남아 한다.) 


오후에는 Terminal21이라는 곳으로 갔고,  대규모 쇼핑몰이였는데, 우리가 묵고 있던 곳과 다르게 이곳은 번화가였고, 이곳은 층별로 세계 여러나라를 테마별로 구성한 곳이였다. 에스컬레이터 입구에는 arrival, departure 이런식으로 구성이 되어 있고 쇼핑몰 1층 입구에는 검색대 처럼 꾸며져 있어 마치 공항에 입국하는 것처럼 분위기를 꾸며 놓았다. (필리핀에서는 이렇게 해놓고 실제로 무기소지여부를 검색한다.)  거기서 다양한  태국 음식을 골고루 먹었다.  와이프 친구가 현지에 있어서, 다양한 음식을 시켜준 관계로 이것저것 많이 맛볼수 있었다. 식사후에는    근처 다른 빌딩에 까페에서 음료수를 먹었는데,  까페이름은 ‘chu’ 였음. 여기는 다른 곳 보다 물가가 좀 쌘곳이다. 우리는 도심지를 벗어나 다시 숙소로 돌아 왔다. 

태국여행 1일차(Travels on Bangkok 1st Day)

가족 방콕 여행기 2015년 4/30~5/1

1일차

- 공항철도를 타고 ... 출발,  
비행기는  이스타 항공 저녁 5:30 비행기
우리는 인터넷 가족으로서, 로밍신청을 먼저하고, 아직 체크인이 되지않아서 , 간단하게 식사하고 오니 줄 서 있는 사람이 많아졌다.  연휴라 놀러가는 한국인들도 많이 있었지만, 고향 태국을 방문하는 태국사람들도 적지 않았다.
 비행기내에서는 이벤트를 했는데, 가위바위게임을 해서 지는 사람이 선물을 받는거였는데, 우리 옆자리 아저씨가 받는걸 보았다.(옆자리 사람이 당첨되는 이런 경험 많이 있으실 듯.)
또 하나는, 사연을 써서 내면, 사연을 읽어주는 이벤트와 함께 선물을 준다기에 열심히 사연을 썼으나, 소개되지 않았다. 하지만, 나중에 사연이 소개된 사람들이 받는 선물을 보고 약간의 위로를 삼았다. (비행기 모형이였음)  딸과 나는 ‘이런 거면 안 받아도 되.’라고 서로를 위로해 주었다.  

9:30 pm 태국도착:(수완나폼 공항)
비행기문을 나서는 순간 에어콘이 돌아가고 있음에도, 후끈하게 바람이 다가온다. 떠나올 때 한국의 날씨는 선선했기에 더더욱 이곳의 날씨는 낯설다.
택시를 잡기위해서 승강장으로 가보니 줄이 엄청나게 길도록 서있다. 그 시간에 도착하는 비행기가 많을 뿐더러, 전 세계적으로 사람들이 모여드는 여행의 도시이다 보니 더 그런듯 했다.
여기는 택시줄서는 방식이 좀 특이 한데, 일단 줄을 서고, 키오스크에서 뽑히는 번호를 가지고, 그 레인에 서 있는 택시를 타는 방식이다. 어쨌거나 줄은 길다.

아래는 택시타기 위한 줄이다. 


아래는 택시타는 번호를 뽑아주는 키오스크이다. 여기 관리직원이 대신 뽑아주고 , 어느쪽이라고 가르쳐 준다. 우리눈에 익은 윈도우 배경화면이다.




고속도로를 가기 때문에 가다가 요금을 기사에게 주어야 한다  두번이고 각 25, 50바트이다. 거기에 공항에서 타면 대기료 50바트를 추가로 주어야 한다.
우리목적지까지 285바트 ( 총비용은: 톨비125 + 택시미터요금285 = 410 x 35 )
100바트를 주면 택시아저씨가 톨비를 잔돈으로 톨게이트에 주고, 나머지를 우리에게 준다. 우리가 가는 곳은 카오산로드의 조그만 게스트하우스였기에, 카오산 로드의 위치의 지도를 보여줬으나, 기사아저씨는 글씨가 잘 안보이시는지 연신 안경을 쓰고, 자동차 불빛에 비추어 보신다.  그 때 든 생각 ‘오늘 들어가서 잘수 있을까?’ 출발~. 숙소로 가는 동안 주위는 그다지 밝지 않았기에 이국의 낯설음은 어둠에 뭍혀 버렸다. 주소근처에 내려서는 스마트폰의 지도를 켜고, 걷기모드로 찾아가기 시작했다. 역시 구글지도는 만능~. 우리숙소를 정확하게 표시주었고, 도착하니, 총각하나가 문밖에서 기다리고 있었다. 우리방은 3층 가족실이였고, 올라가서 가방을 버려둔채 잠을 청했다. (그 밤, 우리의 김여사는 다른 여행과는 달리 조사를 덜 해왔기에 열심히 여행정보 검색을 했다고.. 전해진다.) 


2015. 3. 8.

using event loop for aync funtion

use v5.12;
use AnyEvent;
use Search::Elasticsearch::Async;

# EV must be installed
use Promises (backend => ['EV'], 'deferred');

my $cv = AnyEvent->condvar;

my $e = Search::Elasticsearch::Async->new(

nodes=>'http://localhost:9200'
);


my $doc_size =1000;
my $success_count = 0;

my $bulk = $e->bulk_helper(
index=>'my_app',
type=>'blog_post',
on_success => sub {
#say "success";

},
on_error => sub{
say "fail";
}
);


my @arr_res =();


sub main_loop{


my $idx =0;
@arr_res = ();
for (1..$doc_size)
{
push (@arr_res, '{"a": 1111, "b":222, "name":"KKKKKK"}');

}
$bulk->create_docs(@arr_res)->then (
sub {
say "bulk ok";


}, ##success
sub {
say "bulk fail";
} #fail.
);
$bulk->flush();

}

sub start_ {
my $d = deferred;

    my $w;
    $w = AnyEvent->io(
        fh   => \*STDIN,
        poll => 'r',
        cb   => sub {
            chomp( my $input = );
            undef $w;
            # resolve the promise
            $d->resolve($input);
        }
    );

    # return a promise
    return $d->promise;
}


sub main {

start_()
->then( \&main_loop)
->then(sub { print "fin.\n"; })
->catch( sub { print "errors";})
->finally( \&main );

}


main();
EV::run;


2015. 3. 7.

Change vi color scheme

It is based on http://kb.mediatemple.net/questions/1565/Enabling+vi+syntax+colors#gs

1) open .vimrc    at home directory
2) Add below codes.
      syntax on
      colorscheme desert
3) Save it.
4) open code file by vi.

** color scheme list
    default, desert, elflord...

Enjoy it.


2015. 3. 6.

perl HTTP:Async call sample

use HTTP::Async;
use LWP::UserAgent;

my $async = HTTP::Async->new;

for($idx=0; $idx<10; $idx++){
 
 $async->add( HTTP::Request->new( GET => 'http://www.daum.com/'         ) );
    $async->add( HTTP::Request->new( GET => 'http://www.google.com/' ) );
}



while ( my $response = $async->wait_for_next_response ) {
        # Do some processing with $response
        my $comple = $async->to_return_count;
        my $total = $async->total_count;
        my $progress = $async->in_progress_count;
       print "complete:  $comple, total:$total, progress:$progress \n";
    }