2010년 3월 10일 수요일

Catmull-Rom Spline

보간 - Catmull-Rom Spline
http://www.gisdeveloper.co.kr/archive/200902#entry_468

double catmullRomSpline(float x, float v0,float v1, float v2,float v3) {  
    double c1,c2,c3,c4;  
 
    c1 = M12*v1;  
    c2 = M21*v0 + M23*v2;  
    c3 = M31*v0 + M32*v1 + M33*v2 + M34*v3;  
    c4 = M41*v0 + M42*v1 + M43*v2 + M44*v3;  
 
    return(((c4*x + c3)*x +c2)*x + c1);  
} 

2010년 3월 3일 수요일

리눅스 파일 검색

출처 : http://lbjcom.net/tag/%ED%8C%8C%EC%9D%BC%20%EA%B2%80%EC%83%89

문자열찾기 방법 1 - 영어만 주로 가능
grep -rw "찾는문자열" ./

문자열찾기 방법 2 - 대/소문자 구분 안하고 검색
grep -i -l "찾는문자열" * -r 2> /dev/null

문자열찾기 방법 3 - 한글, 영어 모두 가능
find . -exec grep -l "찾는문자열" {} \; 2>/dev/null

문자열찾기 방법 4 - 한글,영어, 대소문자 안가리고 검색
find . -exec grep -i -l "찾을문자열" {} \; 2>/dev/null

문자열찾은 후 치환
find . -exec perl -pi -e 's/찾을문자열/바꿀문자열/g' {} \; 2>/dev/null

파일명 찾기
find / -name 파일명 -type f

파일명 찾기(대소문자 구별없음)
find / -iname 파일명 -type f

디렉토리 찾기
find / -name 파일명 -type d

디렉토리 찾기(대소문자 구별없음)
find / -iname 파일명 -type d 

[출처] 리눅스 파일 검색|작성자 두한

2010년 2월 9일 화요일

find bugs

 

버그의 가능성이 있는 코드를 검출

 

LGPL 기반 오픈소스

 

http://findbugs.sourceforge.net/

 

이클립스 플러그인 업데이트

http://findbugs.cs.umd.edu/eclipse/

2010년 1월 28일 목요일

window.open

출처 : http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/open_0.asp

 

Opens a new window and loads the document specified by a given URL.

Syntax

oNewWindow = window.open( [sURL] [, sName] [, sFeatures] [, bReplace])

Parameters

sURL Optional. String that specifies the URL of the document to display. If no URL is specified, a new window with about:blank is displayed.
sName Optional. String that specifies the name of the window. This name is used as the value for the TARGET attribute on a form or an a element.
_blank The sURL is loaded into a new, unnamed window.
_media The sURL is loaded into the HTML content area of the Media Bar. Available in Microsoft Internet Explorer 6 or later.
_parent The sURL is loaded into the current frame's parent. If the frame has no parent, this value acts as the value _self.
_search Available in Internet Explorer 5 and later. The sURL is opened in the browser's search pane.
_self The current document is replaced with the specified sURL .
_top sURL replaces any framesets that may be loaded. If there are no framesets defined, this value acts as the value _self.
sFeatures Optional. This String parameter is a list of items separated by commas. Each item consists of an option and a value, separated by an equals sign (for example, "fullscreen=yes, toolbar=yes"). The following features are supported.
channelmode = { yes | no | 1 | 0 } Specifies whether to display the window in theater mode and show the channel band. The default is no.
directories = { yes | no | 1 | 0 } Specifies whether to add directory buttons. The default is yes.
fullscreen = { yes | no | 1 | 0 } Specifies whether to display the browser in full-screen mode. The default is no. Use full-screen mode carefully. Because this mode hides the browser's title bar and menus, you should always provide a button or other visual clue to help the user close the window. ALT+F4 closes the new window. A window in full-screen mode must also be in theater mode (channelmode).
height = number Specifies the height of the window, in pixels. The minimum value is 100.
left = number Specifies the left position, in pixels. This value is relative to the upper-left corner of the screen. The value must be greater than or equal to 0.
location = { yes | no | 1 | 0 } Specifies whether to display the input field for entering URLs directly into the browser. The default is yes.
menubar = { yes | no | 1 | 0 } Specifies whether to display the menu bar. The default is yes.
resizable = { yes | no | 1 | 0 } Specifies whether to display resize handles at the corners of the window. The default is yes.
scrollbars = { yes | no | 1 | 0 } Specifies whether to display horizontal and vertical scroll bars. The default is yes.
status = { yes | no | 1 | 0 } Specifies whether to add a status bar at the bottom of the window. The default is yes.
titlebar = { yes | no | 1 | 0 } Specifies whether to display a title bar for the window. This parameter is ignored unless the calling application is an HTML Application or a trusted dialog box. The default is yes.
toolbar = { yes | no | 1 | 0 } Specifies whether to display the browser toolbar, making buttons such as Back, Forward, and Stop available. The default is yes.
top = number Specifies the top position, in pixels. This value is relative to the upper-left corner of the screen. The value must be greater than or equal to 0.
width = number Sets the width of the window, in pixels. The minimum value is 100.
bReplace Optional. When the sURL is loaded into the same window, this Boolean parameter specifies whether the sURL creates a new entry or replaces the current entry in the window's history list.
true sURL replaces the current document in the history list
false sURL creates a new entry in the history list.

