일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 컨테이너
- 인프라
- 네트워크
- NGINX
- 리눅스
- linux
- 도커 이미지
- 도커 명령어
- AWS
- swift 클로저
- os
- Python
- centOS
- kubernetes
- 부스트코스
- 클라우드
- ios
- 도커
- C++
- boj
- 데브옵스
- centOS7
- Swift
- 쿠버네티스
- k8s
- 도커 컨테이너
- docker
- 운영체제
- 프로세스
- devops
- Today
- Total
목록CS (58)
귀염둥이의 메모
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..
포인터(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이다. 간접 참조..
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
HttpServlet 웹 서버에 Request하고 Response 기능을 담고 있는 추상클래스이다. 서블릿 클래스는 HTTP protocol 서비스를 지원하는 javax.servlet.http.HttpServlet 클래스를 상속 받는다. GenericServlet은 ServletConfig(서블릿 환경) / Servlet(기능구현) / Serializable(서블릿 직렬화) 이라는 3개의 인터페이스를 구현하고 있다. doPost / doGet 메소드 클라이언트는 서버에 post과 get 중 하나로 요청한다. 에서method="post" 또는 method="get"이라고 쓸 수 있다. method의 default 값은 get이다. Post 방식 주소창에는 데이터가 보여지지 않으므로 보안에 강함 로그인 정보..
서블릿 맵핑 방법 web.xml에 맵핑 Annotaion 사용 1. web.xml에 맵핑 TestServlet com.servlet.TestServlet TestServlet /ts TestServlet이란 이름을 가진 servlet-name을 가지고 만들어준다. TestServlet을 가르키는 곳을 servlet-class에 적어준다. 밑에 을 추가한다. servlet-class의 클래스를 매핑할 이름('/' 으로 시작하는)을 입력한다. 2. Annotation 사용 @WebServlet("/ts")
JSP (Java Server Page) HTML 코드에 Java코드를 넣어서 동적인 웹페이지를 생성한다. Servlet 웹페이지를 동적으로 생성하기 위한 서버측 프로그램이다. Java 코드에 HTML코드가 들어간다. JSP와 Servlet Servlet은 자바코드로 구성되어있고 컴파일시 .java 파일이 .class로 변환 됨. JSP는 컴파일시 .jsp 파일이 컨테이너를 통해서 _jsp.java로 변환 후 _jsp.class로 변환 됨.