Spring Tool Suite 3.0.0.RELEASE

 

스프링 소스 툴 슈트(STS) 3.0.0 이 드디어 릴 됐다. 13일자 업데이트 내용을 참조하고 아래 주소에서 다운로드 받으면 된다. 약간은 심플하고 어찌보면 투박해 보이기까지 한 UI를 보여주고 있다.

물론 STS 이전에 eclipse 4.2버전에 맞추어 개발되었기 때문이겠지만, 항상 새로운 것을 접한다는 것은 설레이게 마련이다.

 

http://www.springsource.org/downloads/sts-ggts

 

Groovy / Grails 전용으로도 IDE를 만나볼 수 있다.

 

업데이트 사이트를 통해 업데이트도 가능해 졌다.

 

자, 이제 사용하기만 하면 된다. ㅋㅋ

'Languages > Java' 카테고리의 다른 글

servlet에서 outputstream을 사용하기  (0) 2012.07.19
자바기초(1) Hello World  (0) 2012.06.29
AWT, Swing 이클립스에서 실행시 한글 깨짐  (0) 2012.06.29
Java API 모음  (0) 2012.06.25
간단한 암호화 모듈  (0) 2012.06.25

WRITTEN BY
GrimReaper
안녕하세요 Grim Reaper의 티스토리에 오신 것을 환영합니다.

,

폰 노이만

Memories 2012. 7. 26. 00:01

무한급수

 

누군가가 폰 노이만에게 물었다.

 

"200마일 길이의 철로의 양쪽 끝에 각각 위치해 있는 두 대의 기차가 시속 50마일의 속도로 서로를 향해 출발합니다.두 기차가 출발하는 때 부터 두 기차가 충돌할 때 까지, 파리 한마리가 시속 75마일의 속도로 두 기차 사이를 계속 왔다 갔다 합니다.파리가 이동한 거리는 얼마입니까?"

 

문제를 들은 폰 노이만은 단 1초도 지체하지 않고 바로 대답했다.

 

"150마일 입니다."

 

그러자 문제를 낸 사람은 실망스럽게 대답했다.

 

"역시 당신은 속임수에 걸리지 않는군요. 보통 사람들은 이 문제를 들으면 무한급수를 이용해서 풀려고 하기 때문에 시간이 매우 많이 걸립니다.그러나 그렇게 풀게 되면 문제의 트릭에 걸린 것이며, 실은 이 문제는 파리가 움직이는 시간이 2시간이라는 것을 이용하면 간단하게 풀리지요.당신이 이렇게 빨리 대답한 것을 보니 당신은 이 문제를 두 번째 방법을 이용하여 풀었군요?"

 

그러자 폰 노이만이 대답했다.

 

"아니요, 저는 무한급수를 이용해서 풀었는데요."

 

 

ICBM

 

대륙간 탄도 미사일 개발 초창기에, 개발자들은 개발과정을 검증할 방법이 없어 고민하다가, 누군가가 "폰 노이만에게 물어보자"라는 의견을 내어 그를 찾아갔다.

 

개발자들이 폰 노이만에게 몇 개월간 연구했던 수천 페이지의 문서들과 설계도를 주고서,

"몇 주 후에 오면 되겠습니까?" 하고 물었다.

 

그러자 폰노이만은 "아, 그냥 거기 잠깐 앉아 있어봐요" 하더니

 

두 시간 정도 대충 넘기면서 읽어보고는, 바로 종이와 펜을 들고 개발자들에게 설명을 시작했다.

 

그의 설명은 완벽했다고 한다.

'Memories' 카테고리의 다른 글

DataOutputStream, DataInputStream 등의 고수준 입출력 class  (0) 2012.07.19

WRITTEN BY
GrimReaper
안녕하세요 Grim Reaper의 티스토리에 오신 것을 환영합니다.

,

1. response.setContentType() 으로 파일의 MIME type 을 지정하여

browser가 받아들일 준비를 할 수 있게 한다.

 

response.reset();

