자바기초2008. 11. 6. 00:00

1. jdk 1.5 SE 설치

2. eclipse 설치
http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/SR1/eclipse-jee-ganymede-SR1-win32.zip

3. eclipse 실행시 에러가 나면..
도스창에서 eclipse.exe -vm "C:\Program Files\Java\jdk1.5.0_16\bin\javaw.exe"

- eclipse를 지우려면 workspace까지 지워야 문제의 소지가 없다.

Posted by 아마데우스
PHP2008. 11. 5. 16:26

function getMonthEnd($month)
{
 if(strlen($month) == 6){
  $tmp = substr($month,0,4) .'-'. substr($month,4,2) .'-01';
 }else{
  $tmp = $month .'-01';
 }

 $tmp = strtotime("+1 month",strtotime($tmp));
 return date("d",strtotime("-1 day",$tmp));
}

Posted by 아마데우스
MySQL2008. 11. 4. 13:46
WHERE SUBSTRING(휴대폰필드명,1,3) NOT IN('010','011','016','017','018','019');
Posted by 아마데우스
MySQL2008. 11. 4. 11:59

<!--StartFragment-->CREATE TABLE member(
id varchar(30) not null,
name varchar(30),
cnt integer ,
primary key(id)
);

insert into member values ('aaaa','강만수',10);
insert into member values ('bbbb','강천수',11);
insert into member values ('cccc','강백수',12);
insert into member values ('dddd','강조수',13);
insert into member values ('eeee','강억수',14);

CREATE TABLE member_new(
id varchar(30) not null,
cnt integer,
primary key(id)
);


insert into member_new values('bbbb',129);
insert into member_new values('cccc',130);
insert into member_new values('dddd',131);


UPDATE member A, member_new B SET A.cnt=B.cnt WHERE A.id=B.id;
Posted by 아마데우스
자바기초2008. 11. 1. 16:49
       RunFrame r = new RunFrame();
       r.setSize(300, 100); 
       r.show(); ===>   r.setVisible(true);


Posted by 아마데우스
자바기초2008. 10. 31. 20:25

class ArrayParam {
 // 배열 복사를 위한 메모리를 메서드 내에서 생성
 public int[] copyArray(int[] src){
  int[] des = new int[src.length];
  for(int i=0; i<src.length; i++)
   des[i] = src[i];
  return des;
 }
 
 // 배열 복사를 위한 메모리를 매개변수로 받음
 public void copyArray(int[] src, int[] des){
  for(int i=0; i<src.length; i++){
   des[i] = src[i];
  }
 }
}
public class ArrayParamMain{
 public static void main(String[] args){
  ArrayParam p = new ArrayParam();

  int[] source = new int[]{1,2,3,4,5};
  
  int[] result = p.copyArray(source);
  
  for(int i=0; i<result.length; i++){
   System.out.println("result["+i+"] : "+ result[i]);
  }
  System.out.println();
  
  int[] target = new int[source.length];
  p.copyArray(source,target);
  
  
  
  for(int i=0; i<target.length; i++){
   System.out.println("target["+i+"] : "+target[i]);
  }
  
 }
}

Posted by 아마데우스
자바기초2008. 10. 31. 17:29
int[] source = new int[]{5,4,6,7,9,9};
int[] target = {100,200,300,400,500,600,700};
System.arraycopy(source, 2, target, 3, 4);
// 소스의 2번째부터 target의 3번째 위치부터... 4개를 복사한다.

또는

int[] target = (int[])source.clone();
// clone()을 이용한 메모리 복사
Posted by 아마데우스
자바기초2008. 10. 31. 16:17

eclipse.exe -vm c:\Sun\SDK\jdk\bin\javaw.exe

javaw.exe 파일의 위치를 맞춰주면 된다.
Posted by 아마데우스
자바기초2008. 10. 29. 17:51
** 자바에서 상속은 extends 라는 키워드를 사용한다.
** 단일 상속만 허용한다.
** 다중 상속의 대한으로 interface를 지원한다.
** 상속을 받으면 부모의 생성자 먼저 호출된다.
Posted by 아마데우스
자바기초2008. 10. 29. 17:26

