반응형

안녕하세요 가야태자 @talkit 입니다.

JDBC 드라이버 다운로드

순수 자바

MySQL :: Download Connector/J

위 URL로 이동 합니다.

Platform independent 를 선택 합니다.

그리고 지금 저는 윈도우즈에서 작업 중이라 두번째 Download를 클릭 합니다. zip파일 형식을 내려 받습니다.

젤 밑에 보이시나요 No thanks, just start my download. 를 클릭 하십시오.

그러면 잘 다운로드가 될겁니다.

다운로드 받은 JDBC 드라이버 이클립스에 설정

우선 열어서 압축을 푸십시오.

압축 해제한 폴더로 이동해서,

mysql-connector-j-8.0.31.jar

위 파일을 복사합니다.

이클립스에 lib 폴더를 만들고 붙여넣기를 하십시오.

프로젝트명을 클릭하고 오른쪽을 눌러서 프로퍼티를 선택 하십시오.

그리고, Java 빌드 패스를 선택하십시오.

Libraries 탭으로 이동합니다.

오른쪽 Add JARs 를 클릭하십시오.

지금 현재 pom 파일이 있는 Maven 프로젝트기는 하지만, 이번에는 이런 방법도 있다고 알고 넘어 가는 차원에서 이렇게 하고 있습니다.

Maven을 이용한 MySQL 드라이버 다운로드

다른글을 적고 링크 하겠습니다. 

Java MySQL 접속하기

JAVA 는 JDBC라는 프레임워크를 통해서 데이터베이스에 접속합니다.
데이터베이스 드라이버와 서버 소프트 웨어 개발 버전이 있으면 얼마든지 집에서 해볼 수 있습니다.

JDBC Connection


Class.forName("com.mysql.jdbc.Driver");

MySQL 드라이버 로드

Connection con = DriverManager.getConnection("jdbc:mysql://주소:3306/데이터베이스", "아이디", "비밀번호");

MySQL 접속정보 셋팅

쿼리 해보기

쿼리 해보기는 쿼리 관련 설명하는 파일을 따로 적고 여기에 링크 예정입니다. ^^

전체소스코드

package com.tistory.talkit;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class MySQLExam {

    public static void main(String args[]) {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://주소:3306/데이터베이스", "아이디", "비밀번호");
            
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery("원하는 쿼리");
            while (rs.next())
                System.out.println(rs.getInt(1) + "  " + rs.getString(2) + "  " + rs.getString(3));
            con.close();
        } catch (Exception e) {
            System.out.println(e);
        }
    }

}

#java #mysql #source

반응형
반응형

안녕하세요 가야태자 @talkit 입니다.

지난 번에 Hello World를 찍고 ^^ 당황 스럽긴 하겠지만 ㅋㅋㅋ 지금 하고 있는 프로젝트에서 암호화/복호화 관련 업무가 있어서 ^^ 적어 보도록 하겠습니다.

개요

우선, 암호화는 사람들이 모르도록 이상한 문자열 등으로 바꾸는 것을 이야기 합니다. 그런데 이게 보통은 해독할 수 있는 규칙이 있습니다. 그래야 공통으로 약속되어서 풀어 볼 수 있으니까요.

암호화는 또 단방향 암호화와 양 방향 암호화가 있습니다.

단방향 암호화는 그야말로 복호화가 없는 단방향의 암호화 입니다. 단, 암호화 할때마다 동일한 결과가 나옵니다.

양방향 암호화는 암호화와 복호화가 존재하는 암호화 기법입니다.

일반적으로 단방향 암호화는 비밀번호를 만드는데 쓰입니다. 비밀번호도 양방향 암호화를 해야 할 경우도 있지만, 일반적으로는 단방향 암호화를 진행 합니다.

양방향 암호화는 주로 문서교환을 위해서 사용 합니다. 또는 DB에 바로 저장 되면 안되는 개인 정보 등의 저장을 위해서 사용 합니다.

이번에 제가 만들어 본 암호화는 양방향 암호화 입니다. ^^

개인키, 공개키 생성 프로그램

--

양방향 암호화를 하려면, 개인키와 공개키가 필요 합니다. 이번에 암호화 려는 기법은 RSA 기법입니다. RSA는 다음에 알아보도록 하고 오늘은 JAVA 어떻게 코드를 작성하는지만 보겠습니다. ^^

