std::function (modern c++)

실제로 사용해보진 않았지만 기회가 되면 사용하게 될/ 하고 싶은 feature 라서 정리해둔다 일반 c 언어의 함수포인터 역활을 하는 c++11 이후 추가된 feature c++ 의 () 를 붙여 호출 가능한 모든 Callable 을 대입하거나 인스턴스로 활용할 수 있다기존의 함수 포인터는 람다, Functor(class function), 함수포인터를 모두 처리할 수 없었다 예제는 나중에… 관련 함수 :std::mem_fnstd::bindstd::placeholder

std::vector::emplace_back (modern c++)

list,deque,vector 에 사용가능한 멤버 함수 c++11 에 처음 추가 되었으며 가변인자 템플릿을 인자로 받는다인자로는 vector 의 instance / class 인 경우 생성자를 넣어 주어야 한다emplace_back 의 경우 일반 push_back 과 다르게 vector 로 복사되는 흐름이 아닌vector 에 element 가 생기는 동시에 초기값을 넣어주게되어 복사가 일어나거나 임시객체가 생성되지 않아 좀더 빠른 코드 c++17 이후의 return value […]

C++ 최적화 : 커트 건서로스 (옥찬호)

당연하지만 당연하지 않았던 C++ 최적화에 대해 다룬 책을 읽어보기 시작한다 이런 책의 경우 하나하나의 내용들이 주요하고 기록, 요약 해두는게 의미있다고 생각되 두서 없이 그때 그때 기분에따라 블로그에 기록 해 두려 한다 1. 최적화란 1.5.1 더 좋은 컴파일러를 더 잘 사용하세요 1.5.2 더 좋은 알고리즘을 사용하세요 1.5.3 더 좋은 라이브러리를 사용하세요 1.5.4 메모리 할당과 복사 줄이기 […]

애자일 선언 이면의 원칙

원문: https://agilemanifesto.org/iso/ko/principles.html 우리는 다음 원칙을 따른다: 우리의 최우선 순위는, 가치 있는 소프트웨어를일찍 그리고 지속적으로 전달해서 고객을 만족시키는 것이다. 비록 개발의 후반부일지라도 요구사항 변경을 환영하라.애자일 프로세스들은 변화를 활용해 고객의 경쟁력에 도움이되게 한다. 작동하는 소프트웨어를 자주 전달하라. 두어 주에서두어 개월의 간격으로 하되 더 짧은 기간을 선호하라. 비즈니스 쪽의 사람들과 개발자들은 프로젝트 전체에걸쳐 날마다 함께 일해야 한다. 동기가 […]

애자일 소프트웨어 개발 선언

원문: https://agilemanifesto.org/iso/ko/manifesto.html 우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을도와주면서 소프트웨어 개발의 더 나은 방법들을 찾아가고있다. 이 작업을 통해 우리는 다음을 가치 있게 여기게 되었다: 공정과 도구보다 개인과 상호작용을포괄적인 문서보다 작동하는 소프트웨어를계약 협상보다 고객과의 협력을계획을 따르기보다 변화에 대응하기를 가치 있게 여긴다. 이 말은, 왼쪽에 있는 것들도 가치가 있지만,우리는 오른쪽에 있는 것들에 더 높은 가치를 둔다는 것이다.