** 생성자는 마음대로 호출할 수 없다.
** 생성자도 오버로딩할 수 있다.
** 생성자를 정의하지 않으면 디폴트 생성자가 호출되며 그가 하는 일은 없다.
** 생성자는 리턴타입이 없다. void도 넣으면 안된다. (아무튼 안되더라.. ^^)

Posted by 아마데우스
자바기초2008. 10. 29. 16:13

public class TopStatic {
 public static int sum(int x, int y){
  return x + y;
 }

 public int minus(int x, int y){
  return x - y;
 }

 public static void main(String[] args){
  int s1 = TopStatic.sum(100,200);
  System.out.println("TopStatic.sum(100,200):" + s1);
  TopStatic t = new TopStatic();
  int s2 = t.sum(100,200);
  System.out.println("t.sum(100,200):" + s2);
  int s3 = t.minus(100,200);
  System.out.println("t.minus(100,200):" + s3);
 }
}

스태틱 멤버 메서드와 스태틱 멤버 변수는 생성자 이전에 이미 생성되기 때문에 클래스 이름으로 직접 접근이 가능하다. 따라서, 일반 멤버변수를 스태틱 멤버 메서드에 사용하면 안된다.


Posted by 아마데우스
자바기초2008. 10. 29. 16:12

자바의 기본 데이터 타입
byte(1), short(2), char(2), int(4), long(8), float(4), double(8), boolean(1)

상수형
3.45 : 명시하지 않으면 double형 상수
3.45f
3.45d

정수형
345 : 명시하지 않으면 int형 상수
100L : long형 상수

----------------------------------------------------------------
Person.java

public class Person {
 public int age;
 public float height;
 public float weight;
} // end of Person class

c:\>javac Person.java ==> Person.class 생성

***************************
Person brother;
brother = new Person();
============================
Person brother = new Person();
brother.age = 20;
brother.height = 170.0F;
borther.weight = 67.5F;


 

Posted by 아마데우스
JSP2008. 10. 29. 06:29

taglib 지시자는 JSP 기능을 확장할 때 사용하는 사용자 정의 태그의 집합을 의미합니다.
한마디로 JSP 태그(액션 태그)가 지원하지 못하는 부분을 사용자가 직접 작성하여
그 태그를 불러다 사용하겠다는 말입니다.

참고로 말씀드리면 사용자 정의 태그를 사용하기 위해서는 XML 문법의 기초 정도는 알아야합니다.

 <%@ taglib URI="URI" prefix="tagfix" %>

Posted by 아마데우스
Linux2008. 10. 29. 06:22

1. MySQL 드라이버 복사
구글에서 mysql-connector 검색하여    
mysql-connector-java-5.0.7.tar.gz 을 다운 받은 후

서버에 업로드하여 압축을 풀면
tar xzpf mysql-connector-java-5.0.7.tar.gz
mysql-connector-java-5.0.7-bin.jar 파일이 나온다.

해당 파일을 /usr/local/java/jre/lib/ext 폴더에 복사한다.
cp mysql-connector-java-5.0.7-bin.jar /usr/local/java/jre/lib/ext

 

2. tomcat을 재시작한다.
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/catalina.sh start

 

3. 코드를 작성하여 실행한다.

<%@ page contentType="text/html;charset=EUC-KR" import="java.sql.*" %>
<title>1</title>
** MySQL 연결 테스트
<%
    Class.forName("org.gjt.mm.mysql.Driver");
    Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;

    String id = "", name = "", office="";

    int counter = 0;

    try{
        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_name","user_name","user_password");

        stmt = conn.createStatement();
        rs = stmt.executeQuery("SELECT id,name,office FROM member");

... 이하 생략 ...

Posted by 아마데우스
Linux2008. 10. 28. 16:13


#!/bin/bash

if [ ! -d ./data/$(date +%Y%m) ]
then
mkdir ./data/$(date +%Y%m)
fi

** if문과 [ 사이에 반드시 space가 들어가야 오류가 발생하지 않습니다. **

Posted by 아마데우스