Return Value

Returns a reference to the new window object. Use this reference to access properties and methods on the new window.

Remarks

By default, the open method creates a window that has a default width and height and the standard menu, toolbar, and other features of Internet Explorer. You can alter this set of features by using the sFeatures parameter. This parameter is a string consisting of one or more feature settings.

When the sFeatures parameter is specified, the features that are not defined in the parameter are disabled. Therefore, when using the sFeatures parameter, it is necessary to enable all the features that are to be included in the new window. If the sFeatures parameter is not specified, the window features maintain their default values. In addition to enabling a feature by setting it to a specific value, simply listing the feature name also enables that feature for the new window.

Internet Explorer 5 allows further control over windows through the implementation of title in the sFeatures parameter of the open method. Turn off the title bar by opening the window from a trusted application, such as Microsoft Visual Basic or an HTML Application (HTA). These applications are considered trusted, because each uses Internet Explorer interfaces instead of the browser.

When a function fired by an event on any object calls the open method, the window.open method is implied.

<SCRIPT LANGUAGE="JScript">
function foo() {
    open('about:blank');}
</SCRIPT>
<BODY onclick="foo();">
Click this page and window.open() is called.
</BODY>

When an event on any object calls the open method, the document.open method is implied.

<BUTTON onclick="open('Sample.htm');">
Click this button and document.open() is called.
</BUTTON>

Internet Explorer 6 for Microsoft Windows XP Service Pack 2 (SP2) places several restrictions on windows created with this method. For several of the parameter values listed in the Parameters table, these restrictions are indicated by the minimum value. For more information, see About Window Restrictions.

This method must use a user-initiated action, such as clicking on a link or tabbing to a link and pressing enter, to open a pop-up window. The Pop-up Blocker feature in Internet Explorer 6 blocks windows that are opened without being initiated by the user. The Pop-up Blocker also prevents windows from appearing if you call this method from an onunload event.

Example

This example uses the open method to create a new window that contains Sample.htm. The new window is 200 pixels by 400 pixels and has a status bar, but it does not have a toolbar, menu bar, or address field.

window.open("Sample.htm",null,
    "height=200,width=400,status=yes,toolbar=no,menubar=no,location=no");

톰캣 재시작

tomcat/bin/catalina.sh stop

tomcat/bin/catalina.sh start

2010년 1월 27일 수요일

null , undefined , typeof , === , ==

요즘 JavaScript The Definitive Guide를 보고 있다
영어도 못하는 녀석이 이 책보느라고 고생이다

여태까지는 깊이 와닫는 부분이 없었는데.. 오늘 정말 모르던것을 알아버렸다!!!

alert(typeof(document.getElementById("obj_id"))); 1. if (document.getElementById("obj_id") == null){ alert("null"); } 2. if (document.getElementById("obj_id") == undefined){ alert("undefined"); } 3. if (document.getElementById("obj_id") === null){ alert("null"); } 4. if (document.getElementById("obj_id") === undefined){ alert("undefined"); }


만일 obj_id라는 ID를 갖는 HTML Element가 없는경우에
document.getElementById("obj_id")의 결과는  null 이다

그런데 alert(typeof(null)) 하면 object 가 찍힌다.. 자바스크립트는 null도 object로 인식한다
뭐 여기까지는 많은 사람들이 알고 있을것이다. 물론 나도 알고 있었고..

그런데 내가 일반적으로 특정 object가 있는지 없는지 확인하던 그 1번 if문이 틀린거였다
실제로 1번 2번 스크립트를 실행하면 둘다 alert가 뜬다. null , undefined 둘다...

null 이랑 undefined를 비교할때는 === 나 !== 를 써야 한단다..
동치 비교라고 하는데 값 뿐만아니라 형식까지 비교하는 연산자다

책에는
When null is used in a Boolean contentx , it convers to false. When used in a numeric context , it convert to 0 . and when used in a string context, it converts to "null".

When undefined value is used in a Boolean context, it convers to false. When used in a numeric context, it converts to NaN. and when used in a string context, it converts to "undefined"

이렇게 되어있는걸로 봐서는 둘다 false 값으로 변해서 값이 동일하기 때문에 값만 비교해서는 정확한 비교가 안이루어지는것 같다...

이제 특정 object가 있는지 없는지 판단할때는 반드시 === 를 사용하는 습관을 들여야 겠다

펌글)

http://nova23.tistory.com/5