본문 바로가기

전체 글

(25)
[C++] unordered_map 컨테이너 unordered_map 은 C++ STL 중 하나로, map보다 더 빠른 탐색을 위해 성능이 개선된 자료구조입니다. Unordered maps are associative containers that store elements formed by the combination of a key value and a mapped value, and which allows for fast retrieval of individual elements based on their keys. Unordered map is an associative container that contains key-value pairs with unique keys. Search, insertion, and removal of eleme..
[C++] std::function 은 무엇일까 std::function은, Class template std::function is a general-purpose polymorphic function wrapper. Instances of std::function can store, copy, and invoke any CopyConstructible Callable target -- functions, lambda expressions, bind expressions, or other function objects, as well as pointers to member functions and pointers to data members. The stored callable object is called the target of std::func..
[C++] 람다 식 Lambda expressions lambda 의 사전적 정의 lambda 명사 1. 람다(Λ, λ): 그리스어 알파벳의 열한째 자모. (참고 - 영어에서는 L, l로 표기됨.) 2. [화학] 람다: 체적의 단위; =10⁻³cm³, 10⁻⁶liter. 3. [물리] 람다 입자(粒子)(lambda particle): hyperon의 하나. 4. [유전학] 람다 파지: 대장균의 유전자를 도입하고 다른 데로 전송 하는 능력을 가짐. 그렇다면, C++에서 나오는 lambda 식은 무엇일까? Lambda expressions (since C++11) Constructs a closure: an unnamed function object capable of capturing variables in scope. -> 범위 내에서 변수를 캡처할 수 있..
DALi (Dynamic Animation Library) DALi는 Dynamic Animation Library 의 약자로, 3D 그래픽 엔진입니다! 즉, 2D와 3D 렌더링을 좋은 성능으로 쉽게 개발할 수 있도록 지원하는 라이브러리입니다. 사실 화가 살바도르 달리에서 따온 것이기도 하겠지요 ;) DALi의 특징은, 저전력 디바이스들에도 안정적인 60 FPS (Frames Per Seconds)를 유지하며 부드러운 애니메이션을 보여줍니다! C++과 C#을 지원해서 쉽게 사용할 수도 있구요. 주로 Tizen platform에 집중하지만, cross platform도 지원합니다. Tizen mobile / Wearable / Galaxy S6 / Smart Fridge / Smart TV 등 다양한 삼성 디바이스에 적용되고 있습니다. 출처 : https://da..
[C++] mutable 변수 mutable의 사전적 정의 mutable 형용사 1.변덕스러운 2.변하기 쉬운 3.가변성의 그렇다면, C++에서 나오는 mutable 키워드는 무엇일까? mutable specifier mutable - permits modification of the class member declared mutable even if the containing object is declared const. 즉, 객체가 const로 선언된 경우에도 변경 가능하도록 허용한다는 것을 나타낼 때 사용! 예를 들어, struct MyInfo { int a; mutable int b; }; void main() { const MyInfo value = {5,8}; value.a = 4; // 에러 value.b = 7; } 이..
[C++] String의 substr substr : substring 을 줄인말인 것처럼 하위 문자열을 생성하여 리턴! string substr (size_t pos = 0, size_t len = npos) const; 문자열의 'pos'번째 문자부터 'len' 길이 만큼의 하위 문자열을 반환합니다. 예를 들어, 아래와 같이 str이라는 변수의 string이 주어졌을 때, substr()로 3번째 문자부터 길이 5만큼의 하위 문자열을 반환하고자 할 때 사용됩니다. #include #include int main () { std::string str="We think in generalities."; std::string str2 = str.substr (3,5); // "think" std::cout
AT-SPI 정리 AT-SPI는 Assistive Technology Service Provider Interface의 약자로, 한국어로 '보조 기술 서비스 제공 인터페이스' 입니다. GNOME 프로젝트에서 개발한 프로그램으로, 모든 application의 accessibility 기능들을 어떤 GUI toolkit을 사용하느냐에 구애받지 않고 제공하기 위해 만들어진 것입니다. AT-SPI는 DBus를 통한 프로토콜이며 Toolkit 위젯(component 등)은 이를 사용하여 screen reader와 같은 컨텐츠를 제공합니다. ※ D-Bus(Desktop Bus)는 같은 머신에서 동시에 실행 중인 여러 컴퓨터 프로그램(즉, 프로세스) 간의 통신을 가능케 하는 소프트웨어 버스, 프로세스 간 통신 (IPC), 원격 프로시..
그렇다면 ATK 란 무엇일까? ATK, Accessibility Toolkit, 은 '접근성 도구'라고 해석해볼 수 있을 것 같습니다. 컴퓨팅에선 특히 Gnome ATK를 가리키는 용어입니다. 툴킷(Toolkit 도구) 종류의 하나인 Gnome ATK는 오픈소스 라이브러리로, 프로그래머들이 소프트웨어 개발 시 공통 Accessibility API를 제공하여 사용할 수 있게 합니다. (Gnome project의 일부) 여기에는 시각 장애인들을 위한 고대비 테마, 스크린 리더와 같은 기능들을 포함합니다. GNOME은 ATK 프레임워크를 사용하여 접근성 장치에 대한 지원을 제공합니다. 이 프레임워크는 그래픽 인터페이스 구성 요소가 준수하는 인터페이스 집합을 정의합니다. 이를 통해, 예를 들어, 스크린 리더가 인터페이스의 텍스트를 읽고 해당..