package com.tistory.talkit;

import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.SecureRandom;
import java.util.Base64;

public class MakeKeyData {

    public static void main(String[] args) throws NoSuchAlgorithmException {
        // RSA로 암호화 하겠다. 
        KeyPairGenerator keyPairGenerator =
                KeyPairGenerator.getInstance("RSA");
        SecureRandom secureRandom = new SecureRandom();
         // Random 키를 이용해서 키페어 생성 준비
        keyPairGenerator.initialize(2048,secureRandom);

         // 키페어에 암호화된 내용을 담기 
        KeyPair pair = keyPairGenerator.generateKeyPair();

        // 공개키 획득
        PublicKey publicKey = pair.getPublic();

        // 공개키를 문자열로 출력
        String publicKeyString =
        Base64.getEncoder().encodeToString(publicKey.getEncoded());

        System.out.println("public key = "+ publicKeyString);

        // 개인키 획득
        PrivateKey privateKey = pair.getPrivate();
        // 개인키를 문자열로 출력
        String privateKeyString =
        Base64.getEncoder().encodeToString(privateKey.getEncoded());

        System.out.println("private key = "+ privateKeyString);

    }

}

위 코드를 만들어서 수행하면 아래와 같이 나옵니다.

public key = MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAppicAq5Xn8+KZFQyP825E4aDPjFpyxhK5WATI4k3HllMxGo8FBOwoDl+lgVEIPEGgfD+t1cmBOpPkT7Mx54UQ+bSSU2T1wDR7QwyGV2iuxe6DCtQfVLuzYd6uxZO3pWoN93q9DkhzbLLOW1bLOieodnhMRq293uoKRWCP+Sp586SVPxwW/hWZjy57NIta1ew+JnRtHsg7reWOjyiCXORXdQvRoGfAz9ZC0aZBqopy84ZtMCK42y0Wprm0Oi4u3bwk2h2EkvGUOIRBHEly//M0Ma4RGlHWU7jpg0CiXcJAdq1DRMd6hzFVxUV4n23575NOKLwEirvqbgZXoaLJSo/1QIDAQAB
private key = MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCmmJwCrlefz4pkVDI/zbkThoM+MWnLGErlYBMjiTceWUzEajwUE7CgOX6WBUQg8QaB8P63VyYE6k+RPszHnhRD5tJJTZPXANHtDDIZXaK7F7oMK1B9Uu7Nh3q7Fk7elag33er0OSHNsss5bVss6J6h2eExGrb3e6gpFYI/5KnnzpJU/HBb+FZmPLns0i1rV7D4mdG0eyDut5Y6PKIJc5Fd1C9GgZ8DP1kLRpkGqinLzhm0wIrjbLRamubQ6Li7dvCTaHYSS8ZQ4hEEcSXL/8zQxrhEaUdZTuOmDQKJdwkB2rUNEx3qHMVXFRXifbfnvk04ovASKu+puBlehoslKj/VAgMBAAECggEAXoMdnvfBhkx7usd5anEPmmApfNMTrcCuXMrQkMx7lKAcySFrzAgPoBZ+FiYOrJGQm49ZMjIiw48abNAv5N9tp8f/bM6yHLu+XLkagwF4HKQtTFIWa8Ls73T4z8KsI+LLeEZR0RPIdaYFXSMJIsUlmbS96Nm7C1P/5q7pIc5cBcFg8uyFA13yHUUd5oJaal7RPVIfRQAUZZNj3crSVdQYCfdB42nokQ0z5kv3Qm3eu04Wqli/GyWIKRbxaffTlYvEjzjN4cxptJOPSn6zQlLXIStmwohQLjmx1UQ1cWJWqwF0910QleIJyR1iBKEtbvUORxEc0hv+a/2trwQP973gAQKBgQD55jq7ofNXSsnhyC9IJEyGDfvSRTtMEDwEk4pXQy6RKFrUN3/5AD40EBb2V0txhIwQxPD2YBCkSVXW/swMMA/QSM1lLLMkSqRkQhBucAO2RimgDNVXbzakFAmDgWSUjNz0HrSXJuGmKnErb42I+0yc+hd+Sl+WqRgWZ7SkUPLN1QKBgQCqqcS1XGKLoVyRnIYGivsA2/83RIJVx8Mjzofgg6Ekd5Q1uKMZFowAy3wbqMCRRW8+qufVmElzCMP79Pijh2nrv7QfEBrTbWdDgiMJz+Sq6JGHDyAiGv7v5j/nbl0JlgNKKmx2fiNpITBNQTQWPs3cqxArKz3j0Apy3HphlWiqAQKBgQC8Qbe/QDrMaPf7Ek6kP0wytPgfKK6KF7TPEcLnCCJdkhQSyRisIYW6vOA/hfW8t8i4nVSVljsTOHflNh/Lkq1nEGFDNdBip6R+LtKoD9SMDQEwpFpXut1j8ABWxDRcQF33veX39H+LKXAF88yhBAdsPm9SYX7vRcVyo3+PRbgUXQKBgACIqWnb0R8YsR5ve+fXVXOqPIEiwLmd91lMUxZ7suxXR2pnmnMApA14lXnMrFWH/xIWHMWJRWmLtHk8Se7RBJ7NKbYTKdJRfEo0xQFJ2jBCq/ndLT+OEBAWC0shCD94bag0u8QfHuM8TFdhhdUv+xremh1YdEgbJX04fVWCzyIBAoGBAM4g8t3KCd+fcwn2tQOENr6G4pztm5qvFw1rsXK46K2P0Bggf54f+nrVBHUh1lSVk1uLyzx8QF7Btl++GD64w7MOWPC40osCNaL7uHqwFx1rrZdsuF0EM9lBtvzxBUbQkOh5T8U1cBCHupdETXsKmgAbdoBXyp22Z3En/zpSz8kJ

