728x90

프로그래밍 410

C#] nameof

nameof 연산자 C# 6.0에 추가된 개념임의의 기호(형식, 멤버, 변수 등)의 이름에 해당하는 문자열을 돌려줌.그냥 해당 문자열을 직접 지정하는 것에 비해, 정적 형식 점검이 일어난다는 장점이 있음.Visual Studio 같은 툴들은 기호 참조를 이해할 수 있어,해당 기호의 이름을 바꾸면 그에 대한 모든 참조의 이름도 바뀜. 필드나 속성 같은 형식 멤버의 이름을 얻으려면 그것이 속한 형식의 이름도 지정해야 함.이는 정적 멤버, 인스턴스 멤버 모두 마찬가지임. string name = nameof (StringBuilder.Length); name에는 "Length"가 배정되며, "StringBuilder.Length"를 원하는 경우 아래와 같이 사용한다. nameof(StringBuilder) +..

Javascript] DOM(Document Object Model)

### Document Object Model;문서객체모델 - W3C에서 정의- Core(모든 문서), XML, HTML 표준모델이 존재- HTML DOM : 웹 문서 로드 시, 브라우저는 구성요소를 객체화하여, 트리 구조의 DOM을 생성. HTML의 구성 요소들을 획득, 변경, 추가 삭제하기 위한 표준 ## 문서 객체- JavaScript에서 사용할 수 있는 객체로 만들어진 HTML 요소- 정적 문서 객체 생성웹 문서를 로드하며 HTML 문서 내의 구성요소 읽고 객체 생성- 동적 문서 객체 생성JavaScript로 HTML 문서에 없던 문서 객체 생성 * 요소 : HTML 문서에 작성한 요소* 노드 : HTML 태그와 문자열이 객체화 된 것, 하나의 객체 그 상태, 하나의 텍스트 상자* 문서객체 : H..

C#] 상수(Constant)

상수 필드(constant field) 값을 결코 바꿀 수 없는 정적 필드컴파일 시점에서 정적으로 평가되며, 컴파일러는 상수가 쓰이는 곳마다 그 값을 직접 삽입하며,이는 C++의 매크로와 상당히 유사한 면을 띔.타입으로는 내장 수치 타입들과, bool, char, string, 열거형을 사용 가능상수 선언 시, const 키워드를 반드시 써줘야 하며, 초기치도 반드시 지정해야 함. 메서드에 국한된 지역 상수 사용을 가능하게 함.지역 상수가 아닌 상수의 경우 다음과 같은 수정자들을 적용할 수 있음.public internal private protected, new 사용할 수 있는 형식 면에서나 필드 초기화 방식에서나, static readonly 필드보다 훨씬 제한적임.컴파일 시점에서 평가된다는 점 역시..

System] ARM Exception

ARM Exception ## Exception 외부에서 발생한 인터럽트나 알 수 없는 명령어가 실행되는 것처럼 오류 발생 시 사건을 처리하는 것 프로그램 실행->예외 발생->예외 모드 전환->예외 모드->예외 처리->프로그램 복귀 # 종류 Reset, Data Abort, Undefined Instructions, IRQ(Normal interrupt), Software Interrupt(SWI), FIQ(Fast interrupt), Prefetch Abort ## Exception Vector 에외가 발생하면 실행하던 프로그램을 멈추고 지정된 주소로 분기하기 위해 지정된 주소 ## 예외 처리 1. r14_ = 복귀 주소2. SPSR_ = CPSR3. CPSR[4:0] = 예외 모드 번호4. CPSR..

C#] 인덱서(Indexer)

