달력

102021  이전 다음

  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  
  •  
  •  

[err]android

java 2011. 1. 23. 21:44
겹치는 class 있는 경우


[2011-01-23 16:25:48 - maps]: Dx
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Lcom/uaxgel/realestate/xmlrpc/XMLRPCMethodCallback;
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.dex.file.DexFile.add(DexFile.java:143)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.command.dexer.Main.processClass(Main.java:338)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.command.dexer.Main.processFileBytes(Main.java:315)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.command.dexer.Main.access$100(Main.java:56)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:266)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:244)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:130)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:108)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.command.dexer.Main.processOne(Main.java:284)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.command.dexer.Main.processAllFiles(Main.java:220)
[2011-01-23 16:25:48 - maps]: Dx at com.android.dx.command.dexer.Main.run(Main.java:176)
[2011-01-23 16:25:48 - maps]: Dx at sun.reflect.GeneratedMethodAccessor43.invoke(Unknown Source)
[2011-01-23 16:25:48 - maps]: Dx at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[2011-01-23 16:25:48 - maps]: Dx at java.lang.reflect.Method.invoke(Method.java:597)
[2011-01-23 16:25:48 - maps]: Dx at com.android.ide.eclipse.adt.internal.build.DexWrapper.run(Unknown Source)
[2011-01-23 16:25:48 - maps]: Dx at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeDx(Unknown Source)
[2011-01-23 16:25:48 - maps]: Dx at com.android.ide.eclipse.adt.internal.build.builders.PostCompilerBuilder.build(Unknown Source)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:203)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:255)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:258)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:311)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:343)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:344)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.ui.actions.GlobalBuildAction$1.run(GlobalBuildAction.java:179)
[2011-01-23 16:25:48 - maps]: Dx at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
[2011-01-23 16:25:48 - maps]: Dx1 error; aborting
[2011-01-23 16:25:48 - maps] Conversion to Dalvik format failed with error 1

Posted by 케누 kenu허광남

댓글을 달아 주세요

이클립스의 작업관리 도구인 Mylyn에서 유료로 플러그인을 제공하는 Tasktop의 대표와의 인터뷰입니다. Mylyn을 통해서 어떻게 애자일 개발을 할 것인지에 대한 내용입니다.
http://www.infoq.com/interviews/kersten-tasktop 

mp3도 제공이 되는군요.
MP3 
infoq 로그인 필요합니다.

Posted by 케누 kenu허광남

댓글을 달아 주세요

http://www.okjsp.pe.kr:8080/ 허드슨을 이용해서 사이트를 관리를 하고 있습니다. SVN에 소스를 커밋하면 1시간마다 또는 즉시 운영에 반영할 수 있는 시스템이고, 1시간마다 테스트케이스를 돌리기 때문에 언제 문제가 발생했는지 모니터링할 수 있는 지속적인 통합(Continuous Integration) 도구입니다.
관련해서 포스팅한 글도 조금 있지요. http://okjsp.tistory.com/tag/hudson

오늘 RSS를 통해서 본 것인데, 충격적이라 포스팅합니다.

허드슨은 http://hudson.dev.java.net 에서 오픈소스로 진화하고 있었는데, 이게 java.net을 떠나서 github로 둥지를 바꿨다고 합니다. http://www.infoq.com/news/2011/01/hudson-jenkins 
위 글에 따르면 oracle 관리 아래 java가 들어간 이후로 java.net의 대대적인 개편이 있었고, 이게 서비스를 마이너스로 만들었다고 합니다. 그래서 Github로 이전했다네요.

예전엔 http://hudson-ci.org/ 와 화면이 같았었습니다.


Oracle had applied for the Hudson trademark on October 29th, when the developers were in progress of moving the code off to GitHub.

from: http://www.infoq.com/news/2011/01/hudson-jenkins 
프로젝트 이름을 바꾸는 이유는 오라클이 Hudson으로 상표를 만들고 있는 것 같습니다. 으악~ 이거 뭐... 영어사전의 모든 단어로 상표권을 만들 기세입니다.

이름을 바꾸지 않고도 잘 해결되었으면 좋겠습니다. 혼동이 가중되지 않도록 말이죠.
개인적인 심정으로는 그냥 IBM이 Sun을 가져갔으면 더 발전적이지 않았을까 생각됩니다.

오라클은 나중에 영화나 미드 시리즈를 만들어도 흥행할 것 같습니다. 드라마를 쓰고 있네요. 파란만장 자바 이야기.

허드슨의 건승을 기원합니다.
Posted by 케누 kenu허광남

댓글을 달아 주세요

apk 파일을 좀 더 보기 쉽게 해제하고 java파일은 자바 문법이 아닌 형태로 디컴파일됩니다.
Reverse Engineering 도구인데, 논란이 있지만, Activity가 High인 것을 보면 굉장히 많이 사용되는 것 같습니다.



Posted by 케누 kenu허광남

댓글을 달아 주세요

