DBeaver - 개발자와 DBA를 위한 무료 오픈소스(GPL) 데이터베이스 툴


저는 Eclipse 플러그인으로 된 DBeaver를 사용하고 있음. Oracle, Mysql, PostgreSQL, SQLite, H2, Java DB등 여러종류의 DBMS를 지원하고 OS도 Windows, Linux, Mac OS 모두 지원합니다.



무료 GUI DB툴 치고는 ERD 보여주는 기능 및 BLOB 보여주는 기능등등 여러가지 기능이 좋아서 소개합니다.


아래는 DBeaver 홈페이지에 있는 소개

Overview

DBeaver is free and open source (GPL) universal database tool for developers and database administrators.

  • Usability is the main goal of this project, program UI is carefully designed and implemented.
  • It is freeware.
  • It is multiplatform.
  • It is based on opensource framework and allows writing of various extensions (plugins).
  • It supports any database having a JDBC driver.
  • It may handle any external datasource which may or may not have a JDBC driver.
  • There is a set of plugins for certain databases (MySQL and Oracle in version 1.x) and different database management utilities (e.g. ERD).

Supported (tested) databases:

  • MySQL
  • Oracle
  • PostgreSQL
  • IBM DB2
  • Microsoft SQL Server
  • Sybase
  • ODBC
  • Java DB (Derby)
  • Firebird (Interbase)
  • HSQLDB
  • SQLite
  • Mimer
  • H2
  • IBM Informix
  • SAP MAX DB
  • Cache
  • Ingres
  • Linter
  • Teradata
  • Vertica
  • Any JDBC compliant data source

Supported OSes:

  • Windows (2000/XP/2003/Vista/7)
  • Linux
  • Mac OS
  • Solaris
  • AIX
  • HPUX

General features:

  • Database metadata browse
  • Metadata editor (tables, columns, keys, indexes)
  • SQL statements/scripts execution
  • SQL highlighting (specific for each database engine)
  • Autocompletion and metadata hyperlinks in SQL editor
  • Result set/table edit
  • BLOB/CLOB support (view and edit modes)
  • Scrollable resultsets
  • Data (tables, query results) export
  • Transactions management
  • Database objects (tables, columns, constraints, procedures) search
  • ER diagrams
  • Database object bookmarks
  • SQL scripts management
  • Projects (connections, SQL scripts and bookmarks)

MySQL plugin features:

  • Enum/Set datatypes
  • Procedures/triggers view
  • Metadata DDL view
  • Session management
  • Users management
  • Catalogs management
  • Advanced metadata editor

Oracle plugin features:

  • XML, Cursor datatypes support
  • Packages, procedures, triggers, indexes, tablespaces and other metadata objects browse/edit
  • Metadata DDL view
  • Session management
  • Users management
  • Advanced metadata editor

Other Benefits:

  • DBeaver consumes much less memory than other popular similar software (SQuirreL, DBVisualizer)
  • Database metadata is loaded on demand and there is no long-running “metadata caching” procedure at connect time
  • ResultSet viewer (grid) is very fast and consumes very little ammount of memory
  • All remote database operations work in non-blocking mode so DBeaver does not hang if the database server does not respond or if there is a related network issue

License

DBeaver is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

DBeaver is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

License full version

Buy me a coffeeBuy me a coffee

자바 웹 개발을 하다 아래의 클래스를 불러들이는데에 문제가 생겼습니다.


import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;


Eclipse에서 위의 클래스가 import 가 안되는 것이였다. -_-;;

자바 웹 개발에서 가장 기본인 servlet-api.jar 가 빠져서 나오는 거였습니다. Tomcat에서 HttpServletRequest ,HttpServletResponse 등 가장 많이 쓰는 클래스가 들어있는 패키지입니다.

Tomcat에서 servlet-api.jar 파일을 import하여 해결하였습니다만 왜 저런 에러가 나오는지 이해안되군요.

문제 해결은 했으니 원인은 못찾고.. 일정은 급하니 다음에 확인하기로 하였다.

Buy me a coffeeBuy me a coffee


개발자들이 말하는 오픈소스 애플리케이션의 구조에 관한 내용이 인터넷으로 공개가 되었습니다. 아래는 책 링크입니다.

http://www.aosabook.org/en/index.html