저 두개의 키가 암호화와 복호화를 위한 키 입니다.

암호화 함수 만들기


공개키와 개인키를 이제 만들었으면 우선 코드를 개별적으로 설명 드리겠습니다.

우선, encode 함수를 만듭니다.

    public static String encode(String decodeText) throws GeneralSecurityException, IOException {

        KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
        SecureRandom secureRandom = new SecureRandom();

        keyPairGenerator.initialize(2048, secureRandom);

        PrivateKey privateKey = (PrivateKey) loadPrivateKey(privateKeyString1);

        Cipher encryptionCipher = Cipher.getInstance("RSA");
        encryptionCipher.init(Cipher.ENCRYPT_MODE, privateKey);
        String message = decodeText;
        byte[] encryptedMessage = encryptionCipher.doFinal(message.getBytes());
        String encryption = Base64.getEncoder().encodeToString(encryptedMessage);

        return encryption;

    }

암호화 함수는 내용은 복잡하지만, 사용은 편하도록 encode(복호화된 텍스트) 형식의 함수를 만들었습니다.

나머지는 루틴이라고 생각하시면 되고 ^^ 앞에서 만든키를 키로 변환해 주는 과정이 필요합니다.

위 코드 중에

        PrivateKey privateKey = (PrivateKey) loadPrivateKey(privateKeyString1);

이 부분입니다. 이부분은 함수로 다시 작성해서 사용했씁니다.

    // 문자열 공개키를 Key 로 변환
    public static Key loadPublicKey(String stored)
            throws GeneralSecurityException, IOException {
        byte[] data = Base64.getDecoder().decode((stored.getBytes()));
        X509EncodedKeySpec spec = new X509EncodedKeySpec(data);
        KeyFactory fact = KeyFactory.getInstance("RSA");
        return fact.generatePublic(spec);
    }

    // 문자열 개인키를 Private Key로 변환
    public static PrivateKey loadPrivateKey(String key64)
            throws GeneralSecurityException {
        byte[] clear = Base64.getDecoder().decode((key64.getBytes()));
        PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(clear);
        KeyFactory fact = KeyFactory.getInstance("RSA");
        PrivateKey priv = fact.generatePrivate(keySpec);
        Arrays.fill(clear, (byte) 0);
        return priv;
    }

개인키 공개키를 모두다 할 수 있도록 만들었습니다.

복호화 함수 만들기


