살아 숨 쉬는 웹 - 블루비

1 

[MySQL] Incorrect usage of UNION and ORDER BYTotal 283 : Today 2 : Yesterday 9


UNION 명령의 일반적인 MySQL 오류
Incorrect usage of UNION and ORDER BY

이 문제를 해결하기 위해서는 select 문을 괄호(parenthesis) 로 감싸주어야 합니다.

(SELECT col1,col2,col3 FROM table1)
UNION
(SELECT cola,colb,colc FROM table2)

2008/11/30 15:29 2008/11/30 15:29
데이터베이스™/MySQL 2008/11/30 15:29 by 블루비
TAG ,

TRACKBACK :: http://blueb.net/blog/trackback/1353

Leave a Comment
[로그인][오픈아이디란?]

[행경] 플러스 발상의 위력Total 295 : Today 2 : Yesterday 2

플러스 발상의 위력

무엇이든 플러스 발상을 하는 습관을 가진 사람은
면역성이 강하여 좀처럼 병에 걸리지 않는다.
그러나 늘 마이너스 발상만 하는 사람은
한심스러울 정도로 쉽게 병에 걸리고 만다.
똑같은 상황, 똑같은 라이프 스타일에도 불구하고
생기 있고 건강한 사람이 있는가 하면
늘 기운이 없고, 병약한 사람이 있다.
이 같은 차이는 대부분 마음가짐에서 시작된다.

- 하루야마 시게오, ‘뇌내혁명’에서


촌철환인

과거에는 이런 주장들이 단순한 주장에 불과했습니다.
그러나 이제는 과학적으로 다 검증되고 있습니다.
저는 최근 작금의 위기를 기회로 살리기 위해 책상 앞에
‘이 기회를 어떻게 살릴 것인가?’하고 큼지막하게 붙여놓았습니다.
회사에서는 위기라는 말 대신 기회라는 말만 사용하자고 독려하고 있습니다.


출처 : 행복한 경영이야기
2008/11/26 16:59 2008/11/26 16:59
좋은글 2008/11/26 16:59 by 블루비

TRACKBACK :: http://blueb.net/blog/trackback/1352

Leave a Comment
[로그인][오픈아이디란?]

일정기간 지난 파일 삭제 명령서

- 7일 지난 파일 찾기 예
find [디렉토리] -ctime +7 -exec rm -f {} \;


특정용량 이상되는 파일 찾기(용량단위 파일 검색)

- 10MB 이상 되는 파일 찾기 예
find [디렉토리] -size +1000k -exec ls -al {} \;


2008/11/26 10:22 2008/11/26 10:22
서버™/Linux 2008/11/26 10:22 by 블루비

TRACKBACK :: http://blueb.net/blog/trackback/1351

Leave a Comment
[로그인][오픈아이디란?]
NHN DeView 2008

11월 22일(토) NHN 에서 주최한 2008 개발자 컨퍼런스 DeView 2008 에 다녀왔습니다.
무료컨퍼런스 여서 그랬는지 아니면 한 업체가 주가 되어서 그랬지는 생각했던 컨퍼런스의 모습은 아니었습니다..
nhn 이라는 기업의 홍보성 컨퍼런스에 그치지 않았나 하는 생각이 듭니다.
개발자의 입장에서 nhn 만의 기술을 옆보고자 참석한 자리였지만.. 글쎄요...
기술이라고 할것도 없었고 "그냥 우리는 이렇게 하고 이렇게 하겠습니다.. 라는 nhn의 개발자 모습만 보고 온듯합니다.
대전에서 서울이라는 거리는 가까운거리도 아니고 교통 또한 아주 최악이었습니다.
내려오는데 4시간이란 시간을 허비 해야만 했고 득보다는 실이 더 많았던 시간이었습니다.
다음에 또 DeView 2009를 개최한다 하여도 가고 싶은생각이 전혀 들지 않는군요..
제 욕심이 과했던걸까요??

다른 분들의 후기를 보니 좋은 자리였다는 평들의 포스트가 많이 올라오더군요.. 정말그랬겠죠?
하지만 전 전혀 그렇지 않습니다. ㅠ.ㅠ

