절대 사라지지 않을 무적의 개발언어 5가지
이번 시간에는 절대로 사라지지 않을 다섯 가지의 '개발언어'와, 그 이유를 알아보도록 하겠습니다 :)
C++ 레퍼런스 - STL 컨테이너 - deque
흔히 줄여서 데크 ("deck") 로 발음된다. 보통의 스택(stack) 의 경우 최상단(top) 에서 삭제(pop) 과 삽입(push) 가 일어나고 반대쪽 (end) 에서는 아무것도 할 수 없다. 또한 큐(queue) 의 경우 한쪽에서는 삭제, 반대쪽에서는 삽입이 일어나지만, 삭제하는 쪽에서는 삽입을, 반대쪽에서는 삭제를 할 수 없다.
C++ 레퍼런스 - vector::push_back
현재의 마지막 원소 뒤에 새로운 원소를 추가하며, 그 원소의 값은 x 의 복사본으로 초기화 된다.
C++ 레퍼런스 - vector::insert
이 함수는 벡터의 크기를 효과적으로 증가시키는데, 만일 새로운 벡터의 size 가 현재 벡터의 capacity 보다 크다면 재할당을 하게 된다. 재할당 시, 벡터 컨테이너의 이전에 얻은 모든 반복자(iterator), 레퍼런스들은 무효화 된다.
C++ 레퍼런스 - STL 컨테이너 - vector::assign 함수
첫번째 형태의 함수의 경우 first 부터 last 까지에 있는 원소들의 내용이 벡터에 들어가게 된다. (first 부터 last 바로 직전 원소 까지) 물론, 원래 벡터에 있었던 원소들은 삭제된다.
C++ 레퍼런스 - STL 컨테이너 - vector 생성자
벡터를 생성한다. 벡터 컨테이너 객체를 생성하고, 사용한 생성자에 따라서 벡터 원소들을 초기화 한다.
C++ 레퍼런스 - STL 컨테이너 - vector
벡터 컨테이너는 동적 배열로 구현되는데, 보통의 배열 처럼 벡터 컨테이너들도 각각의 원소들이 메모리 상에서 연속적으로 존재하게 된다. 이 때문에 벡터 컨테이너의 원소를 참조할 때 반복자(iterator) 을 이용해서 순차적으로 참조할 수 있고, 처음 원소의 부터의 상대적인 거리를 이용하여 접근할 수 도 있다.
컴파일러는 정수 나눗셈을 어떻게 최적화 할까?
얼마전에 어셈블리를 살펴보다가, 정수 나눗셈과 나머지 연산에 대해서 최적화 옵션을 키게 되면 컴파일러가 매우 흥미로운 코드를 생성한다는 점을 발견하였습니다. 이 점에 대해서 간략하게 글을 적어보고자 합니다.
Rust 의 static 키워드
요즘에 떠오르는 언어인 Rust 를 계속 사용해보고 있는데 굉장히 좋은 언어인것 같습니다. Rust 를 공부하면서 새롭게 배운 내용들을 조금씩 적어보고자 합니다. 아래 내용은 이 글 을 참고해서 작성하였습니다.
Rust 의 다형성 - static 과 dynamic dispatch (C++ 을 곁들인..)
C++ 에서 Rust 로 넘어가면서 배웠던 것들 중에서 가장 신기했던 점은 Rust 에는 상속(inheritance) 가 없다는 점이였습니다. 보통 C++ 나 Java 같은 언어들에서는 클래스의 인터페이스를 보통 Base 클래스로 삼고 (Java 의 경우 Interface 겠죠.) 각각의 클래스에서 이를 상속하면서 구현하게 됩니다.
다양한 프로그래밍 언어(2)
지난 포스팅에서는 1950년도부터 1960년도에 개발된 다양한 프로그래밍 언어들이 개발된 순서와 간단한 특징들을 알아보았습니다. 오늘은 1970년대 이후에 개발된 대표적인 프로그래밍 언어와 비주얼 프로그래밍 언어들의 특징을 정리하고 알아보도록 하겠습니다. 먼저 1970년대 이후에 개발된 대표적인 프로그래밍 언어들을 정리해 보도록 하겠습니다. 1970년대 이
다양한 프로그래밍 언어(1)
과거부터 현재까지 정말 많은 수의 프로그래밍 언어들이 사용되어 왔고, 또 현재까지도 사용되고 있습니다. 오늘은 다양한 프로그래밍 언어들을 시간순으로 정리하고 알아보도록 하겠습니다. 1950년도에서 개발된 프로그래밍 언어부터 1970년대 이후 개발된 프로그래밍 언어, 그리고 비주얼 프로그래밍 언어까지 다양한 프로그래밍 언어들이 존재합니다. 오늘은 1950년도
How to calculate Probability Density Function in Excel and R (feat. normal distribution)? - Agronomy4future
When we analyze data, sometimes we need to show normal distribution graphs. This graph is different from density graph. Normal distribution graphs imply various concepts which simple bar graphs cannot
[취준생을 위한 아이폰 앱개발 Objective-c 뽀개기] Obj-C 기반 프로젝트에서 Swift 클래스 사용하기
Obj-C 기반 프로젝트에서 Swift 클래스 사용하는 법