본문 바로가기

전체 글144

[JavaScript] 동기, 비동기 처리 1. 동기(Synchronous) 서버에서 요청을 보냈을 때 응답이 돌아와야 다음 동작을 수행할 수 있다. A작업이 모두 진행될 때까지 B 작업은 대기해야한다. 2. 비동기(Asynchronous) 요청을 보냈을 때 응답 상태와 상관없이 다음 동작을 수행 할 수 있다. A작업이 시작하면 동시에 B작업이 실행되고 A작업은 결과값이 나오는대로 출력된다. 3. 비동기처리의 필요성 웹 페이지의 반응성 향상 : 요청 작업이 완료되기 까지 기다리는 것은 사용자 경험을 저해시키기 때문에, 비동기 처리를 통해 사용자의 요청에 빠르게 반응할 수 있도록 해야한다. 네트워크 통신 : 웹 애플리케이션에서는 서버와의 데이터 통신이 필요하다. 동기적 처리를 하면 응답을 기다리는 동안 다른 작업을 수행할 수 없기 때문에 웹 페이지.. 2024. 4. 21.
[Spring] Contoller단에서 Validation 0. gradle에 의존성을 추가한다. implementation 'org.springframework.boot:spring-boot-starter-validation' 1. UserController DTO 형태로 Request를 받는다. @RequestBody와 @Valid @RestController @RequiredArgsConstructor @RequestMapping("/user") public class UserController { private final UserService userService; @PostMapping("/signup") public ResponseEntity signup(@Valid @RequestBody SignupRequestDto signupRequestDto).. 2024. 4. 8.
[JAVA] 2차원 배열 정렬하기 1. 1차원 배열 단순 정렬 방법 int[] array = {4, 3, 5, 7, 2}; Arrays.sort(array); >> [2, 3, 4, 5, 7] 역정렬을 할 때는 byte, char, double, short, long, int, float같은 PrimitiveType의 배열에는 적용이 불가능하다. Integer[] array = {4, 3, 5, 7, 2}; Arrays.sort(array, Comparator.reverseOrder()); >> [7, 5, 4, 3, 2] int를 쓰고 역정렬을 하고 싶다면 for문을 이용해 재정렬하거나 Integer 배열로 바꿔주는게 좋다. 2. 2차원 배열 정렬 방법 2차원 배열의 행 중 n 번째 컬럼 원소들을 기준으로 정렬하는 방법 아래는 1번째 .. 2024. 3. 18.
[JPA, DB] eager & lazy 1. eager & lazy 예시 eager Member 테이블과 Team 테이블이 있고 양방향 매핑 관계이며 ManyToOne이다. Member를 조회한다고 할때 eager라면 아래와 같이 쿼리가 나간다. Hibernate: select member0_.MEMBER_ID as MEMBER_I1_0_0_, member0_.TEAM_ID as TEAM_ID3_0_0_, member0_.USERNAME as USERNAME2_0_0_, team1_.TEAM_ID as TEAM_ID1_1_1_, team1_.name as name2_1_1_ from Member member0_ left outer join Team team1_ on member0_.TEAM_ID=team1_.TEAM_ID where membe.. 2024. 3. 13.