2010년 12월 31일
방명록
# by | 2010/12/31 23:59 | Guest | 트랙백 | 덧글(39)


# by | 2009/10/26 17:08 | Diray | 트랙백 | 덧글(1)






# by | 2009/08/05 11:33 | Diray | 트랙백 | 덧글(3)
최근 동아리 신입생 교육에 대해서 골머리를 앓던중에 갑자기 이런생각이 들었다.
신입생들에게 과연 알고리즘을 왜 배워야하는지 설명하려면 어떻게 해야할까?
단순히 백과사전처럼 알고리즘이란
어떤 문제의 해결을 위해 컴퓨터가 사용 가능한 정확한 방법을 말한다. 알고리즘은 여러 단계의 유한한 집합으로 구성되는데, 여기서 각 단계는 하나 또는 그 이상의 연산을 필요로 한다.
이라고 설명해줘야할까?
그건 아니라고 본다. 분명히 이해도 못할 뿐더러 필요성도 못느낄것이리라는 생각이 들었다.
하여 고민중에 이런 생각이 들었다.
자 제군들 1부터 100까지 더하는 프로그램을 만들어라.
아마 대부분 다음과 같은 프로그램을 코딩할것이다.
#include <stdio.h>
#include <conio.h>int main(){
int sum, maxplus;
sum = 0;
maxplus = 100;
for(int i = 1; i <= maxplus; i++)
sum += i;printf("%d\n",sum);
getch();
return 0;
}
그러나 알고리즘을 알고 있다거나 조금 머리가 비상한 친구는 다음과 같이 코딩을 할 수도 있을 것이다.
#include <stdio.h>
#include <conio.h>int main(){
int sum, maxplus;
sum = 0;
maxplus = 100;
sum = (maxplus+1)*(maxplus/2);
printf("%d\n",sum );
getch();
return 0;
}
(x/2) * (x + 1) = r
(ex: 50 * 101 = 5050)