구체적으로 25개 주요 오픈소스 개발자들이 직접 밝히는 각 소프트웨어들의 구조와 설계에 대한 내용을 책으로 만들었고, 오픈소스 사상에 맞게 Creative Common 라이센스로도 웹으로 공개가 되어있습니다. 

Open Source라고 자유롭게 공개를 하는 좋은 책이 있군요.

25개의 주요 오픈소스 애플리케이션 프로젝트의 이름은 다음과 같습니다.

  1. Asterisk
  2. Audacity
  3. The Bourne-Again Shell(그 유명한 bash shell의 원래 이름입니다.)
  4. Berkeley DB
  5. CMake
  6. Eclipse
  7. Graphite
  8. The Hadoop Distributed File System
  9. Continuous Integration
  10. Jitsi
  11. LLVM
  12. Mercurial
  13. The NoSQL Ecosystem
  14. Python Packaging 
  15. Riak and Erlang/OTP 
  16. Selenium WebDriver 
  17. Sendmail 
  18. SnowFlock 
  19. SocialCalc 
  20. Telepathy 
  21. Thousand Parsec 
  22. Violet 
  23. VisTrails 
  24. VTK 
  25. Battle For Wesnoth 

제가 사용해봤거나 자주 사용하는 건 bourne-agine shell (bash shell)과, CMake, 자바 개발툴인 Eclipse, Mercurial(분산 버전 관리 시스템), Python Packaging(Pypi), 예전 서버관리자일때 설치해봤던 Sendmail 이렇게 6개만 사용해봤군요. 
그리고 어떤 구조인지도 모르고 그냥 사용했었다만, 이번 계기로 어떤 구조로 되어 있으며, 어떻게 설계되었는지에 대해서 책보고 알아봐야겠습니다. ~_~ 

이 내용들을 PDF로 변환하여 제 안드로이드폰에 넣고 다니긴 하지만 화면 크기가 작아서 뭔가 불만족스럽습니다. 이 책 내용을 아이패드로 꼭 보고 싶군요. 


ps. 개인이 책 내용을 전자책 형태의 안드로이드용 어플로 만들면 법적 문제 생길려나?

Buy me a coffeeBuy me a coffee



kenu님의 블로그에서 Eclipse 3.6 Helios가 새로 출시되었다는 소식을 듣고 Eclipse 3.6 Helios를 설치하였습니다.

설치후 실행할때 아래와 같은 오류가 나오더군요.

Failed to create the Java Virtual Machine 이라는 창이 뜹니다.


실행할때 나오는 Failed to create the Java Virtual Machine 이라는 에러는 이클립스가 JVM을 못찾아서 나오는 에러입니다.

해결방법은 eclipse.ini에 아래와 같은 내용을 추가를 합니다.

-vm

C:/Program Files/Java/jdk1.6.0_16/bin/javaw.exe

JVM을 지정하는 부분을 넣어서 인식해주면 됩니다.

-vm 

(JDK 설치된 폴더)\bin\javaw.exe

eclipse.ini에 아래와 같은 내용이 나오는데 아래와 같이 굵은 표시가 보이는 곳에 -vm (JDK 설치된폴더)\bin\javaw.exe를 추가하시면 됩니다.

-startup

plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar

--launcher.library

plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503

-product

org.eclipse.epp.package.jee.product

--launcher.defaultAction

openFile

--launcher.XXMaxPermSize

256M

-showsplash

org.eclipse.platform

--launcher.XXMaxPermSize

256m

--launcher.defaultAction

openFile

-vm

C:/Program Files/Java/jdk1.6.0_16/bin/javaw.exe

-vmargs

-Dosgi.requiredJavaVersion=1.5

-Xms40m

-Xmx512m

이클립스를 실행하니 Helios가 나오면서 아래와 같이 나오더군요.

Eclipse 3.6 HELIOS (이클립스 3.6 헬리오스)

Eclipse 3.6 HELIOS 첫 실행화면.


지금 Eclipse 3.6 Helios를 사용해보니 이전 버전인 갈릴레오보다 뭔가 더 좋아졌네요. 

뭔가 매우 친절해진 메세지며, Eclipse Marketplace가 추가, 웹브라우저 지정도 가능해서 IE로 html볼지 Firefox에서 볼지를 선택 짖정도 가능하더군요.


