본문 바로가기

반응형

진리는어디에

(289)
[C++20] Feature Test Macro Feature Test Macro는 C++에서 제공하는 기능을 현재 사용 중인 컴파일러가 지원하는지 그렇지 않은지 여부를 테스트하기 위한 전처리 명령어(매크로)다. Attributes __has_cpp_attribute( attribute-token ) 현재 사용하는 컴파일러가 attribute-token에 지정된 attribute를 지원하는지 체크 #if, #else, #ifdef, #ifndef를 이용해 컴파일 타임에 지원 여부 체크 가능 int main() { #if __has_cpp_attribute(carries_dependency) std::cout
[C++20] 코루틴(Coroutine) - co_return 코루틴을 종료하기 위해선 co_return을 호출한다. Task foo() { co_return; } co_return은 값을 리턴 할 수도 있고, 아무런 값도 리턴하지 않고 단순히 코루틴을 종료하기만 할수도 있다. 값을 리턴하느냐 그렇지 않느냐에 따라 코루틴 함수의 리턴 타입이 가져야 하는 요구사항이 달라진다. 코루틴의 리턴 타입에 어떠한 것들이 필요한지 아래 예제를 통해 알아 보도록 한다. 컴파일러는 co_return 키워드를 만나면 아래와 비슷한 코드를 생성한다. Task foo() { promise.return_void(); co_await promise.final_suspend(); } 컴파일러는 co_return 대신에 promise와 co_await를 생성한다. foo() 함수는 아무것도 리..
[JavaScript] ToC(Table of Conents) 만들기 글의 내용이 길어지다 보면 내게 필요한 내용을 찾기 위해 끊이 없이 화면을 스크롤 해야 하는 경우가 있다. 이럴 때 목차를 자동으로 만들어 주면 좋지 않을까 항상 생각해 왔는데 이미 그런 것이 존재 했다. ToC라고 매번 저게 뭘까 궁금했었는데 Table of Contents라고 글 제목들을 추려 자동으로 목차를 만들어 주는 기능라고 한다. 여기저기 기웃 거리며 쉽게 가져다 쓸만한 것이 없나 살펴 보았지만 이것들 역시 블로그 스킨 처럼 뭔가 나에게 2% 부족했다. 그래서 나름 나도 개발자라는 호승심에 직접 만들어 보고자 한다. jQuery(https://jquery.com)를 기본 바탕으로 만들 예정이다. 요즘 javascript가 많이 개선되고 필요한 다양한 기능들이 지원되서 더 이상 jQuery에 의..
[JavaScript] let, const 변수 2015년 이전까지는 var만이 자바스크립트에서 유일한 변수였다. 하지만 자바스크립트 2015버전(ES6) 부터는 const 키워드와 let 키워드를 지원한다. const 변수 : 한번 값이 할당 되면 변경 할 수 없는 변수 let 변수 : 블록 유효 범위를 갖는 지역 변수. 선언과 동시에 임의 값으로 초기화 가능. var 변수 : 함수 블록 유효 범위 또는 전역 유효 범위를 갖는 변수. var 변수는 블록 유효 범위를 가질 수 없다. 만일 함수가 아닌 단지 블록 내에서 var 변수를 선언하였다면 블록 밖에서도 접근이 가능하다. typeof : 변수의 타입을 리턴 instanceof : 오브젝트가 해당 타입의 변수라면 true 리턴 javascript에서 null은 object다. typeof null은..
[CSS] position 프로퍼티 엘리먼트의 위치를 지정하는 프로퍼티는 top, bottom, left, right가 있다. 하지만 이 프로퍼티들은 아래에서 언급 할 position 프로퍼티가 지정되기 전까지는 동작하지 않으며 position 프로퍼티에 어떤 값이 지정되는지에 따라 다른 동작을 한다. position 프로퍼티는 엘리먼트가 위치하는 방법을 정의한다. position 프로퍼티는 아래의 다섯가지 값중 하나를 가질 수 있다. static relative fixed absolute sticky position: static; position 프로퍼티의 기본 값이며 static 포지션은 top, bottom, left, right 프로퍼티에 영향을 받지 않는다. position: static; 으로 설정된 엘리먼트는 페이지의 흐름에..
[CSS] ::before, ::after CSS에서 ::before와 ::after는 선택한 엘리먼트의 앞 또는 뒤에 content에 지정된 문자열을 추가합니다. 보통 엘리먼트를 장식 할 때 사용 됩니다. Example : https://kukuta.tistory.com https://kukuta.tistory.com Result : https://kukuta.tistory.com->
[CSS] 프로퍼티 컬러(Color) 색상 표현 - 정의된 색상 이름 또는 RGB, HEX, HSL, RGBA, HSLA 값으로 표현 가능 Hello World Hello World Hello World Hello World Hello World 배경색 프로퍼티 "background-color" Hello World 텍스트 컬러 프로퍼티 "color" Hello World 테두리 프로퍼티 "border" Hello World 배경(Background) 배경색 프로퍼티 "background-color" Hello World 배경 투명도 "opacity" h1 { background-color: red; opacity: 0.3; } ※ opacity를 조절하면 h1 엘리먼트에 속한 텍스트의 투명도도 같이 적용 된다. 배경의 투..
[CSS] @charset 규칙 @charset 규칙은 style sheet가 사용하게 될 텍스트 인코딩 방법을 정의한다. @charset은 반드시 모든 style sheet 엘리먼트 앞에 위치 해야하며 뒤에 다른 텍스트들이 따라와서는 안된다. 만일 두개 이상의 @charset이 정의 된다면 첫번째 규칙만 사용된다. @charset 규칙은 style 속성 내부에 사용 될수 없으며 엘리먼트 안에서 역시 사용 될 수 없다 문법 @charset "charset"; "charset"에 사용하고자 하는 인코딩 방식을 기술하면 된다. 예를 들어 스타일 시트의 인코딩 규칙을 utf-8로 하고 싶다면 @charset "utf-8"; 이라고 적어 주면 된다. 부록 1. 참고 CSS @charset Rule CSS @charset Rule Example..
[CSS] CSS tutorial CSS란 무엇인가? CSS는 "Cascading Style Sheet"의 약자다. 한글로는 종속형 스타일 시트 정도로 번역 된다. (미안하다..스타일 시트를 한글로 어떻게 번역해야 할지 모르겠다) CSS는 HTML 엘리먼트들이 어떻게 보여질지에 대해서 기술한다. 같은 HTML이라 하더라도 어떤 CSS를 사용하느냐에 따라 레이아웃이 완전히 달라 질수 있다. CSS는 웹페이지의 레이아웃에 대한 정의를 한 곳에서 처리하므로써 작업량을 엄청나게 줄일 수 있다. CSS는 HTML 문서 내부에 정의 될 수 있을 뿐 아니라, style sheet 파일에 따로 정의 될 수 있다. 왜 CSS를 사용해야 하는가? 과거에 HTML만 존재 했을 때는 태그에 모든 모든 속성들을 담고 있었다. 만일 개발자가 대규모 웹사이트를 개..
[C++20] Concepts 이번 포스트에서는 C++20에 추가된 아주 강력한 기능 중 하나인 concept이라는 것에 대해 알아 보도록 한다. 들어가며 이번 포스트에서는 C++20에 추가된 Concepts에 대해 살펴 보도록 하겠다. 이 글을 읽는 여러분은 아래 세 가지를 배우게 될 것이다. Concepts를 만드는 방법 C++에서 제공하는 표준 Concept 'Requires 절' 문법 Concept란? 먼저 많은 분께 생소한 개념인 Concept에 대해 알아 보자. C++20 공식 문서에 따르면 C++의 Concept 이란, "타입이 가져야 하는 요구 조건을 정의하는 문법"이라고 소개하고 있다. 영어로는 "Named sets of requirements", 즉 "이름을 가진 요구조건의 집합"이다. "타입이 가져야 하는 요구 조..

반응형