프로그래밍 349

소스코드 편집기, Notepad++

IDE를 쓸 상황은 아니고, 소스 코드를 편집해야 하고, 가벼운 에디터가 필요할 때 이것을 사용하는 것을 추천한다.필자가 학교에서 배울 때에는 웹 프로그래밍과 DB 프로그래밍에서 이를 메인 에디터로 사용했었다.해당 분야에서 편집기를 메인으로 사용하는 것은 추천하지 않는다.PHP는 그렇다고 해도, HTML, CSS 개발을 할 때 이 편집기를 사용하는 건...필자는 그래서 HTML, CSS, JS는 Visual Studio for Web을 사용하고 PHP의 경우는 이클립스를 사용했다. 나는 더블모니터라서 HTML, CSS를 편집할 때마다 즉각 확인할 수 있다는 사람이라면 상관이 없지만,학생 수준에서 더블 모니터가 아닌 경우를 고려하면 이것이 WYSWYG 에디터가 아니기 때문에,내가 원하는 모양이 맞는지 확인..

Javascript] 내장 객체(Built-in Object)

### JavaScript 내장 객체 - JavaScript 자체적으로 제공- Object : 최상위 객체, 모든 객체는 이를 기본으로 하여 생성- Number : 숫자 표현하는 객체- String : 문자열 표현하는 객체- 메서드 체이닝 : 메서드를 연속적으로 사용하는 것 ## Object - JavaScript의 가장 기본적인 내장 객체로, 최상위 객체- Object() 생성자 함수에 의해 생성된 인스턴스- 모든 기본 내장 객체는 Object 객체를 기본으로 만들어짐- 생성var object{};var object = new Object(); - 메서드constructor() : 객체의 생성자 함수를 나타냄hasOwnProperty(V) : 문자열 매개 변수로 전달된 속성이 객체에 있는지 확인isPr..

Javascript] Object(객체)

### 객체(Object) * JavaScript에서는 다른 객체지향 언어와 달리 클래스 없이 생성 가능* JavaScript는 이러한 이유로 객체 기반의 스크립트 언어로 불리고, 많은 부분이 객체로 존재해 매우 중요한 개념* 자기 자신이 가진 속성을 이용할 때, 반드시 this 키워드를 이용해야 함. JavaScript의 경우 생략 자체가 불가. - 변형 가능한 속성들의 집합- 이름과 값이 있는 속성들이 포함하는 컨테이너- 데이터를 모으고 구조화하는데 유용- 객체에 없는 속성값 접근 시, undefined 출력 Number, String, Boolean = 유사객체 Array, Function, 정규표현식 등 참조 타입이 객체인 것들 = 객체 ## 속성이름 - 빈 문자열을 포함해 어떤 문자열이나 숫자 ..

Javascript] DOM(Document Object Model)

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

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..

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

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

Jungol] 1394 : 양팔저울

문제 주소 : http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=670&sca=4040 나는 이 문제를 수학적으로 생각해서 풀이를 진행했다. 그래서 문제 풀이에 아쉬움이 남는다.(이게 모범 답안일수도 있겠지만, 또 다른 답안이 있으리라..) 좀 더 특별한 방법이 있다면 차후에 다시 생각하여 올려보도록 하겠다. 나는 이 문제를 풀면서 토너먼트 방식을 사용했다. 물건이 몇개가 되더라도 2개씩만 비교할 수 있다는 양팔저울의 특성 상, N(N>=2)개의 물건 중 가장 질량이 큰 것이 무엇인지 정확히 알아내기 위한 최소한의 시행 횟수는 N-1번이면 된다. 가장 무거운 물건을 찾는 것은 정밀한 측정이 필요가 없기 때문에, A가 무거운지 B가 무거운지에 대한 정..

DataStructure] C언어로 쉽게 풀어쓴 자료구조 9장

2학년 당시, 과제로 제출했던 내용이다.생능출판에서 나온 'C언어로 쉽게 풀어쓴 자료구조'라는 책의9장 정렬 파트에 있었던 이론적인 문제들을 풀었는데, 그 때 풀었던 자료들이 남아 올린다.골치 아파하는 대학생들을 위해 조금의 참고자료가 되었으면 하지만,이를 그대로 복사 붙여넣기 하는 것은 자기 실력 발전에 전혀 도움되지 않는다는 사실만을 알았으면 좋겠다.

API] SetWindowsHookExA 함수

SetWindowsHookExA function 123456HHOOK WINAPI SetWindowsHookEx( _In_ int idHook, _In_ HOOKPROC lpfn, _In_ HINSTANCE hMod, _In_ DWORD dwThreadId);cs user32.dll에 있는 해당 함수를 통해 훅을 설정할 수 있음.대표적인 함수로, MSDN에서 해당 함수의 구조와 사용법에 대해서 알 수 있음. 첫번째 인자, 훅 타입으로 어떤 종류의 메세지를 후킹할 것인지 선택하는 것두번째 인자, Hook Procedure세번째 인자, 후킹할 스레드가 속해 있는 DLL의 핸들네번째 인자, 후킹할 스레드 아이디 첫번째 인자에 들어갈 훅 타입은 구글링으로 체크 가능두번째 인자로 사용할 훅 프로시저, 파이썬의 경..

Python] 클래스 기초

파이썬에서 클래스의 기본 선언 구조 123456class Example: def __init__(self,param): def function(param): class classExample(Example): def func(param):cs 클래스는 예약어 class 뒤에 클래스명을 지정해 선언함 class Example: 생성자는 __init__() 함수로, 클래스 생성 시 호출되며,생성자는 클래스 자신을 가리키는 인자 self가 반드시 들어가야 함.특별한 초기화 작업이 필요 없는 경우 생략 가능. def __init__(self, param): 클래스 내부에는 함수 선언 가능. def function(param): 다른 클래스를 상속하려면 클래스 선언 시, 인자로 상속받을 클래스명을 넣어줌. cla..