다음으로 decode함수의 소스 코드 입니다.

     public static String decode(String encodeText) throws GeneralSecurityException, IOException {

        KeyPairGenerator keyPairGenerator =
                KeyPairGenerator.getInstance("RSA");
        SecureRandom secureRandom = new SecureRandom();

        keyPairGenerator.initialize(2048,secureRandom);

        PublicKey publicKey = (PublicKey) loadPublicKey(publicKeyString1);

        //Decrypt Hello world message
        Cipher decryptionCipher = Cipher.getInstance("RSA");
        decryptionCipher.init(Cipher.DECRYPT_MODE,publicKey);
        byte[] decryptedMessage =
        decryptionCipher.doFinal(Base64.getDecoder().decode(encodeText));
        String decryption = new String(decryptedMessage);
        //System.out.println("decrypted message = "+decryption);

        return decryption;

    }

위 코드는 암호화된 텍스트를 넣으면, 복호화된 텍스트를 리턴하도록 만들었습니다.

암호화와 마찬가지로 중간에 아래 코드가 중요하고 그 내용은 복호화에 넣어둔 코드를 확인 하십시오.


         PublicKey publicKey = (PublicKey) loadPublicKey(publicKeyString1);

메인 함수에서 불러서 암복호화 해보기



      public static void main(String[] args) throws GeneralSecurityException, IOException {
        String encodeText = encode("Hello World. Welcome to Korea.  * ");

        System.out.println(encodeText);

        System.out.println("encoded Text : " + encodeText);

        String decodeText = decode(encodeText);

        System.out.println("decoded Text : " + decodeText);


    }

Hello World. 으로 시작하는 문자열을 암호화 했다가 복후화 하는 코드 입니다.

실행하면

encoded Text : c8AcbCp4bIARJA3EOW9cf41pRIefVhCvCWyxwcgwifWaDK8AX9RJoe8dOgPzuvauCZZG5ibbOMtvEPh06DUwojFzMngCtT3T6VOyzWDA/CBFN52jXZzqw9M1K1v3vZJ+0uft86TomxZvbWdxv5XPo5keh0HyWyexv3U5c5cXypMwBTDECUiQkUPjZN1aUf7dHGQG0uC+KuyNEKK4NDMddPWoo0gzlWxsxIBkm7oLpuKEcXP9ThM16JQD8rhskJbXwbhUL39xfmDSti8Om9DcrU6KCDakKeT7i72yRjAD5B60Da28jT1DlzwS9p7IlfPXdlybjLKUMUcQsF1rJ1Xvww==
decoded Text : Hello World. Welcome to Korea.  *

위와 같이 잘 복호화 되어서 나옵니다.

전체소스코드



package com.tistory.talkit;

import java.io.IOException;
import java.security.GeneralSecurityException;
import java.security.Key;
import java.security.KeyFactory;
import java.security.KeyPairGenerator;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.SecureRandom;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
import java.util.Arrays;
import java.util.Base64;

import javax.crypto.Cipher;

public class RSAEncode {

    public static String publicKeyString1 = "만들어진 public key";

    public static String privateKeyString1 = "만들어진 private key";

    public static void main(String[] args) throws GeneralSecurityException, IOException {
        String encodeText = encode("Hello World. Welcome to Korea.  * ");

        System.out.println(encodeText);

        System.out.println("encoded Text : " + encodeText);

        String decodeText = decode(encodeText);

        System.out.println("decoded Text : " + decodeText);


    }

    public static String decode(String encodeText) throws GeneralSecurityException, IOException {

        KeyPairGenerator keyPairGenerator =
                KeyPairGenerator.getInstance("RSA");
        SecureRandom secureRandom = new SecureRandom();

        keyPairGenerator.initialize(2048,secureRandom);

        PublicKey publicKey = (PublicKey) loadPublicKey(publicKeyString1);

        //Decrypt Hello world message
        Cipher decryptionCipher = Cipher.getInstance("RSA");
        decryptionCipher.init(Cipher.DECRYPT_MODE,publicKey);
        byte[] decryptedMessage =
        decryptionCipher.doFinal(Base64.getDecoder().decode(encodeText));
        String decryption = new String(decryptedMessage);
        //System.out.println("decrypted message = "+decryption);

        return decryption;

    }