인덱서(Indexer) 인덱서는 값들의 목록이나 사전을 캡슐화하는 클래스나 구조체에서 특정값에 자연스러운 구문으로 접근하기 위한 기능을 제공하는 멤버Property와 유사하나, 이름이 아니라 색인 변수를 통해 접근함인덱서를 사용하는 구문은 배열 사용 구문과 유사하나, 정수 이외 형식도 색인으로 사용 가능적용할 수 있는 수정자는 property의 것들과 동일함 string 클래스에는 문자열을 구성하는 특정 문자의 char 값에 int 색인을 통해서만 접근할 수 있게 하는 인덱서가 존재 class IndexerText { string[] test = "This is Text Code".Split(); public string this [int wordNum] // Indexer { get { return w..

C#] 속성(Property

속성(Property) 겉으로 보기에는 필드 같으나 내부적으로는 메서드처럼 논리 코드를 가진 멤버아래 코드만 봐서는 필드인지 속성인지 구별이 불가능함 Stock msft = new Stock(); msft.CurrentPrice=30; msft.CurrentPrice-=3; Console.WriteLine(msft.CurrentPrice); 만일 여기서 CurrentPrice가 속성일 때 구현 예시는 아래와 같다. public class Stock { decimal currentPrice; // 전용 필드 public decimal CurrentPrice // 공용 속성 { get { return currentPrice; } set { currentPrice=value; } } } 속성도 필드처럼 그 형..

C#] 인스턴스 생성자

인스턴스 생성자 클래스나 구조체의 인스턴스를 초기화하는 함수 멤버생성자의 정의는 메서드와 유사하나, 메서드 이름과 반환 형식이 생성자가 속한 형식의 이름을 따름 - 인스턴스 생성자에 적용할 수 있는 수정자 접근 수정자public internal private protected비관리 코드 수정자unsafe extern - 중복적재 중복적재한 경우 this 키워드를 이용해 다른 생성자를 호출해 중복을 피함한 생성자가 다른 생성자를 호출할 경우, 호출된 생성자가 선행적으로 실행됨. 다른 생성자에 표현식을 넘겨주는 것도 가능하나,this를 통해 어떤 인스턴스 메서드를 호출할 수 없기 때문에표현식 자체에서 this 참조는 사용할 수 없음.정적 메서드는 호출이 가능함. 해당 제약은, 생성자의 현재 단계에서 객체가 ..

C#] namespace 규칙

1. 범위 바깥 namespace에서 선언된 name은 안쪽의 namespace에서 name을 한정하지 않고 사용 가능함. namespace Outer { class ClassEx1 {} namespace Inner { class ClassEx2 : ClassEx1 {} } } namespace 계통 구조의 다른 가지에 있는 형식을 지칭하는 경우,부분적으로 한정된 name을 사용할 수 있음. namespace Outer { namespace InnerOne { class Base1 {} } namespace InnerTwo { class Base2 : InnerOne.Base1{} } } 2. 숨기기 안쪽 namespace와 바깥쪽 namespace에 같은 name이 있는 경우 안쪽 name으로 간주됨...

DataStructure] C언어로 쉽게 풀어쓴 자료구조 4장 - 1

C언어로 쉽게 풀어쓴 자료구조 4장 Exercise 문제들이다. 필자가 학교 다니면서 자료구조론 수업을 들었는데, 과제로 제출했던 것들이고, 난항을 겪고 있는 사람들에게 참고가 되었으면 하는 마음으로 올린다. 자고로, 버그가 존재할 수 있으니 디버깅 작업은 필수다. 23번. 두 개의 다항식이 다음과 같이 주어졌다. 이들을 연결 리스트를 이용하여 나타내고 본문의 프로그램을 이용해 두 다항식의 합을 구해보라. 24번. 다항식을 연결 리스트로 표현할 수 있음을 보였다. 다항식이 연결 리스트로 표현되어 있고, p를 다항식을 가리키는 포인터라고 할 때, 어떤 실수 x에 대해 이 다항식의 값을 계산하는 함수 poly_eval을 작성하라. 25번. 다항식이 연결 리스트로 표현되어 있는 경우, 두 개의 다항식을 받아 ..

C#] using static 지시자

C# 6.0에서부터는 namespace가 아니라 특정 형식을 using static 지시자를 이용해 도입 가능 그렇게 사용하면, 해당 형식의 모든 정적 멤버가 도입되어, 그 후부터 그 멤버의 형식 이름을 지정하지 않고 사용이 가능해짐. using static System.Console; class Test { static void Main() { WriteLine("Hello!"); } } using static 지시자는 주어진 형식의 모든 접근 가능한 정적 멤버를 도입하기 때문에, 정적 메서드만이 아니라 정적 필드, 속성, 내포된 형식도 도입함. 열거형에 대해서도 이 지시자를 적용할 수 있으며, 열거형의 모든 멤버가 도입됨. 따라서, using static System.Windows.Visibility..

728x90