다음번 컨퍼런스때에는 좀더 개발자들에게 도움이 되는 자리를 만들어 주셨으면 합니다.
수고많으셨습니다..^^



사용자 삽입 이미지사용자 삽입 이미지
사용자 삽입 이미지사용자 삽입 이미지
사용자 삽입 이미지사용자 삽입 이미지
사용자 삽입 이미지사용자 삽입 이미지
2008/11/23 23:15 2008/11/23 23:15
분류없음 2008/11/23 23:15 by 블루비

TRACKBACK :: http://blueb.net/blog/trackback/1347

  1. 레드비 2008/11/24 18:06 # M/D Reply

    ㅡㅡ 네이버여 공유하자 ㅋ

Leave a Comment
[로그인][오픈아이디란?]

어려울수록 커뮤니케이션에 더 많이 투자하라.


뛰어난 의사전달방법의 개발은 유능한 리더십에 있어서 절대절명의 것이다.
리더는 자신의 생각과 아이디어가 다른 사람에게
긴박감과 함께 열정을 줄 수 있도록 해야 한다.
만일 메시지를 분명히 전달하여 동기를 주지 못한다면
메시지를 갖고 있다는 것은 아무런 소용없는 것이다.

- 길버트 아멜리오, National Semiconductor Corp 회장


촌철활인

리더는 모든 사람들에게 무엇이 정말 중요한지 이해할 수 있도록
간단명료하게 설명해주어야 합니다.
누구나 알아들을 수 있는 말로 반복해서 말해야 합니다.
알아볼 수 없는 지도는 아무 소용이 없습니다.
실패의 원인은 종종 리더가
듣는 사람들이 이해하는 언어로 분명하게 전달하지 않는데 있습니다.
어려울 때 일수록 소통에 더 많이 투자해야 합니다.

출처 : 행복한 경영이야기


2008/11/20 08:52 2008/11/20 08:52
좋은글 2008/11/20 08:52 by 블루비

TRACKBACK :: http://blueb.net/blog/trackback/1345

Leave a Comment
[로그인][오픈아이디란?]
나를 화나게 하는 자가 나를 지배한다. (중국격언)

의지와 상관없이 꼬리에 꼬리를 무는 나쁜 생각들에 단호하게 "스톱!" 하고 마침표를 찍는 습관을 들이자. 마음속으로 해도 좋고 입 밖으로 해도 괜찮다. 그러고는 오늘 해야 할 일을 생각하거나 자기가 좋아하고 재미있어 하는 일을 떠올려도 된다.



다른 사람과 대화를 하거나 협상을 할 때. 이런 저런 이유로 '화'가 치밀어 오르는 경우가 있습니다. 그 때 그 '화'가 나를 지배하기 시작하면, 나는 지는 겁니다. 나를 화나게 만든 그가 나를 이깁니다.

어떤 사태에 직면해 '두려움'이 밀려드는 경우가 있습니다. 그 때도 그 '두려움'이 나를 지배하기 시작하면, 나는 집니다. 나를 두렵게 만든 그 존재가 나를 이기는 것이지요.

화가 나거나 두려움이 찾아올 때, 이런 나쁜 생각들을 '의식적'으로 멈추는 것이 중요합니다. 그 방법은 각자 자신에 맞는 것을 찾아야겠지요.

요즘처럼 경기침체나 실직, 부도에 대한 두려움, 공포감이 팽배해 있을 때, 그 두려움이 나를 지배하게 놓아두어서는 안됩니다. 두려움이 나를 지배하기 시작하면 나는 지는 것이니까요. 운동이나 산책으로 기분을 전환하고 작은 것에서 기쁨과 가능성을 찾으려 노력하며 그 두려움을 '스톱'시켜야 합니다.

나를 화나게 하는 자, 그가 나를 지배합니다.
나를 두렵게 만든 존재, 그것이 나를 지배합니다.


출처 : 예병일의 경제노트

2008/11/19 08:36 2008/11/19 08:36
좋은글 2008/11/19 08:36 by 블루비

TRACKBACK :: http://blueb.net/blog/trackback/1344

Leave a Comment
[로그인][오픈아이디란?]

사람들은 열정이 있는 사람을 따른다.