    public static String encode(String decodeText) throws GeneralSecurityException, IOException {

        KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
        SecureRandom secureRandom = new SecureRandom();

        keyPairGenerator.initialize(2048, secureRandom);

        PrivateKey privateKey = (PrivateKey) loadPrivateKey(privateKeyString1);

        Cipher encryptionCipher = Cipher.getInstance("RSA");
        encryptionCipher.init(Cipher.ENCRYPT_MODE, privateKey);
        String message = decodeText;
        byte[] encryptedMessage = encryptionCipher.doFinal(message.getBytes());
        String encryption = Base64.getEncoder().encodeToString(encryptedMessage);

        return encryption;

    }


    // 문자열 공개키를 Key 로 변환
    public static Key loadPublicKey(String stored)
            throws GeneralSecurityException, IOException {
        byte[] data = Base64.getDecoder().decode((stored.getBytes()));
        X509EncodedKeySpec spec = new X509EncodedKeySpec(data);
        KeyFactory fact = KeyFactory.getInstance("RSA");
        return fact.generatePublic(spec);
    }

    // 문자열 개인키를 Private Key로 변환
    public static PrivateKey loadPrivateKey(String key64)
            throws GeneralSecurityException {
        byte[] clear = Base64.getDecoder().decode((key64.getBytes()));
        PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(clear);
        KeyFactory fact = KeyFactory.getInstance("RSA");
        PrivateKey priv = fact.generatePrivate(keySpec);
        Arrays.fill(clear, (byte) 0);
        return priv;
    }

}

개인키와 공개키는  제가 만든 저위에 있는 것을 복사하셔도 되고, MakeKeyData를 이용해서 만드셔도 됩니다. 

그러나, 되도록이면 만들어서 사용하십시오. 공개된 개인키와 공개키를 사용하면 다음에 해킹 당했을 때 위험할 수 있습니다.

그리고, 주의할 점은 저 공개키와 개인키는 무조건 보관해두고 잃어버리시면 안됩니다. ^^

다음에 복호화가 안될꺼니까요.

감사합니다. 

 

반응형
반응형

제가 Java를 처음 시작할때는 eclipse가 아닌 EditPlus라는 편집기를 이용해서 Java개발을 한적도 있습니다. 

그런데, 요즘은 eclipse가 없으면 작업을 못합니다. 

저는 순수 eclipse도 사용하지만, 지난 글에서 이야기한 전자정부 프레임워크 개발 툴을 주로 사용 합니다. 

자바/Java 전자정부 표준프레임워크 개발환경 설치 및 실행하기 https://talkit.tistory.com/685

그래서 저 위에 있는 화면도 전자정부 프레임워크를 실행한 화면입니다.  ^^

오늘은 maven 프로젝트만 만들고 Hello World 만 찍어 보고 끝낼 생각 입니다. ^^

File >> New >> Maven Project 를 실행 하십시오

여기서는 Create a simple project(skip archetype selection)을 선택하고 Next를 누릅니다. 

위와 같이 Gropup 아이디는 가지고 있는 도메인이 있으시면 꺼꾸로 적으시고 ^^ 아니면 임의로 만드시면 됩니다. 

저는 일단 블로그 주소를 꺼꾸로 만들었습니다. ^^

Finish 를 클릭하시면 프로젝트가 생성 됩니다. 

위와 같이 나오면 잘 생성이 된 것입니다. 

JDK가 무쟈게 낮은 버전으로 제가 설정 했네요 ^^ 저건 다시 다음에 설정하고 일단 지금은 간단하게 Hello World만 찍을 꺼여서 실제 Maven 프로젝트의 중요 파일인 pom.xml 만 한번 살펴 보겠습니다. 

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.tistory.talkit</groupId>
  <artifactId>HelloWorld</artifactId>
  <version>0.0.1-SNAPSHOT</version>
</project>

위와 비슷하게 나와 있으면 잘 된 것입니다. ^^

왼쪽에 src/main/java를 클릭하시고 오른쪽 마우스 클릭하셔서 New 선택하시고, Package를 선택하심시오.

그리고 위와 같이 화면이 뜨면 저처럼 저렇게 입력하셔도 되고 본인의 고유 패키지를 입력하십시오.

이렇게 변경 되었을 꺼구요. 저기다가 Java 프로그램을 하나 만들겠습니다. 

