전체 글
베트남 다낭 호이안 방문 후기
베트남 다낭을 여행하면서 가장 이뻤던곳은 호이안이다. 그중 가장먼저 방문한 곳은 바구니 배를 타는 곳이다. 기사들이 강을 배로 태워주고 춤추고 하는 곳인데 완전 노잼이였다. 왜가는지.. 달러를 달라고 막 중간에 한국노래 틀고 춤을춘다. 절대 줄필요 없다. 예의상 뱃사공한테만 일달러 주면 된다는데 내 뱃사공은 너무 아무것도 안하고 가지도 않고 그래서 안줬다. 그리고 도착한 호이안! 토요일이라 그런가 사람이 어마무시하다 기념품 가게에서 다양한게 많은데, 회사 패키지 관광이라 자유시간이 부족해서 많이 못샀다. 호이안에서 물건을 살때는 무조건 반이상은 깍고 안되면 뒤를 돌아서 가야한다. 그럼 알아서 잡는다. 잡지않으면 진짜 그정도 가격이니 다른곳에서 알맞게 구매하길. 호이안은 역시 야경이 이쁘다..
갤럭시 기어핏2 아이폰 7플러스 연동 후기
샤오미 미밴드2를 사용하다 1년이지나니까 페어링이 끊어지고 하는 문제가 발생했다. 그래서 싸게 다른 워치를 찾아보던중 중고나라에서 55,000원짜리 기어핏2를 구매하였다. 연동도 잘되고 알림도 문제없이 잘왔다. 연동어플도 애플스토어에서 쉽게 다운받을수 있으며, 근처에 기어핏만 있으면 바로 연동된다. Samsung Electronics CO.LTD.의 Samsung Gear Fithttps://itunes.apple.com/kr/app/samsung-gear-fit/id1117312500?mt=8 전체적으로 알람도 괜찮고 디자인도 이뻐서 만족스럽다. 하지만 미밴드2가 워낙 배터리가 오래가서 충전을 신경안써도 돼서 좋았는데 기어핏은 최대 3일정도 사용후 충전을 해야해서 아쉽다. 그래도 아이폰과 ..
베트남 다낭 바나힐 방문 후기
베트남의 가장 명소중 하나인 바나힐에 방문했다. 바나힐은 베트남의 삼성같은 기업인 썬월드에서 지은 곳이라고 한다 해발 1400미터가 넘어서 올라가는 케이블카가 어마하게 길었다. 중간에 환승도 해야한다 도착하면 위로 올라갈수록 관광명소가 있고, 아래로 내려가면 놀이기구가 있다. 우선 놀이기구는 레일바이크, 자이로드롭이 대표적이다. 무섭지 않고 아주 재밌다 그리고 위로 올라갈 수록 축제처럼 행사도 많고 절같이 신사도 있으며, 프랑스식 건물들이 많이있다. 사찰로 쭉 올라가면 그 곳에서 아래로 내려보는 뷰는 진짜이쁘다 경치도 좋고! 공기도 좋고! 밑으로 내려오면 밴드도 있고 광대도 있어서 재밌는 구경을 많이할 수 있다. 노래를 너무 잘한다.
베트남 다낭 오행산 방문 - 수산 등반후기
베트남 다낭의 명소인 오행산에 가게되었다. 오행산중 수산에 방문하게 됬다. 대부분 엘레베이터를 타고올라가지만 걸어올라갔다. 시간은 30분정도 걸렸고 그닥 힘든 코스는 아니어서 오를만 했다. 근데 무지 더웠다 올라가다보면 정상에 동굴이 있다. 가이드 말로는 전쟁당시 사람들이 많이 숨어서 불공을 드리던곳이라 했다. 그래서 그런지 불교적 성향이 있는 돌상과 문화재가 많았다. 올라가는 길에 모든 상인들이 물건을 일달러라고 하는데 정말 일달러 인지는 모르겠다. 호이안은 외국인이 많이와서 동도 받지만 달러를 많이 받는다.
베트남 다낭 Moon spa 마사지 후기
베트남은 마사지가 유명하진 않지만 동남아에 왔으니 싼 값에 받기위해서 걸어다니던중 문 스파라는 마사지 가게에 들어왔다. 샘 해밀턴, 윤정수 등등 연예인들도 많이 왔던것 같다. 사인이 많다. 나는 아로마 오일 마사지를 해서 오일을 골랐는데, 라벤더향으로 골랐다. 가격은 2시간에 73만동으로 우리나라 돈으로 3만 6천원정도 한다 베트남이 마사지로 유명하지 않아서 그런지 시원하지는 않다. 그래도 나쁘지 않았다.
커맨드 패턴 (command pattern)
커맨드 패턴은 이벤트가 발생되었을 때 실행될 기능이 다양하면서도 변경이 필요한 경우에 이벤트를 발생시키는 클래스는 변경하지 않고 재사용하고자 할 때 유용하다. 다음 예를 살펴보자 자동차의 시동버튼이 눌러졌을 때 시동이 켜지도록 설계해보자. 12345678910111213141516171819202122232425262728// 버튼 클래스public class Button { private Engine engine; public Button(Engine engine) { this.engine = engine; } public void on() { engine.execute(); } } // execute 인터페이스public interface Execute { void execute();} // 엔진 p..
옵저버 패턴 (Observer Pattern)
옵서버 패턴은 데이터의 변경이 발생되었을 경우 상대 클래스나 객체에 의존하지 않으면서 데이터 변경을 통보하고자 할 때 유용하다. 예를 들면 새로운 파일이 추가되거나 기존 파일이 삭제되었을 때 여러 프로그램에게 동시에 알려주어야 모든 프로그램이 그 최신 내역을 반영할 수 있다. 예를 들어보자 만약 회원들의 정보를 보관하는 Member 클래스와 Member들의 리스트를 출력해주는 Member View 클래스가 존재한다고 하였을 때, 다음과 같이 Member 객체가 추가 될 때 마다 Member View를 업데이트 해줄 수 있다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152// 멤버클..
데코레이트 패턴 (Decorator Pattern)
데코레이트 패턴은 기본 기능에 추가할 수 있는 기능의 종류가 많은 경우에 각 추가 기능을 Decorator 클래스로 정의한 후 필요한 Decorator 객체를 조합함으로써 추가 기능을 설계하는 방식이다. 문제가 되는 예를 확인해보자. 만약 음식을 할 때, 준비를 해는 클래스 ReadyDish가 있다고 해보자. 생선 음식을 준비해야할 때는 ReadyDish 클래스에서 하는 ready() 메소드가 필요하며, 생선클래스를 위한 메소드 readyForFish()메소드가 필요하다. 그럴경우 기본적인 기능은 ReadyDish 클래스에 정의하고 추가적인 기능은 다음과 같이 하위클래스로서 상속받아서 진행할 수도 있다. 12345678910111213141516171819202122package decorator; pu..
템플릿 메서드 패턴 (Template method)
템플릿 메서드 패턴에 대해 알아보기 위해 먼저 문제의 소지가 있는 상황을 알아보자. [예시] 만약 특정 제품의 모터를 동작시키고자 할 때 현재 모터가 동작중인지, 작업장에 문이 열려 있는지 확인하고 동작하도록 하는 로직을 다음과 같이 만들어보자 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293package template; public class Door { private DoorStatus doorStatus; public DoorStat..
팩토리 메서드 패턴 (Factory method)
팩토리 메서드 패턴은 객체의 생성 코드를 별도의 클래스/메서드로 분리하는 패턴이다. 이로써 특정 기능의 구현은 개별 클래스를 통해서 제공을 하도록 설계를 하면서 호출하는 메서드 코드의 중복된 코드 발생과 기능 변경으로 인해 자주 변경되지 않도록 하기 위해서 사용하는데 효과적이다. 다음 예를 살펴보자. 여러 엘레베이터 조작을위해 다음과 같이 구성이 되어있다고 가정해보자. 엘레베이터의 층수를 관리하는 ElevatorManager 클래스 각 엘레베이터 클래스 ElevatorController 클래스 스케줄 클래스 ThroughputScheduler 클래스 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748..