response.setContentType("application/octet-stream");

 

2. getServletContext()ServletContext를 받아온 후,

getResourceAsStream()으로 파일에 대한 InputStream을 만든다.

 

3. response에 대한 OutputStream을 만들고,

 

4. buffer 역할을 하는 byte array를 통해서

stream 내용을 loop 으로 복제하고 flush 한다.

 

※ 이는 일반적인 링크 방식으로 GET 하지 않도록 막을 수 있다.

※ 각종 robot 에 의한 무분별한 GET 이나

※ role base와 같은 형태로 권한을 걸어줄 수도 있다.

 

'Languages > Java' 카테고리의 다른 글

Spring Tool Suite 3.0.0.RELEASE  (0) 2012.08.16
자바기초(1) Hello World  (0) 2012.06.29
AWT, Swing 이클립스에서 실행시 한글 깨짐  (0) 2012.06.29
Java API 모음  (0) 2012.06.25
간단한 암호화 모듈  (0) 2012.06.25

WRITTEN BY
GrimReaper
안녕하세요 Grim Reaper의 티스토리에 오신 것을 환영합니다.

,

byte스트림중 DataOutputStream, DataInputStream 등의 고수준 입출력 class는 생성자로 저수준 입출력 객체를 사용해야 한다.

 

저수준 입출력 없이 혼자 생성할 수는 없다. BufferedInputStream, BufferedOutputStream도 마찬가지이다.

=============================================================================

 

public class DataStreamTest {
public static void main(String... args) throws IOException{
File f = new File("C:/test.txt");
FileOutputStream fos = new FileOutputStream(f);
FileInputStream fis = new FileInputStream(f);
DataOutputStream dos = new DataOutputStream(fos);
DataInputStream dis = new DataInputStream(fis);
dos.writeChars("B");
char x = dis.readChar();
System.out.println("char:"+x);
}
}

 

'Memories' 카테고리의 다른 글

폰 노이만  (0) 2012.07.26

WRITTEN BY
GrimReaper
안녕하세요 Grim Reaper의 티스토리에 오신 것을 환영합니다.

,

모처럼 그루비 스크립트로 코딩을 하다보니 한글이 깨져서 나왔다.

 

한글깨짐 현상은 어느 언어에서나 나오는 문제이기도 하고, 

대한민국의 개발자라면 참 서럽고 귀찮은 문제가 아닐 수 없다.

 

그래서 찾아봤다.

 

Matthias Bohlen said...

 

set the system property
groovy.source.encoding=UTF-8

 

You can do that on the command line:
export JAVA_OPTS=-Dgroovy.source.encoding=UTF-8

 

Or in Eclipse.ini (if you work with Eclipse)
-Dgroovy.source.encoding=UTF-8

 

Cheers
Matthias

June 22, 2009 4:19 PM

 

이제 됐다.

 

난 이클립스가 아니라 STS를 사용한다.

 

일단 적용 해 보고 콘솔이든 화면이든 한글을 좀 제대로 써 볼 수 있게 되었다.

 

만쉐이!

 

[추가내용]

혹시라도 이클립스나 STS에서 돌릴 때,

별도의 쉘창이나 그루비 전용 콘솔창에서는 한글이 잘 보이는데, STS 하단의 콘솔에서만 한글이 깨지는 경우는

Run > Run Configurations... > 스크립트 파일 선택  후 우측 Common 탭에서

Encoding 다이얼로그 부분을 UTF-8로 설정한다.

 

또는, 개별적으로 설정하기 귀찮다면,

 

Run >> Run Configuration >> application or server(java ee) 선택 >> common 탭 >> console encoding : UTF-8 로 변경, 그리고 Apply~!

 

이것도 적용해 본다.

 

 

 

'Languages > Groovy' 카테고리의 다른 글

Groovy DB 접속 테스트  (0) 2012.07.04

WRITTEN BY
GrimReaper
안녕하세요 Grim Reaper의 티스토리에 오신 것을 환영합니다.