여기서는 프로그램이 아니고 Class 입니다. 

패키지를 클릭하고 오른쪽 마우스 누르고, New 누르고, Class를 선택하십시오.

Class 명령은 HelloWorld로 했구요. 나머지는 그대로 두시고, public static void main(String[] args)를 체크하고, Finsih를 누릅니다. 

그러면 위와 같이 나올껍니다. 

저기 중간에 있는 코드 창에다가 우리가 작업하려고 하는 코드를 넣으면 됩니다. 

// TODO Auto-generated method stub

위 코드를 지우시고, 아래 코드로 변경해 보십시오.

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

위 코드만 넣으시면 됩니다. 

패키지가 다를 수도 있지만, Full Code는 아래와 같습니다. 

package com.tistory.talkit;

public class HelloWorld {

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

	}

}

저걸 복사하시고 package 부분만 변경해주셔도 됩니다. ^^

그럼 이제 실행해보겠습니다. 

HelloWorld.java를 클릭하시고 오른쪽 마우스를 누른다음에 Run As >> Java Application 순으로 실행하시면 됩니다. 

하단의 콘솔창에 저희가 출력한 Hello World!! 가 출력 되었습니다. ^^

일단 이번에는 여기까지 하고, 다음에는 pom.xml에 필요한 라이버러리를 추가하고 패포를 위한 설정을 하는 등의 과정을 보여 드리겠습니다. 

감사합니다. 

 

반응형
반응형

안녕하세요 가야태자 @talkit 입니다.

개발환경 - 3.x 다운로드 | 표준프레임워크 포털 eGovFrame

처리중입니다. 잠시만 기다려주십시오.

