목록전체 글 (1471)
오늘도 공부
앞에서 잠시 언급했듯이 다중상속이 허용되지 않는 자바에선 위와 같은 방법은 별로 좋지 못하다. 그래서 우선 Connection 를 주는 클래스를 아예 따로 떼어버리자. 그럼 상속받을 필요도 없고 그냥 생성해서 쓰면 그만이다. abstact일 필요도 없어진다. 자세한 코드는 다음과 같다. Connection만 관리하는 클래스 추출 public class SimpleConnectionMaker { public Connection makeNewConnection() throws ClassNotFoundException,SQLException{ return 만들어질 커넥션; } } 그럼 add와 get 메소드 안에서는 Connection c = simpleConnectionMaker.makeNewConnecti..
1단계에서 메소드 추출을 이용했다. 만약 이 UserDao클래스가 인기가 많아 N사와 D사에 판매를 하는 경우 N사와 D사의 경우 각각 다른 DB을 쓰고 연결관리를 한다는 가정하에선 기존에 만들어 놓은 UserDao방식은 확장성에서 상당히 비효율적이다. 안에 메인클래스를 수정해야 함은 당연지사고 내가 고생해서 만든 UserDao클래스 극비문서를 남에게 보여줘야 한다는 문제점도 있다. 그래서 이번 단계에서는 내가 만든 UserDao클래스를 보호하면서 각기 다른 회사에 맞는 커넥션을 제공해줄수 있는 리팩토링이다. 여기에서 쓰이는 패턴은 템플릿 메소드 패턴(template method pattern:슈퍼클래스에 기본적인 로직의 흐름을 만들고 , 그 기능의 일부를 추상 메소드나 오버라이딩이 가능한 protect..
이전 UserDao 클래스에서 add() 안의 메소드를 보면 세가지 관심사항을 발견할 수 있다. UserDao의 관심사항 1.DB와 연결을 위한 커넥션을 어떻게 가져올까라는 관심 2.사용자 등록을 위해 DB에 보낼 SQL문장을 담을 Statement를 만들고 실행하는 것 3.작업이 끝나면 사용한 리소스를 닫아주는 일 public void add(User user) throws ClassNotFoundException,SQLException{ Connection c = getConnection(); String sql = "insert into users(id,name,password) values(?,?,?)"; PreparedStatement ps = c.prepareStatement(sql); .....
토비의 스프링3이란 책을 보고 공부하는 중..^^; 우선 처음부터 리팩토링에 대해서 간략하게 얘기하는데 좋은 내용이다.. 그래서 한번 따라해봄.^^ 우선 DB 커넥션 클래스 준비 user.java 파일안 package springbook.user.domain; public class User { String id; String name; String password; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Stri..
[서블릿기초] 5. 초간단 MVC 만들어보기 JSP기초정리 / JSP 2010/01/09 20:13 http://blog.naver.com/pksaladin/30077871911 앞서 설명한 이론상의 설명으로는 뭔가 부족하다는 분들을 위해서 이제는 직접 코딩해보고 느껴보도록 하겠습니다. 일단 모델1을 작성해보고 이것을 모델2로 바꿔보는 형식으로 작성하겠습니다. 잘 따라서 해보시길 바랍니다. 먼저 모델 1 패턴으로 간단하게 텍스트 필드에 값을 받고 결과값을 출력받는 예제를 만들어보겠습니다. 모델 1 패턴 index.html 당신의 이름은? result.jsp 당신의 이름은 //name1을 출력합니다. 원하는 이름을 쓰고 확인을 누르면 다음과 같이 출력됩니다. 별다른 과정없이 위에 URL을보시면 다이렉트로 ..
이 코드는 구글맵경위도좌표계(wgs84), 다음/콩나물맵(변형 tm), 네이버맵(katech 또는 tm128) 좌표계를 서로 변환해 주는 소스코드입니다. 이 코드는 aero, hyosang 님등의 블로그를 참고로 만들었으며, 오픈소스와 카피레프트의 정신에 따라 공개하니 자유롭게 사용하시기 바랍니다. 자세한 이론적인 배경은 aero 님 블로그 (http://aero.sarang.net/map/analysis.html) 을 참고해 주세요. 사실 이런 기능은 이미 야후나 다음 맵 오픈 API 등을 통하여 이미 온라인 서비스하고 있지만 안드로이드 앱 내에 포함시키는 경우에 간혹 필요할 수도 있습니다. 사용 가능한 메소드는 다음과 같습니다. 참고로, 질문/답변 란에 올려져 있는 원래 코드를 static 메소드들로..
구글 맵은 위도/경도를 바로 사용해 위치 표시가 가능하고, 네이버 맵은 카텍좌표계...TM인가... 지리학엔 문외한이라 잘 모르겠고... 암튼 둘이 좌표계가 달라서 두 지도에서 같은 위치를 표시하려면 좌표계 변환을 해야 한다. 그런데... 네이버에서도 위/경도를 지원하기 시작했더란 이야기-_-a 그래도 만들어놓은게 아까우니 포스팅은 하자...라는 심보..? 참고 포스팅의 php소스를 javascript로 변환하고 값 전달 방식만 약간씩 바꿨습니다. 함수중에 거리를 구하는 함수도 보이는데 맞는지는 모르겠습니다.. 뭘로 테스트를 해봐야 하는지도 모르겠고-_-a js는 여기 있구요, 사용법은, GEO KATEC 변환 (Language : javascript) 이런식으로 사용하시면 되겠습니다
출처 : http://www.androidpub.com/1104990 FAQ : 프로그래밍적으로 키보드 숨김/감춤/보기. 액티비티 시작시 키보드 숨김/감춤/보기, EditText선택시 키보드 안뜨게하기 등 소프트 키보드 동작 관련 질문에 대한 답변 1. 키보드 감추기 EditText editText = (EditText) findViewById(R.id.myEdit); InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(editText.getWindowToken(), 0); 2. 키보드 보여주기 EditText editText = (EditT..
출처 : http://greenweblog.tistory.com/entry/%EB%A6%AC%EC%8A%A4%ED%8A%B8%EB%B7%B0-%EC%97%90%EB%8B%88%EB%A9%94%EC%9D%B4%EC%85%98리스트뷰 에니메이션Posted by 안드로이드노트 그린웹Animation : 2010/10/19 20:45 Friday, October 16, 2009 ListView and ListActivity, with Layout Animation In the article Layout Animation, list_layout_controller is included in layout, main.xml. In the last article ListView and ListActivity, List..
출처 : http://greenweblog.tistory.com/entry/Animation%EC%97%90-%EB%8C%80%ED%95%9C-%EC%9D%B4%ED%95%B42-AnimationSet-%ED%81%B4%EB%9E%98%EC%8A%A4 AnimationSet extends Animaiton java.lang.Object android.view.animation.Animation android.view.animation.AnimationSet 제 설명이 정확한 것인지 모르겠지만.. AnimationSet 클래스는 복수의 에니메이션(트윈을) 하나의 에니메이션으로 보이게 끔 조합시키는 클래스이다. Animation 추상클래스에서 생성된 다른 객체를 (예: AlphaAnimation ) valu..
