좀더 자세히 해볼것들

Controls

  1. Button
  2. CheckBox
  3. ColorPicker
  4. ComboBox
  5. DataGrid
  6. DateChooser
  7. DateField
  8. HSlider
  9. HorizontalList
  10. Image
  11. Label
  12. LinkButton
  13. List
  14. NumbericStepper
  15. PopUpButton
  16. PopUpMenuButton
  17. ProgressBar
  18. RadioButton
  19. RadioButtonGroup
  20. RichTextEditor
  21. SWFLoader
  22. Text
  23. TextArea
  24. TextInput
  25. TileList
  26. Tree
  27. VSlider
  28. VideoDisplay

Layout

  1. ApplicationControlBar
  2. Canvas
  3. ControlBar
  4. Form
  5. FormHeading
  6. Grid
  7. HBox
  8. HDividedBox
  9. HRule
  10. ModuleLoader
  11. Panel
  12. Spacer
  13. Tile
  14. TitleWindow
  15. VBox
  16. VDividedBox
  17. VRule

Navigators

  1. Accordion
  2. ButtonBar
  3. LinkBar
  4. MenuBar
  5. TabBar
  6. TabNavigator
  7. ToggleButtonBar
  8. ViewStack

Adobe AIR

  1. FileSystemComboBox
  2. FileSystemDataGrid
  3. FileSystemHistoryButton
  4. FileSystemList
  5. FileSystemTree
  6. HTML

by 루루모모 | 2009/06/02 21:02 | Flex & AIR | 트랙백 | 덧글(0)

mysql - mysql DB가 안보일 때

 

간혹 mysql을 처음 설치하고

Shell> mysql

명령어로 들어 간 후

mysql> show databases; 명령어로 DB를 확인해 보면 아래와 같이 나올 때가 있다.

 

Database

----------------------

Information_schema

test

----------------------

 

user에 관련된 DB(mysql < DB Name)가 안 보이는 경우가 있다.

아무리 삭제하고 다시 설치해도 마찬가지 일 것이다.

이런 상태에서 root의 비밀번호를 변경 하려고 하면 아래와 같은 에러를 만날 것이다.

 

Access denied for user 'root'@'localhost' (using password: YES)

혹은

Can't find any matching row in the user table

 

대략 추측한 원인은 초기 설치 후 첫 실행 시 기본 Database를 생성해주는 스크립트에서 문제가 있었던 듯 하다.

정확한 원인은 모르겠다.

shell> cd /var/lib 위치에 mysql data가 있는 데도 말이다. (소스 컴파일이 아니라면 경로는 왼쪽과 같을 것이다.)

 

해결한 한가지 방법은 우선 mysql을 완전히 삭제를 하자.

그리고 /var/lib/mysql 폴더까지 삭제를 하자. ( 요 폴더는 자동 삭제가 안 된다. )

실제 사용 중이고 데이터가 있다면 위 폴더의 데이터는 백업을 해야 한다.

 

그리고서 다시 mysql을 설치하고

mysql> service mysqld start 해보면 기본 데이터베이스에 대해서 초기화가 진행됨을 볼 수 있다.

이런 식으로 다시 설정을 해주면 정상적으로 아래와 같이 Database 정보가 보일 것이다.

 

Database

----------------------

Information_schema

mysql

test

----------------------

 

위와 같이 보이면 끝.

 

by 루루모모 | 2009/02/15 01:09 | MySQL | 트랙백 | 덧글(0)

Eclipse Remote Java Application( Debug )

Eclipse에서 Remote Debug 설정

 

환경( 명령어 : catalina.bat version )

Server version

Server built

Server number

OS Name

OS Version

Architecture

JVM Version

JVM Vendor

Apache Tomcat/5.5.27

Aug 28 2008 10:08:26

5.5.27.0

Windows XP

5.1

x86

1.6.0_07-b06

Sun Microsystems Inc.

Apache Tomcat/6.0.18

Jul 22 2008 02:00:36

6.0.18.0

Linux

2.6.27.5-41.fc9.i686

i386

1.6.0_10-b33

Sun Microsystems Inc.

 

먼저 Eclipse 자체 내에서 서버를 구동 시키면서 Remote Debug까지 동시에 걸고자 했으나 잘 안되기에 톰캣을 먼저 구동 시켜준 후 이클립스에서 디버그를 실행하였다.

( 되는 방법이 있는 데 찾질 못하는 건지 잘 모르겠다. 우선 넘어가자;;; )

 

리눅스 환경과 윈도우 환경에서 테스트를 진행해 보았다.

