1. 자바 JDK 11.0.6 설치

2. Tomcat 9 download 및 압축 풀기 : 버전 9.0.62

3. Eclipse IDE for Enterprise JAVA and Web Developer 2022-03-R(4.23) 버전 다움로드 및 압축 풀기

  - 2022-06-R(4.24) 버전이 새로 나온 것 같다. 이것을 설치해도 된다.

  - 이클립스는 내부에 JAVA Open JDK SE 16을 포함하고 있음.

  - Server -> Runtime Environment으로 Tomcat 9 등록 : JRE로 jdk-11.0.6을 지정 (이클립스 내부에 있는 것을 삭제하고, 새로 등록)

4. Dynamic Web Module Project 생성

  - Tomcat 9.0 선택

Posted by 세상을 살아가는 사람
,

자바를 이용한 스프링 강의를 계속하면서 그동안 변경된 개발 환경과 현재 시점에서 개발환경을 어떻게 설정을 해야 하는지 정리해 본다.
1. JDK 1.8을 사용한 개발 환경
- 처음에는 JDK 1.8을 사용하여 개발을 진행
- 이클립스 : 2020-06-R 버전을 사용하여 JAVA EE을 개발하였고, Eclipse Marketplace를 통해 STS를 설치하여 스프링을 개발하였었다.
- 그랬다가 어느 시점에 이클립스에서 STS plugin을 지원하지 않았다. 그래서 이클립스에서 플러긴을 사용하지 않고, 이클립스 기능을 제공하는 STS를 따로 설치하여 스프링을 개발하였다.
2. 별도의 STS를 사용한 스프링 개발 환경
- JDK 1.8을 지원하기 위하여 STS-3.9.15,RELEASE-e4.16.0을 사용
- 이클립스 버전도 JDK 1.8을 지원하기 위해 e4.16(2020-06-R) 버전인 것이다.
- JSP를 개발하기 위한 JAVA EE IDE도 eclipse-jee-2020-06-R 버전을 사용하였다.
3. JDK 11을 사용한 스프링 개발 환경
- 전자정부표준프레임워크 v4.0에서 JDK 11을 지원하고, 상용으로 JDK 11이 사용되게 되는 것 같다. 따라서 JDK 8을 사용하지 않고, JDK 11을 사용하는 환경을 고려해 본다.
- 자바 버전 : JDK 11.0.15
- 이클립스 : 2021-06-R Java EE IDE
- 이클립스 마켓 플레이스에서 "Spring Tools 3 Add-On for Spring Tools 4 3.9.22.RELEASE" Plugin을 설치하여 스프링 개발환경을 설정한다.
- 이때 pom.xml에서 다음과 같은 에러가 발생하면 다음 plugin 설정을 추가한다.
Description Resource Path Location Type
Could not initialize class org.apache.maven.plugin.war.util.WebappStructureSerializer pom.xml /ex08 line 1 Maven Configuration Problem

            <plugin>
            	<groupId>org.apache.maven.plugins</groupId>
            	<artifactId>maven-war-plugin</artifactId>
            	<version>3.3.1</version>
            </plugin>

- 별도의 STS를 사용하여도 되겠지만, 이클립스를 사용한 JSP 개발환경과의 연속성을 위해 이렇게 설정하는 것도 좋은 방법이다.
4. Spring Tools 4 (aka Spring Tool Suite 4) 4.15.1.RELEASE 설치
이클립스에서 STS plugin으로 . "Spring Tools 3 Add-On for Spring Tools 4 3.9.22.RELEASE"을 설치한 후에, Spring Tools 4 (aka Spring Tool Suite 4) 4.15.1.RELEASE을 설치하면, STS4를 설치할 수 있다.

Posted by 세상을 살아가는 사람
,

한빛 아카데미에서 나온 박우창, 남송휘, 이현룡 지음, "MySQL로 배우는 데이터베이스 개론과 실습" 에 나오는 마당서점의 물리적 모델링으로 이큽립스에서 제공되는 ER Master 도구를 이용하여 작업을 해보았다.

firsterd.erm
0.04MB

이를 물리적 SQL 파일로 만들기 위해서는 이클립스에서 오른쪽 마우스를 클릭하여 아래 그림과 같이 "내보내기->DDL" 메뉴를 선택하면 데이터베이스 연동을 위한 sql 파일을 생성할 수 있다.

이를 이용하여 데이터베이스 테이블을 생성할 수 있다.

/* Drop Triggers */
DROP TRIGGER TRI_author_id;
DROP TRIGGER TRI_comment_id;
DROP TRIGGER TRI_tauthor_id;
DROP TRIGGER TRI_tcomment_id;
DROP TRIGGER TRI_topic_id;

/* Drop Tables */
DROP TABLE dormant CASCADE CONSTRAINTS;
DROP TABLE tcomment CASCADE CONSTRAINTS;
DROP TABLE twrite CASCADE CONSTRAINTS;
DROP TABLE tauthor CASCADE CONSTRAINTS;
DROP TABLE topic CASCADE CONSTRAINTS;

/* Drop Sequences */
DROP SEQUENCE SEQ_author_id;
DROP SEQUENCE SEQ_comment_id;
DROP SEQUENCE SEQ_tauthor_id;
DROP SEQUENCE SEQ_tcomment_id;
DROP SEQUENCE SEQ_topic_id;

/* Create Sequences */
CREATE SEQUENCE SEQ_tauthor_id INCREMENT BY 1 START WITH 1;
CREATE SEQUENCE SEQ_tcomment_id INCREMENT BY 1 START WITH 1;
CREATE SEQUENCE SEQ_topic_id INCREMENT BY 1 START WITH 1;