열정적인 사람들은 어떻게든 일을 해낸다.
훌륭한 리더에게서는 주어진 일을 해내고자 하는 열정을 느낄 수 있다.
열정이 눈에 보인다.
열정적인 사람들은 다른 사람들에게 사기와 의욕을 불러일으킨다.
우리가 잘 아는 것처럼, 열정은 전염성이 있다.

- 레너드 H. 로버츠, 라디오색 회장 겸 CEO

촌철활인

열정은 공동체와 그 구성원들에 대한 의무감을 극대화시킵니다.

사람들은 자신이 하는 일에 애정을 가진 사람을 따릅니다.
리더는 사람들에게 열정을 보여주어야 하고,
조직원 전부를 열정으로 전염시키는 것을
자신의 주요한 사명으로 삼을 줄 알아야 합니다

출처 : 행복한 경영이야기

2008/11/19 08:34 2008/11/19 08:34
좋은글 2008/11/19 08:34 by 블루비

TRACKBACK :: http://blueb.net/blog/trackback/1343

Leave a Comment
[로그인][오픈아이디란?]

웹월드 컨퍼런스 2008Total 427 : Today 3 : Yesterday 6

웹월드 컨퍼런스 2008 (WEB WORLD CONFERENCE 2008)

웹 핵심 분야 `서비스, 디자인, 마케팅, 웹개발`로 나누어 4일동안 펼처질 웹월드 컨퍼런스 2008 이 있어 소개해 드립니다..

저는 12월 5일 웹개발 섹션에 참석 예정입니다.
회사 스케줄이 어찌 될지 모르겠지만 꼭 가보고 싶군요.. ^^

웹월드 컨퍼런스 2008
사용자 삽입 이미지


  • 주최 :
  • 일시 : 2008년 12월 2일(화), 3일(수), 4일(목), 5일(금) 10:00 ~ 18:00
  • 장소 : 학동역 건설회관 2층 대회의장(위치 안내) : 2일, 3일, 4일
    역삼역 포스틸타워 3층 이벤트홀(위치 안내) : 5일
  • 강사 : 각 분야별 전문가 (총 4일, 36개 세션)
  • 등록비 : 4일 전체 사전등록 - 297,000원 / 현장등록 - 308,000원 (부가세 포함 | 교재 포함 | 중식 불포함)
    1일 개별 사전등록 - 99,000원 / 현장등록 - 110,000원 (부가세 포함 | 교재 포함 | 중식 불포함)
  • 주차 지원이 안됩니다. 대중 교통을 이용해주시기 바랍니다.
  • 웹월드 컨퍼런스 바로가기

2008/11/17 14:18 2008/11/17 14:18
웹프로그래밍™ 2008/11/17 14:18 by 블루비

TRACKBACK :: http://blueb.net/blog/trackback/1341

  1. 내블로그는 IT 블로그 -

    : 평범과 수습의 살인마 2008/11/19 17:41 Delete

    나의 몸엔 0과 1로 된 피가 흐르고 있어 ! 라고 생각하시는 IT 도사님들 ㅎ 디지틸 기기에 자꾸 지름신이 오시는 분들,! 그리고 IT를 사랑하고 이야기하고 싶은 많은 분들 - IT 능력자, 초보자, 숨은 고수 모두 오라오라 - 여러분 블로그의 주제를 seal로 표현해보세요. Seal로 꾸미고 소통하는 블로고스피어를 꿈꾸는 실타래가 여러분의 블로그를 이어드립니다. * Seal ? 그게 뭐죠 ? Seal이란 나를 표현하는 '휘장, 명찰'이라는 의미와..

  1. 애슐리 2008/11/19 17:40 # M/D Reply

    오.. 좋은 정보 잘 보고갑니다.
    연사들이 굉장하시네요 +ㅁ+ 아아 근데 4일내내 가기엔 금전이.. 흐음.. 고민해봐야겠습니다 ,!
    IT 분야에 관심이 많으신가봐요 . 저는 초보; IT업계인;? 입니다 ㅎ
    오..온라인 촛불 문화제를 아시나요. 온라인 촛불 문화제로 달렸던 실타래의 기획자입니다.
    나의 느낌과 성향을 블로그에 표현하는 'SEAL'을 만들고 있어요!
    IT블로그 seal, IE seal, FF seal, Linux seal 등등 여러 seal들이 소통을 기다리고 있답니다 ㅎ 혹시 관심있으실까 싶어 트랙백 살짝 두고 가겠습니다 ㅎ