,

1. 목표 : 그루비 스크립트로 아주 간단하게 DB 접속을 해보고자 한다.

2. 방법 : 아주 많이 사용하는 My-SQL과 Oracle 에 각각 접속을 해 본다.

 

먼저 My-SQL ...

 

소스 코드는 아래와 같다

 

import groovy.sql.*;

void testSelect() {
    def url = "jdbc:mysql://localhost:3306/test"
    def username = "사용자명" 
    def passwd = "패스워드"
    def driver = "com.mysql.jdbc.Driver" 
    def sql = groovy.sql.Sql.newInstance(url, username, passwd, driver) 
    def strSql = "select now() as now_date"
    def list = sql.rows(strSql)
	      sql.eachRow(strSql) { row -> println row.now_date}
    // println list
}
testSelect()

 

이번에는 Oracle ...

import groovy.sql.Sql

sql = Sql.newInstance("jdbc:oracle:thin:${아이피}:${포트}:${SID}","아이디"
		,"패스워드","oracle.jdbc.driver.OracleDriver")

rows =[]

sql.eachRow("select to_char(sysdate, 'yyyy-mm-dd, HH24:mi:ss') sys_date from dual"){
	rows << it.toRowResult()
}

rows.each {println rows.sys_date}

 

몇 줄 안되는 코드로 위와 같이 접속 테스트를 진행해 봤다.

 

다음 목표는 인서트, 업데이트..... 기대하시라~!!

'Languages > Groovy' 카테고리의 다른 글

그루비 한글이 깨져나올 때...  (0) 2012.07.05

WRITTEN BY
GrimReaper
안녕하세요 Grim Reaper의 티스토리에 오신 것을 환영합니다.

,

SUBSTR 함수 사용법

 

-- SUBSTR(char, position, length)

char 문자열에서 position 위치를 찾아 length 만큼 반환합니다.

position이 음수일경우 문자열의 뒤에서부터 찾습니다.

length 를 생략할경우 position 위치부터 문자열끝까지 반환합니다.

char 문자열에는 한글을 사용할수 있습니다.

백문이 불여일견이므로 아래 사용예를 참고하시기 바랍니다.



SELECT SUBSTR('You are so beautiful.', 1, 3) SUBSTR FROM DUAL
SUBSTR
------
You


SELECT SUBSTR('You are so beautiful.', 9) SUBSTR FROM DUAL
SUBSTR
-------------
so beautiful.


SELECT SUBSTR('You are so beautiful.', 9, 2) SUBSTR FROM DUAL
SUBSTR
------
so


SELECT SUBSTR('You are so beautiful.', -13, 2) SUBSTR FROM DUAL
SUBSTR
------
so


SELECT SUBSTR('You are so beautiful.', -10) SUBSTR FROM DUAL
SUBSTR
----------
beautiful.


SELECT SUBSTR('당신은 정말 아름다워.', 1, 3) SUBSTR FROM DUAL
SUBSTR
------
당신은


SELECT SUBSTR('당신은 정말 아름다워.', 1, 5) SUBSTR FROM DUAL
SUBSTR
---------
당신은 정



SELECT SUBSTR('당신은 정말 아름다워.', 2, 2) SUBSTR FROM DUAL
SUBSTR
------
신은

 

출처 : http://blog.naver.com/hgamma?Redirect=Log&logNo=100121734419

'Databases > Oracle' 카테고리의 다른 글

Oracle 스케쥴러 관련 명령어  (1) 2012.06.22

WRITTEN BY
GrimReaper
안녕하세요 Grim Reaper의 티스토리에 오신 것을 환영합니다.

,

"자바를 한번 해보자!" 라고 생각하는 개발자나 개발자이기를 희망하는 분들이 있다.

흔히 프로그래머라고 하면 까만 화면에 알아 볼 수 없는 텍스트 들로 컴퓨터와 대화를 하는 족속들을 떠올리기 쉽다.

