티스토리 툴바


2010/05/04 12:47 Progrming관련

출처 : http://darkmirr.egloos.com/1365149

deploy 정의

- build : 소스를 실행가능한 모듈로 변환하는 것
- deploy : 빌드되어 실행가능한 결과물을 컨테이너에서 인식가능한 곳에 배치하는 것

build는 별로 어렵지 않지만 deploy는 곰곰이 생각할 것이 많다. 내용상으로는 install과 비슷하고,
번역용어가 distribution과도 헷갈린다.
실행가능한 모듈을 실행 가능한 곳에 위치시키고 설정하는 것. install 아닌가? 
그러나 OS위에서 작동하는 소프트웨어에 대해서는 대개 install이라 하고,
WAS같은 컨테이너에서 작동하는 어플리케이션이나 재사용 레포지토리에 저장되는
서비스모듈에 대해서는 deploy라고 구별하는 것 같다


deploy 및 관련된 deployables, distribution의 개념에 대해 개인적으로 다시 정리해보았다.

* deployables(deployable application)
- 정의 : WAS같은 컨테이너 상에서 실행가능한 어플리케이션.
- 설명 : 자바 환경이라면 war,ear,jar 같은 것들을 말한다.
  deployables는 소프트웨어 distribution의 한가지 형태라고 봐도 될듯하다.
  근데 이걸 뭘로 번역할지는? 배포물? 배포가능 어플리케이션?

* deploy (deployment)
- 정의 : deployables를 실제 컨테이너에 배치(arrange? allocate?)하는 작업.
- 설명 : 간단히 말하면 어플리케이션을 WAS 상에 설치(install)하는 것이다.
  deploy는 전개,배치,배포 등으로 다양하게 번역되며 보통 디플로이 또는 배포라고 부른다.
 
* distribution
- 정의: 누군가에게 전달(delivery)하기 위해 패키징된 소프트웨어. (또는 그것을 전달하는 행위)
- 설명 : 사전적으로는 분배,배분,배포의 의미를 가지며 보통 배포본, 배포판으로 번역한다.
posted by starland
TAG build, deploy
2010/04/30 22:27 Progrming관련


팝업창을 뜨게 하실려면 일단 javascript를 쓰셔야 겠네요~
<A href="javascript:window.open('admin.jsp')">관리자 창</A>
이렇게 하시면 창이 뜨겠죠...
그리고 admin.jsp 팝업 창에서

<script language="javascript">
<!--
function sendit()
{
if (document.frm.num.value == "") {
alert("관리자 번호를 입력하세요.");
document.frm.find.focus();
return false;
}
document.frm.submit();
}
//-->
</script>
<form name = "frm" action="admin_end.jsp">
관리자 번호 : <input type=text name = num>
<a href="javascript:sendit()">확인</a>
</form>

하시면 입력받은 값이 admin_end.jsp로 넘어가죠
admin_end.jsp에서는
String num = request.getParameter("num");
받으셔서 데이터베이스에서 비교하시고
하셔서 값이 있을때는 다음 페이지로(물론 값도 함께 넘겨 줘야죠~~) 없을때는
이전 페이지로 가면 되겠죠..
<%
String num = request.getParameter("num");
String query = "select num from admin where num = '"+num+"'";
rs = stmt.executeQuery(query);
if(rs.next()){
%>
<script language="javascript">
<!--
opener.location.href="main.jsp?value3=<%=rs.getString("num")%>";//다음 페이지에 관리번호를 넘긴다
window.close();//팝업창 닫기
//-->
</script>
<%
}else{
%>
<script language="javascript">
<!--
alert("관리자 번호 입력 오류");
window.location.href="admin.jsp";//관리자 번호가 없는 경우 이전 창으로 간다~
//-->
</script>
<%
}
%>
posted by starland
TAG JSP, 팝업
2010/04/30 20:41 Progrming관련
출처 : http://romanticdm.egloos.com/2508766

jsp에서 자기가 만든 class import 하기

jsp에서는 여러가지 java package들을 import 할 수 있는데,
흔히 많이 쓰고 있는.
java.sql.* 이라던가, java.util.*... 등등은 아주 쉽게
jsp 페이지 최상단에

<%@ page import="java.sql.*" %>

위와 같이 입력함으로써 import 할 수 있다.

하지만 본인이 직접 만든 클래스를 import 하는 것은 생각보다 쉽지 않은데,
은근히 여러가지 문제들이 도사리고 있기 때문이다.

여기에.. 그 쉬우면서도 어려운 문제들을 정리함으로써 한방에 깔끔하고 쉽게 jsp 에서 class import 를 완수해보자!!

1. import 하고자 하는 class 파일은 반드시 package화 되어있어야 한다.
   어떻게 하는가?.... 매우 쉽다. java 페이지 최상단에 패키지 선언만 해주면 된다. 요렇게!

package myPackage;

그리고 가볍게 compile 하여, class 파일을 생서하자!

2. import 하고자 하는 class 파일을 CLASSPATH에 위치시킨다. 이때, 기본적인 위치는.. 다음과 같다.
TOMCAT_HOME\WEB-INF\classes\myPackage\
여기에 본인이 작성한 MyClass.class 파일을 위치시킨다.