모바일 사파리는 풀스크린 모드로 모바일 웹을 실행시키는 것이 가능하다. 
...
<meta name="apple-mobile-web-app-capable" content="yes" />
...
이 기능을 활용하여 웨 어플리케이션을 네이티브 어플리케이션과 같은 환경을 만들 수 있지만, 그것은 신중하게 사용하여야 한다. 브라우저 크롬의 손실이 없다는 것은 뒤로 가기, 앞으로 가기 컨트롤을 할 수 없다는 것을 의미한다.
from: 모바일 디자인 & 개발, 279p

상태바 표시 변경
<meta name="apple-mobile-web-app-status-bar-style" content="black" />

아이콘 더하기
<link rel="apple-touch-icon" href="images/apple-touch-icon.png" />
57x57 : iphone 3gs

Posted by 케누 kenu허광남

댓글을 달아 주세요

방금 받은 메일의 내용이 인상적이라 공유합니다. IBM(International Business Machine, 이미 버린 몸)에서 운영하는 developerWorks (개발자는 일한다 또는 개발자 일감; 요따구로 번역하면 뭐라 하겠죠.)사이트의 2010년 기사 순위가 나왔습니다.

Top 10 developerWorks URLs for 2010: 

  1. Lazy Linux: 10 essential tricks for admins
  2. WebSphere Developer Technical Journal
  3. Introduction to Android development Using Eclipse and Android widgets
  4. Create modern Web sites using HTML5 and CSS3
  5. On-demand skills session: An introduction to XML
  6. 5 things you didn't know about ... everyday Java tools
  7. Build a dynamic organization tree using GWT and RESTful web services
  8. 5 things you didn't know about ... Command-line flags for the JVM
  9. Build skills for DB2 for Linux, UNIX, and Windows
  10. Build dynamic user interfaces with Android and XML

자바 관련된 것이 5개 있다고 내용에 나오는데, AIX와 IBM 장비 때문인지 Linux관련 글이 1위입니다. 안드로이드 관련 글도 두 가지가 보입니다. 아무도 가르쳐 주지 않는 5가지 자바 도구들 제목도 끌립니다.

온고이지신이라는 말처럼 2011년의 기술트렌드를 살피는데 2010년의 자료는 좋은 방향성을 제시할 것이라 생각됩니다.

Posted by 케누 kenu허광남

댓글을 달아 주세요

으악 DB에 한글이 안들어가요.

Exception in thread "main" java.sql.SQLException: Incorrect string value: '\xEB\xB0\xB1\xEA\xB8\xB0...' for column 'name' at row 1

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2554)

at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1761)

at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2046)

at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1964)

at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1949)

at springbook.user.dao.UserDao.add(UserDao.java:23)

at springbook.user.dao.UserDao.main(UserDao.java:60)



mysql> SHOW VARIABLES LIKE '%olla%';
+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | utf8_general_ci   |
| collation_database   | latin1_swedish_ci |
| collation_server     | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.00 sec)

mysql> 

Class.forName("com.mysql.jdbc.Driver");

Connection c = DriverManager.getConnection("jdbc:mysql://localhost/springbook?characterEncoding=UTF-8", "spring","book");


방법을 찾았습니다만, 쉽지 않은 문제였습니다. DB에 대한 이해가 필수겠지요. varchar(20)을 longtext  로 잡았습니다.

create table users (

id varchar(10) primary key,

name longtext not null,

password varchar(10) not null

) DEFAULT CHARSET=utf8;



현재 DB 설정과 내용은 다음과 같습니다.
kenuheoyimacbookpro-4:bin kenu$ ./mysql -u spring -p springbook
Enter password: 
...
Server version: 5.5.8 MySQL Community Server (GPL)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
...
mysql> show variables like '%olla%';
+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | utf8_general_ci   |
| collation_database   | latin1_swedish_ci |
| collation_server     | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.00 sec)

mysql> select * from users;
+-----------+-----------+----------+
| id        | name      | password |
+-----------+-----------+----------+
| whiteship | 백기선    | married  |
+-----------+-----------+----------+
1 row in set (0.00 sec)

mysql> 



Posted by 케누 kenu허광남

댓글을 달아 주세요

  1. 아웃사이더  댓글주소 수정/삭제 댓글쓰기 2011.01.07 13:31 신고

    전 그냥 영문으로 코드 돌렸는데요.. ㅎㅎㅎ
    일일이 다 해결하셨군요...

STS(Springsource Tool Suite)는 JavaEE  버전의 eclipse와 유사합니다. Database에 접속이 가능하도록 되어있습니다.

ctrl+3 Quick Access를 열어서 data를 입력하면 Views에 Data Source Explorer 뷰가 보입니다.

뷰의 모습은 다음과 같습니다. 우측 상단의 Connectioin Plus 아이콘을 클릭하면 새로운 Profile을 작성할 수 있는 창이 나옵니다.

m을 입력하면 아래와 같이 필터링되고 MySQL을 선택합니다. 연결명을 적당한 이름으로 변경할 수 있습니다.