Buy me a coffeeBuy me a coffee

2010년 7월 10일(토)에 열리는 2010 한국 자바 개발자 페스티벌에 참석하게 되었습니다.

장소는 이화여대 ECC입니다.


참가신청 링크

2010 한국 자바 개발자 페스티벌 강사 및 강의 소개


이번 페스티벌에선 웹과 모바일 플랫폼인 안드로이드 기반의 내용들이 많이 나옵니다. 요즘 트랜드가 안드로이드라 보니 다들 안드로이드 플랫폼에 뛰어드는 것 같습니다.

Buy me a coffeeBuy me a coffee

※ 참고로 제목에 Motoroi를 적어서 혼돈 시킬 내용이 있긴 하겠지만 모토로이뿐만 아니라 모토로라사의 안드로이드폰, HTC의 안드로이드폰, 삼성, LG등에서 나오는 안드로이드폰들도 제조사 설정값만 다를뿐, 여기 내용으로 똑같이 연결 설정을 할 수 있습니다.


주로 Windows에서 Java, Web관련 프로그램들을 만들어보다, 안드로이드 폰인 모토로이를 구입후, 안드로이드 앱 개발을 시작하게 되었습니다.

학교에서 틈나는데로 개발하다보니... 진척이 나오진 않더군요,

그래서 집에 있을 주말에는 안드로이드 앱개발에 전념해보자는 생각을 해보았습니다. 그 후에 집에 돌아다니고 있는 ThinkPad R52에 Ubuntu를 설치하여 Android 개발용 노트북으로 만들어 개발을 하게 되었습니다.

그러나 Windows와 다르게 Ubuntu(Linux)에서 adb를 설치해도 안드로이드 기기(모토로이, Motoroi, XT720)이 인식이 되지 않더군요.

Windows에선 모토로라사에서 직접 제공하는 드라이버를 설치하여 사용하면 되니 문제 없지만, Linux는 알아서 셋팅을 해야했습니다.


결국은 Ubuntu에 Android Device(Motoroi, XT720)을 인식할수 있도록 삽질을 하게 되었습니다.

안드로이드 SDK를 설치 한후에 adb device 라는 명령어를 치면 아래와 같이 안드로이드 장치가 인식이 되지 않음을 알 수 있습니다.


studioego@studioego-laptop:~$ adb devices
List of devices attached
????????????    no permissions

studioego@studioego-laptop:~$

그리고 Eclipse에서도 안드로이드 장치가 인식 되지 않음도 알 수 있습니다.



이럴때엔 아래와 같이 작업을 해야합니다.

lsusb라는 명령어로 usb로 인식을 하는지에 대해 확인을 해보면

studioego@studioego-laptop:~$ lsusb
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 003: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader
Bus 004 Device 002: ID 0a5c:201e Broadcom Corp. IBM Integrated Bluetooth IV
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 004: ID 22b8:41db Motorola PCS
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
studioego@studioego-laptop:~$

모토로이(XT720)은 이미 인식을 했다는 걸 확인 할 수 있습니다.

이미 장치는 인식을 한 상태이지만, adb 에서 인식할 수 있도록, 장치를 등록해야 제대로 안드로이드 장비인 모토로이(XT720)을 사용할 수 있습니다.

출처 : http://aphyr.com/journals/show/debugging-the-droid-on-ubuntu-karmic

위의 링크를 보고 우선 vim같은 편집기로 /etc/udev/rules.d/99-android.rules 파일을 생성한 후 아래와 같은 내용을 적습니다.

SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", SYMLINK+="android_adb", MODE="0666"

참고로 Android Device Vendor인 Motorola사의 ATTRS(idVendor)값은 22b8이고 HTC의 경우엔 ATTRS(idVendor)값이 0bb4 이런식으로 되어있습니다.

참고로 이 글은 모토로이 뿐만 아니라 다른 업체인 HTC, 삼성, LG등의 안드로이드폰에서도 적용을 할 수 있다는걸 알 수 있습니다.

/etc/udev/rules.d/99-android.rules를 작성후 저장합니다.

이후 udev 데몬을 재시작 한후, 장비의 연결을 뺀후, 다시 연결하면 모토로이에 USB Debugging 모드로 우분투에서 모토로이 장치를 제대로 인식 할수 있습니다.

