일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- access
- 연결리스트
- 포인터
- javascript this
- 연결 리스트
- 스택
- 이중 연결 리스트
- 연동
- javascript 생성자
- javascript new
- pattern
- 생성자
- 생성자 new
- javascript prototype
- C#
- 자료구조
- jQuery
- Loose Index Scan
- 큐 연결리스트
- Index Full Scan
- c언어 스택 배열
- new 사용법
- Index Skip Scan
- 배열 스택
- npm Option
- Index Range Scan
- 스택 배열
- 확장 엘리먼트
- 추상적 자료 구조
- 배열
- Today
- Total
목록Programming (51)
Open-Closed Principle
함수에 인자를 넘기는 방식에는 두가지가 있다 .첫째, 값에 의한 호출(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..
자바스크립트의 리터럴 표기법 패턴을 사용하면 좀더 정화하고 표현력이 풍부하면서도 에러율은 낮은 방식으로 객체를 정의할 수 있다. 자바스크립트에서 '객체'라고 하면 단순히 이름-값 싸의 해시 테이블을 생각하면 된다. 다른 언어에서 '연관 배열'이라 불리는 것과 유사하다. 자바스크립트에서 생성한 객체(다시 말해 사용자가 정의한 네이티브 객체)는 언제라도 변경할 수 있으며, 내장 네이티브 객체의 프로퍼티들도 대부분 변경이 가능하다. 빈 객체를 정의해놓고 기능을 추가해나갈 수도 있다. 객체 리터럴 표기법은 이처럼 필요에 따라 객체를 생성할 때 이상적이다. 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..
확장된 엘리먼트 집합이 있으면 새로운 엘리먼트를 추가해 이것을 증가시킬 수도 이쏙, 일치하는 원본 엘리먼트의 부분 집합으로 축소시킬 수도 있다. jQuery는 확장 엘리먼트의 집합을 관리하는 일련의 메소드를 지원한다. 1) 확장 집합에 다른 엘리먼트 추가하기예를 들어 alt나 title 어트리뷰트를 가진 모든 엘리먼트를 일치시키려고 한다. jQuery에는 이 요구사항을 셀렉터 하나로 표현할 수 있다. $(‘img[alt], img[title]’)하지만 add() 메소드를 사용하여도 똑같은 확장 엘리먼트를 만들 수 있다. $(‘img[alt]’).add(‘img[title]’)이와 같은 방식으로 add() 메소드를 사용하면 많은 셀렉터를 체인으로 연결해서 논리합(or) 관계를 형성하게 된다. 논리합 관계는..
보통은 확장된 엘리먼트의 집합을 얻어 jQuery커맨드를 사용해 일련의 작업을 수행할 수 있다. 예를 들자면 hide() 메서드로 모두 감출 수 있는 경우다. 그러나 확장된 엘리먼트를 참조하여 특정 엘리먼트에만 연산을 수행하고자 할 때도 있다. jQuery 확장 엘리먼트는 자바스크립트 배열과 유사하기 때문에 확장 리스트의 어떤 엘리먼트를 얻더라도 단순한 배열 인텍스를 사용 할 수 있다. $('selector').[index] 처럼 사용하면 된다. index는 0부터 시작한다. jQuery의 함수를 사용하고 싶으면 get(index)를 사용하면 된다. Colored By Color Scripter™12345678910get: function( num ) { return num != null ? // Ret..