Leave a Comment
[로그인][오픈아이디란?]

[행경] 먼저 유쾌한 척 하라.Total 224 : Today 2 : Yesterday 1

먼저 유쾌한 척 하라.

행동은 감정에 따르는 것 같지만 실제로 행동과 감정은 병행한다.
따라서 우리 의지의 보다 직접적인 통제 하에 있는 행동을 조정함으로써
우리는 의지의 직접적인 통제 하에 있지 않는
감정을 간접적으로 조정할 수 있다.

- 미국 하버드대 심리학자, 윌리엄 제임스

촌철활인

윌리엄 제임스의 유명한 '그런 척하기(as if)'원칙입니다.
그는 “어떤 자질을 갖고 싶으면 그것을 이미 가지고 있는 것처럼 행동하라"고 말합니다.

링컨도 “우리는 우리가 행복해지려고 마음먹은 만큼 행복해질 수 있다.
우리를 행복하게 만드는 것은 우리를 둘러싼 환경이나 조건이 아니라,
늘 긍정적으로 세상을 바라보며 아주 작은 것에서부터 행복을 찾아내는
우리 자신의 생각이다. 행복해지고 싶으면 행복하다고 생각하라”고
마음가짐의 중요성을 강조했습니다.


출처 : 행복한 경영이야기




2008/11/17 08:23 2008/11/17 08:23
좋은글 2008/11/17 08:23 by 블루비

TRACKBACK :: http://blueb.net/blog/trackback/1340

Leave a Comment
[로그인][오픈아이디란?]

WebKnight.xml 설정Total 583 : Today 7 : Yesterday 8

Global Filter Capabilities
- IIS5 격리 모드 사용시
  • Is Installed As Global Filter > check
  • Deny Postdata SQL injection > check
Cookie
- Deny Cookie SQL Injection > check
ContentType
- multipart/form-data 추가
URL Scanning
- URL Allowd starts > 공백추가
Headers
- Deny Header SQL Injection > check
SQL Injection
- SQL Injection Keywords
  • ; 제거
  • <script 추가(POST 데이터 필터)
  • <form 추가
  • <object 추가
Referrer
- Referrer URL RFC Compliant > 체크해제(파라미터 값중 한글 차단)


2008/11/10 20:00 2008/11/10 20:00
서버™/보안 2008/11/10 20:00 by 블루비

TRACKBACK :: http://blueb.net/blog/trackback/1339

Leave a Comment
[로그인][오픈아이디란?]

웹방화벽 WebKnightTotal 718 : Today 5 : Yesterday 4

http://www.aqtronix.com/

윈도우 서버용 무료 웹방화벽 WebKnight

AQTRONIX WebKnight - Application Firewall for Web Servers

What is it?

AQTRONIX WebKnight is an application firewall for IIS and other web servers and is released under the GNU General Public License. More particularly it is an ISAPI filter that secures your web server by blocking certain requests. If an alert is triggered WebKnight will take over and protect the web server. It does this by scanning all requests and processing them based on filter rules, set by the administrator. These rules are not based on a database of attack signatures that require regular updates. Instead WebKnight uses security filters as buffer overflow, SQL injection, directory traversal, character encoding and other attacks. This way WebKnight can protect your server against all known and unknown attacks. Because WebKnight is an ISAPI filter it has the advantage of working closely with the web server, this way it can do more than other firewalls and intrusion detection systems, like scanning encrypted traffic.

Features