막상 개발자가 되어보면 별 것 아닌 일이지만, 처음 보는 사람들에겐 무척이나 신기하고 어려워 보이는게 사실이다.

그래서 잠깐 시간이 난 사이 몇 가지 기초적인 이야기들을 해볼까 한다.

 

우선 자바는 이런거다~ 하고 시작하면 벌써 졸음이 오고 짜증이 밀려오는 분들이 있기에 화면에 뭔가 찍히는 것을 보고

'아 이렇구나~!'를 같이 느껴 봤으면 하는 생각에 몇 자 적어 보려고 한다.

 

몇 줄 안썼는데 벌써 뭔가 답답함이 밀려온다. ㅎㅎ 나만 그런가?

 

우선 코드부터 보자.

이쯤에서 생각나는게 자바는 컴파일 언어라서 바로 뭔가 보이지 않는다. 컴파일 하는 방법도 모르는 분들에게

죄송함이 밀려온다. 차차 그 과정도 설명해 보겠다.

우선 자바가 돌아가는 환경을 만드는 작업부터 설명하고 싶었는데, 그건 일단 미뤄야 겠다.

며칠 전 이클립스 버전도 4.2 버전이 출시되었고, STS도 3.0.0M 버전이 나왔다는데, 마일스톤 버전이라 정식

배포까지는 좀 기다려야 하나보다.

뭔 소리냐고 하시는 분들이 있을까봐 각설!

 

public class HelloWorld {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		System.out.println("Hello, World!");

	}

}

 

우선 자바가 돌아가는 환경은 구축 되어 있다고 가정하고

(안되시는 분들은 여러 곳에서 검색을 통해 기본적으로 JDK나 jre정도는

설치를 해 주시길 바란다. 거기 위의 소스도 대강 정리는 되어 있을 것 같은데..

괜한 짓을 하고 있는 걸까? 암튼 ....)

 

자바는 텍스트(문자) 형태로 코딩을 한다. C나 C++도 마찬가지다.

한줄한줄 명령을 내리면 컴파일 과정에서 컴퓨터가 알아 듣는 코드로 바뀌고

우린 그걸 실행하는 것으로 컴퓨터와 대화를 한다.

 

위의 코드를 메모장이나 울트라 에디트 등의 편집기, 혹은 이클립스라는 개발툴을 이용해 타이핑 한 후,

HelloWorld.java 라는 이름으로 저장을 하자. 우선 하자!

 

자바는 대소문자를 구분하기 때문에 이를 무시하고 마구 때려 넣으면 성질을 낸다.

잘 보고 타이핑 해야 한다.

 

컴파일 방법은 간단하다. 윈도우 환경이라면, 그리고 패스 설정이 잘 되어 있다면,

윈도 환경에서 실행>cmd (엔터) 쳤을 때의 까만 화면에서 이를 컴파일 해 볼 수 있다.

컴파일 명령은 아래와 같다.

 

javac HelloWorld.java

 

정상적으로 컴파일이 되었다면, 실행을 해 보자.

실행 명령은 아래와 같다.

 

java HelloWorld

 

실행하면 아래와 같이 나온다.

 

Hello, World!

 

모든 개발자들이 여기부터 시작했다는 것을 잊지 말기 바란다.

 

여기까지 잘 되었다면 이제 머리아픈 설명을 조금 덧붙이고자 한다.

 

- public class HelloWorld 의 의미 :

 

지금 만든 이 녀석은 클래스이고, 이름은 HelloWorld이며 어디서든

접근 가능하다는 뜻이다.

 

뒤에 붙는 {} 안에 그 내용을 적는다.

 

- public static void main(String[] args)

 

이녀석은 클래스 내부 어디서나 사용할 수있는 스태틱 메소드 이고 리턴값은 없으며(void) 이름은 main이고, 외부에서도 접근 가능(public)하다.

String이란 문자들로 이루어진 배열 형태의 이름이 args라는 인자를 가진다.

 

