컴퓨터 기본 개념

    VPC(Virtual Private Cloud)

    VPC - 네트워크 계층 - EC2 인스턴스를 비롯한 여러 AWS 서비스의 리소스를 담을 수 있는 가상 네트워크 - 한 AWS 리전 안에서만 존재할 수 있고, 한 리전에 만든 VPC는 다른 리전에서는 보이지 않음 - 네트워킹이 가능하도록 만들어주는 서비스 - 연속적인 IP 주소 범위로 구성 => CIDR 블록으로 표시 - 10.0.0.0/8 => 10.0.0.0 ~ 10.255.255.255 - 172.16.0.0/12 => 172.16.0.0 ~ 172.31.255.255 - 192.168.0.0/16 => 192.168.0.0 ~ 192.168.255.255 서브넷 (subnet) - VPC 내 논리 컨테이너 - EC2 인스턴스를 배치하는 장소 = 인스턴스는 서브넷 안에 위치 - 한번 서브넷이 인스턴..

    리다이렉트(Redirect) & 포워드(Forward)

    클라이언트 서버 GET /main.gif HTTP/1.1 -----------------------------------------------------> HTTP/1.1 200 OK ⇐ 이미지가 있는 경우 HTTP/1.1 404 Not Found ⇐ 이미지가 없는 경우 id, pw가 일치하는 정보가 존재하지 않으면 HTTP/1.1 200 OK + 응답본문에 오류 메시지를 포함한 로그인 페이지가 반환 id, Pw가 일치하는 정보가 존재하면 HTTP/1.1 302 Move Temp Location: /main.jsp +---------------------------------------------------+ main.jsp HTTP/1.1 200 OK | main login.jsp : HTTP/1.1 ..

    보안 개념 3가지

    식별(Identification) : 누군지를 먼저 알아야함 인증(Authentication) : 그 사람이 맞다는 것을 증명(내가 맞다는 것을 알려줄 정보가 있어야 함) - 지식기반 => 패스워드 -> 보안 취약하기 때문에 앞으로 없어질 것임 - 소유 => OTP(그 사람만 가지고 있는 것), 스마트폰, 공인인증서, 주민등록증,... - 특징 => 성문, 지문, 정맥, 홍채,..., 필기체 서명,... 인가(Authorization) : 인증받은 사용자가 그 행위를 할 수 있는지 없는지 권한을 부여하는 것 - 화면 - 기능 - 데이터

    프론트기술을 배워야 하는 이유

    javascript실행환경 java가 runtime만 있으면 어디서든 사용할 수 있는 것처럼 javascript또한 마찬가지 javascript의 장점 : 쉽다. 경량화된 서버사이드를 만들기 적합하기 때문에 Node를 많이 쓴다. ES6 ECMA SCRIPT javascript java, spring framework(전자정부프레임워크), boot, spring cloud 더북(TheBook) thebook.io 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다. 경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현한다. JPA와 JUnit 테스트, 그레이들, 머스테치, 스프링 �� www.yes24.com 리액트를 다루..

    연결리스트

    - 일반적으로 배열을 사용하여 데이터를 순차적으로 저장하고, 나열할 수있다. - 배열을 사용하는 경우 메모리 공간이 불필요하게 낭비될 수 있다. - 배열로 만들었으므로 특정한 위치의 원소에 즉시 접근할 수 있다는 장점이 있다. - 데이터가 들어갈 공간을 미리 메모리에 할당해야 한다는 단점이 있다. - 원하는 위치로 삽입이나 삭제가 비효율적 - 일반적으로 연결리스트는 구조체와 포인터를 함께 사용하여 구현한다. - 연결리스트는 리스트의 중간 지점에 노드를 추가하거나 삭제할 수 있어야 한다. - 필요할 때마다 메모리 공간을 할당 받는다. - 포인터를 이용해 단방향적으로 다음 노드를 가리킨다. - 일반적으로 연결 리스트의 시작 노트를 헤드(Head)라고 하며 별도로 관리한다. - 다음 노드가 없는 끝 노드의 다..

    17장. 구조체

    - 여러개의 변수를 묶어 하나의 객체를 표현하고자 할 때 사용 - 배열과는 성질이 다름 배열 : 동일한 특성을 가지는 변수를 일렬로 나열 구조체 : 일종의 객체를 표현하고자 할때사용 - 게임에서 캐릭터, 몬스터, 학생, 좌표 등 다양한 객체를 모두 프로그래밍 언어를 이용해 표현할 수 있다. - 구조체는 현실 세계의 객체를 소스코드 상에서 매우 쉽게 표현할 수 있도록 한다. /* struct 구조체명{ 자료형1 변수명1; 자료형2 변수명2; ... }; */ # include struct Student{ char studentId[10]; char name[10]; int grade; char major[100]; } 1) 기본적으로 구조체 변수에 접근할 때는 온점(.)을 사용한다. struct Stude..

    14장. 다차원 배열과 포인터 배열

    - 행렬 데이터를 표현할 때, 그래프 알고리즘을 처리할 때, 다수의 실생활 데이터를 처리할 때 등 사용 - 흔히 우리가 보는 표 구조가 2차원 배열과 흡사 - 2차원 배열 또한 기본적으로 0인덱스부터 시작 - 자료형 배열이름[행][열] = {{값, 값, 값,,,},{값, 값, 값,,,}} - 2중 for문과 함께 많이 사용 - 2차원 배열 이상의 다차원 배열 또한 사용할 수 있다. - 컴퓨터는 기본적으로 화면에 2차원 형태만 출력할 수 있다. - 배열은 포인터와 동일한 방식으로 동작한다. - 배열의 이름은 배열의 첫 번째 원소의 주소이다. - 유일한 차리점이라 하면, 포인터는 변수(값이 바뀔 수 있음)이며 배열의 이름은 상수(값이 바뀔 수 없음)이다. - 반대로 포인터를 배열처럼 사용할 수 있다. - 포..

    15강. 동적메모리할당

    - 일반적으로 C언어에서 배열의 경우 사전에 적절한 크기만큼 할당해주어야 한다. - 우리가 원하는 만큼만 메모리를 할당해서 사용하고자 한다면 동적 메모리 할당을 사용한다. - 동적이라는 말의 의미는 '프로그램 실행 도중에' 라는 의미이다. - 동적메모리 할당을 수행할 때마다 할당되는 포인터의 주소는 변칙적이다. - 동적으로 할당된 변수는 에 저장된다. 1) C언어에서는 malloc() 함수를 이용해 원하는 만큼의 메모리 공간을 확보할 수 있다. 2) malloc() 함수는 메모리 할당에 성공하면 주소를 반환하고, 그렇지 않으면 NULL을 반환한다. 3) malloc() 함수는 라이브러리에 정의되어 있다. ex) malloc(할당할 바이트 크기); #include #include int main(void)..