728x90
728x90
소켓 통신 소켓이란? : 운영체제가 가지고 있는 것 [ 원리 ] 1. A가 C에 접속 요청을 하면 C에 5000이라는 Port의 소켓이 Open된다. (5000은 접속 전용 소켓) 2. A와 접속이 되면 5000 포트와 연결이 끊기고, 새로운 쓰레드의 무작위 포트와 연결된다. 3. 똑같이 B와 C도 5000포트로 연결되면 끊기고, 새로운 쓰레드의 무작위 포트와 연결된다. [ 단점 ] 위 방식은 Time Slice 방식이고 계속 연결되어 있기 때문에 Thread가 많아지면 과부화가 발생된다. HTTP 통신 - Stateless 방식 : 문서를 전달하는 통신 [ 원리 ] 1. A가 a.txt를 요청하면 C의 소켓에서 해당 파일을 보여주고 연결을 끊는다. 2. 마찬가지로 B가 b.txt를 요청하면 C의 소켓에..
연관매핑이란? Entity와 연관 관계를 매핑해두고, 해당 Entity와 관련된 Entity를 사용하는 것. 1.1 일대일 단방향 매핑 cart - member 회원 한명 당 하나의 카트를 가지게 설정하려고 함. 카트에 회원의 아이디를 저장하는 칼럼을 만든다. -> Cart @Entity @Table(name = "cart") @Getter @Setter @ToString public class Cart extends BaseEntity { @Id @Column(name = "cart_id") @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name="me..
1. Spring Security 인증, 인가를 위해 사용 인가는 인증 과정 이후, 관리자 페이지에 일반 유저 접근하지 못하는 것 등이 포함 2. Security 설정 https://hhseong.tistory.com/173 @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { } @Bean public PasswordEncoder passwordEncoder(){ return new BCryptPasswordEncoder(); } } WebSecur..
1. Thymeleaf Template Engine이란? 가공한 데이터를 동적으로 만들기 위해, 미리 정의된 템플릿으로 동적 HTML을 만들어 클라이언트에 전달하는 방식 ( == 서버 사이드 렌더링 방식 ) ( JSP, Thymeleaf 등이 포함 ) JSP와 달리 Thymeleaf는 html 파일을 서버 사이드 렌더링 없이 띄워도 상관 없음 이를 natyral template 라고 한다. 2. Spring Boot Devtools Spring Boot Devtools 기능 Automatic Restart : classpath에 있는 파일 변경 시마다 자동으로 재시작 Live Reload : 정적 자원 수정 시 새로고침 없이 바로 적용 Property Defaults : 캐싱 기능 사용 Gradle에서 ..