These are some features of WebKnight.

  • Open Source
    WebKnight is free software under the terms of the GNU General Public License.
  • Logging
    By default all blocked requests are logged. In addition all allowed requests can be logged as well, or you can run WebKnight in logging only mode. This last operation mode allows you to see the attacks in the log files without blocking them. WebKnight can also prevent blocked attacks from being logged to the web server log files. This way your web server log files will be kept clean and accurate.
  • Customizable
    The firewall can be customized for any need, including blocking certain 0-day exploits before the vendor released a patch.
  • Compatible with Web-Based Applications
    WebKnight is compatible with Frontpage Extensions, WebDAV, Flash, Cold Fusion, Outlook Web Access, Outlook Mobile Access, SharePoint...
  • HTTP Error Logging
    WebKnight can be configured to log the HTTP errors from the web server. This way you can log common errors like '404 Not Found' or more severe ones like '500 Server Error' to the logfile. Doing so allows you to detect errors in scripts or attacks on them. You can also use it to simply find broken links in your web site or configuration mistakes.
  • SSL Protection
    Unlike traditional firewalls, WebKnight can protect encrypted sessions over HTTPS.
  • Third-Party Application Protection
    WebKnight not only protects the web server, but can also be configured to protect third-party web server applications, e-commerce web sites or your custom web site.
  • RFC compliant
    WebKnight is RFC compliant and also includes the ability to scan the requests for RFC compliance.
  • Low Total Cost of Ownership (TCO)
    WebKnight comes with a Windows Installer package and remote installation scripts making it easy to deploy WebKnight in your enterprise. WebKnight also comes with a graphical user interface for changing WebKnight settings.
  • Run-Time Update
    Changes to the settings of WebKnight do not require restarting the web server and can thus be done without disrupting any services for your users. For performance reasons, detecting these changes only occurs every 1 minute.
New in WebKnight 2.0
  • Improved scanning
    The scanning engine has been improved and extended. It is now also possible to scan the Referrer header and User Agent header for certain exploits or data.
  • Authentication scanning
    Authentication scanning allows to scan for brute force attacks on accounts or DoS attacks on system accounts. It can also scan for weak passwords.
  • Connection control/monitoring
    You can block or monitor traffic coming from certain ip addresses or ranges. You can also monitor access to certain important files or limit the number of requests coming from a single IP address.
  • Blocking robots
    A large robot database makes it possible for blocking or only allowing certain types of robots. It is also possible to set up a bot trap for bad robots and to block aggressive robots.
  • Prevent hot linking
    Hot linking or direct linking to certain types of files (like images or file downloads), can be prevented.
Download

WebKnight is a free open source tool that comes to the rescue in many occasions and it helps administrators in their jobs, but to keep up this good work, please consider a donation.

  • WebKnight 2.2 (Release date: 2008.09.02)
    This release is ready for IIS 7 and 64-bit. Fixed a few minor issues and extended scanning for SQL injection in the referrer, extended cookie scanning and certain XSS attacks. It is now also possible to monitor or block an IP address after an alert has been triggered. A new version of the config utility, log reader application and updated robots database is also included in this release.

  • Robots.xml: the latest version of the Robots.xml file used by WebKnight. Download and overwrite the existing file in your WebKnight folder to have the latest database of known robots. WebKnight will automatically detect the new file and load it.

  • Older WebKnight downloads
How to install

Installation in IIS with Windows Installer: (for IIS 6.0 see note below!) (for IIS 7.0 see note below!)

Double click the file WebKnight.msi. This will launch Windows Installer and install WebKnight on the local machine. This method will install WebKnight as a global filter on the local machine. If Windows Installer is not installed on your system, you can download it directly from Microsoft:
Windows Installer 2.0 Redistributable for Windows NT 4.0 and 2000
Windows Installer 2.0 Redistributable for Windows 95, 98, and Me

Installation in IIS with scripts:

To install/uninstall WebKnight on the local or remote machine you can use the file install.vbs/uninstall.vbs from the setup folder. This method will install WebKnight as a global filter on the selected host or localhost.

Manual installation as a global filter in IIS:

  1. Copy all the files in the Setup folder to a local folder on the server (e.g. C:\Program Files\AQTRONIX WebKnight).
  2. Open the IIS snap-in.
  3. Right-click the server name (not the site name) (in IIS 6 right-click Web Sites) under Internet Information Services in the MMC, and then select Properties.
  4. Verify that WWW Service is displayed in the Master Properties drop-down list, and click the Edit button. For IIS 6 go to next step.
  5. Choose the ISAPI Filters tab, and then click the Add button.
  6. In the Filter Properties window, type WebKnight, and enter the full path to WebKnight.dll in the Executable box.
  7. Select OK to close each dialog.
  8. Review any settings of WebKnight, by running config.exe that you copied locally.
  9. Restart IIS.