3. jsp 페이지에서 class 파일을 import 한다.
역시 jsp 페이지 최상단에 아래와 같은 내용을 추가한다.

<%@ page import="myPackage.MyClass" %>

이렇게 import 한 class 내의 메소드를 사용하기 위해서는,
java와 똑같다.
예를 들어, static method를 사용하기 위해서는
MyClass.myStaticMethod();
non-static method를 사용하기 위해서는
MyClass mc = new MyClass();
mc.myNonStaticMethod();

이렇게 하면 되는 것이다.

이렇게 해서 jsp 페이지 내에서 직접 만든 클래스 파일의 import 를 문제없이 성공시킬 수 있다.

그렇다면, 여기서 뽀나쓰!!!

조금 더 advantage하게..
본인이 직접 만든 class 내에서 어떤 파일을 읽는 작업을 한다고 해보자.

예를 들어, DB에서 무언가를 읽어오는 jsp 파일이라면,
최악의 경우는..

jsp 파일 내에 DB_IP, DB_NAME, USER_ID, USER_PASSWD 를 모두 지정하여 직접 connect 하는 경우이다.
이럴 경우, 서버를 옮길 때마다 존재하는 모든 jsp 파일의 DB 정보를 갱신해 주어야 하는 문제가 발생한다.

이보다 조금 나은 상황은 DBUtil.java 등의 파일을 만들어, 해당 java 파일 내에서, DB 정보를 입력해주어
jsp 파일 내에서는..
DBUtil.getConnection(); 을 하는 경우이다.
이 때에는.. 서버를 옮길 때마다 존재하는 모든 jsp 파일 내의 DB 정보를 갱신해야 하는 수고는 더는 대신,
이미 컴파일되어 버린 DBUtil.class 의 source 파일인 DBUtil.java 를 수정하여 다시 compile 해야 하는 수고를 거쳐야 한다.

그럼 가장 이상적인 방법은 무엇인가?
DBUtil.java 파일 내에는 어떤 DB 정보도 입력하지 말고,
DB_IP, USER_ID, USER_PASSWD 등의 정보를 담은 텍스트 파일을 DBUtil.java 에서 불러오는 것이다.

일반 java 프로그래밍을 할 때는.. 그냥 java(또는 class) 파일과 읽어서 사용하고자 하는 텍스트 파일을 같은 디렉토리에 넣고 사용하면 되지만, jsp 를 통한 웹프로그래밍을 할 때는 사정이 다르다.

tomcat은 class 파일은 CLASSPATH인... WEB-INF\classes 아래에서 읽어오지만, 해당 클래스 내에서 쓰거나 읽고자 하는 파일은 (상대 또는 절대 경로 없이 썼을 경우) TOMCAT_HOME에서 읽어오기 때문이다.
즉, 본인과 같은 경우에는.. 아래 주소가 되겠다.

C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0




본인의 경우를 정리해보면 다음과 같다.

1. jsp 파일은 tomcat의 webapps ROOT에.
ex) C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0\webapps\ROOT

2. import하고자 하는 class 파일은 CLASSPATH에,
ex) C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0\webapps\ROOT\WEB-INF\classes\myPackage

3. class 파일이 또 다른 파일을 읽을 때, 그 파일은 TOMCAT_HOME에,
C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0


본인 기록용이라.. 내용이 너무 두서없고, 깔끔하지도 못하다..ㅠ

언젠가 예쁘게 정리하리라..

posted by starland
TAG Import, JSP
2010/04/23 19:53 Progrming관련
http://www.okjsp.pe.kr/seq/137672


변수값에 따라 행 배경색 바꾸기

변수값에 따라 행 색을 바꾸는 소스입니다.

소스에서 한 부분만 올립니다

다음의 소스들은 한 와일문안에 같이 있습니다.

즉,셀렉트한 쿼리문을 돌리고 rs에 저장된 값을

하나씩 불러오면서 TR의 배경색을 정하도록 짜본것인데요

전부 #FFFFFF로 나오네요;;

f의 값은 A,B,C로 나옵니다

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

 String f=rs3.getString("Mo_level");

   %>

  <%if (f.equals("A") ) {
  out.println("<tr bgColor='#99CCFF'>");
  }else if(f.equals("B")){
  out.println("<tr bgColor='#99CC66'>");
  } else
  out.println("<tr bgColor='#FFFFFF'>");%>
     <td><%=a %></td>
     <td><%=b %></td>
     <td><%=c%></td>
     <td><%=d%></td>
     <td><%=e%></td>
     <td><%=g%></td>
     <td><%=f%></td></tr>
    


  • if타기 전에 f도 한번 찍어보시면 답이 보일것 같은데요.
  • 재롱이
  •  
  • 2009-05-14 09:23:08
  • x
  • f찍어보니까 A,B,C로 잘 찍히는데;
  • Lnnn
  •  
  • 2009-05-14 16:25:04
  • x

