네이버클라우드 캠프 5기/학습내용 정리 58

57. SpringBoot - SpringSecurity

1. Spring Security 1. Spring Security란? 스프링 시큐리티는 스프링 기반 어플리케이션의 보안(인증(로그인))과 권한(사용자의 권한에 대한 처리), 인가(권한에 따른 사용분리) 등)을 담당하는 스프링 하위 프레임워크. 서블릿 필터와 필터체인을 등록해서 인증, 권한, 인가에 대한 위임모델을 구성. 3.버전까지는 필터체인을 체이닝기법으로 구성했지만 3.1.0버전부터는 필터체인을 람다식을 이용한 함수형으로 구현한다. HttpSecurity 객체를 이용하여 구성하게 된다. 보안과 관련된 체계적인 옵션들을 제공해주기 때문에 개발자가 직접 보안관련 로직을 작성하지 않아도 되는 장점이 있다.2. Spring Security의 용어 접근주체(Principal): 보호된 리소스(어플리케이션)에..

56. SpringBoot - JPA

1. JPA 1. JPA란 1. JPA(Java Persistence API)의 약자로 Java에서 사용하는 ORM(Object Relational Mapping) 프레임워크 종류의 하나 2. Java 객체로 RDB(Relational DataBase) 테이블간의 관계를 표현 3. Hibernate, OpenJPA를 사용하여 인터페이스를 구현 2. JPA 사용하는 용어들 1. Persistence(영속성): 개발자들이 개발한 어플리케이션이 종료되도 계속적으로 저장되어 있는 데이터(DB 테이블에 저장되어 있는 데이터) 2. 영속성 컨텍스트: 어플리케이션과 데이터베이스 사이의 엔티티와 영속성의 괴리를 해소하는 기능과 객체를 보관하는 기능을 제공. 엔티티 객체가 영속성 컨텍스트에 들어오는 순간 JPA는 엔티티..

55. SpringBoot - SpringBoot란?

1. Spring Boot 1. Spring Boot란 1. SpringFramework 기반으로 tomcat이 내장되어 있으며 다양한 라이브러리 및 어노테이션이 추가된 프레임워크.(@RestController, @Configuration, @Mapper, @Bean, ...) 2. Spring Boot의 특징 1. tomcat이 내장되어 있어 별도의 tomcat 설치가 필요없다. 2. Spring Framework 프로젝트의 배포는 WAS에서 읽을 수 있는 WAR 파일로 만들어서 배포를 진행했는데 Spring Boot 프로젝트는 JDK에서 바로 실행할 수 있는 JAR 파일로 만들어서 배포 3. Spring Boot Starter 패키지를 제공해서 빠른 라이브러리 의존성을 설정할 수 있다. 4. Spri..

54. SpringFramework - 게시판 구현

