분류 전체보기88 Spring security - Authorization Spring Projects 종류: Spring FrameWork에서 발전했다. 이렇게 많다. Spring Security: 웹 어플이나. Rest api에 인증, 권한을 추가하는 경우 Spring Data: 다른 타입의 데이터베이스를 통합하는 경우 Spring integration: 다른 어플리케이션과의 통합 관련 문제를 도와주는 프로젝트 Spring Boot: microservice를 빌드해주는 유명한 프레임워크(프로젝트) Spring Cloud: 스프링 네이티브 애플리케이션을 빌드해주는 프로젝트 스프링 에코 시스템이 유명한 이유 느슨한 결합: 빈과 의존성의 연결을 느슨하게 해서 유지 보수가 쉽다. Reduced Boilerplate Code (상용구 코드 줄여줌): 비즈니스 로직에만 집중할 수 있게.. 2024. 3. 8. [포스코x코딩온] 풀스택 부트캠프 4차 프로젝트 -2 아직도 db 구조를 짜고 있다. 일단 크롤링 데이터를 등록할 공간이 필요한데 아무래도 특성상 정해진 데이터가 아니라 데이터가 null값이 올 수도 있는 옷 데이터기 때문에 몽고 db를 활용하기로 했다. 그렇게 된다면 mysql과 mongodb를 같이 활용하게 되는데 이렇게 되면 실무에서는 거의 도커를 많이 써서 컨테이너로 담아버린다는 것 같았다. 그런데 어차피 ec2 서버 하나에서 mysql과 아틀라스를 쓰면 되는 것 아닌가? 하는 생각이 든다. 명확한 장점을 모르겠다. (도커의 장점은 ec2서버가 만약 다운된다면 다같이 날아간다는 점과 하나의 컨테이너로 동작하고 있기 때문에 유지보수가 용이하다는 점에 있다.) 그래서 spring boot에서 그냥 두 개의 데이터베이스가 그냥 연동이 되기 때문에 이렇게 .. 2024. 3. 8. [포스코x코딩온] 풀스택 부트캠프 4차 프로젝트 -1 이제 4차 프로젝트다. 프로젝트 컨셉은 날씨에 맞는 옷을 추천해주는 옷장이다. spring boot (REST API)와 next.js를 이용한 프로젝트가 될 것 같다. 그래서 날씨에 맞는 옷을 추천해주는 방식에 대해서 생각한 결과 요즘 핫한 chat gpt api를 활용해 보자는 의견이 있어서 그렇게 진행하기로 하였다. 근데 생각보다 gpt가 똑똑하지는 않은 것 같다. 그래서 거의 가스라이팅 수준으로 조건을 주니까 그래도 의도에 맞는 답변을 하는 것을 확인하였다. 그래서 이런 방식으로 진행하게 되었다. 나는 그중에서도 일단은 DB를 비롯한 백엔드 전체를 담당하게 된 것 같다. 회의하던 도중 db는 NOSQL인 몽고 db를 사용하기로 하고 repository와 service, document, contr.. 2024. 3. 5. Spring Security 기본 프로젝트에 Spring Security를 설정하면 모든 것이 보호되고 필터 체인을 통해 인증과 권한 부여가 가능하다. Spring Security 작동 방식 Spring으로 웹 애플리케이션이나 REST API를 빌드할 때 백그라운드에서 Spring MVC를 사용한다. 작동 방식은 Request => Dispatcher Servlet => Controller 순이다. 요청이 들어오면, 모든 요청을 먼저 디스패처 서블릿에서 처리한다. 디스패처 서브렛은 URL, 즉 요청 메서드를 확인한 후 컨트롤러로 라우팅한다. DispatcherServlet : 디스패처 서브렛은 프론트 컨트롤러 역할을 한다. 모든 요청을 인터셉트 해서 해당하는 컨트롤러에 라우팅 해준다. Spring Security를 사용하면 Request.. 2024. 3. 3. Spring 용어 정의 강한결합 (coupling): 비즈니스 로직과 실행기가 강하게 결합됨 (GameRunner이 특정 game인 MarioGame과 강하게 결합, 그렇기에 로직을 수정하려면 품이 많이 듦) 그렇기에 비즈니스 요구사항, 프레임워크, 코드 모두 변하기 때문에 최소한의 코드만 바꾸어 기능을 변경할 수 있는 느슨한 결합 (Loose coupling) 으로 해야함. (interface 구현) ex. (Games interface) IOC 컨테이너를 설정한다. 즉, configuation은 스프링 컨테이너를 구성하고 => 런타임 시에 이 컨테이너(spring container)가 Bean을 생성하고 관리한다. @Component 클래스에 추가하면 해당 클래스의 인스턴스는 스프링 프레임워크가 관리함 @Dependency.. 2024. 2. 27. [포스코x코딩온] 풀스택 부트캠프 19주차 정리 Java(JPA) ORM Object Relational Mapping의 약자로 객체와 RDBS를 Mapping 해주는 시스템이라고 보면 될 것 같다. 대표적으로 JPA 등이 있다. Node.js에는 대표적으로 sequalize가 있다. JPA Java Persistence API의 약자로 자바에서 제공하는 ORM 기술 표준이다. 대표적으로 Hibernate가 있다. JPA의 경우 domain 대신 Entity를 활용한다. (domain이 entity라고 봐도 무방할 것 같다.) 전에 유데미에서 맥시밀리언 강사의 Express 강의를 들었을 때 폼 데이터를 클래스를 이용해서 받고 update의 경우도 몽고 db에서 id가 있으면 update를 하는 식으로 진행했었는데 이게 Spring에서 진행되는 방식을 그냥 Expres.. 2024. 2. 27. 이전 1 ··· 4 5 6 7 8 9 10 ··· 15 다음