# by | 2009/07/27 11:48 | Development | 트랙백 | 덧글(17)
<input type="text" name="temp" id="temp" value="0" />
<input type="text" name="temp" id="temp" value="1" />
<input type="text" name="temp" id="temp" value="2" />
<input type="text" name="temp" id="temp" value="3" />
Request.Form("temp")(1) = 0
Request.Form("temp")(2) = 1
Request.Form("temp")(3) = 2
Request.Form("temp")(4) = 3
Dim arrRequestVar
Set arrRequestVar = Request.Form("temp")
arrRequestVar (1) = 0
arrRequestVar (2) = 1
arrRequestVar (3) = 2
arrRequestVar (4) = 3
# by | 2009/07/20 11:36 | Development | 트랙백 | 덧글(0)
저장프로시저를 통해 혹은 동적 쿼리를 이용하여 테이블을 생성할 때
같은 이름의 테이블이 존재하면 에러메세지와 함께 프로그램이 종료(해당 처리가 되어 있을 경우)가 되게 된다.
이를 막기 위해서는 두가지 가정을 할 수 있는데
P) 같은 이름의 테이블이 존재한다면
1. 해당 테이블을 삭제 하고 테이블을 새로 생성
2. 해당 테이블이 있으므로 생성하지 않음
이런경우 우리는 쿼리를 이용하여 두가지 경우 모두를 해결할 수 있다.
바로
IF EXISTS()
IF NOT EXISTS()
구문이다
이는 해당 조건을 만족하면 실행하고 그렇지 않을경우 실행하지 않는 것인데,
이를 이용하면 동적으로 테이블을 생성할 경우 중복 테이블을 방지 할 수 있다.
1. 해당 테이블을 삭제 하고 테이블을 새로 생성
IFEXISTS(SELECT name
FROM sysobjects
WHERE name = N'table_name'
AND type = 'U')DROP TABLE table_name
GO
CREATE TABLE table_name (
<column_1, sysname, c1> <datatype_for_column_1, , int> NULL,
<column_2, sysname, c2> <datatype_for_column_2, , int> NOT NULL)
GO
2. 해당 테이블이 없으면 테이블을 생성함
IFNOT EXISTS(SELECT name
FROM sysobjects
WHERE name = N'table_name'
AND type = 'U')BEGIN
CREATE TABLE table_name (
<column_1, sysname, c1> <datatype_for_column_1, , int> NULL,
<column_2, sysname, c2> <datatype_for_column_2, , int> NOT NULL)
END
예전에 작성해둔것이었는데 이게 은근히 헷갈린다.
하여 다시 포스팅을 했다.
# by | 2009/07/20 10:46 | DBMS | 트랙백 | 덧글(0)
| 상수 | 값 | 설명 |
| adBigInt | 20 | 8 바이트의 부호 있는 정수(DBTYPE_I8)를 나타낸다. |
| adBinary | 128 | 이진 값(DBTYPE_BYTES)을 나타낸다. |
| adBoolean | 11 | Boolean 값(DBTYPE_BOOL)을 나타낸다. |
| adBSTR | 8 | Null 종결 문자열(유니코드)(DBTYPE_BSTR)을 나타낸다. |
| adChapter | 136 | Child RowSet에서 Row를 식별하기 위해서 사용되는 4 바이트 Chapter 값(DBTYPE_HCHAPTER)을 나타낸다. |
| adChar | 129 | String 값(DBTYPE_STR)을 나타낸다. |
| adCurrency | 6 | Currency 값(DBTYPE_CY)을 나타낸다. Currency는 소수점 이하의 자릿수가 4개인 고정 자릿수이다. 이 값은 10,000으로 환산된 8바이트의 부호 있는 정수로 저장된다. |
| adDate | 7 | Date 값(DBTYPE_DATE)을 나타낸다. 날짜는 Double 형식으로 저장되며, 정수 부분은 1899년 12월 30일 이후의 날짜수이며 소수 부분은 하루 중 시간을 나타낸다. |
| adDBDate | 133 | 날짜 값(yyyymmdd)(DBTYPE_DBDATE)을 나타낸다. |
| adDBFileTime | 137 | 파일-시간 값(DBTYPE_DBFILETIME)을 나타낸다. |
| adDBTime | 134 | 시간 값(hhmmss)(DBTYPE_DBTIME)을 나타낸다. |
| adDBTimeStamp | 135 | 날짜-시간 스탬프(yyyymmddhhmmss에 10억분의 1초 단위가 추가된)(DBTYPE_DBTIMESTAMP)를 나타낸다. |
| adDecimal | 14 | 고정 정밀도와 크기로 나타낸 정확한 숫자 값(DBTYPE_DECIMAL)을 나타낸다. |
| adDouble | 5 | 배정도의 부동 소수점 값(DBTYPE_R8)을 나타낸다. |
| adEmpty | 0 | 지정된 값 없음(DBTYPE_EMPTY)을 나타낸다. |
| adError | 10 | 32 비트 오류 코드(DBTYPE_ERROR)를 나타낸다. |
| adFileTime | 64 | 1601년 1월 1일 이후의 1000만분의 1초 간격의 숫자를 표현하는 64 비트 값(DBTYPE_FILETIME)을 나타낸다. |
| adGUID | 72 | 전역 고유 식별자(GUID)(DBTYPE_GUID)를 나타낸다. |
| adIDispatch | 9 | OLE 개체에서 IDispatch 인터페이스에 대한 포인터(DBTYPE_IDISPATCH)를 나타낸다.참고 이 데이터 형식은 ADO에 의해서 현재는 지원되지 않는다. 이 데이터 형식의 사용은 예기치 않은 결과를 초래할 수 있다. |
| adInteger | 3 | 4바이트의 부호 있는 정수(DBTYPE_I4)를 나타낸다. |
| adIUnknown | 13 | OLE 개체에서 IUnknown 인터페이스에 대한 포인터(DBTYPE_IUNKNOWN)를 나타낸다.참고 이 데이터 형식은 ADO에 의해서 현재는 지원되지 않는다. 이 데이터 형식의 사용은 예기치 않은 결과를 초래할 수 있다. |
| adLongVarBinary | 205 | Long 이진 값(Parameter 개체만 해당)을 나타낸다. |
| adLongVarChar | 201 | Long String 값(Parameter 개체만 해당)을 나타낸다. |
| adLongVarWChar | 203 | Long Null 종결 문자열 값(Parameter 개체만 해당)을 나타낸다. |
| adNumeric | 131 | 고정 정밀도와 크기로 나타낸 정확한 숫자 값(DBTYPE_NUMERIC)을 나타낸다. |
| adPropVariant | 138 | 자동화 PROPVARIANT(DBTYPE_PROP_VARIANT)를 나타낸다. |
| adSingle | 4 | 단정도의 부동 소수점 값(DBTYPE_R4)을 나타낸다. |
| adSmallInt | 2 | 2 바이트의 부호 있는 정수(DBTYPE_I2)를 나타낸다. |
| adTinyInt | 16 | 1 바이트의 부호 있는 정수(DBTYPE_I1)를 나타낸다. |
| adUnsignedBigInt | 21 | 8 바이트의 부호 없는 정수(DBTYPE_UI8)를 나타낸다. |
| adUnsignedInt | 19 | 4 바이트의 부호 없는 정수(DBTYPE_UI4)를 나타낸다. |
| adUnsignedSmallInt | 18 | 2 바이트의 부호 없는 정수(DBTYPE_UI2)를 나타낸다. |
| adUnsignedTinyInt | 17 | 1 바이트의 부호 없는 정수(DBTYPE_UI1)를 나타낸다. |
| adUserDefined | 132 | 사용자 정의 변수(DBTYPE_UDT)를 나타낸다. |
| adVarBinary | 204 | 이진 값(Parameter 개체만 해당)을 나타낸다. |
| adVarChar | 200 | String 값(Parameter 개체만 해당)을 나타낸다. |
| adVariant | 12 | 자동화 Variant(DBTYPE_VARIANT)를 나타낸다. |
| adVarNumeric | 139 | 숫자 값(Parameter 개체만 해당)을 나타낸다. |
| adVarWChar | 202 | Null 종결 유니코드 문자열(Parameter 개체만 해당)을 나타낸다. |
| adWChar | 130 | Null 종결 유니코드 문자열(DBTYPE_WSTR)을 나타낸다. |
# by | 2009/07/03 11:35 | Web | 트랙백 | 덧글(2)
# by | 2009/07/02 16:03 | Development | 트랙백 | 덧글(2)
# by | 2009/06/25 09:16 | Fashion | 트랙백 | 덧글(3)
◀ 이전 페이지 다음 페이지 ▶