2021. 1. 19. 11:04

ERROR C7525 인라인 변수에는 '/std:c++17' 이상이 필요합니다


Visual Stuidio 2019를 사용해서 빌드하는데 갑자기 저런 오류가 뜬다


이유는 C++ 언어 표준이 IST C++14 표준으로 되어 있기 때문에다


이런 경우는 ISO C++17 표준으로 설정하던지


미리보기 - 최신 C++ 초안의 기능(/std:c++latest) 로 설정하면 된다


왜 Visual Studio 2019인데 C++17로 설정을 안 했는지


또는 최신으로 설정 안 하고 IST C++14로 설정했는지는 모르겠다



2021. 1. 19. 10:32

도구 - 옵션 - 텍스트 편집기 - C/C++ - 탭 - 탭 유지 대신 공백 삽입

2021. 1. 18. 22:31

* 선택자와 선언


 - 태그 선택자


h1 { 

    font : 15px;

}



- 아이디 선택자


#apple {


}


- 클래스 선택자


.butter {


}


- 부모 자손 선택자


ul li {


}


- 부모 자식 선택자


#lecture>li { 


}


- 동등 선택자 


ul, ol {


}



* {

    box-sizing : border-box;

}


2021. 1. 12. 04:15

자바스크립트에서 박스 설정 후 내가 width를 500px 를 주었는데 실제 크기는 560px일 때 원인은 다음과 같다



padding : 20 px

border: 10px



그래서 지정한 크기 안에서 설정하려면 다음과 같은 속성을 넣어야 한다


box-sizing: border-box;


이렇게 하면 width 가 500px 내에서 다 설정한다

2021. 1. 10. 17:49

자바 스크립트는 새로운 개념이 너무 많다


화살표 함수도 그 중 하나인데 다음과 같다





한 줄만 있을 때는 한 줄 자체가 함수가 되거나 리턴 값이 된다


예제는 다음과 같다






함수를 내부에 람다로 표현하는 경우가 있다



그래서 function () {} 이 경우는 arguments를 이용하면 되지만 


() => {} 이 경우는 arguments를 사용할 수 없다 


그래서 나온 것이 전개연산자이다


정말 새로운 개념이 많아 쉽지 않다




이렇게 사용을 하면 된다




전개 연산자는 함수 인자의 마지막만 사용하고 둘 이상 사용하면 어디까지인지 구분을 못하기 때문에 하나만 사용한다



* 매개변수 전달할 때 전개 연산자


매개 변수에 배열을 전달할 때 풀어서 전달하고 싶을 때 다음과 같이 한다




왜 그런지는 모르겠다

2021. 1. 10. 17:34

자바스크립트에서 함수의 기본 매개변수는 매개 변수에 = 을 대입해서 구현할 수도 있지만 다음과 같이 구현할 수 있다





원래는 다음과 같다


2021. 1. 10. 17:24



for 문 안의 변수를 var 대신 let으로 설정하거나 위와 같이 구현한다


위는 함수의 클로저이다

2021. 1. 10. 15:54

드디어 이것을 공부할 시간이 왔다


다른 프로그래밍 언어에는 없는 또 다른 개념이다


클로저 (Closure)


예전 회사에서 배울 때 어려운 개념이라고 해서 이해 못하고 넘어갔는데 지금 다시 이해해보자



함수는 보통 메모리를 관리하기 위해 지역변수는 함수가 끝나고 삭제한다



그러나 다음과 같은 경우가 있다




이런 경우는 함수가 끝나도 함수 내부에서 함수를 사용하기 때문에 변수를 삭제하지 않는다



이런 경우로 생기는 장점이 있다



1. 함수 안에서 선언한 변수들은 함수 밖에서 사용할 수 없다


변수를 보호할 수 있다



2. 함수 안에서 한 번에 여러 변수를 선언하고 활용할 수 있다


그래서 함수를 호출할 때마다 그 값을 활용할 수 있다


현재 단계에서는 이 두가지 장점이 왜 좋은 지 알기 힘들다


이 정도만 알고 넘어가자







2021. 1. 10. 14:26

다른 프로그램 언어에는 없는 개념이라 적어야겠다


함수 안에서 함수를 리턴하는 함수를 만들 수 있다



그런데 여기서 끝나는 게 아니라 호출을 다음과 같이 해야 한다



이렇게 하면 호출이 안 된다



그 이유는 원래의 코드라면 함수를 리턴하면 다음과 같이 되어야 한다



익명 함수를 변수에 넣어 리턴 후 그 변수를 리턴 받아 호출하면 다음과 같이 된다