posted by starland
TAG JSP, 색깔
2010/01/01 12:13 Progrming관련

 단축키 설명
 Ctrl + Shift + X대문자 변환
 Ctrl + Shift + Y소문자 변환
 Ctrl + Shift + F

소스자동정렬(거의 내맘에는 안듬)

다른소스카피해서사용할때 유용하게 사용.

 Ctrl + Shift + H소스찾기
 Ctrl + H소스찾기 - File Search 탭부분 유용함. 원하는 확장자 또는 소스에서 Text검색시 유용.
 Ctrl + F

찾기 또는 대치(Replace)기능

Wrap Search 체크되어 있어야 순환하면서 검색함.

 Ctrl + Shift + C

선택한 블럭 주석처리.

 Alt + Shift + A

열모드.Galileo버전부터사용가능(?)


posted by starland
2009/12/08 00:56 Progrming관련
잘정리된 글이 있어 퍼온다.
http://dududu.tistory.com/entry/프로그래밍-언어상의-여러줄-문자열-표현Multiple-line-string-literal-in-programming-language

대부분의 언어들은 여러줄의 문자열 리터럴을 간단히 쓰기 위한 문법이 있다. 이게 뭐냐면 문자열 리터럴은 보통 "문자로 둘러 싸여서 한줄에 쓰게 된다.

"This is string"


위와 같이 말이다. 그런데 한 문자열이 한줄이 아니라 여러줄을 가지게 되면 어떻게 될까?

"This is 1st line.\nThis is 2nd line"


위와 같이 쓰면 된다. 그런데 이렇게 계속 쓰게 되면 2~3줄 정도는 괜찮지만 텍스트 분량이 많은 경우에는 상당히 보기 힘들게 된다. 프로그래밍 텍스트 에디터는 대부분 자동 줄바꿈을 사용하지 않기 때문에 더욱 그렇다.

"Q: 애초에 이렇게 쓸 수는 없나요?
A: SQL에서는 된답니다."

그래서 대부분의 프로그래밍 언어는 스트링 리터럴에 여러줄을 쓸 수 있는 특별한 문법을 지원한다.

그래서 자바도 당연히 있을 것이라고 생각했고 내가 몰라서 못쓰는 것 뿐이라고 생각했다. 하지만 자바에는 그런게 없다. 자바에서 그런 문법이 추가된다면 어떻게 될지에 대해서 토론하는 글타래가 있다.

http://www.jroller.com/scolebourne/entry/java_7_multi_line_string

또한 다른 언어에서는 이 문법이 어떻게 구현되는 지 내가 아는 프로그래밍 언어에 대해서 대충 정리해 보았다.


C, C++
char* aString = "This is 1st line.\n"
    "This is 2nd line.";

Python, Scala, Groovy

aString = """This is 1st line.
This is 2nd line."""
"문자만 사용되므로 개인적으로 가장 좋아하는 스타일이다.



Perl

$aString = <<END;
This is 1st line.
This is 2nd line.
END
이것을 heredoc 스타일이라고 하는데 다른 스크립트 언어에서도 많이 쓰인다.



C#

string aString = @"This is 1st line.
This is 2nd line.";
@하나만 추가하면 되므로 나쁘지 않다.



Java
String = "This is first line\n"
    + "This is second line";
아까 말했듯이 그런거 없다. 그냥 + 로 붙여라.
posted by starland
2009/12/07 23:42 Progrming관련

used only once: warning이 왜 뜨는지 찾아보다 알게된 놈.



1. mib2c를 실행할 때 잔뜩 나오는 경고 메시지

mib2c 스크립트는 아시다시피 펄 스크립트입니다. 모든 스크립트 파일이 그렇듯 스크립트 상단에 시스템이 스크립트를 실행하는 방법이 적혀 있습니다.

#!/usr/bin/perl
#!/usr/bin/perl -w

...

그런데 "/usr/bin/perl"로 실행하는 건 뭐고 "/usr/bin/perl -w"로 실행하는 건 뭘까요? "-w" 옵션의 정체를 알기 위해 "perl --help" 해보면 "-w" 옵션에 대해 "enable many useful warnings (RECOMMENDED)"라고 나옵니다. 유용하건 말건 추천을 하건 말건, 보기 싫으면 그만입니다. 아마도 mib2c 스크립트에서 첫 번째 행을 지우신 것 같은데, 첫 번째 행을 위와 같이 복원해 주시거나 "-w" 옵션을 빼 주시면 경고 메시지 없이 스크립트를 실행해 줍니다.
posted by starland
2009/12/07 11:37 Progrming관련

http://delicious.com/mwultong/perl?page=22

posted by starland
2009/11/23 00:35 Progrming관련
http://blog.naver.com/kkarssamy?Redirect=Log&logNo=150023483338
posted by starland
2009/11/19 23:40 Progrming관련
<bc로 하는법>
# echo 6 / 5 | bc
1
# echo 1.23 + 0.90 | bc
2.13
# echo 6.0 / 5.0 | bc
1
# echo 6.0 / 5.00 | bc
1
# echo 5 / 6.0 | bc


<expr로 하는법>
posted by starland