Catalina.bat 파일만 다르지 나머지는 동일하므로 그대로 따라 하면 된다.

( 리눅스와 윈도우괜히 나눈듯한… )

 

우선 Remote Debug를 걸기 전에 톰캣의 설정을 살펴봐야 한다.

Tomcat/bin/Catalina.bat or Catalina.sh 파일을 열어보자.

 

JPDA 옵션으로 나와 있는 값을 이용했는데 JPDA에 대한 자세한 설명은 아래를 참조하자.

http://xrath.com/javase/ko/6/docs/ko/technotes/guides/jpda/architecture.html

 

Catalina.bat File

아래와 같이 시작하는 라인을 찾아서 굵은 표시줄을 수정한다.

if not ""%1"" == ""jpda"" goto noJpda

set JPDA=jpda

if not "%JPDA_TRANSPORT%" == "" goto gotJpdaTransport

set JPDA_TRANSPORT=dt_shmem -> set JPDA_TRANSPORT=dt_socket

:gotJpdaTransport

if not "%JPDA_ADDRESS%" == "" goto gotJpdaAddress

set JPDA_ADDRESS=jdbconn -> set JPDA_ADDRESS=8000

:gotJpdaAddress

if not "%JPDA_SUSPEND%" == "" goto gotJpdaSuspend

set JPDA_SUSPEND=n

:gotJpdaSuspend

if not "%JPDA_OPTS%" == "" goto gotJpdaOpts

set JPDA_OPTS=-Xdebug -Xrunjdwp:transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%

:gotJpdaOpts

shift

:noJpda

 

Catalina.sh File

요 파일은 건드릴게 없었다.

if [ "$1" = "jpda" ] ; then

  if [ -z "$JPDA_TRANSPORT" ]; then

    JPDA_TRANSPORT="dt_socket"

  fi

  if [ -z "$JPDA_ADDRESS" ]; then

    JPDA_ADDRESS="8000"

  fi

  if [ -z "$JPDA_SUSPEND" ]; then

    JPDA_SUSPEND="n"

  fi

  if [ -z "$JPDA_OPTS" ]; then

    JPDA_OPTS="-Xdebug -Xrunjdwp:transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND"

  fi

  CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS"

  shift

fi

 

Catalina.bat에서는 Transport Address의 값이 다르게 잡혀 있어서 위와 같이 바꾸어 주면 되고 Catalina.sh파일에서는 지정하고자 하는 값으로 설정이 되어 있기에 여기선 그대로 사용을 해도 된다.

 

JPDA_TRANSPORT=dt_socket

JPDA_ADDRESS=8000

JPDA_SUSPEND=n

 

위와 같은 값을 설정 해주면 된다. Address 부분은 8000번 포트가 사용 중이라면 다른 사용하지 않는 포트 번호를 적어주면 된다.

 

## netstat 명령어를 통해서 사용 중인 포트인지 확인 후 값을 설정한다.

 

윈도우는 Cmd 창을 띄우고 리눅스에선 터미널을 하나씩 띄운다.

각각 아래 명령어로 톰캣을 구동한다.

Windows

Linux

Catalina.bat jpda start

Catalina.sh jpda start

 

아래와 같은 로그가 가장 먼저 찍히면서 구동이 될 것이다.

Listening for transport dt_socket at address: 8000

 

이제 이클립스에서 디버그로 실행을 해본다.

디버그 하고자 하는 소스 오른쪽 클릭 후 Debug As – Debug Configuration – Remote Java Application 더블 클릭


위와 같이 설정을 해준다.

Host는 디버그 걸고자 하는 서버의 IP를 적어주고 Port Catalina.bat파일에 설정한 포트 번호를 적어준다.

Localhost가 아닌 다른 서버의 IP를 디버그 하고자 할 때는 해당 포트를 열어 주고서 진행 해야 한다.

 

이제 적용을 하고 Debug를 하면 아래와 같이 나오면 성공이다.


해당 서버로 호출을 해보면 아래와 같이 디버그가 걸린다.




System.out.print를 마구 찍어대는 노가다를 줄일 수 있게 되었다. ㅎㅎ;

 

톰캣과 이클립스를 따로 돌려야 하며 서버에 올린 클래스 파일과 이클립스에서 디버그 걸고자 하는 파일이 서로 같아야 한다. 다를 경우 디버그가 산(?)으로 간다.. -0-;

by 루루모모 | 2009/02/15 01:04 | Development Tools | 트랙백 | 핑백(1) | 덧글(0)

◀ 이전 페이지다음 페이지 ▶