개발환경개발 툴 : 인텔리제이사용 기능 : web, thymeleaf, jpa, h2, lombok, validation groupId: jpabook artifactId: jpashop (스프링 부트 스타터(https://start.spring.io/))언어 : java ver11 https://velog.io/@codemcd/Spring-boot%EC%97%90%EC%84%9C-OpenJDK-11-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0 참고자료! IntelliJ에서 OpenJDK 11 설정하기OpenJDK 11 설치 및 인텔리제이에서 정상적으로 사용하도록 설정velog.io 1.설정 2.build.gradle 수정 plugins { id..
상속1.자식 클래스가 부모 클래스의 기능을 그대로 물려받음2.보통 부모 클래스를 상속받은 자식 클래스는 부모 클래스의 기능에 더하여 좀 더 많은 기능을 갖도록 작성할 수 있다.3.부모 클래스로 만들어진 객체를 자식 클래스의 자료형으로는 사용할 수 없다 (IS-A관계)class Animal { String name; void setName(String name) { this.name = name; }}class Dog extends Animal { // Animal 클래스를 상속한다. void sleep() { System.out.println(this.name+" zzz"); }}public class Sample { public static v..
객체지향프로그래밍(OOP, Object-Oriented Programming) 프로그램을 객체 단위로 구성하는 방법이다. 모든 데이터를 객체(object)로 취급하며, 이러한 객체가 바로 프로그래밍의 중심 객체(object)란 소프트웨어 세계에 구현할 대상 다양한 기능을 하는 객체들을 조합해서 자기가 원하는 기능을 구현하는 방법이다. 객체(object) : 필드와 메소드로 구성이 된다. 객체안의 멤버변수들을 필드라고 하며 필드에 객체의 상태를 저장한다. 객체안의 멤버함수들을 메소드라고 하며, 특정한 작업을 수행한다. *참고 : https://wikidocs.net/156068 객체지향프로그래밍 클래스(class) 객체를 정의하는 틀 또는 설계도와 같은 의미 이러한 설계도인 클래스를 가지고, 여러 객체를 ..
https://data.seoul.go.kr/dataList/OA-1176/S/1/datasetView.do 열린데이터광장 메인데이터분류,데이터검색,데이터활용data.seoul.go.kr 열린데이터광장의 json데이터를 활용하였다.필드를 체크하고 검색하고 싶은 단어를 치면 결과값이 나온다!>>>>>>>데이터 URL: https://data.seoul.go.kr/dataList/OA-1176/S/1/datasetView.do 검색 단어: 필드: guname m_addr m_name lng m_code ..
Cookie(쿠키) 클라이언트(브라우저)로컬에 저장되는 키와 값이 들어있는 작은 데이터 파일 HTTP에서 클라이언트의 상태 정보를 클라이언트의 PC에 저장하였다가 필요시 정보를 참조하거나 재사용할 수 있다. 사용자의 편의를 위한 것으로 지워져도 되고, 조작되거나 가로채이더라도 큰 지장이 없는 수준의 정보 ex) 팝업에서 "오늘 더 이상 이 창을 보지 않음" 체크, 자동로그인 사용자가 따로 요청하지 않아도 브라우저가 Request시에 Request Header를 넣어서 자동으로 서버에 전송 Session(세션) 세션은 쿠키를 기반하고 있지만, 사용자 정보 파일을 브라우저에 저장하는 쿠키와 달리 세션은 서버 측에서 관리 사용자나 다른 누군가에게 노출되면 안되는 중요한 정보 ex) 로그인 클라이언트가 requ..
1.1 웹은 HTTP로 나타낸다이 흐름을 결정하는 프로토콜(약속)-> HTTP(HyperText Transfer Protocol) 라는 약속을 사용한 통신을 함 1.2 HTTP가 등장한 배경- 멀리 떨어져 있는 사람들을 연결하는 시스템 즉 WWW(웹)을 구성하는 기술 기술언어 HTML(HyperText Markup Language)+ 문서 전송 프로토콜 HTTP+ 문서의 주소를 지정하는 방법 URL(Uniform Resource Locator) 1.3 네트워크 기본 TCP / IP◆TCP/IP는 프로토콜의 집합네트워크에서 사용되는 프로토콜이다.프로토콜 : 서로 다른 HW, OS가 서로 통신을 하기 위해서 필요한 규격케이블 규격, IP주소 지정방법, 웹에 표시하기 위한 순서 등...인터넷 프로토콜들을..
Source Code#include /* 8 / \ 3 10 / \ \ 2 5 14 / \ 11 16*///최대 노드 수를 저장할 변수int MAX_node = 16;// 트리를 저장할 배열//tree[0]에는 노드갯수를 삽입한다.//tree에서 빈부분은 -1로 표현한다.int tree[] = { 8, 8, 3, 18, 2, -1, -1, 21, -1, -1, -1, -1, -1, -1, 11, -1 };//노드의 왼쪽 자식 노드//배열 tree의 원소들을 반환하므로 반환값 int , tree의 인덱스의 값을 매개변수로 받아야 하므로 int index라 작성int get_left_child(int index){ // 노드가 n..
Source Code#include #include #define STACK_SIZE 100typedef int element; // 스택 원소(element)의 자료형을 int로 정의 typedef struct stack{ element stack[STACK_SIZE]; // 1차원 배열 스택 선언 int top; // top 초기화}StackType;// 스택이 공백 상태인지 확인하는 연산int isEmpty(StackType* s){ if (s->top == -1) //이게 스택이 공백인 조건 //1부터 시작하는 스택이면 top이==0일때 공백 return 1; else return 0;}// 스택이 포화 상태인지 확인하는 연산int isFull(Stack..
Source Code#include #include #include // 이중 연결 리스트의 노드 구조를 구조체로 정의typedef struct listNode{ char name[50]; // 이름 저장 char phone[50];// 전화번호 저장 struct listNode* llink; // 노드의 이전노드를 가리킴 (왼쪽 링크필드) struct listNode* rlink; // 노드의 다음노드를 가리킴 (오른쪽 링크필드)} listNode;// 리스트 시작을 나타내는 head 노드를 구조체로 정의typedef struct{ listNode* head; // listNode구조체의 멤버로 구조체 포인터 변수 head 선언 } linkedList_h;// 공백 이중 연결 리스트를 생성하는 연산 (..