전체 글 77

클라우드 기초 15주차

IT 인프라 관련 기술 하드웨어 운영체제 가상화기술 네트워크 클라우드 직렬/병렬   • 서버 내부에서의 처리   • 멀티 프로세스 : 다수의 웹서버 데몬(httpd)을 실행   • 멀티 스레드 : 하나의 프로세스 안에 다수의 스레드를 이용해 병렬화 프로세스(독립적)/스레드(할당받아서 사용함) 작업관리자에서 하나를 껐을 때 하나만 꺼지는 것이 프로세스 메모리를 공유해 하나를 껐을 때 다같이 꺼지는 것이 스레드 동기/비동기 • 동기 처리   • 서버가 일을 마칠때까지 기다림   • 설계가 간단하고 직관적   • 결과가 있을 때까지 아무것도 못하고 대기   • (예) 웹페이지를 새로고침 • 비동기 처리   • 서버에게 일을 맡기고 다른 일을 하고 때가 되면 응답 받음   • 동기보다 복잡   • 자원을 효율적..

클라우드 기초 2024.12.12

C++과 함께하는 우주 탐험

1. 우주선의 준비이 우주선은 다양한 도구들을 갖추고 있었고, 마치 가상 함수처럼 하나의 이름으로 여러 수단과 방법을 제공하는 형태의 도구들이었습니다. 2. 우주정거장과의 연결탐사대는 우주정거장과의 연결을 위해 바인딩을 설정했습니다. 이는 우주선과 정거장이 어떻게 결합되어 서로 협력할 수 있는지를 결정합니다. 3. 산소의 공유우주선과 우주정거장은 static 멤버 변수를 통해 모든 탐사대원이 공유하는 산소를 관리했습니다. 이 산소는 탐사대의 공동으로 사용하는 자원이었습니다. 4. 이동 도구의 상속탐사대는 우주정거장에서 받은 이동 도구를 사용했습니다. 이 도구들은 부모로부터 자식에게 속성과 행동이 물려지는 상속의 개념처럼 작용했습니다. 5. 출발 준비탐사대는 필요한 물품들을 정리했습니다. 이 과정은 마치 ..

C++ 2024.12.10

클라우드 기초 14주차

아키텍처 - 클라이언트 서버시스템 - 클라이언트와 서버간의 상호 통신 - Thin Client : 중요 데이터 처리는 서버에 맡기고 클라이언트는 단순한 역할만 수행 - Fat Client : 중요 데이터 처리는 클라이언트에서 담당하고, 서버는 단순히 데이터 취합 및 전달 역할 수행     예시1) 게임에서 방장 컴퓨터 사양이 낮으면 게임 전체가 느려짐     예시2) 주식 프로그램은 차트표기, 주가 흐름분석 등을 클라이언트에서, 필요한 주가 데이터는 서버에서 취득 아키텍처 - 3계층형 아키텍처 클라이언트 -> 웹서비스 -> 애플리케이션 -> 데이터베이스 순으로 이어짐 프레젠테이션 계층(Presentation) - 사용자의 입력만 받음 - 웹브라우저 화면을 표시 - Apache, IIS 등 애플리케이션 계..

클라우드 기초 2024.12.05

자료구조 실습 14주차

내부 정렬 정렬할 자료를 메인메모리에 올려 정렬하는 방식 외부 정렬 - 보조기억장치에 저장함 외부 정렬 방식 병합방식 - (2-way 병합, n-way 병합) 선택 정렬 전체 원소들 중에서 기준위치에 맞는 원소를 선택하고 자리를 교환하는 방식(작은 순서대로 그 자리에 있는 원소와 교환한다고 생각해도 됨) 평균 시간복잡도 : O(n²) { 69 10 30 2 16 8 31 22 } 69 10 30 2 16 8 31 22 : 69, 2 교환 2 10 30 69 16 8 31 22 : 10, 8 교환 2 8 30 69 16 10 31 22 : 30, 10 교환 2 8 10 69 16 30 31 22 : 69, 16 교환 2 8 10 16 69 30 31 22 : 69, 22 교환 2 8 10 16 22 30 ..

자료구조 실습 2024.12.05

14주차 강의 내용

제너릭 프로그래밍을 아주 쉽게 설명해볼게요.제너릭 프로그래밍은 "모든 타입을 위한 만능 상자"라고 생각하면 돼요.예를 들어, 우리가 "사과"와 "바나나"를 담는 상자를 만든다고 해볼게요. 일반 상자는 사과만 담을 수 있지만, 만능 상자는 사과도 담고 바나나도 담을 수 있어요.즉, 제너릭 프로그래밍은 특정한 데이터 타입에 국한되지 않고, 다양한 타입의 데이터를 담을 수 있는 방법이에요. 이렇게 하면 코드를 더 간단하고 재사용하기 쉽게 만들어 줍니다.그래서 제너릭 프로그래밍을 사용하면 다양한 데이터에 대해 같은 로직을 쓸 수 있어서 편리해요! 뤼튼에게 generic programming을 물었을 때의 답 generic programming은 자료형이 실행될 때 결정된다.#include using std::c..

