일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 3-way handshaking
- Dirty Checking
- MSA
- JPA
- 자바
- 삽입 이상
- DB
- 스레드 풀
- null
- 삭제 이상
- buildSrc
- Redis
- AWS
- 정규화
- gatway
- Spring
- well-know port
- Kotlin
- 데이터베이스
- 페이지네이션
- HTTP
- 비관적 락
- 캐시 오염
- 낙관적 락
- ocp
- 자료구조
- 네트워크
- Kafka
- java
- 갱신 이상
- Today
- Total
728x90
목록
728x90
분류 전체보기 (70)
어 나 갱수.
SpringWebflux 환경에서 아래와 같이 SecurityConfig 클래스를 생성하였습니다.@Configuration@EnableWebFluxSecurityclass SecurityConfig { @Bean fun passwordEncoder() = BCryptPasswordEncoder() @Bean protected fun filterChain(http: ServerHttpSecurity): SecurityWebFilterChain { return http .httpBasic().disable() .formLogin().disable() .csrf().disable() .cors()...
ORM이란JPA와 Hibernate에 대해 알아보기 전에 먼저 ORM이라는 개념을 알아보겠습니다.ORM이란 Object Reational Mapping의 약자로, 객체와 관계형 데이터베이스를 매핑해 주는 기술입니다.ORM은 개발자가 직접 sql 쿼리문을 작성하지 않아도 알아서 데이터베이스에 값을 저장해 주고 삭제해 주는 sql 쿼리문을 작성해 줍니다. 예를 들어, Member 테이블의 데이터를 출력하기 위해서 MySQL에서는 SELECT * FROM Member;라는 쿼리를 실행해야 하지만, ORM을 사용하면 Member 테이블과 매핑된 객체를 member라 할때, member.findAll();이라는 메서드로 데이터 조회가 가능합니다.JPA는 이러한 ORM 종류 중 하나입니다.JPA는 기술 명세이다.J..
객체 생성보통 자바에서 객체를 정의하고 그 객체를 생성하게 되면 생성자를 통해 생성하는 것을 많이 볼 수 있습니다.Book book = Book("name", 1000, "type") 하지만 위와 같은 방법으로 생성자를 통해 객체를 생성하게 되면 몇 가지 단점이 존재합니다. 생성자에서의 단점을 보완하고자 builder라는 방식을 사용하는 것을 추천드립니다.Book book = Book.builder() .name("name") .money(1000) .type("type") .build(); 빌더를 사용해야하는 이유빌더라는 방식으로도 객체를 생성할 수 있다는 것을 알았습니다. 그럼 왜 굳이 기존의 생성자를 통해 객체를 생성하는 방법이 아닌 빌더를 통해 객..
ResponseEntity란스프링에서 제공하는 ResponseEntity는 개발자가 직접 반환 데이터와 상태코드를 제어할 수 있는 클래스입니다.ResponseEntity의 구조를 보면 HttpEntity의 상속을 받고 있고 Object타입의 status만 필드값으로 가지고 있습니다. ResponseEntity는 사용자의 HttpRequest에 대한 응답 데이터를 포함하는 클래스이다.따라서, HttpStatus, HttpHeader, HttpBody를 포함합니다.이 말은 ResponseEntity의 가장 큰 특징 중 하나인 상태코드를 직접 제어할 수 있다는 의미입니다.ResponseEntity 객체ResponseEntity : HTTP 응답을 만들기 위한 객체구조HTTP Bodypayload (실질적으로 ..
JOIN JOIN의 종류는 크게 INNER JOIN OUTER JOIN으로 나뉘는데 거기서도 OUTER조인은 LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN으로 구분할 수 있습니다. INNER 조인은 어떤 테이블을 먼저 읽어도 결과가 같기 때문에 MySQL 옵티마이저가 JOIN의 순서를 조절해서 다양한 방법으로 최적화를 수행할 수 있습니다. 하지만 OUTER 조인은 어떤 테이블을 먼저 읽느냐에 따라 결과가 달라지기 때문에 조인 순서를 MySQL 옵티마이저가 선택할 수 없습니다. INNER JOIN A테이블 B테이블 이렇게 두개의 테이블이 있다고 가정하면, INNER JOIN은 A와 B의 교집합을 말합니다. 간단하게 말하면 서로 연관된 내용만 검색하는 조인입니다...
AWS 람다는 이벤트에 대한 응답으로 코드를 실행하고 자동으로 기본 컴퓨팅 리소스를 관리하는 서버리스 컴퓨팅 서비스입니다. 서버리스란 개발자가 서버를 관리할 필요 없이 애플리케이션을 빌드, 실행할 수 있는 클라우드 네이티브 개발 모델입니다.AWS에서 인프라에 대한 프로비저닝, 유지, 관리 등을 해주기 때문에 개발자는 로직 짜는데 더 집중할 수 있습니다. 간단하게 말하면 AWS 람다는 개발자가 서버를 관리할 필요 없이 코드를 실행하게 해주는 서비스로서 모든 유형의 AWS서비스에 대해 특별한 관리 없이 사용할 수 있다.사용자는 람다에 원하는 함수를 작성하고, 필요할 때 그 함수를 호출하도록 구현해 놓고 사용할 수 있다. 이 람다함수는 다른 AWS 서비스와 연동해서 사용할 수 있습니다.예를 들어 이미지 s3에..
페이징 처리란?페이징 처리는 한 번에 모든 데이터를 가져오면 시간도 많이 걸리고 데이터베이스에도 무리가 갈 수 있으니 나눠서 데이터를 가져올 수 있도록 하는 것을 의미합니다.우리가 가장 많이 사용하는 웹 사이트 중 하나인 구글도 아래와 같이 페이지네이션 처리를 해두었습니다.기본적인 동작 원리는 조회할 때 얼마큼 조회할지(size), 어디서부터 조회할지(offset)을 정해서 서버에 요청하면 서버가 해당 페이징 조건에 맞게 반환해 줍니다.PagingAndSortingRepository 인터페이스JPA에서는 Pageable 클래스를 이용한다면 간단하게 페이징 처리를 할 수 있습니다.Spring Data JPA의 PagingAndSortRepository 인터페이스는 CrudRepository 인터페이스를 상..
오늘은 Kotlin에서 아주 유용한 게 사용되는 클래스인 Data Class에 대해 알아보겠습니다! Java와 다르게 Kotlin에서는 다양한 클래스들을 제공합니다. 그중 Data Class라는 클래스는 Java에서 개발자들이 불편했던 점을 완벽하게 개선해 줄 기능을 가지고 있는 클래스입니다. Data Class보통 데이터 전달을 위한 객체를 DTO(Data Transfer Object)라고 부릅니다. 구현 로직을 가지지 않고 순수 데이터만 가졌기 때문입니다. dto의 역할을 하는 클래스는 getter, setter의 역할이 필요하고, toString, equals와 같이 데이터를 출력하고 비교하는 기능도 필요합니다. Java에서는 이 모든 기능을 구현하려면 직접 구현해야 하지만, Kotlin에서는 직접..