http://www.mysql.com/downloads/connector/j/ JDBC드라이버가 필요한데, 앞의 주소에서 다운로드 가능합니다.

MySQL 5.1 버전으로 잡았습니다.

두번째 JAR List탭에서 다운로드해서 압축을 풀어서 나온 mysql-connector-java-5.1.14-bin.jar 파일의 경로를 잡아줍니다. 공통으로 사용할 생각으로 일단 물리경로를 놓았는데, 가능하면 workspace 안에 있는 것이 좋을 것 같다고 생각됩니다. 일단...

세 번째 탭 Properties에서 JDBC 정보를 입력합니다.

다음과 같이 정리됩니다.

Test Connection에서 정상적으로 테스트가 되면 보게되는 메시지입니다.

sql 편집기를 열면 Type, Name, 등을 통해서 쿼리를 날릴 수 있습니다.

데이터베이스의 내용을 다음과 같이 확인할 수도 있습니다.

실행은 오른버튼을 통해서 Execute 메뉴를 선택하면 됩니다.

SQL Results 뷰가 따로 열리게 됩니다.

급한대로 쓸만한 SQL Client입니다. 물론, 더 좋은 DB클라이언트들이 있습니다만 말 그대로 급한대로 쓸만할 겁니다.


Posted by 케누 kenu허광남

댓글을 달아 주세요

  1. 사악미소  댓글주소 수정/삭제 댓글쓰기 2012.05.08 08:28 신고

    위에 올려주신거 보고 잘 하고 있는데요...
    (저도 Mac에서 작업중이라... ㅠ.ㅠ)
    아래와 같은 에러가 일어나서 문의 드립니다.
    ...
    'Creating connections to New MySQL.' has encountered a problem.
    Could not connect to New MySQL.
    ...
    New Connection Profile에서 OK만 누르면 위의 에러가 나네요...
    뭘 잘못한걸까요? 에구...

처음 맥에 MySQL을 설치해서 돌려봅니다. 2006년부터 맥을 써왔지만, 이번에 처음입니다.
http://www.mysql.com 에서 mysql-5.5.8-osx10.6-x86_64.dmg 파일을 다운로드 받아서 3가지를 설치했습니다.

./mysql-5.5.8-osx10.6-x86_64.pkg
./MySQLStartupItem.pkg
./MySQL.prefPane

MySQL.prefPane 이후에 이렇게 시스템 환경설정에 만들어집니다.

메뉴에 들어가면 Start/Stop 그리고 현재 DB 사용여부 표시 기능 밖에는 없습니다.

DB를 실행한 뒤에 다음과 같이 토비의 스프링3를 위해서 DB와 table을 만들었습니다.

kenuheoyimacbookpro-4:docs kenu$ mysql -u root mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6081
Server version: 5.5.8 MySQL Community Server (GPL)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

mysql> grant all privileges on *.* to spring@localhost
    -> identified by 'book' with grant option;
Query OK, 0 rows affected (0.04 sec)

mysql> create database springbook;
Query OK, 1 row affected (0.02 sec)

mysql> use springbook;
Database changed

mysql> create table users (
    -> id varchar(10) primary key,
    -> name varchar(20) not null,
    -> password varchar(10) not null
    -> );
Query OK, 0 rows affected (0.46 sec)

mysql> 

spring 아이디에 book 비번으로 접속 가능하게 하고 springbook 이라는 database를 만들고, 그 안에 users라는 table을 만든 것입니다. 

계속 진도 나가야겠습니다. 갈 길이 멉니다.

Posted by 케누 kenu허광남

댓글을 달아 주세요

 토비의 스프링3 책을 보기 시작했습니다. 1,400페이지에 하드커버라 들고 다니기는 버겁지만, 운동삼아 들고 다니고 있습니다. 운동효과는 나중에 알게 되겠지요.

1장을 다 읽고나서 느낀 점은 객체지향 프로그래밍에 대한 또 다른 설명이라고 느껴집니다. 내용 중에 추천하는 소프트웨어 개발의 지혜(Agile PPP), Head First OOAD 두 권의 책을 스프링 설명에 잘 녹였다는 느낌이 들었습니다.

bookinfo.asp.jpg

image from : http://kangcom.com/sub/view.asp?sku=2010F1446912


쉽사리 프레임워크로 가지 못했던 저에게 좋은 가이드가 될 것 같습니다. 현재 한국 기업 개발 시장의 사실상 표준 프레임워크는 스프링이라고 해도 과언이 아닐 것 같습니다.

http://kangcom.com/sub/view.asp?sku=2010F1446912


이일민님, 에이콘출판사 여러분 좋은 책 만드시느라 수고 많으셨습니다.


Posted by 케누 kenu허광남

댓글을 달아 주세요

  1. E(い)RIS  댓글주소 수정/삭제 댓글쓰기 2011.01.04 21:45 신고

    저도 구매했지만 정말 두껍더군요... 언제 다 볼지... ^^;