Manual installation as a site filter in IIS:

  1. Copy all the files in the Setup folder to a local folder on the server (e.g. C:\Program Files\AQTRONIX WebKnight\W3SVC1). Note: it is important to have a unique folder for each WebKnight installation!
  2. Open the IIS snap-in.
  3. Right-click the site name (not the server name) under Internet Information Services in the MMC, and then select Properties.
  4. Choose the ISAPI Filters tab, and then click the Add button.
  5. In the Filter Properties window, type WebKnight, and enter the full path to WebKnight.dll in the Executable box.
  6. Select OK to close each dialog.
  7. Review any settings of WebKnight, by running config.exe that you copied locally. (Make sure global filter capabilities are disabled: uncheck 'Is Installed As Global Filter')
  8. For IIS 6 you need to make sure that each site for which you installed WebKnight as a site filter, has its own application pool. This is because only one instance of WebKnight can be run in any application pool. By default all sites are run in the DefaultAppPool and can only contain one instance of WebKnight, so you can only have one site filter, unless you specify a different application pool for any additional site on which you are running WebKnight as a site filter.
  9. Restart IIS.

If you want to import your settings from urlscan, you can do that by copying the file urlscan.ini to the WebKnight directory. Delete WebKnight.xml (or rename it) and your settings from urlscan.ini will be imported in a new WebKnight.xml file when you restart your web server. This can be useful if you experienced problems with your urlscan installation and you had to customize the settings of urlscan and want to keep using these settings. If you want to load the default settings again, you can do that by deleting the files WebKnight.xml and urlscan.ini in the directory WebKnight and a new WebKnight.xml will be made with the default settings when you restart your web server.

Installation is IIS 5 and previous: You don't need to do anything extra, just follow one of the installation methods above.

Installation in IIS 6.0: to run WebKnight as a global filter in IIS 6.0, you have two options:

  1. Run IIS in IIS 5.0 Isolation mode (recommended)
  2. Continue running IIS in worker process mode but without the global filtering capabilities of WebKnight, and you need a unique log file per process. So you have to make sure you:
    • uncheck 'Is Installed As Global Filter' under Global Filter Capabilities
    • check 'Per Process Logging' under Logging (each application pool will load its own instance of WebKnight, if you only have one pool, this is not required.)
    • Make sure the account NETWORK SERVICE (or whatever account(s) you set the application pool(s) to use) has change permission on the WebKnight folder and subfolders
    • Restart IIS after doing the above changes.
Warning: There is a known issue with running WebKnight 1.3 and previous versions in IIS 6. You need to uncheck "Change Server Header" and uncheck "Remove Server Header" (in "Headers" section). WebKnight 2.0 does not have this issue.

Installation in IIS 7.0

  • Allow ISAPI filters in IIS7 (by default this is not installed)
  • The MSI package provided with WebKnight 2.2 and later supports IIS 7 (do not use the install.vbs script). Previous versions of WebKnight can only be installed manually and also unless you uncheck "Is Installed As Global Filter" in the global filter capabilities. If in addition you want to install a 32-bit version of WebKnight on a 64-bit operating system, you need to set the 32bitness precondition for the isapi filter (see your IIS documentation).
  • The IIS account needs to have change permission on the WebKnight folder (see the install note for installing WebKnight in IIS6 when using Worker Process mode).
  • WebKnight is not yet ready for IPv6, but this is currently not a major issue because the Internet is still using IPv4 (only the localhost loopback uses IPv6)

Non-IIS: Look at the documentation of your web server (Note: only web servers with ISAPI filter support can run WebKnight).


Published: 20/08/2002Document Type: General
Last modified: 2/09/2008Target: General
Visibility: PublicLanguage: English
2008/11/10 12:53 2008/11/10 12:53
서버™/보안 2008/11/10 12:53 by 블루비

TRACKBACK :: http://blueb.net/blog/trackback/1338

