본문 바로가기

분류 전체보기

(593)
Drag and Drop (Section 71) 참고> blog.naver.com/tipsware/221148420395 1. 프로그램에 파일 Drop이 불가능할 경우 해당 윈도우가 WS_EX_ACCEPTFILES 라는 확장 속성을 가지고 있지 않아서 그렇다. -> WS_EX_ACCEPTFILES 속성을 사용하려면 CreateEx() 함수로 윈도우를 생성할 때 이 속성을 넣어주면 됨 2. 파일이 윈도우에 Drop되면 해당 윈도우에 WM_DROPFILES 메시지가 발생함 3. Drag and Drop을 사용하려면 운영체제의 Shell API를 사용해야 하기 때문에 'shellapi.h' 헤더 파일을 추가해야 함 4. GetFileAttributes(): 경로를 넣어주면 해당 항목의 파일 속성 값을 반환해줌 -> 비트 연산자를 이용하여 FILE_ATTRI..
C++ ofstream, localtime_s 함수, PSCP 1. C++ std::ofstream 을 사용할 때 파라미터로 보내는 string에 ':' 이 들어가면 동작을 안함.. ':' 쓰지 않는 string으로 넣어주어야 됨 2. localtime_s() 함수로 얻게 되는 time_t 시간 데이터는 월을 0 부터 계산한다. 그래서 time_t 객체의 tm_mon 변수에 +1을 해야 정상적인 '월' 값이 나온다. 3. pscp: Ubuntu 에서 Window로 파일 옮길 때 pscp로 파일을 다운로드 받을 수 있다. SSH 포트가 바뀌어있을 경우 -P 옵션으로 포트를 재지정해주어야 하며, 디렉토리를 복사할 경우 -r 옵션을 주어야 한다.
C++ CopyConstructible 1. CopyConstructible : 복사 생성가능 2. std::bind() 의 파라미터로 unique_ptr을 넘기면 에러가 뜬다. 파라미터로는 CopyConstructible 한 객체가 넘어와야 한다는 메시지였다. unique_ptr은 MoveConstructible과 MoveAssignable 속성은 가지고 있지만, CopyContructible과 CopyAssignable 속성은 가지고 있지 않기 때문이다. 반면, shared_ptr의 경우 CopyConstructible과 CopyAssignable 속성이 있기 때문에 std::bind()의 파라미터로 사용 가능하다. 그래서 unique_ptr로 선언된 변수를 shared_ptr로 선언한 후 빌드하니 정상적으로 컴파일이 완료되었다.
BOM (Section 5) 참고> opentutorials.org/course/1375/6628 1. BOM(Browser Object Model) : 웹 브라우저의 차이나 프레임을 추상화해서 프로그래밍적으로 제어할 수 있도록 제공하는 수단.
Object Model (Section 4) 참고> opentutorials.org/course/1375/6622 1. Object Model: JavaScript로 웹 브라우저를 제어하기 위해 사용하는 객체 => 각 태그마다 객체가 만들어짐 2. document.getElementsByTagName( 'someTagName' ) => Tag 이름으로 객체를 얻어오는 함수 3. window 객체 => 전역객체 => window, frame 등을 관리 => 최상위 객체이므로 객체 참조시 생략해도 맨 앞에 붙인 것과 동일한 효과 4. window 객체가 가지고 있는 프로퍼티들 => DOM(Document Object Model), BOM(Browser Object Model), JavaScript Core
HTML에서 JavaScript 사용하기 (Section 3) 참고> opentutorials.org/course/1375/6620 1. HTML 태그의 속성 값으로 사용 (쌍따옴표 안에 JavaScript 코드 사용) 2. HTML 태그 중 태그 사이에 JavaScript 코드 사용 => 태그의 src 속성을 사용하면 외부 파일을 참조하여 JavaScript 코드를 사용할 수 있음 => 태그는 태그에 위치 시킬 때도 있고, 태그의 마지막 부분에 위치시키는 경우도 있다. 의 마지막에 놓는 게 좀 더 낫긴 한데, 에 위치시키는 경우도 많다. 의 마지막에 놓는 게 좀 더 나은 이유는, 웹브라우저가 속성을 처리할 때 에 가 있을 경우 에 있는 class 이름이나 id 등은 아직 읽지 못한 상태이기 때문에 해당 객체를 참조할 떄 null 처리가 된다. 혹 에 태그를 굳이 ..
웹 브라우저와 JavaScript (Section 1) 참고> opentutorials.org/course/1375/6619 1. HTML : 웹의 시작, 정보를 표현하는 언어 2. CSS : 웹을 꾸며줌 3. JavaScript: HTML을 프로그래밍적으로 제어함
앞으로 리액트 프로젝틀 하면서 공부해야 할 분야들.. (Section 10) 참고> velopert.com/3642 1. 스타일링 -> css => velopert.com/3480 -> Sass => velopert.com/3503 // HTTP 요청 라이브러리인 axios 사용도 경험해볼 수 있음 -> LESS, stylus, styled-components.. =>velopert.com/3447 2. 상태관리 -> 프로젝트가 복잡해질 경우 App 등의 Component에서 사용하는 state가 매우 복잡해지고 이를 업데이트 하는 로직도 복잡해짐 -> state를 체계적으로 관리하는 라이브러리들이 있음 => Redux, MobX => velopert.com/3528 3. 불변성 유지 -> 데이터의 깊이가 깊어지면 불변성 유지는 꽤나 귀찮은 작업임 -> 불변성 유지를 도와주는 라..