C++ 2024.12.03

14주차 예습과제

1. 강의 주제 : 템플릿의 기본 개념 2. 강의 키워드(주요 단어) : 팀플릿, generic, reference 3. 주요 내용 요약 템플릿 (template)- 다형성의 종류└ 템플릿(인자 다형성) : C++에서 다형성을 실현하는 또 다른 방법└ 코어션 : 수식, 변수 등의 불일치가 발생했을 때 형변환을 시켜주는 기능 템플릿 구현 형식(generic function)- 템플릿 : 포괄적 함수└ 템플릿은 인자(매개변수)를 통한 다형성을 제공한다.└ 함수 중첩은 기능이 같은 함수들을 같은 이름으로 사용할 수 있도록 한다.└ 함수의 매개변수의 형과 수로 구분이 되고, 코드 자체도 다르게 구성될 수 있다.└ 코드는 전혀 바뀌지 않고 형만 다른 함수를 필요로 한다면 템플릿을 사용하는 것이 좋다.└ 이는 값 ..

C++ 2024.12.03

13주차 강의 내용

부모는 protected, 자식은 public으로 하는 것이 보편적이다. C++에서 가상함수의 구현을 overriding이라고 한다. overriding에서 virtual을 써야지 public에 있는게 써진다. 변수,함수에 대한 메모리 할당, 함수호출이 발생 했을때 명령어들이 결정되는 시점을 바인딩이라고 부른다. static을 안줘서 1010 1010 1010이 찍힌 모습. static을 주자 없던 y값이 생긴 모습 static은 마치 시작프로그램과 비슷하다고 생각하면 된다. 컴파일을 시작할 때 미리 자리를 잡고있기 때문이다.실행할때는 16줄을 건너뛰고 실행이 된다. 왜냐하면 이미 컴파일을 시작했을 때 정해졌기 때문이다. 1010을 찍고 난 후 지역변수를 벗어나 x는 쓰레기값으로 바뀌지만 static으로..

C++ 2024.11.26

13주차 예습과제

강의 주제 : 바인딩과 오버로딩vs오버라이딩 강의 키워드(주요 단어) : 바인딩, 오버로딩, 오버라이딩, 정적(static)멤버변수, 가상함수, 순수가상함수 주요 내용 요약 가상함수(overriding)의 필요성, (최우선의 라는 뜻도 가지고 있다.)클래스를 상속 받아서 쓰는데, 상속 받은 클래스의 함수 중 고치고 싶은 함수가 있을 때기존 클래스의 모든 내용을 모두 현재 프로그램에 사용할 수 있는데, 특정 함수가 마음에 들지 않음기존의 클래스를 고치느니 상속을 받고, 가상함수를 이용하여 기존의 함수를 고쳐서 사용상속 받은 함수(부모)를 실행하지 않고 자신(자식)의 함수를 실행가상함수의 구현을 중복(overriding)이라고 함 바인딩(binding)- 변수와 함수에 대한 메모리 할당이나 함수 호출이 발생..

C++ 2024.11.26

12주차 강의내용

aa.을 하면 class A에 있는 public부분에 b1~b4까지 나타낼 수 있다. B는 아무것도 없기때문에 나타나지 않는다. 하지만 상속을 한다면 부모의 public을 물려받을 수 있다. C++, JAVA, python의 상속 예제다. C++#include using std::cout;class Animal { // 기본 클래스public: void speak() { cout  JAVAclass Animal { // 기본 클래스 void speak() { System.out.println("Animal speaks"); // 기본 클래스의 메서드 }}class Dog extends Animal { // 파생 클래스 void speak() { System...

C++ 2024.11.19

12주차 예습과제

강의 주제 : 상속(코드 재사용)기본 개념 실습 강의 키워드(주요 단어) : 기본클래스와 파생클래스, public, private 주요 내용 요약 상속 코드 재사용class A에서 만든 함수를 class B에서 class B : public A로 쓴다면 class public을 가져와 쓸 수 있다. 상속성(inheritance)C++에선 상속성을 제공하여 작업의 중복을 지양하고 프로그램의 개발기간 단축, 기존의 프로그램 재사용, 경비절감 등을 이룰 수 있다.이미 존재하는 클래스로부터 기본적인 특성을 물려받아 그대로 사용하고 새로운 특성만을 추가로 정의함. 클래스의 계층구조위쪽의 클래스는 일반되어 속성이 간단하며, 아래 클래스들의 공통적인 속성만을 갖는다.아래쪽의 클래스는 위쪽 클래스의 속성을 상속받으며,..

C++ 2024.11.18