Leave a Comment
[로그인][오픈아이디란?]

JavaScript Table SorterTotal 428 : Today 4 : Yesterday 2

테이블 정렬용 자바스크립트 소스
크기 1.7KB 밖에 되지 않는 Table Sorter 는 간결한 코드에 상당히 빠른 성능을 발휘한다.

var sorter=new table.sorter("sorter");
sorter.init("sorter",1);

상세정보 here.

데모보기 here.

소스코드 다운로드 here.



사용자 삽입 이미지
2008/11/09 13:59 2008/11/09 13:59
웹프로그래밍™/jQuery, Javascript 2008/11/09 13:59 by 블루비

TRACKBACK :: http://blueb.net/blog/trackback/1336

  1. BoKi 2008/11/11 10:44 # M/D Reply

    script로 정렬하다니.. 대단하네요..

Leave a Comment
[로그인][오픈아이디란?]

[펌] iBatis와 Hibernate 의 특성 비교Total 480 : Today 10 : Yesterday 7

[출처] [본문스크랩] iBatis와 Hibernate 의 특성을 비교한 (FlexComponent) |작성자 브라이언

iBatis : http://ibatis.apache.org
Hibernate : http://www.hibernate.org

HibernateiBatis


1. 2개의 프레임웍의 분류
a. Hibernate: Object Relational Mapper
b. iBatis: SQL mapper

2. Object Relational Mapper란?
a. Database 엔티티(일종의 테이블 row)와 자바 객체를 동기화 하는 역할을 담당
b. Hibernate는 이러한 역할을 하는 프레임웍
c. 모든 sql문은 프레임웍에서 생성되고 실행됨
d. sql작업이 필요할 경우 HSQL을 통하여 이루어짐(EJB-QL과 유사)
e. HSQL은 실제적인 sql의 앞단에서 처리되는 객체지향 쿼리 랭귀지
f. 종류: hibernate, TopLink, Cocobase, JDO 구현체

3. SQL Mapper
a. 자바객체를 실제 sql 문장에 맵핑.(자바 코드에서 sql 관련부분 제거)
b. Sql 문장은 자동 생성되는 것은 아니고 개발자가 기술해 줌
c. 맵핑 자체는 데이터베이스이 엔티티와 관계(relationship)에 독립적임.(mapping 자체가 sql문에 국한)
d. 실제적으로 모든 임베디드 sql 시스템은 모두 sql mapper로 간주가능
e. 예: iBATIS SQL Maps, Oracle SQLJ, Forte 4GL Embedded SQL, Pro*C Embedded SQL
f. iBatis sql map의 경우 xml에 임베디드된 sql (자바코드의 sql을 xml 파일로 분리)

4. Hibernate와 iBatis의 비교우위
a. Hibernate와 iBatis는 다른 특성을 갖는 프레임웍임
b. 일차원적인 비교는 불가능
c. 상황에 따라 적용 프레임웍의 효율성이 달라짐
c-1 Hibernate가 적절한 경우
* 새로운 프로젝트가 시작된 상태
* 객체 모델과 데이터베이스 디자인이 미완성인 상태
c-2 iBatis가 적절한 경우
* 3rd party databases에 접근하는 경우
* 레거시 데이터베이스와 연동이 필요한 경우
* 적업하고 디비 디자인이 부적절한 상태(지져분한 설계)시
* O/R Mapper가 이러한 상황을 제어할 능력이 없을수도 있음.
* SQL Mapper를 사용할 경우 객체 모델과 데이터 모델사이의 멥핑에는 아무런 제약 사항이 없음.
* sql문을 인력을 사용하여 수작업으로 tuning이나 최적화를 해야 할경우

5. Performance 측면의 비교

a. 과거 embeded sql mapper
* 컴파일 랭귀지를 사용하여 제작됨
* 매우 빠른속도를 제공하고 시스템 환경에 최적화 되어 있음
b. O/R mapper
* sql mapper에 비하여 다양한 일을 수행
* 대부분 reflection 방식 (hibernate),
* binary code inhencement 방식(JDO).
* hibernate의 향후 버전에서는 binary code inhencement방식을 채용
* reflection 방식을 사용한다는 측면은 iBatis와