320x100

프로그래밍 88

UTF-8 문자열 관리

C++20부터 char8_t, u8string등 UTF-8을 지원하기 위한 타입이 추가되었으나, 다른 라이브러리와의 호환등을 위해 개인적으론 아직 char와 string을 주로 사용하고 있다. UTF-8에서 한글은 3바이트를 사용하는데, UTF-8 문자 "가" 는 각 바이트에 234, 176, 128로 저장된다. 유니코드표에서 "가"를 찾아보면 U+AC00 이라고 되어있고, AC00는 2바이트(172, 0) 값인데, 저렇게 저장되는 이유는 각 바이트는 다음 그림과 같은 기본 규칙이 있기 때문이다. 표에 의하면 기본적으로 3바이트를 쓰는 한글은 기본 1110xxxx 10xxxxxx 10xxxxxx 값이 정해져 있고, 유니코드의 HEX값은 x에 치환되는 값만 표에 적어둔 것이다. 0xAC00을 0b로 변경하..

Module 형식으로 전환시 에러

*****.cpp(7,1): error C2653: class': 클래스 또는 네임스페이스 이름이 아닙니다. *****.cpp(8,2): error C4430: 형식 지정자가 없습니다. int로 가정합니다. 참고: C++에서는 기본 int를 지원하지 않습니다. *****.cpp(9,1): error C2550: 'namespace::class생성자 이니셜라이저 목록은 생성자 정의에만 사용할 수 있습니다. *****.cpp(10,1): warning C4508: 'namespace::class': 함수는 값을 반환해야 하므로 'void' 반환 형식으로 간주됩니다. ixx에서 정의한 클래스 정의를 cpp 파일에서 구현을 했는데 인텔리센스가 인식을 못하는 경우가 발생했다. 동일한 방식으로 작성한 코드로 작성한..

C# & Unity 면접용 질문?

cheatsheet의 개념으로 적어두자. 1. 변수 우클릭 -> Create -> C# Script 첫 글자가 대문자이고 띄어쓰기가 없음 void Start() == init(), 최초 1회만 실행하게 된다. 출력은 print를 사용 class 이름 == 유니티에서 대본 모양의 아이콘 아래 있는 이름과 일치시켜야 한다. =============================== 2. 자료형 정수 - int(-20억 ~ +20억, 4바이트), short(-30000 ~ +30000, 2바이트), long(8바이트), sbyte(-128 ~ +127), byte(0 ~ 255) 실수 - float(f를 꼭 적어라), double, dscimal(끝에 m을 꼭 붙여라) 문자 - string(" "), char(..

프로그래밍/C# 2022.10.03

Rest api 라이브러리 찾기

net/http go의 내장 모듈 gin 첫번째로 선택해 사용했지만 생각보다 성능이 좋지 못하는 이야기가 있다. fasthttp 다른 프로젝트에서 사용 중. net/http 대비 최대 10배의 퍼포먼스가 난다고 한다. Fiber fasthttp 기반 라이브러리로 fasthttp 보다 더 빠르다고 한다. 새로운 프로젝트에서 Fiber 기반으로 만들어 보려고 한다. 실제로 퍼포먼스 순위를 봤을 때 모듈들의 순위는 다음과 같았다. fiber - 19위 fasthttp - 58위 gin - 142위 https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=fortune

프로그래밍/Go 2022.09.20
320x100