www.egovframe.go.kr](https://www.egovframe.go.kr/home/sub.do?menuNo=41)

위 그림 처럼 보이게 하려면 위 링크에 접속하시면 됩니다.

4.대가 나오긴 했지만, 3.대로 설치 하겠습니다.

4.대는 좀 더 안정적이 되면, 진행하고 하겠습니다.

준비물


PC에 Java/JDK가 설치 되어 있다고 전제 합니다.

Java/JDK 설치는 Java 설치 글을 하나 적겠씁니다. ^^

다운로드


다운로드 URL은 개발환경 - 3.x 다운로드 | 표준프레임워크 포털 eGovFrame

위에서 말씀 드린대로 위와 같습니다.

윈도우즈 리눅스 맥OS 용도 있으니까 필요한 개발환경을 다운로드 하시면 됩니다.

저는 일단 오늘은 윈도우즈에 설치하고, 다음에 우분투에 한번 설치 해보겠습니다.

위와 같이 나오면 첨부파일을 클릭 합니다. OS 표시가 아무것도 안된 것이 윈도우즈용 입니다. ^^

오 정말 간편해 졌네요 ^^ .exe로 되어 있는 텍스트를 클릭하시고, 다운로드 버튼 한번 더 눌러 주시면 됩니다.

예전에는 T.T 로그인을 하고 했는데 요즘은 그냥 다운로드가 가능 하네요 ^^

저는 지금 다운로드 하고 있습니다.

설치하기


오 다운로드가 다 되었습니다. ^^

저는 c:\dev 폴더에 다운로드를 했기 때문에 폴더 안에 저 파일이 들어 있습니다.

실행 하시면 됩니다.

저는 V3가 파일에 대해서 주의로 판단을 했습니다. 하지만, 저기 그대로 두기를 선택하고 확인 하시면 됩니다. ^^

저는 보통 C 드라이브의 dev 폴더에 개발 환경을 구성 하기 때문에 저렇게 했고, 원하는 폴더로 서택하시면 됩니다.

저기서 압축 풀기를 선택하십시오.

저는 c:\dev에 설치 했기 때문에 잘 설치 되었습니다.

일단 설치는 여기까지 끝입니다.

전자정부 표준프레임워크 개발환경 실행


실행을 해보겠습니다. 저기 eclipse 폴더에 들어가셔서 eclipse.exe를 더블 클릭 하시면 됩니다. ^^

Java가 설치 되어 있지 않으면 위와 같이 실행이 안될껍니다. ^^

Java가 설치 되어 있고, 패스가 잘 걸려 있으면 그냥 실행 됩니다. 

처음 실행하면 아마 비슷하게 물을 것입니다. 

그런데 저는 c:\dev\ 개발환경 폴더 밑에다가 설치 하겠습니다. 

아까 압축을 푼 폴더를 선택하시고 Launch를 클릭하시면 됩니다. 

이제 실제로 전자정부 개발 환경이 설치 되고 잘 실행 되었습니다. 

저화면은 Welcome 옆에 X 버튼으로 닫아 주시면 됩니다. 

다음 부터 전자정부 프레임워크를 이용해서 제가 해보고 싶은걸 좀 해보겠습니다. 

감사합니다. 

 

반응형
반응형
eclipse 로 자바 프로젝트를 하시는 분들은 다 시리라고 생각하시면

가금 자바 작업을 하는 저로서는 맨날 까먹어서 ^^;;

적어 둡니다.

우선 이클립스를 열구요

프로젝트를 선택하고

오른쪽 마우스를 클릭합니다.

그리고, 프로퍼티(properties)를 선택한 다음에

Java Compiler 을 선택 하십시오

그리고 다음 그림의 부분을 원하는 버젼으로 선택하시면 됩니다.


JDK는 아무버젼이나 까시구요

단, 상위버전은 불가능하고 현재 버전의 하위 버전만 가능합니다. ^^;;

반응형
반응형
우리집에는 방하나의 벽면에 가득히 IT  서적이 놓여 있습니다.

조금씩 제 글들에서 이야기를 했지만,

저는 SI 업체에서 PHP를 주 업무로 밥을 벌어 먹고는 사는 사람입니다.

그런데, 옛날에는 몇권의 PHP 책이 서가에 꽂혀 있었습니다.

그런데 그책 2권이 없어지고 난 뒤부터 

누군가를 빌려 드렸는데 돌려 봤지 못했습니다. T.T

제 서가에는 PHP 책이 늘어 나지를 않습니다. ^^;;

그런데, JAVA, C/C++, .net 책들은 쌓여 가고 있습니다.

그리고, 방법론에 관한 책

지속적인 통합과 관련된 책

GUN로 하는 프로그래밍 책들은 쌓여 가고 있습니다.

그리고 보니 제 블로그도 마찬가지 입니다.

제 블로그의 분류에 PHP와 관련된 카테고리는 없습니다.

단, 1호점에는 PHP와 관련된 카테고리도 있고 글들도 있습니다.

2호점과 talkit에서는 저 글들이 없네용 ^^;;

요즘 java, .net, c/c++ 등의 언어를 닥치는 대로 하고 있고,

회사에서는 지속적인 통합에 관심이 있어서

밑에 직원들을 괴롭히고 있구요.

아마도 java .net c/c++은 가끔 합니다 제가 하고 싶을때

참 요즘 java는 주 업무가 될 분위기를 띠고 있지만용 ^^;;

정신 없이 글을 썼네용..

참고로 제가 잘 안쓰는 언어는 잘 까먹더라구요.

그래서 java에 대한 지식을 차곡 차곡 쌓아 두면 다음에 많이 써먹을 수 있습니다.

php는 생각보다 먼저 코드를 치고 있습니다.

치고 있는 그 코드가 정확하구용 ^^;;

하지만, 자바는 아직도 설레입니다.

걱정도 되구용.

그래서 책도 많이 사게 되고 인터넷에서 답을 발견하면 그걸

블로그에 옮겨 적습니다.

그러면 다음에 그을을 들어와서 참고 하면 되니깐요 ^^;;

앞으로도 비슷하지 않을까 생갃합니다만

조만간 좀 정신을 차리면

PHP에 관한 글들도 작성해 볼 생각입니다. ^^;;

그럼 모두들 즐거운 하루 되세용.


반응형
반응형
http://shinji.springnote.com/pages/619311

요즘 이슈 관리툴로 mantis를 사용해서 작업을 하고 있다.

trac을 사용하려고 했지만

trac이 잘 안되가지고 ㅋㅋㅋ

맨티도 무지 괜찮은 툴이더라구요

그런데

박재성님이 쓰신 자바 프로젝트 필수 유틸리티 책에 보니깐

trac과 eclipse의  MyLyn을 연동하는 부분이 나옵니다.

그래서 mantis와 eclipse는 연동이 안될까 하는 생각을 했습니다.

네 박사와 구글신에 문의를 해본 결과 위에 링크에 그 답이 있었습니다.

그런데

클라이언트는 제대로 설치를 했는데

제가 한 작업 중에 말썽이 있었습니다. ^^;;

mantis의 Web Service 서버버젼을 압축을 풀명 webservice/mc 이렇게 시작 합니다.

ㅋㅋㅋ 그래서 그대로 두었습니다.

그런데 T.T 저게 문제였습니다.

mc는 무조건 mantis가 설치된 디렉토리 아래에 설치 하십시오

이름은 어떻게 바꿔도 되지만 ^^;;

서버에 web service 설치 하실때 꼭 mantis의 하부 디렉토리에 설치 하셔야 됩니다. ^^;;

저같이 삽질 하는 사람이 없기를 바라면서 적습니다.^^;;

저도 다음에 삽질을 안하려구요.

PS.참 그리고, 이슈 관리툴로 mantis를 선택하게 된 이유는

mantis가 PHP로 되어 있다는 겁니다. ^^;;



반응형
반응형

일반적인 에디터에서 Ctrl + G 키를 누르면

원하는 라인으로 이동합니다.

그런데 이클립스에서는 저키가 다른 역할을 합니다.

이클립스에서 원하는 라인(줄)로 이동하기는

Ctrl + L 입니다.

잊어버리지 말자 ^^; Ctrl + L


반응형

'JAVA' 카테고리의 다른 글

JSP에서 Referer  (0) 2009.07.26
JSP 클라이언트 아이피 구하기  (0) 2009.07.26
jsp 에서 sessionid 구하기  (0) 2009.07.26
[JAVA] cos.jar로 파일 업로드 하기  (0) 2009.04.03
자바 프로젝트 필수 유틸리티  (0) 2009.03.28
반응형
http://blog.naver.com/lbiryu?Redirect=Log&logNo=30036180630

서브 이클립스를 구해서 설치하는 문서는 위 문서를 참조 하시면 될것 같습니다.

오늘 이야기 하고자 하는 것은 서브 이클립스를 이용해서 실제로 Subversion 서버에 접속해서 다운 받는 이야기를 하고자 합니다.

그리고, 또한가지 리눅스에 서버버전을 설치하는 문서는 제가 작성한

[Linux] 버전관리(형상관리)툴 Subversion 설치 문서를 참조 하십시오 ^^;;

우선, subclipse를 설치 하셨으면

1. eclipse를 실행 하십시오

2. Window >> Show View >> Other >> SVN >> SVN Repositories 를 클릭하십시오

3. Window >> Preferences >> Team >> SVN 항목에 SVN Interface 의 Client를 Pure Java 로 시작하는 놈으로 변경하고 OK 를 누르십시오


3번은 SVN 인증 때문에 매우 중요합니다. ^^;;

4. 2번에서 리포지토리 화면을 여신 부분에서 오른쪽 마우스를 누르시고
New >> Respository Location... 을 선택 하십시오


5. Add SVN Respository 화면에서 Subversion 서버 주소를 적으십시오
Subversion 서버를 일반적으로 까신 경우는
svn://아이디@subversionserveraddress/저장소위치

예를들면)svn://kjh0523@yourdomain.com/dulihanacom

위와 같이 입력 하시면 됩니다.


그리고, ssh를 사용할 경우는
svn+ssh:// 와 같이 입력하시면 됩니다.

입력을 진행하고 나면 아래와 같이 아이디 패스워드를 묻는 사장가 나옵니다. 여기에 자신의 아이디/패스워드를 입력 하십시오. 그리고 밑에 Save Information을 클릭하십시오 ^^;;


위 정보를 입력하시고 나면

SVN에서 사용할 이름을 정하는 옵션이 나옵니다. 거기도 적당히 작성하십시오.


그러면 다시 레포지토리 화면으로 이동합니다.



펼쳐진 프로젝트 중에서 원하는 프로젝트를 클릭하고 오른쪽 마우스 누르셔서


CheckOut을 하시면 서버와 동일한 환경의 프로젝트를 사용하실 수 있습니다.


여기서 Finish 를 누르면 새로운 프로젝트가 생깁니다.

반응형

+ Recent posts