ㄱ. 목적

1. 처음보는 예제 코드나 소스뿐이 존재하지 않는 코드를 사용할 때 발생하는 using 문제를 해결해 본다.


ㄴ. 본론

1. Visual studio에서 코드를 처음 사용할 때 붉은 밑줄이 생긴다. 이는 적절한 클래스 집합이 using되지 않았기 때문이다. 이를 해결하기 위해 검색, 책 참고 등의 방법들이 있지만 다음과 같은 명령어를 통해 자동으로 using 할 수 있다.


2. 붉은 밑줄이 쳐진 자료형에 커서를 놓고 "Alt + Shift + F10"을 누르면 다음과 같이 자동으로 using이 추천되어 선택 하여 참조할 수 있다.

ㄷ. 결론

1. Visual studio에서 자동으로 클래스 집합을 Using 하는 법을 알아보았다.

Posted by 시크한공돌이
,



1. 목적

ㄱ. JSP Servlet 상에서 XML response를 하는 법을 배워보자


2. 본론

ㄱ.  JSP Servlet에서 XML response를 하기위해서는 콘텐츠의 타입과 문자열 인코딩 방법을 설정해야 함

response.setContentType("text/xml");

response.setCharacterEncoding("UTF-8");

ㄴ. 반환할 String 객체를 만들고 XML 버전과 엔코딩을 표시해주는 부분을 삽입하고 보낼 XML 태그를 연결함

StringBuffer retXML = new StringBuffer(1024);

retXML.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");

retXML.append("<DocuList>");

retXML.append("<Docu>");

retXML.append("Test XML");

retXML.append("</Docu>");

retXML.append("</DocuList>");

response.getWriter().println(retXML.toString());    //XML 리스폰스

ㄷ. 위와 같이 하면 XML형식의 문서가 출력되는 것을 볼 수 있음.


3. 결론

ㄱ. JSP Servlet에서 XML 문서를 출력하는 방법을 알아보았다.


'JSP 서블릿' 카테고리의 다른 글

JSP mysql과 연동하기  (0) 2013.12.31
JSP에서 XML 출력하기  (0) 2013.12.23
Posted by 시크한공돌이
,

ㄱ. 목적

1. Mysql의 테이블을 MyISAM 방식에서 InnoDB 방식으로 변경하는 방법을 알아본다.

ㄴ. 비교

1. MyISAM

장점 : 항상 테이블 명세에 row count를 가지고 있기 때문에

select count(*) from TABLE 이런식의 명령을 사용할 때 엄청 빠르다.

단점 : 많은 단점이 있지만 제일 큰 단점은 row level locking이 아닌 table level locking을 지원하기 때문에 한 테이블에 많은 접근이 이루어질수록 속도가 느려짐.

또한 트렌젝션을 지원하지 못하기 때문에 delete update를 잘못 사용 할 경우 백업 안하였을 경우에 큰 아픔이 따름.


2. InnoDB

장점 : 트랜젝션 지원, row level Locking 지원(ms-sql도 row level locking을 지원하지만 한 테이블에 locking이 많아질 경우 lock escalation(테이블 전체에 락이 걸리는 경우)가 있는데 mysql의 InnoDB에는 없음)

+ 트랜젝션이란? 

 정확성을 보장하기 위해 완전히 종료해야하는 데이터베이스 처리의 논리적 단위를 표현하는 개념.
대부분의 DBMS에서는 데이터의 일관성 및 동시성을 보장하기 위해 트랜잭션을 제공.


단점 : 풀 텍스트 인덱스를 지원 못함, 속도가 약간 느림, 테이블의 row 수의 정보를 가지고 있지 않기 때문에 select count(*) from TABLE 같은 식의 명령을 내릴때 innodb_buffer_pool에 해당 테이블의 인덱스 정보가 모두 들어가 있지 않다면 다시 스토리지 엔진이 하나하나 수를 계산하여 결과를 보여주기 때문에 매우 느림( 단 인덱스 컬럼으로 where 조건을 주어 count 하면 MyISAM과 동일한 속도를 보임)


ㄷ. 본론

1. 흔히 바꾸는 명령어는 다음과 같다.

alter table 테이블_이름 engine=InnoDB;

 하지만 위와 같은 명령어를 통해 테이블의 정보를 변경 할 경우, 실제로 운영하는 서비스의 처리속도가 떨어질 수 있다. 

 단순한 변환 명령보다 테이블을 새로 만드는 과정을 거치는 것이 좋다.


2.  다음과 같이 제일 마지막 부분의 ENGINE=InnoDB; 와 같은 구문을 첨가함으로써 InnoDB 테이블을 생성 가능하다.

CREATE TABLE customers (a INT, b CHAR (20), INDEX (a)) ENGINE=InnoDB;


3. 생성 후 다음과 같은 명령어로 InnoDB로 생성되었는지 확인 할 수 있다.

