일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 도커 이미지
- kubernetes
- devops
- 컨테이너
- boj
- linux
- k8s
- C++
- 쿠버네티스
- Python
- os
- 인프라
- 리눅스
- 클라우드
- 운영체제
- 도커 컨테이너
- 도커
- 프로세스
- AWS
- 부스트코스
- centOS7
- swift 클로저
- Swift
- NGINX
- ios
- 도커 명령어
- 네트워크
- 데브옵스
- centOS
- docker
- Today
- Total
목록분류 전체보기 (153)
귀염둥이의 메모
for문 + append() vs List Comprehension # for loop + append() >>> list_A = [] >>> for i in range(1, 11): >>> list_A.append(i) >>> print(lst_A) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # List Comprehension >>> lst_B = [i for i in range(1, 11)] >>> print(lst_B) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 중첩 for문 >>> result = [i+j for i in ["가", "나", "다"] for j in ["A", "B", "C"]] >>> print(result) ['가A', '가B', '가C', '나A..
STL (Standard Template Library) 자료구조와 알고리즘을 Template으로 제공하는 라이브러리 컨테이너, 이터레이터, 알고리즘, 함수 등으로 이루어져 있다. Container Sequence Container 일반적인 자료구조와 동일한 형태 적은 양의 자료나 검색속도가 중요하지 않은 경우 사용 array, vector, list, deque Associative Container 많은 양의 자료나 검색 속도가 중요한 경우 사용 set, multiset, map, multimap Container Adaptors 시퀀스 컨테이너의 변형해서 새로운 인터페이스를 갖는 구성요소로 변경 stack, queue, priority_queue Iterator 포인터와 비슷한 개념으로 컨테이너의 ..
연결 리스트(Linked List) 원소들을 저장할 때 그다음 원소가 있는 위치를 포함시키는 방식으로 저장하는 자료구조이다. k번째 원소를 확인/변경하기 위해 O(k)가 필요하다. 임의의 위치에 원소를 추가, 제거는 O(1) 원소들이 메모리 상에 연속해있지 않아 Cache hit rate가 낮지만 할당이 다소 쉽다. 연결 리스트의 종류 단일 연결 리스트(Singly Linked List) : 각 원소가 자신의 다음 원소의 주소를 갖고 있다. 이중 연결 리스트(Doubly Linked List) : 각 원소가 자신의 이전 원소와 다음 원소의 주소 둘다를 갖고 있다. 원형 연결 리스트(Circular Linked List) : 끝이 처음과 연결되어있다. 배열 vs 연결 리스트 메모리 상의 배치는 배열은 연속..
슬라이딩 윈도우(Sliding Window) 알고리즘 일정한 범위(Window)를 가지면서 이동(Sliding)하는 알고리즘이다. 배열또는 리스트 요소의 일정 범위 값을 비교할 때 유용하다. ex) 양의 정수로 구성된 배열 [2, 4, 7, 10, 8, 4]에서 연속된 요소 3개의 합이 가장 큰 값은? 단순한 이중 for문을 사용한 방법은 아래와 같다. #include #define SIZE 6 using namespace std; int main(void) { int array[SIZE] = {2, 4, 7, 10, 8, 4}; const int windowSize = 3; int max_sum = 0; for (int i = 0; i < SIZE - windowSize + 1; i++) { int w..
iOS View iOS에서 화면에 앱의 콘텐츠를 나타내기 위해 윈도우와 뷰를 사용한다. 윈도우는 그 자체로 콘텐츠를 표현할 수 없으며 애플리케이션의 뷰를 위한 컨테이너 역할을 한다. 뷰는 UIView 클래스 또는 UIView 클래스의 하위클래스(Subclass)의 인스턴스이다. 뷰는 또 다른 뷰를 관리하고 구성하기 위해 사용되기도 한다. 뷰 계층(View hierarchy) 하나의 뷰가 다른 뷰를 포함할 때, 두 뷰 사이에 부모(superview)-자식(subview) 관계가 생성된다. 부모-자식 관계 형성은 애플리케이션의 시각적 모습과 동작 모두 에 영향을 미친다. 슈퍼뷰와 서브뷰의 관계에서 서브뷰가 불투명할 경우 아래 그림과 같이 슈퍼뷰가 서브뷰에 가려진다. 슈퍼뷰는 하나의 배열 안에 서브뷰를 순서대..
최근 들어 VS Code를 사용해서 백준 문제를 풀기 시작했다. 아래 코드는 백준에서 C++로 문제를 풀 때 거의 디폴트로 깔고 시작한다. 간단한 단축키로 내가 원하는 코드를 자동 완성하고 싶어서 Snippets을 만들기로 했다. #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); return 0; } 1. Code -> Preferences -> User Snippets 클릭 2. 내가 만들 Snippets이 작동할 확장자를 선택하는 화면이 나오게 된다. 만들고 싶은 언어(C++)를 선택한다. 3. Snippets 설정 파일인 cpp.json이 열..
포인터(Pointer) - 포인터는 특정한 변수 자체가 존재하는 메모리 주소의 값을 가진다. - 포인터는 컴퓨터 시스템의 특정한 메모리에 바로 접근할 수 있다. - 중요한 메모리 영역에 접근하지 않도록 주의해야 한다. -> 의도하지 않은 결과 발생 기존에 a를 이용해서 5라는 값을 찾을 수 있지만 포인터 변수 b를 이용해서도 5라는 값을 찾을 수 있다. int main() { int a = 5; int *b = &a; // 선언할 때 쓰는 *는 포인터 변수임을 알림 printf("*b = %d\n", *b); // *b = 5 return 0; } '선언할 때' 쓰는 *는 포인터 변수임을 알려주기 위한 목적을 가진다. 이후에 *b 라고 쓰게 되면, 포인터 변수 b가 가리키는 주소의 값 5이다. 간접 참조..
NSLayoutConstraint - NSLayoutConstraint 인스턴스 생성 제약조건 button과 texField에 기본간격(8.0)에 제약을 주기 위해 NSLayoutConstraint 인스턴스를 생성 NSLayoutConstraint(item: button, attribute: .right, relatedBy: .equal, toItem: textField, attribute: .left, multiplier: 1.0, constant: 8.0) button1 과 button2의 너비 값이 같도록 제약을 생성 NSLayoutConstraint(item: button1, attribute: .width, relatedBy: .equal, toItem: button2, attribute: .w..
std::accumualte #include #include using namespace std; int main() { int array[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int sum = accumulate(array, array + 10, 0); cout
AutoLayout(오토 레이아웃) 아이폰 기종이 다양한 사이즈와 화면 비율로 출시가 되면서, 사이즈에 구애받지 않고 시각적으로 동일한 화면을 구현 해야하는데 이를 위한 가장 편리하고 권장되는 방법이 오토레이아웃이다. - 뷰의 제약 사항을 바탕으로 뷰 체계 내의 모든 뷰의 크기와 위치를 동적으로 계산한다. - 애플리케이션을 사용할 때 발생하는 외부 변경에 동적으로 반응하는 사용자 인터페이스를 가능하게 한다. - 인터페이스의 절대적인 좌표가 아닌 동적으로 상대적인 좌표가 필요한 경우에 유용함. 외부 변경(External Changes) - 슈퍼뷰의 크기나 모양이 변경될 때 발생함 ex) 장치 회전(iOS). - 아이패드의 Split View를 사용하거나 사용하지 않는 경우(iOS). - 다른 크기의 클래스..