[Spring Boot] #1 / 스프링 부트 1일차
객체지향 프로그래밍 간단 요약
🟢 생성자: 객체 생성시 사용하는 메서드 ex)Sample sam = new Sample();
🟢 캡슐화
🟢 추상화
🟢 접근제어자
private/같은 클래스 내부에서만,
public/전역,
protect/같은 패키지 내에서(상속관계) 다른 패키지의 자손클래스에서 접근가능,
default/같은 패키지 내에서
🟢 상속
오버로딩: 같은 이름의 메서드를 여러 개 가지면서 매개변수의 유형과 개수가 다르도록 하는 개념(동명이인)
오버라이딩: 재정의
🟢 인터페이스 : 자바의 다형성을 극대화 하여 코드 수정을 줄이고 유지보수성을 높이기위해 사용하는 클래스
🟢 내부클래스
🟢 this: 자기자신을 참조하는데 사용하는 키워드(변수)
//스레드
//프로세스: 실행중인 프로그램.
// 프로그램이 운영체제에(OS) 의해 메모리 공간을 할당받아 실행중인 것
//프로세스는 프로그램에 사용되는 데이터와 메모리 등의 자원과 스레드로 구성.
//멀티프로세스 vs 멀티스레드
//멀티프로세스: 하나의 응용프로그램을 여러개의 프로세스로 구성하여 각 프로세스가 하나의 작업을 처리하도록 하는 것
//장점- 하나의 프로세스가 죽어도 다른 프로세스에는 영향 없음
//단점- 오버헤드가 발생 할 확률이 있음. 성능저하를 유발 할 수 있음
//멀티스레드: 하나의 응용프로그램을 여러개의 스레도로 구성하여 각 스레드가 하나의 작업을 처리하도록 하는 것
//장점- 자원을 효율적으로 관리 할 수 있음.
//단점- 하나의 스레드가 문제가 발생하면 전체적으로 영향을 끼칠 수 있음.
컴퓨터 기본상식- 영상 제공? 유튭?
자바 최상위 객체- OBJECT
public List<T>
컬렉션-<>
List ,map,
arrayList,LinkedList
제네릭-T
//웹 프레임워크 = 구급상자
//웹프로그램을 만들기 위한 일종의 토탈패키지
//Spring,Rails/Express.React.vue.Angular.Next.js.nestjss
//Django,Flask,FastAPI
//프레임워크를 통해 업을 수 있는 것들(BOOT 기준)
//1.우수한 보안
//SQL injection: 악의적 SQL을 JS들을 통해 주입하여 공격하는 방법
//XSS:자바스크립트를 악의적으로 주입하여 공격하는 방법
//CSRF: 위조된 요청을 보내는 공격방법
//ClickJacking : 사용자의 의도하지 않은 클릭을 유도하는 공격방법
https://ko.wikipedia.org/wiki/%ED%81%B4%EB%A6%AD%EC%9E%AC%ED%82%B9
클릭재킹 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 클릭재킹(Clickjacking, User Interface redress attack, UI redress attack, UI redressing)은 웹 사용자가 자신이 클릭하고 있다고 인지하는 것과 다른 어떤 것을 클릭하게 속이는
ko.wikipedia.org
XSS - 나무위키
XSS는 데이터를 입력할 때와 출력할 때, 모두 필터링하고, 클라이언트에도 막을 수 있을만한 수단을 구성해놓는 것이 좋다. 보안은 한없이 덧대도 끝이 없고, 아래 서술한 방식으로 구성해도 기
namu.wiki
Spring Tools 4 is the next generation of Spring tooling
Largely rebuilt from scratch, Spring Tools 4 provides world-class support for developing Spring-based enterprise applications, whether you prefer Eclipse, Visual Studio Code, or Theia IDE.
spring.io
MVC 패턴
mtv? 파이썬
mvm? 뷰제이
model,view,controller
데이터관리,ui,제어관리
비동기(ajax)
게시판 만들기
새로운 프로젝트 만들기
New Spring Start Project 👉 java 버전 👉그룹,패키지 설정
Spring Boot Version 맞추기 : web -> spring web
🔽 Console-----------------------------------------
> Task :nothing UP-TO-DATE
BUILD SUCCESSFUL in 1m 54s
----------------------------------------------------------
컨트롤러가 나뉜다?
controller(비즈니스 모델, view 단에 보이게 하는 것)
service(model 단으로 던질 데이터 가공)
package com.board.pra;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class FirstController {
@RequestMapping("/hello")//url
@ResponseBody//응답 페이지
public String sayhi() {
return"집에 가고 싶다";
}
}