일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 확장 엘리먼트
- 이중 연결 리스트
- javascript prototype
- 배열 스택
- javascript this
- javascript new
- new 사용법
- npm Option
- 스택 배열
- 연결리스트
- Index Range Scan
- jQuery
- 연결 리스트
- 포인터
- 스택
- pattern
- 배열
- c언어 스택 배열
- 추상적 자료 구조
- 자료구조
- 큐 연결리스트
- Loose Index Scan
- javascript 생성자
- 생성자
- access
- Index Full Scan
- C#
- 생성자 new
- Index Skip Scan
- 연동
- Today
- Total
목록분류 전체보기 (55)
Open-Closed Principle
SQL Server는 자동으로 값을 생성하는 방법으로 두 가지 방법을 제공하고 있다. 하나는 identity 컬럼 속성을 이용하는 것이며, 다른 하나는 시쿼스 개체를 이용하는 것이다. 오늘은 identity에 대해서 알아보는 시간을 갖도록 하자 identity 속성은 아주 오래 전의 SQL Server 버전부터 지원이 되었다. 이 기능은 일부 시나리오서는 잘 동작하지만, 많은 결점을 가지고 있다는 것을 알아둘 필요가 있다. 글을 쓰면서 하나하나 설명하도록 하겠다. identity는 SQL Server에서는 숫자 형식의 컬럼(단, 소수점이 아닌)에 대해서 identity라는 속성을 정의할 수 있다. 이 속성은 커럼의 정의 부분에서 지정된 초기 값과 증가치(단계 값)를 이용해서 INSERT가 실행될 때마다 ..
함수에 인자를 넘기는 방식에는 두가지가 있다 .첫째, 값에 의한 호출(call by value)둘째, 참조에 의한 호출(call by reference)두가지의 가장 큰 차이점이라고 하면 함수를 실행하고 나서 인자가 영향을 받느냐 아니면 받지 않는냐에 있다. 예제를 보고 설명을 하는 것이 좋을 것같다. 1234567891011121314151617181920212223242526272829303132#include void SwapValue(int a, int b) // 1{ int temp = 0; temp = a; a = b; b = temp; } void SwapReference(int* a, int* b) // 2{ int temp = 0; temp = *a; *a = *b; *b = temp;}..
포인터란 주소(address)를 내용으로 가지는 변수(variable)이다. 포인터는 크게 두가지 요소로 구성되어 있다. 첫째, 내용으로 가지는 주소둘째, 가리키는 주소에 저장되어 있는 데이터의 형(data type)이다. 이 두가지만 잘 생각하고 응용하면 조금 복잡할 찌라도 해결할 실마리를 줄것이다. void 포인터란 포인터의 두 가지 요소중 둘재 요소인 가리키는 데이터형이 정해지지 않은 포인터를 의미한다. void 포인터의 정의는 가리키는 데이터형이 없으므로 데이형 자리에 void라는 예약어를 기술하면 된다. 1void *vptr;csvoid 포인터는 주소만 저장하는 포인터인데 그로 인해서 포인터 연상자를 사용할 때 주의해야 할 점이 있다. 첫째, 포인터가 가리키는 곳의 내용을 읽어내는 역참조(der..
윈도우 10으로 들어오면서 Windows 탐색기를 열면 이상한 녀석이 기본으로 보이기 시작했다. 바로 아래에 있는 녀석이다. 이녀석이 회사PC에서 개인용 업무에 사용하는 PC에서는 아주 좋은 기능이다. 그런데 이게 가족이 함께 사용하는 PC에서는 가족들 간의 개인의 사생활을 침해 할 수 있는 부분이기도하다. (돌려서 이야기 했는데 우동 같은 것을 이야기 하는 것이다 .) 그래서 이걸 숨기는 방법을 알려주도록 하겠다. 방법은 아주 간단하다. 1. 우선 파일 탐색기를 연다. 2. 파일 탐색이의 왼편에 보이는 "바로가기"를 왼쪽마우스를 통해 클릭한다. 3. "옵션"을 클릭하시면 됩니다. 4. 아래와 같은 "폴더 옵션"이 나오게 됩니다. 5. 폴터 옵션에서 개인 정보 보호 Group에 있는 빠른 실행에 최근에 ..
자바스크립트의 리터럴 표기법 패턴을 사용하면 좀더 정화하고 표현력이 풍부하면서도 에러율은 낮은 방식으로 객체를 정의할 수 있다. 자바스크립트에서 '객체'라고 하면 단순히 이름-값 싸의 해시 테이블을 생각하면 된다. 다른 언어에서 '연관 배열'이라 불리는 것과 유사하다. 자바스크립트에서 생성한 객체(다시 말해 사용자가 정의한 네이티브 객체)는 언제라도 변경할 수 있으며, 내장 네이티브 객체의 프로퍼티들도 대부분 변경이 가능하다. 빈 객체를 정의해놓고 기능을 추가해나갈 수도 있다. 객체 리터럴 표기법은 이처럼 필요에 따라 객체를 생성할 때 이상적이다. 1234567891011 // 빈 객체에서 시작한다. var dog = {}; // 프로퍼티 하나를 추가한다. dog.name = "Test"; // 이번에는..
javascript에도 기타 다른 언어들과 같이 for문이 존제 한다. 그런데 우리가 아무 생각없이(?) 하고 있이면서도 성능상에는 영향을 줄 수 있는(당연히 반복문이기 때문에 100만 루프이상을 이야기 하는 것이다.) 습관이 있다. 기본적으로 자바스크립트의 for문 문법은 아래와 같다. 구문for ([initialization]; [test]; [increment]) statement initialization : 선택 사항입니다. 이 식은 루프가 실행되기 전에 한 번만 실행됩니다. test : 선택 사항입니다. 부울 식입니다. test가 true이면 statement가 실행됩니다. test가 false이면 루프가 종료됩니다. increment : 선택 사항입니다. 식입니다. 증분식은 모든 루프의 끝에..
웹에서 프로그래밍을 하다보면 게시판처럼 페이징을 해야 하는 경우가 있다. 여기서 이야기 하는 페이징은 모든 데이터가 다 보이는 것이 아니라 정해진 크기만큼의 데이터 양을 순서대로 그룹을 형성하며 보여지는 형태를 이야기 한다. 정해진 크기의 데이터 만큼만 순서대로 보여줘야 하기 때문에 데이터 전체를 일렬로 나열을 해야 한다. 나열되는 순서는 데이터가 들어온 순서도 될 수 있고 데이터가 저장된 순서라던지 다양한 순서가 있을 것이다. 이렇게 데이터를 순서를 정한뒤 이 순서들중에서 필요한 데이터의 몇번째 그룹을 가져 올껀지 BETWEEN AND를 사용하여 가져오는게 일반적이다. 잘 이해가 안간다면 여기서 간단하게 쿼리를 만들어 보겠다. 123456789101112131415161718192021222324252..
AutoPostBack : 컨트롤의 Text 속성이 변경되었을 경우, 자동으로 폼을 서버로 전송할 것인지의 여부를 지정하는 속성값 = (TRUE/FALSE)TextChnaged : 컨트롤의 Text 속성이 변경되었을 경우 발생하는 이벤트 AutoPostBack 속성은 기본적으로 FALSE로 설정되어 있지만, 그 값을 TRUE로 변경할 수 있다. 만약 TRUE로 변경했을 경우 사용자가 텍스트의 값을 변경하는 즉시, 자동으로 폼은 서브밋 된다. 그리고, 서버에서는 기본적인 이벤트 처리와 함께 TextChanged라는 이벤트 함수도 처리된다. AutoPostBack 속성이 FALSE로 설정되어 있는 상태에서는 TextBox 컨트롤의 Text 값이 바뀌어도 그 즉시 폼이 서버로 게시되지는 않으며, 이것이 우리가..
AutoEventWireup원칙적으로 ‘Page_’라는 접두어를 가진 메서드가 해당 이벤트와 자동으로 연결도기 위해서는 @Page 지시자의 AutoEventWireup 속성이 true로 설정되어야 한다. 하지만 대부분 AutoEventWireup 속성을 신경 쓰지 않고 사용할 수 있는데, 이 속성을 명시적으로 지정하지 않은 경우 기본값이 true로 설정되기 때문이다. 예외적으로 Disposed와 DataBinding 이벤트는 AutoEventWireup 속성이 true이더라도 자동으로 이벤트가 매핑되지 않는다. 이러한 이벤트을 처리하려면 표준적인 방법을 따라 명시적으로 이벤트 처리기와 연결해야 한다. 예를 들어 Disposed는 Colored By Color Scripter™1this.Disposed +..
1차원 배열과 포인터에 대해서는 포스팅을 했다. 그런데 1차원 배열과 포인터 보다 더 중요한 2차원 배열과 포인터에 대한 내용을 포스팅 해보도록 하겠다. 기본적으로 1차원 배열도 많이 사용하지만 2차원 배열을 사용해야 할때 또한 다분히 존제 한다. 우선 기본 소스를 우선 보고 하나하나 찾아가 보자. Colored By Color Scripter™123456789101112131415161718192021222324252627282930313233int main(){ int i, j; int imsi[3][2] = {{6,3},{9,1},{7,2}}; int (*imsip)[2]; // 선언 imsip = imsi; // A for(i = 0; i Colored By Color Scripter™123456..