SHOW TABLE STATUS FROM test LIKE 'customers'


ㄹ. 결론

1. Mysql 에서 테이블을 InnoDB로 바꾸고 생성하는 법을 배워보았다.

2. 무조건 InnoDB만이 좋은 것은 아니다.


Posted by 시크한공돌이
,

ㄱ. 목적

1. WPF에서 WrapPanel을 이용한 동적 객체 표시를 알아본다.

2. WrapPanel의 특성을 알아본다


ㄴ. 본론

1. WrapPanel은 자식 요소를 왼쪽부터 오른쪽으로 순차적으로 배치하고, 해당 부모 컨테이너의 끝에 도달할 경우 내용을 자동으로 다음 줄로 바꾸는데 사용된다.

 콘텐스는 가로 또는 세로 방향으로 설정할 수 있다.  WrapPanel은 간단한 유동 UI(사요ㅕㅇ자 인터페이스) 시나리오에 유용하며 모든 해당 자식 요소에 동일한 크기를 적용 가능함.


2. 예제 - 버튼을 생성하여 줄이 바뀌는 것을 보는 예제

C# 코드

XAML


결과 화면

일반적인 WrapPanel 요소


ㄷ. 결론 

1. WrapPanel을 이용하여 간단한 나열식의 UI생성을 살펴보았다.

Posted by 시크한공돌이
,



1. 목표

JSP와 MYSQL 연동법을 알아봅시다.

2. 준비

ㄱ. http://www.oracle.com/technetwork/java/javase/downloads/index.html 에서 JDK를 다운받는다.

jdk 다운

JDK 다운로드 버튼을 눌러 이동


ㄴ. 자신의 플렛폼에 맞는 설치 파일을 받음

플랫폼별 JDK


ㄷ. http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-3.1.12.zip/from/pick 에서 mysql connector를 받음.

ㄹ. 이클립스 프로젝트 목록에서 MYSQL 연결할 프로젝트에서 마우스 오른쪽 버튼을 눌러 Properties->Java Build Path->Libraries에서 Add external Jars 선택 후 받은 폴더에서 mysql-connector-java-버전.bin.jar 선택

ㅁ. 그 후 mysql-connector-java-3.1.12-bin.jar 파일을 WebContent-WEB-INF-lib 폴더 밑에 넣어주면 연결 준비가 완료 된다.


'JSP 서블릿' 카테고리의 다른 글

JSP Servlet XML 출력  (0) 2014.01.14
JSP에서 XML 출력하기  (0) 2013.12.23
Posted by 시크한공돌이
,



1. 목적

ㄱ. JSP 에서 XML 출력을 해보자


2. 본론

ㄱ. jsp에서 xml 형식으로 출력하기 위해서는 선언문이 최 상단에 있어야 함

<?xml version="1.0" encoding="euc-kr"?>


ㄴ.  컨텐트 타입이 contentType="text/xml" 이어야 함

<%@ page contentType="text/xml;charset=euc-kr" %>


ㄷ. 태그는 그대로 노출시켜 준다.


ㄹ. 전체 예제 소스

src/form/GenerateXml.java

package form;

public class GenerateXml{

//여긴 그냥 프라이빗으로 게터 세터 만들어 준 것 밖에 없음


 private String id = "babobox";

 private String name = "홍길동";

 private String address="서울 특별시"; 

 private String contactNo="12345"; 


 public void setId(String id) {

        this.id = id;

    }

    public String getId() {

        return this.id;

    }

    public void setName(String name) {

        this.name = name;

    }

    public String getName() {

        return this.name;

    }

 public void setAddress(String address) {

        this.address = address;

    }

    public String getAddress() {

        return this.address;

    }

 public void setContactNo(String contactNo) {

        this.contactNo = contactNo;

    }

    public String getContactNo() {

        return this.contactNo;

    }

}


WebContent/xml.jsp

<?xml version="1.0" encoding="euc-kr"?>

<%@ page contentType="text/xml;charset=euc-kr" %>
<!-- 페이지 부분은 반드시 text/xml로 되어있어야 함 --> 

<jsp:useBean id="xml" class="form.GenerateXml"/>
<!-- src/form/GenerateXml.java파일을 xml 정보 생성용으로 사용함-->

 <Company><!-- 태그는 자신이 원하는 것으로 -->

 <Employee>

 <Employee_Id><%= xml.getId() %></Employee_Id> 

<Employee_Name><%= xml.getName() %></Employee_Name> 

<Employee_Address><%= xml.getAddress() %></Employee_Address> 

<ContactNo><%= xml.getContactNo() %></ContactNo>

 </Employee>

 </Company> 


3. 결론

ㄱ. jsp 에서 xml을 출력하는 법을 배워보았다.

'JSP 서블릿' 카테고리의 다른 글

JSP Servlet XML 출력  (0) 2014.01.14
JSP mysql과 연동하기  (0) 2013.12.31
Posted by 시크한공돌이
,