아래는 udev 재시작을 하는 것을 보여줍니다. .sudo /etc/init.d/udev restart 대신 가급적이면 sudo restart udev를 하라고 나옵니다.

studioego@studioego-laptop:~$ sudo /etc/init.d/udev restart
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service udev restart

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the restart(8) utility, e.g. restart udev
udev start/running, process 8066
studioego@studioego-laptop:~$


USB연결을 뺐다 다시 USB연결을 하면 모토로이 장치가 인식되었다는 걸 확인을 아래에서 할 수 있습니다

studioego@studioego-laptop:~$ adb devices
List of devices attached
040376780F01F01D    device

studioego@studioego-laptop:~$

모토로이가 인식되었다는 것을 Eclipse에서도 확인 할 수 있습니다.



아래는 기념으로 모토로이 화면 캡쳐를 하였습니다. (Ubuntu 9.10에서 Eclipse를 사용하여 Hootsuite라는 트윗 어플을 찍어봄)




Buy me a coffeeBuy me a coffee

모토로이를 개발용으로 컴퓨터와 연결을 해보았습니다.



위의 관련 포스트를 참조를 하여, 모토로이를 개발용으로 컴퓨터와 같이 연결을 하였습니다.

1. 모토로이폰에서 설정→응용프로그램→개발을 클릭하여 아래 화면처럼 체크를 합니다.

안드로이드폰에서 컴퓨터로 디버깅할때에 USB디버깅 모드를 체크해야합니다!


(참고로, 모의 GPS는 GPS를 사용하는 LBS어플만들때 쓰는 기능이랍니다.)


2. 모토로라사의 사이트에서 모토로이 USB 드라이버인 4.2.0을 다운로드 받아 설치를 합니다.

참고로 USB 드라이버엔 32bit와 64bit용 두 가지가 있습니다.

http://www.mymotorola.co.kr/product/PrdDownProduct.aspx?id=0045


그런 다음 Eclipse에서 DDMS로 연결을 해보니 드디어 컴퓨터와 연결을 해보았습니다.


연결이 되었다고 화면에 나오군요!!


아래는 저의 모토로이 바탕화면입니다.


아래는 안드로이드펍이라고 안드로이드펍에서 제공하는 어플리케이션입니다.



아래는 제가 직접 테스트를 해본 "Hello, World!" 앱입니다. 이클립스에서 간단한 프로젝트를 실행하고 컴퓨터와 연결하면 앱이 모토로이로 옮겨서 실행되는걸 볼 수 있습니다^^

모토로이에서 AndroidTest라는 간단한 앱을 넣었습니다.

Motoroi - AndroidTest

모토로이에서 AndroidTest라는 간단한 앱을 실행한 상태 - Hello, World!를 띄운겁니다.


Buy me a coffeeBuy me a coffee



저는 Nokia 6210s을 사용하면서 뭔가 프로그램을 만들어 보고 픈 욕구가 있었습니다. 그러나 이놈의 귀차니즘과 개발 툴 설치하는 것도 까다롭고 하는 장벽이 있어서 이제서야 Nokia 6210s에 재미 삼아 프로그래밍을 해보게 되었습니다.

제가 블로그에 작성하는것은,  Nokia폰에 들어가는 Symbian 어플리케이션을 만드는 방법중에서 Widget으로 만들어보는 것입니다.

우선, Widget을 만들어 보려면 Aptana라는 IDE가 필요합니다.

Aptana 설치 - http://aptana.com/studio/download

Aptana는 아주 유명한 웹개발 툴로 Eclipse를 확장한 IDE입니다. 해외에선 자바스크립트 개발 도구로 자리 잡은 유명한 툴입니다.

저는 아래와 같이 Aptana를 설치를 하였습니다.

Aptana Studio - Eclipse clone IDE

Aptana Studio - Eclipse clone IDE



이제는 Nokia폰에 들어가는 Symbian Widget을 개발하려면 Aptana IDE에 Nokia WRT Plug-in을 설치해야합니다.

Nokia Web Runtime Plugin Installation for Aptana Studio & Aptana Stdio Plugin for Eclipse
http://tools.ext.nokia.com/wrt/prod/aptana/plugin/

아래 화면은 사이트의 화면입니다.