따라서 변수 대신에 함수가 들어가고 그걸 다시 바로 호출하면 다음과 같이 된다



정말 직관적으로는 이해하려면 자주 사용해야 하고 쉽지 않은 개념이다


마치 C++의 새로 들어온 이동 연산자와 같이 많이 생각하고 코딩해야 할 듯 하다




2021. 1. 9. 15:37

http://code.jquery.com/jquery-latest.min.js

2021. 1. 9. 13:37

노드란 문서상의 객체를 구분 짓는 하나 하나의 덩어리


문서 객체 모델(Document Object Model - DOM)에는 여러가지 노드


요소 노드 (Element Node)


속성 노드 (Attribute Node)


텍스트 노드 (Text Node)




요소 노드


<h1> <li> <p> 등 태크로 작성된 것



속성 노드


요소 노드가 포함하고 있는 속성


<html lang="ko> 에서 html은 요소 노드, lang은 속성 노드




텍스트 노드


요소 노드가 감싸고 있는 텍스트




예제) 


<h2> 대한민국 </h2>


요소 노드 - h2


속성 노드 - 없음


텍스트 노드 - 대한 민국




2021. 1. 7. 00:15

응용 프로그램 관점에서 소켓은 운영체제의 TCP/IP 구현에서 제공하는 데이터 구조체를 참조하기 위한 매개체


TCP/IP를 이용하여 응용 프로그램이 통신을 수행하기 위해서는 다음 요소



프로토콜 - 소켓을 생성할 때 결정


지역 IP 주소와 지역 포트 번호 - 자신의 주소


원격 IP 주소와 원격 포트 번호 - 상대의 주소



2020. 12. 30. 22:35

산장에서 일어난 살인사건이다


산장에 걸린 시를 보며 암호를 푸는 문제이고 밀실이다


오빠를 죽인 사람을 찾기 위해 떠나는 산장 여행


전개가 빠르기도 하고 역시 소설은 쉽게 읽히고 재미있다


많은 지식이 필요하지 않고 즐거움을 쌓지만 남는 것은 무엇일까 생각해본다


나머지 책들도 돌아가면서 읽고 있는데 집중해서 빨리 읽는 것이 필요해 보인다


사람이 많이 나오고 방의 구조도 그림이 있어서 색다른 추리소설이기는 했다


프롤로그와 에필로그까지 끝까지 읽어야 처음부터 끝까지 전체의 스토리를 알게 된다


마코도는 남자가 아니고 여자이다


서평도 꾸준히 쓰고 자주 써야 실력이 늘고 내용도 많아질 것인데 꾸준히 못하는 나를 반성한다



2020. 11. 24. 00:35

파이프(익명 파이프)


네임드 파이프


메시지 큐


공유 메모리


메모리 맵


시그널


세마포어


유닉스 도메인 소켓

2020. 11. 23. 20:50

윈도우 클래스는 통용되는 범위에 따라 세 가지 종류


등록 시기와 파괴 시기가 다름



1. 시스템 전역 클래스


운영 체제가 부팅될 때 등록


컨트롤을 만들 때 사용


button, edit, scrollbar, listbox


클래스 이름이 시스템에 의해 미리 정해짐


운영 체제가 직접 등록


응용 프로그램은 이 클래스를 등록할 필요가 없음


파괴할 수도 없음


시스템은 응용 프로그램이 실행될 때 시스템 전역 클래스의 복사본을 전달


button, edit 등이 이미 등록되어 있으므로 쓰기만 하면 됨


복사본을 사용해서 서브 클래싱 등의 방법으로 수정하더라도 다른 프로그램에 영향 안 줌


메뉴와 대화상자도 윈도우의 일종



2. 응용 프로그램 전역 클래스


주로 DLL에 의해 등록


프로세스의 모든 모듈에서 이 클래스를 사용


여러 프로그램이 공유해야 할 커스텀 컨트롤 을 만들 때 사용


DLL을 로드해서 이 클래스를 사용


클래스 스타일에 GS_GLOBALCALSS 스타일을 지정


comctl32.dll 에 의해 제공되는 공통 컨트롤


프로그래스, 트리 뷰, 리스트 뷰, 툴바 등


표준 컨트롤과는 달리 약간의 초기화 코드가 필요



3. 응용 프로그램 로컬 클래스


메인 윈도우나 차일드 또는 커스텀 컨트롤을 만들기 위해 프로그램 선두에서 등록하는 클래스


해당 프로그램 내부에서만 사용


윈도우 클래스를 등록한 프로그램이 종료되면  윈도우 클래스도 같이 파괴