1. 목적

ㄱ. Mysql의 DB, Table 생성 방법과 레코드 추가, 컬럼의 수정 방법을 알아본다.


2. 본론

ㄱ. 먼저 DB 생성 방법을 알아보도록 한다. 
    DB 생성은 다음과 같은 명령어로 생성한다.

create database createTest;

create database DB이름;


ㄴ.  다음은 테이블 생성 방법이다.

CREATE TABLE userInfo ( memberNo INT primary key auto_increment not null, memberId VARCHAR(20) not null, memberPw VARCHAR(40) not null, mail VARCHAR(50) );

CREATE TABLE 테이블명 ( 필드이름 자료형 추가, memberId VARCHAR(20) not null, memberPw VARCHAR(40) not null, mail VARCHAR(50), ........... );

a. 자료형은 다음과 같음

mysql 자료형 모음


ㄷ. 다음은 레코드 삽입 방법을 알아보자.

INSERT INTO table_name (field1, field2, ...) VALUES (value1, value2, ...)
INSERT INTO 테이블이름 (field1, field2, ...) VALUES (value1, value2, ...)

ㄹ. 필드의 속성 변경 방법을 알아보자

alter table userInfo modify column mail int;

alter table 테이블이름 modify column 필드명 자료형;

ㅁ. 필드의 이름 및 속성 변경하는 법을 알아보자

alter table userInfo change mail memberMail VARCHAR(50);

alter table 테이블명 change 이전컬럼명 바뀔컬럼명 자료형;


3. 결론

ㄱ. Mysql에 DB 생성, table 생성, 레코드 삽입, 컬럼의 수정에 대하여 알아보았다.

Posted by 시크한공돌이
,

1. 목적

ㄱ. 리눅스 상에서 블루투스를 통한 통신을 하기 위하여 rfcomm 방식의 통신의 예를 통해 통신하여 본다.


2. 본론

ㄱ. 먼저 블루투스 통신은 크게 2가지로 나뉜다. 

a. TCP 같은 기능을 하는 RFCOMM : TCP는 65535개의 포트를 지원하지만 RFCOMM은 30개의 포트를 지원함

b. UDP와 같은 기능을 하는 L2CAP


ㄴ. 아래의 소스코드는 RFCOMM 예제이이다. RFCOMM 프로토콜은 더욱 믿을 수 있는 연결을 지원한다(TCP와 유사함)


ㄷ. 다음의 명령어를 통해 서버측 디바이스의 블루투스 address를 알아 볼 수 있다.

$ hcitool dev

Devices:
hci0 00:1F:81:03:11:22


ㄹ. RFCOMM server.c 소스


ㅁ. RFCOMM client.c 소스


3. 결론

ㄱ. 블루투스의 RFCOMM  프로토콜 통신의 예를 통해 학습하여 보았다.

Posted by 시크한공돌이
,

1. 목적

ㄱ. 우분투 상의 블루투스 디바이스의 이름을 변경하여 보자


2. 본론

ㄱ. 우분투의 블루투스 디바이스의 이름을 바꾸기 위해 블루투스 기기의 adress를 먼저 확인

hciconfig

ㄴ. 확인하여 나오는 블루투스의 adress가 XX:XX:XX:XX:XX:XX라 가정하고 다음의 파일을 편집하면 블루투스 기기의 이름을 변경할 수 있다.

/var/lib/bluetooth/XX:XX:XX:XX:XX:XX/config

ㄷ. 그 후 다음 명령어를 실행하여 블루투스를 재시작 해줌

sudo /etc/init.d/bluetooth restart


3. 결론

ㄱ. 블루투스 디바이스의 이름 변경을 하는 법을 알아보았음.

Posted by 시크한공돌이
,

1. 목적

ㄱ. 리눅스 ./configure시에 다음의 에러가 발생할 때 어떻게 해결하는지 알아본다.

 ./configure

checking for a BSD-compatible install... /usr/bin/install -c

checking whether build environment is sane... configure: error: newly created file is older than distributed files!

Check your system clock


2. 본론 

ㄱ. 위의 에러의 마지막을 보면 새로 만들어진 파일이 분산된 파일들보다 오래되었다 라는 말이 있고 시스템 시간을 확인하라고 한다.

ㄴ. 이는 리눅스 시스템의 시간 이상으로 인한 에러임으로 rdate나 ntp같은 시간 관리 소프트웨어를 통해 정상적인 시간을 맞춰주게 되면 해결된다.

sudo apt-get install ntp

ㄷ. 아래와 같이 수동으로 변경도 가능하다.

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

[root@falinux ~]$ date -s "052314262012"

Wed May 23 14:26:00 UTC 2012

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


3. 결론

ㄱ. ./configure의 에러를 해결하는 법을 알아보았다.

Posted by 시크한공돌이
,