/* Create Tables */
CREATE TABLE dormant
(
	author_id number NOT NULL,
	created date NOT NULL,
	PRIMARY KEY (author_id)
);

CREATE TABLE tauthor
(
	id number NOT NULL,
	name varchar2(15) NOT NULL,
	introduction varchar2(100) NOT NULL,
	created date UNIQUE,
	PRIMARY KEY (id)
);

CREATE TABLE tcomment
(
	id number NOT NULL,
	description varchar2(4000) NOT NULL,
	created date NOT NULL,
	topic_id number NOT NULL,
	author_id number NOT NULL,
	PRIMARY KEY (id)
);

CREATE TABLE topic
(
	id number NOT NULL,
	title varchar2(30) NOT NULL,
	description varchar2(4000) NOT NULL,
	created date NOT NULL,
	PRIMARY KEY (id)
);

CREATE TABLE twrite
(
	author_id number NOT NULL,
	topic_id number NOT NULL,
	created date NOT NULL,
	PRIMARY KEY (author_id, topic_id)
);

/* Create Foreign Keys */
ALTER TABLE dormant
	ADD FOREIGN KEY (author_id)
	REFERENCES tauthor (id)
;

ALTER TABLE tcomment
	ADD FOREIGN KEY (author_id)
	REFERENCES tauthor (id)
;

ALTER TABLE twrite
	ADD FOREIGN KEY (author_id)
	REFERENCES tauthor (id)
;

ALTER TABLE tcomment
	ADD FOREIGN KEY (topic_id)
	REFERENCES topic (id)
;

ALTER TABLE twrite
	ADD FOREIGN KEY (topic_id)
	REFERENCES topic (id)
;

/* Create Triggers */
CREATE OR REPLACE TRIGGER TRI_author_id BEFORE INSERT ON author
FOR EACH ROW
BEGIN
	SELECT SEQ_author_id.nextval
	INTO :new.id
	FROM dual;
END;

/

CREATE OR REPLACE TRIGGER TRI_comment_id BEFORE INSERT ON comment
FOR EACH ROW
BEGIN
	SELECT SEQ_comment_id.nextval
	INTO :new.id
	FROM dual;
END;

/

CREATE OR REPLACE TRIGGER TRI_tauthor_id BEFORE INSERT ON tauthor
FOR EACH ROW
BEGIN
	SELECT SEQ_tauthor_id.nextval
	INTO :new.id
	FROM dual;
END;

/

CREATE OR REPLACE TRIGGER TRI_tcomment_id BEFORE INSERT ON tcomment
FOR EACH ROW
BEGIN
	SELECT SEQ_tcomment_id.nextval
	INTO :new.id
	FROM dual;
END;

/

CREATE OR REPLACE TRIGGER TRI_topic_id BEFORE INSERT ON topic
FOR EACH ROW
BEGIN
	SELECT SEQ_topic_id.nextval
	INTO :new.id
	FROM dual;
END;

/

firsterd.sql
0.00MB

나는 Erwin 프로그램의 사용에 제약이 있고, 이클립스에 익숙하여 쉽게 데이터베이스 테이블을 생성할 수 있기 때문에 이 방법을 사용하였다. 또한 Data Source Exploror를 같이 이용할 수 있는 장점이 있다.

이클립스에서 ER Master를 설치하는 방법은 Help->Install New Software에서 다음과 같이 입력하여 설치를 한다.

Posted by 세상을 살아가는 사람
,

오늘은 이클립스를 사용하여 프로젝트를 하면서 github를 이용하여 소스코드를 관리하고 싶다는 요청이 있어서 github에 소스코드를 등록하는 방법을 알아본다.


1. 우선 Eclipse에서 Window>Show View>Other>Git>Git Repositories를 선택한다.

  - 그러면 Git Repositories 창이 생성되고 git에 대한 익스플로러가 보인다.

  - 아마 이때 Git를 위한 local(PC내) 저장소의 위치를 지정하도록 요구한다.

  - 적당한 디렉토리를 지정해 준다. 아마 github 서버에 저장하기 전에 자신의 PC내에 우선 저장해 둔다고 생각하면 이해가 되겠다.

  - 이후 정말 github에 저장하려면 별도의 동작을 한다.

2. 처음으로 github를 이용하는 사람은 github에 접속하여 계정을 만든다.

  - Username, 계정 id와 비밀번호를 잘 저장해 둔다. (잊지 않도록)

3. github에서 새로운 Repository를 생성한다. 프로젝트를 github에 저장하기 위한 방이라 생각하면 된다.

  - Repository에 대한 URL이 생성된다. 그것을 알아둔다.

    (예, https://github.com/Username/Repository.git)

4. Eclipse에서 github에 저장할 프로젝트를 선택한 후 

  - 우측 마우스를 클릭한 후

  - 나타나는 메뉴에서 Team>Add to Index를 선택한다.

5. Eclipse에서 프로젝트를 선택 후

  - 우측 마우스를 클릭한 후

  - Team>Commit를 선택한다.

  - 적당한 Commit Message를 입력하고

  - Author와 Committer에 자신의 Username < email 게정을 입력하고 "Commit and Push" 버튼을 누른다.

  - 이때 "There are no staged files"란 창이 뜨면, 앞에서 수행했던 "Add to Index" 동작을 빠트렸거나 변경된 내용이 없는 경우이다.

  - 아까 github 서버에서 만든 Repository의 주소를 정확하게 mapping을 해주어야, 그 Repository로 소스가 upload 된다.


아마 지금까지 작성한 것에서 오류가 있을 수 있는데, 처음 시도 하면서 적어야 하는데, 완료가 된 후 다시 복고를 하면서 적으려니 정확함이 떨어질 수 있다.

Posted by 세상을 살아가는 사람
,