특수문자가 포함된 데이터베이스를 생성할 때는 데이터베이스명을 대괄호[]로 감싸줘야한다.


ex)  tes-t  라는 데이터베이스를 만들고 싶다면

CREATE DATABASE [tes-t]

라는 쿼리를 실행해야한다.

'이론 > 데이터베이스' 카테고리의 다른 글

[SQL]특수 문자가 포함된 데이터베이스명  (0) 2018.04.04
트랜잭션  (0) 2015.06.14
역정규화  (0) 2015.06.14
정규화  (0) 2015.06.14
Posted by 사과잼빵

C++에서는 lambda를 이용해 익명 메서드를 구현 할 수 있고 C#에서는 delegate를 이용해 익명 메서드를 구현 할 수 있다.

- lambda로 구현된 익명 메서드(C++)는 컴파일 시 해당 메서드가 인라인화되어 해당 코드로 치환된다. (함수 호출 시 소모되는 비용을 절약할 수 있게됨)

- delegate로 구현된 익명 메서드(C#)는 컴파일 시 중복되지 않을 특별한 문자열의 이름을 가지는 메서드가 생성 되어 해당 메서드를 호출 하는 식으로 코드가 치환된다. 

따라서 delegate로 구현된 익명 메서드는 간편 표기 구문에 불과하며 성능상 이점은 없어 보인다.

'개발 > C#' 카테고리의 다른 글

C++의 lambda와 C#의 delegate의 차이  (0) 2018.02.21
Boxing UnBoxing  (0) 2015.10.06
Posted by 사과잼빵

Boost 라이브러리는 현장에 당장 투입 될 수 있을 정도로 품질도 우수하고, 오픈소스이며 대부분의 플랫폼과 컴파일러에서 돌아갑니다.

Boost는 C++ 표준화 위원회와 밀접한 관계를 유지하고 있으며 표준 C++에 추가될 수 있는 기능들의 시험 장소로 사용되고 있습니다.

Boost 라이브러리는 크기와 범위가 아주 제각각입니다. (작은 녀석들은 코드 몇줄이지만 무지막지하게 큰 라이브러리도 있다.)

Boost 라이브러리는 크게 십수 개의 범주로 나뉘어 있습니다.


1. 문자열 및 텍스트 처리

 boost::regex -> std::regex    C++ 11에서 표준으로 추가

 

2. 컨테이너 

- STL 양식의 인터페이스를 제공하는 고정 크기 배열

 tr1::array  -> std::array C++ 11에서 표준으로 추가


- 가변크기 비트세트

std::bitset C++11에서 표준으로 추가


- 다차원 배열

boost::multi_array

표준화되지는 않았고 std::array를 중첩해서 쓴다. 


3. 함수 객체 및 고차 프로그래밍

boost::lambda  -> C++11부터 Lambda expression으로 표준화됨


4. 일반화 프로그래밍

http://www.boost.org/doc/libs/1_63_0/libs/type_traits/doc/html/index.html

엄청난 Trait 들이 존재합니다..


5. 템플릿 메타프로그래밍

typedef boost::mpl::list<float, double, long double> floats;

typedef boost::mpl::push_front<floats, int>::type types;

위와 같이 타입을 담아 관리 할 수 있다.


6. 수학 및 수치 조작

Boost.Rational 유리수

Boost.Quaternions 4원수

boost::math::gcd_evaluator 최대공약수

boost::math::lcm_evaluator 최소공배수

Boost.Random -> std::rand()  난수


7. 정확성 유지 및 테스트

Boost.Test 단위테스트


8. 자료구조

Boost.Tuple -> std::tuple   c++11부터 표준화됨


9. 메모리

Boost.SmartPtr -> std::shared_ptr, std::unique_ptr 등으로 c++11부터 표준화됨










Posted by 사과잼빵


티스토리 툴바