두 줄만 붙잡고 얘기했는데 겁나 머리아프다. 일단 무시하고 넘어가자. 클래스를 만들었고 그 안에 메소드가 있다고 그냥 알고 넘어가면 된다.

 

- System.out.println("Hello, World!");

 

화면에 Hello, World! 라고 찍으라는 명령이다. 물론 화면이 아니라 다를 곳이 될 수도 있다. 기본적인 출력 방향이 모니터이기에 모니터에

원하는 글씨가 찍혔다고 보면 된다.

 

 

 

 

 

 

 

 

 

 

'Languages > Java' 카테고리의 다른 글

Spring Tool Suite 3.0.0.RELEASE  (0) 2012.08.16
servlet에서 outputstream을 사용하기  (0) 2012.07.19
AWT, Swing 이클립스에서 실행시 한글 깨짐  (0) 2012.06.29
Java API 모음  (0) 2012.06.25
간단한 암호화 모듈  (0) 2012.06.25

WRITTEN BY
GrimReaper
안녕하세요 Grim Reaper의 티스토리에 오신 것을 환영합니다.

,

웹 개발자다 보니 애플리케이션 실행의 빈도가 매우 낮다.

 

그러다 보니 꼭 잊어버린다.

 

이클립스 or STS 에서 해당 프로젝트에 오른쪽 마우스 클릭 후,

 

 Properties > Run/Debug Settings > New > Java Application > OK >

 

Arguments Tab > VM arguments 에 다음을 추가

 

-Dfile.encoding=MS949

 

그 후 Apply ~ ! > OK !

 

잊지 말자.

 

잊었으면 찾아라도 보자. ㅜㅜ

'Languages > Java' 카테고리의 다른 글

servlet에서 outputstream을 사용하기  (0) 2012.07.19
자바기초(1) Hello World  (0) 2012.06.29
Java API 모음  (0) 2012.06.25
간단한 암호화 모듈  (0) 2012.06.25
EJB란?  (1) 2012.06.21

WRITTEN BY
GrimReaper
안녕하세요 Grim Reaper의 티스토리에 오신 것을 환영합니다.

,

DOM Script라는 말이 있는데, 이는 새로운 스크립트를 말하는 것은 아니다. 사실 DOM Script 라는 말은 없다. DOM 과 Script는 구분 되는 개념이다. 다만 두 개념이 아주 밀접한 관계가 있어서 연결해서 부르고 있을 뿐이다.

 

1.DOM

DOM은 문서의 논리적 구성을 말한다.

좁게 예기하지만 논리적 마크업이다.

DOM에선 문서의 각 요소를 노드(Node)라고 부르며 요소 노드(Element Node)와 텍스트 노드(Text Node) 및 요소 노드에 있는 속성 값들을 속성 노드(Atrribute Node)로 인식한다.

 



2.스크립트

스크립트의 표준은 ECMA Script이며 대부분 자바스크립트 중에서 표준을 정한 것이다. 거의 대부분의 브라우저가 ECMA Script를 지원한다. 다만 스크립트 작성 시 아래 사항을 고려해야한다.

 

 

 

● onclick과 같은 이벤트 핸들러를 마크업에 추가하면 스크립트의 완벽한 분리가 어려우며 id나 class를 사용하여 외부 스크립트 함수를 통해 실행 되도록 한다.

● return false;를 추가하여 스크립트 미작동 환경에서는 마크업의 a 태그가 실행되도록한다.

● 하위 호환성을 위해 if (!document.getElementById) return false;를 추가한다.

● 브라우저가 문서를 다 불러온 후 코드가 실행되도록 onload이벤트를 추가한다.

 

 

[출처] 웹표준과 DOM Script (컴퓨터/웹표준/웹접근성/사진/여행...) |작성자 박실짱

'Languages > JavaScript' 카테고리의 다른 글

동적 폼 생성 스크립트  (0) 2012.06.22

WRITTEN BY
GrimReaper
안녕하세요 Grim Reaper의 티스토리에 오신 것을 환영합니다.

,