일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 냥냥
- 발산맛집
- 고양이
- 발산
- 데이트
- 파버스
- 양재맛집
- A. Steed 2: Cruise Control
- 치명적 귀여움
- 레스토랑
- 발산역 근처 카페
- 부모님과
- 커플
- 소호정
- 안동국시
- 냥스토리
- 냥이
- CDJ
- 스코티쉬 스트레이트
- 고양이는 언제나 귀엽다
- 스파게티
- 파머스테이블
- 카페
- CodeJam 2017 Round 1B
- codejam
- 스테이크
- 먹기좋은곳
- RED CAT COFFEE X LOUNGE
- coffee
- 소호정본점
- Today
- Total
목록전체 글 (69)
hubring
CKA 소개 Certified Kubernetes Administrator (CKA)의 약자로 Linux Foundation이 주관하는 쿠버네티스 관리자 인증 시험으로 Kubernetes의 기본적인 기능들을 이해하고 사용할 수 있다면 합격이 가능하다. 시험 특징은 아래와 같다. 온라인 시험 시험시간 2시간 영어 문제 VM 환경에서 kubernetes cli 기반의 실습형 시험 공식 문서 오픈북 시험 인증 유효기간 3년 시험 신청 후 12개월 내 시험 가능 1번의 재시험 가능 PDF 인증서 및 디지털 배지 제공 시험 신청 시험 신청은 아래 링크에서 신청이 가능하다. https://training.linuxfoundation.org/certification/certified-kubernetes-adminis..
항목 48: 템플릿 메타 프로그래밍, 하지 않겠는가? 템플릿 메타프로그래밍(template metaprogramming: TMP) 템플릿 메타프로그래밍 란? 컴파일 도중에 실행되는 템플릿 기반의 프로그램을 작성하는 일. C++ 컴파일러가 실행시키는, C++로 만들어진 프로그램. TMP 프로그램이 실행을 마친 후에 그 결과로 나온 출력물(템플릿으로부터 인스턴스화된 C++ 소스코드)이 다시 보통의 컴파일 과정을 거치는 것. 1990년 초 TMP개념이 발굴된 후 C++ 언어 및 표준라이브러리에 TMP를 용이하게 만드는 확장요소가 추가될 여지까지 생김. TMP의 강점 TMP를 쓰면 다른 방법으로 까다롭거나 불가능한 일을 쉽게 할 수 있음 C++ 컴파일이 진행되는 동안에 실행되기 때문에, 기존 작업을 런타임 영역..
const 큰 매력은 “의미적인 제약”(외부 변경을 불가능하게 함)을 코드 수준에서 붙이며 컴파일러에서 이 제약을 지켜줄 수 있다는 점이다. 또한 클래스 바깥에서 전역 혹은 네임스페이스 유효범위의 상수를 선언(정의)하는 데 쓸 수 있다.(항목 2 참조) 그 뿐아니라 파일, 함수, 블록 유효범위에서 static으로 선언한 객체에도 const를 붙일 수 있다. 클래스 내부의 경우에는, 정적 멤버 및 비정적 데이터 멤버 모두를 상수로 선언할 수 있다. 그렇다면 포인터의 경우는 어떨까? const 포인터 사용 포인터를 상수 지정 방법은 아래 3가지이다. 1. 포인터 자체를 상수 : char * const p 2. 포인터가 가리키는 데이터를 상수 : const char *p 3. 둘 다 상수로 지정 : const..
해당 항목 제목을 가급적 선행 처리자보다 컴파일러를 더 가까이 하자 로 가는게 더 괜찮았을 것 같다고 책에서 말하고 있다. (....지금 항목 제목이 더 잘 기억에 남을듯 하다.) #define의 문제 아래 코드를 썼다고 가정하자. #define ASPECT_RATIO 1.653 코드를 눈으로 볼 때는 ASPECT_RATIO가 기호식 이름으로 보이나 컴파일러에게는 선행 처리자가 해당 기호를 사용한 코드를 숫자 상수로 바꾸어 버리기 때문에 이름이 아닌 숫자로 보게된다. 만약 숫자 상수로 대체된 코드에서 컴파일 에러가 발생하게 되면 기호식 이름으로 알려주는 것이 아닌 숫자로 보이게 되어 에러의 원인을 찾는데 어려울 수 있다. 이 문제는 기호식 디버거에서도 나타날 소지가 있다. => 추가 예로 만약 #defi..
C++ 프로그래밍 개념 오늘날의 C++은 다중패러다임 프로그래밍 언어(multipradigm programming language)라고 불린다. 절차적(procedural), 객체 지향(object-oriented), 함수식(functional), 일반화(generic), 메타(meta) 프로그래밍의 개념까지 지원한다. 각 지원하는 프로그래밍 마다 적절한 사용 규칙이 존재한다. C++ 을 제대로 따라잡기 위해 여러 개의 하위 언어(4가지)에 대해 알아보고 각각의 프로그래밍 개념에 맞는 규칙을 적용할 수 있도록 하자. 1. C C++ 은 여전히 C를 기본으로 하고 있다. 따라서 C 언어 기능만 쏙 뽑아서 사용이 가능하다. 2. 객체 지향 개념 클래스(생성자와 소멸자), 캡슐화, 상속, 다향성, 가상 함수(..
Effective C++ 책의 목적 c++를 효과적으로 구사하는 방법 의도대로 동작하기 위한 지침과 조언을 모아둠. 구체적인 제안을 항목으로 55개를 묶어 소개함. 내용 부류 일반적 설계 전략 C++ 언어적 특징 실전 세부 사항 여러가지 선택과 의문점들 상속과 템플릿 사이에 선택해야 한다면? public 상속과 private 상속 사이에 골라야 한다면? private 상속과 클래스 합성 사이에서 어떻게 해야할까? 멤버 함수와 비 멤버 함수 중 하나를 선택할 경우에는? 값에 의한 전달과 참조에 의한 전달 중 무엇을 어떤 상황에서 집어야 할까? 대입 연산자는 어떤 타입을 반환해야 적당할까? 소멸자를 가상 함수로 만들어야 할 때는 언제일까? 충분한 메모리를 찾지 못했을 때 operator new는 어떻게 동작..
NUMA 아키텍처 numa(Non-Uniform Memory Access)? 불균형 메모리 접근이라는 뜻 멀티 프로세서 환경에서 적용되는 메모리 접근 방식 UMA(Unifrom Memory Access) numa와 반대되는 개념 해당 방식은 공용 BUS를 이용하여 메모리에 접근 해당 방식의 문제는 0번 소켓에 있는 CPU가 메모리에 접근하는 동안 1번 소켓에 있는 CPU는 메모리에 접근 불가 UMA와 달리 로컬 메모리의 접근이 동시에 이워질 수 있음. 하지만 로컬 메모리의 양이 모자라면 다른 CPU에 있는 메모리 접근이 필요하게됨 => 메모리 접근 시간이 소요하여 성능 저하 발생. 참고 Local Access : 각각의 cpu마다 별도의 메모리가 있고 해당 메모리를 접근 하는 방식 NODE : CPU+m..
저장 닫기 w : 저장 q : 닫기 상하좌우로 커서 이동 h : 오른쪽 이동 j : 아래로 이동 k : 위로 이동 l : 왼쪽으로 이동 숫자 + h/j/k/l : 숫자 만큼 이동 단어 단위로 이동 w : 정방향으로 단어 단위로 커서 이동 b : 역방향으로 단어 단위로 커서 이동 W : 정방향으로 공백 단위로 이동 B : 역방향으로 공백 단위로 이동 e: 문장 단위로 이동 0 : 행의 맨 앞으로 $ : 행의 맨 뒤로 ^ : 첫번째 글자로 f/t+ 찾을 문자 : 찾을 문자의 위치로 이동 ; : 다음것을 찾음. F/T+찾을 문자 : 위로 찾음. 단어 검색하기 / + 단어 : 검색할 단어 찾기 n : 정방향으로 이동 N : 역방향을 이동 /asdf : 하이라이팅 끄기 *: 커서 단어 검색 화면 스크롤 하기 Ct..