1. 게시판 구현 1. 회원 기능 구현 1. 요청 별 method 타입 get 요청으로 가는 경우 브라우저 주소창에 주소를 입력할 때 a태그 클릭해서 링크로 이동할 때 form의 method 속성이 get으로 설정되어 있을 때 redirect로 다른 요청 url을 호출할 때 ajax의 type이 get으로 설정되어 있을 때 post 요청으로 가는 경우 form의 method 속성이 post로 설정되어 있을 때 ajax의 type이 post로 설정되어 있을 때2. get과 post 사용 get 요청은 데이터의 목록을 조회하거나 화면으로 이동할 때 주로 사용 post 요청은 데이터의 입력, 수정, 삭제, 특정 데이터 조회 등에서 주로 사용 3. Ajax(Asynchronous Javascript And Xm..

53. SpringFramwork - SpringBoard

1. 게시판 구현 1. 회원 기능 구현 1. 요청 별 method 타입 get 요청으로 가는 경우 브라우저 주소창에 주소를 입력할 때 a태그 클릭해서 링크로 이동할 때 form의 method 속성이 get으로 설정되어 있을 때 redirect로 다른 요청 url을 호출할 때 ajax의 type이 get으로 설정되어 있을 때 post 요청으로 가는 경우 form의 method 속성이 post로 설정되어 있을 때 ajax의 type이 post로 설정되어 있을 때2. get과 post 사용 get 요청은 데이터의 목록을 조회하거나 화면으로 이동할 때 주로 사용 post 요청은 데이터의 입력, 수정, 삭제, 특정 데이터 조회 등에서 주로 사용 3. Ajax(Asynchronous Javascript And Xm..

52. SpringFramework - 2

1. SpringFramework 1. AOP 1. DB 연동 방식(JDBC/DBCP/JNDI) JDBC(Java DataBase Connectivity): 자바에서 제공해주는 DB 연결 표준 API. DB 연결 요청이 올 때마다 Web Application이 커넥션을 계속해서 생성하는 방식. 많은 사용자가 동시에 DB 접속을 요청하면 커넥션의 개수가 증가하여 DB 서버 과부하나 메모리 부족을 야기할 수 있다. 비효율적인 방식이어서 현재는 많이 사용되고 있지 않다. DBCP(DataBase Connection Pool): Web Application에서 지정한 개수만큼의 DB Connection을 미리 만들어놓고 DB 접속 요청이 올 때마다 만들어놓은 DB Connection을 대여하는 방식. 초기 Co..

51. SpringFramework - 1

1. SpringFramework 1. 웹 개발의 역사 1. Servlet의 등장 전 초창기 웹은 html, css 파일(정적파일)만 주고받고 할 수 있는 형태의 웹 DB에 있는 데이터를 가져와서 동적으로 표시할 방법이 없는 문제점이 발생 -> 개발자들이 동적 데이터를 표시할 방법을 찾기 시작 2. CGI 프로그램 CGI(Common Gateway Interface): 동적 데이터 처리에 대한 규약 클라이언트(사용자)가 요청을 보내면 Web서버에서 CGI프로그램을 호출하여 동적 데이터를 처리하는 방식. CGI프로그램은 요청당 하나의 프로세스를 생성하여 동적데이터에 대한 처리를 하였다. 대형 사이트들이 등장하면서 다수의 사용자에 대한 처리에서 문제가 발생했다. CGI 프로그램이 프로세스 기반이었기 때문에 ..

50. Jquery - Event

1. Event 1. JqueryEvent Jquery의 이벤트도 자바스크립트와 마찬가지로 사용자 동작에 매핑돼서 실행될 기능들을 미리 구현해 놓는 것. 이벤트 등록 방식 선택자.이벤트(click, dblclcik, load, ready, ...)(콜백함수); $("선택자").click(() => { alert("클릭"); }); 선택자.on("이벤트", 콜백함수); $("선택자").on("click", () => { alert("클릭"); }); 동적으로 생성되는 태그들에는 위 이벤트 등록방식은 먹히지 않는다. 동적 태그의 이벤트 등록방식은 $(document).on("이벤트", "선택자", 콜백함수); let htmlStr = ` 버튼 ` $("body").append(htmlStr); $("#btn..

49. Jquery - method

1. method 1. 객체 조작 메소드 객체 조작 메소드 DOM 객체에 접근해서 태그를 삭제, 추가 또는 내용들을 추가/삭제 그리고 속성값들을 가져오거나 변경할 수 있는 메소드. html(): 순수 자바스크립트의 innerHtml과 매핑되는 메소드. 선택자.html(): 선택한 태그의 모든 하위태그들을 문자열로 반환 선택자.html("새로운 태그 문자열"): 선택한 태그의 모든 하위 태그들을 삭제하고 새로운 태그를 생성. text(): 순수 자바스크립트의 innerText와 매핑되는 메소드. 선택자.text(): 선택한 태그의 텍스트 반환 선택자.text("새로운 문자열"): 선택한 태그의 텍스트를 모두 삭제하고 새로운 텍스트 추가. css(): 순수 자바스크립트의 선택자.style.속성과 매핑되는 메..

48. Jquery - Selector

1. Selector 1. 직접 선택자 전체 선택자: DOM의 모든 태그 선택. $("*") 아이디 선택자: 해당 아이디명을 가지고 있는 태그 선택. $("#아이디") 클래스 선택자: 해당 클래스명으로 되어있는 태그 선택. $(".클래스명") 태그 선택자: 해당 태그들 모두 선택. $("태그명") 그룹 선택자: 여러 개의 선택자를 묶어서 선택. $("선택자1, 선택자2, ..., 선택자n"). 선택자n에는 아이디, 클래스, 태그 선택자 등 다양한 선택자들을 넣을 수 있다. 2. 관계 선택자 선택자.parent(): 선택자의 부모 요소 선택 $("기준 선택자"): 기준이 되는 태그의 모든 하위 태그 중에 선택자에 해당되는 태그들 모두 선택 선택자.children(), $("기준 > 선택자"): 기준이 되는..