Nokia Web Runtime Plugin Installation for Aptana Studio & Aptana Stdio Plugin for Eclipse

Nokia Web Runtime Plugin Installation for Aptana Studio & Aptana Stdio Plugin for Eclipse



위 사이트에서는 Aptana IDE에 Nokia WRT Plug-in을 설치하는 내용을 설명합니다. 영어라도 생각보다 어렵진 않습니다.


아래 동영상은 Nokia WRT Plug-in을 설치한후, Twitter 클라이언트를 만드는 예제를 보여주고 있습니다.

Nokia WRT Plugin 2.0 for Aptana Studio from Aptana, Inc. on Vimeo.

A quick overview of the 2.0 version of the Nokia WRT Plugin for Aptana Studio, including some of its new Device Preview, Platform Event Simulation and Homescreen Widget capabilities. There's an example of creating a simple twitter client for Aptana and deploy the backend code to Aptana Cloud.


아래 동영상은 Nokia WRT Plug-in 설치후 RSS를 불러들여 쓸수 있는 예제를 보여주고 있습니다.

Nokia WRT Plugin For Aptana Studio from Aptana, Inc. on Vimeo.

Take a look a the cool features of the Nokia WRT plug-in for Aptana Studio. We'll cover everything from getting started with widget development to actual deployment to your Nokia device.


Buy me a coffeeBuy me a coffee


2010년 1월 5일 Google이 Nexus One이라는 휴대폰을 출시하면서 Android 2.1 OS를 채용하였다는 이야기를 한지 5일후, 2010년 1월 11일 Android 개발자들에게 Android 2.1 SDK를 공개하였습니다.

Google사의 Nexus One

Google Nexus One의 생김새


Engadget에 올라온 Google Nexus One의 실물


Android 2.1 SDK는 2.0에서 조금 기능이 좋아진 버전이라고 생각하면 됩니다.

TechCrunch에 따르면 음성족음, 동영상같이 움직이는 배경화면, 새로운 런처, 더 많은 홈 화면들, Android Platform에서 사용되는 WebKit 엔진의 자잘한 버그 수정등이 있답니다.


the team is releasing it before most devices have it so that developers can play around with and build for the new features introduced in 2.1. Though Google calls 2.1 a “minor platform release” over Android 2.0, there are a number of new elements such as voice recognition, live wallpapers, a new launcher, more home screens, and some WebKit changes.

http://blog.studioego.info/admin/entry/post

저는 이제 Android 2.1 SDK 업그레이드 작업에 들어갑니다. 이제 Android Platform에 많은 시간을 투자하여 연구할 예정입니다.

이미 Eclipse에 Android 2.1 SDK까지 설치 완료함. 이제 본격적인 어플 제작에 돌입합니다.


새로운 Android 2.1 SDK는 링크에 있습니다.

Buy me a coffeeBuy me a coffee

출처 - Sakai Project : Documentation

Developing for Sakai, Part I: Getting Started (Z. Thomas, Aeroplane Software)

Get Sakai up and running quickly as you follow this step-by-step guide. Technologies covered include Java, Subversion (source control), Maven (compilation, build and deployment) and Tomcat (servlet container).

Developing for Sakai, Part II, Setting Up Eclipse (Z. Thomas, Aeroplane Software)

Zach Thomas provides another step-by-step introduction to Sakai development, this time focusing on the open-source Eclipse IDE, the development platform of choice for Sakai developers.

Developing for Sakai part III: App Builder Plugin (Z. Thomas, Aeroplane Software)

Zach discusses how to install and utilize Aaron Zeckoski's Sakai App Builder plugin for Eclipse.

Eclipse 101 - Basics, Tips & Tricks (L. Speelmon, Indiana University)

Builds on Zach Thomas' introductory screencasts by providing additional best practices when using the Eclipse IDE for Sakai development.

여기에 있는 Screencast들은 Sakai Project를 시작할때 어떻게 개발환경을 셋팅하는지를 보여준다.

JAVA SE, Maven, Tomcat, Eclipse등의 개발환경 셋팅이 정말 중요하다는 것을 느껴줍니다.

맥에서 셋팅하던데, 맥을 쓰고 싶은 욕구가 증가하는 단점도 있다.

Buy me a coffeeBuy me a coffee

+ Recent posts