일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Queue
- python
- 코테
- javascript
- jsp
- DB
- mybatis
- JPA
- dbms
- dfs
- 자바의정석
- 항해99
- 가상컴퓨팅
- 99클럽
- til
- Java
- 코딩테스트
- 개발자취업
- 코딩테스트준비
- BFS
- 암호학
- 크루스칼
- sql
- js
- spring
- generic class
- Algorithm
- 공개키 암호화
- 자료구조
- 알고리즘
- Today
- Total
목록개발 공부/Spring (18)
PLOD
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cJINK4/btsI84YUgyS/4urcuhw4lN4mNM9mwKp2G1/img.png)
인증과 인가인증(Authentication)인증은 해당 유저가 실제 유저인지 인증하는 개념해당 리소스에 대해서 작업을 수행할 수 있는 주체인지 확인하는 것인가(Authorization)해당 유저가 특정 리소스에 접근이 가능한 지 허가를 확인하는 개념인증 과정 이후에 일어나는 확인 과정filterFilter란 Web 애플리케이션에서 관리되는 영역으로 Client로 부터 오는 요청과 응답에 대해 최초/최종 단계의 위치이며 이를 통해 요청과 응답의 정보를 변경하거나 부가적인 기능을 추가할 수 있다주로 범용적으로 처리해야 하는 작업들(ex. 인증 , 인가와 같은 보안처리)에 활용로직을 비즈니스 로직과 분리하여 관리 할 수 있다는 장점Spring SecurityFilter chain Spring에서 모든 호출은 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/0hYOO/btsInxUhUI2/QAoo6iifKSGHXqudutQ6bK/img.jpg)
JPAJPA는 자바 진영에서 ORM기술 표준으로 사용되는 인터페이스의 모음이다.기존의 JDBC는 SQL 의존적이라 변경에 취약하였다. 그리고 쿼리를 통해 직접 접근하는 방식이라 SQL 직접 변경해주어야 해서 수고스러웠다.이러한 점을 ORM 기반의 JPA가 해소할 수 있을 것이다. JPA를 통해 백엔드 개발자들은 쿼리 작성과 수정에 들이는 노력을 비즈니스 로직 개발에 힘쓸수 있게 되었다. ORM(Object-Relational Mapping) 애플리케이션 Class와 RDB(Relational DataBase : 관계형 데이터베이스)의 테이블을 매핑한다는 뜻이며, 기술적으로는 어플리케이션의 객체를 RDB 테이블에 자동으로 영속화 해주는 것이라고 보면 된다.ORM의 장점SQL 문이 아닌 메서드를 통해 데이터..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bhAYJB/btsrwVTzZBn/Cs7CkJV4lw49BHQDtcsDBK/img.jpg)
객체지향언어인 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도와 주는 개발 프레임 워크이다. JDBC를 통해 데이터베이스에 엑세스하는 작업을 갭슐화하고 일반 SQL 쿼리, 저장 프로 시저 및 고급 매핑을 지원하며 모든 JDBC 코드 및 매개 변수의 중복 작업을 제거한다. spring framework와 MyBatis를 연동해서 좀 더 쿼리를 좀 더 빠르게 SQL을 처리할 수 있다. 전통적인 JDBC MyBatis 직접 Connection을 맺고 마지막에 close() UPDATE, INSERT, DELETE 문 실행 시 ,PrepareStatement를 직접 생성 및 처리 PrepareStatement의 setVO() 등에 대한 모든 작업을 개발자가 처리 SELECT문의 경우 직접 R..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c4jZSB/btssqAUnpOR/eDeODsDj4JnqZrqS6nQIe0/img.png)
현재 우리나라의 삼성 , 현대, LG 같은 대기업들과 네이버 , 라인, 카카오 같은 it 서비스 기업들 , 수 많은 SI 기업들은 대부분 java 기반의 sping framework를 사용하고 있다. 당연히 개발자로 취업을 희망하는 사람들은 (나 같은..) spring이 시장 점유율이 높다는 이유로 사용하고 있다. 하지만 근본적으로 spring을 사용하는 이유는 뭘까? 프레임워크는 말그대로 '뼈대나 근간을 이루는 코드들의 묶음' 이라고 할 수 있다. 중요한 점은 이뼈대가 왜 필요한 지이다. 개발자는 각 개개인의 능력 차이가 큰 직종이고 그렇기 때문에 개발자 구성에 따라 프로젝트 결과 역시 큰 차이를 낳는다. 이러한 차이를 극복하기 위해 나온것이 framework이다. 프레임워크를 이용한다는 의미는 프로..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bIXbhm/btsatWuRb6c/a8DHaDhyPqKK4eYTPvpKGK/img.png)
웹 계층에서 가장 먼저 설계해야 되는 것은 주소 , 즉 URL(URI)이다.JSP는 tomcat 서버를 켰을 때 http://localhost:8080/...을 입력하게 되면 나오는 화면이다. 아래는 게시판 프로젝트에서 Controller를 설계 할 때 설정했던 예시이다. Task URL Method Parameter From URL 이동 전체 목록 /board/list GET 등록 처리 /board/register POST 모든 항목 입력화면 필요 이동 조회 /board/read GET bno=123 삭제 처리 /board/modify POST bno 입력화면 필요 이동 수정 처리 /board/remove POST 모든 항목 입력화면 필요 이동 Controller는 Service 객체와 같이 연동해야 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bHcEvs/btsatVJixeu/o7IvVnAzShnKkGWXW6nhDk/img.png)
비즈니스 계층(service 계층, controller 계층) 비즈니스 계층은 고객의 요구사항을 반영하는 계층으로 프레젠테이션 계층과 영속 계층의 중간 다리 역할을 하게 된다. 영속 계층은 Database 기준으로 해서 설계를 나눠 구현하지만 비즈니스 계츠은 로직을 기준으로 해서 처리하게 된다. 비즈니스 계층은 Service ,ServiceImpl 클래스들을 설계하는 과정이다. Service 메서드 설계시 메서드 이름은 현실적인 로직의 이름을 붙이는 게 관례이다 . 명백하게 반환해야 할 데이터가 있는 select를 해야하는 메서드는 리턴 타입을 지정할 수 있다. 특정한 게시물을 가져오는 get() 메서드와 전체 리스트를 구하는 getList()의 경우 처음부터 리턴타입을 결정해서 진행할 수 있다. \ ※..