일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- 예외미루기
- 사용자예외클래스생성
- 컬렉션 타입
- 한국건설관리시스템
- 대덕인재개발원
- 제네릭
- GRANT VIEW
- 자동차수리시스템
- 환경설정
- 오라클
- cursor문
- 추상메서드
- 참조형변수
- 어윈 사용법
- 다형성
- 생성자오버로드
- 예외처리
- abstract
- 인터페이스
- Java
- exception
- oracle
- EnhancedFor
- NestedFor
- 메소드오버로딩
- 컬렉션프레임워크
- 객체 비교
- 정수형타입
- 집합_SET
- 자바
- Today
- Total
목록2023/12/07 (4)
거니의 velog
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bWjtZj/btsBvUb67Er/6kK3xfANV3WW4LwKu198B1/img.png)
6. 불변성의 중요성 * 리액트 컴포넌트에서 상태를 업데이트 할 때 불변성을 지키는 것은 매우 중요하다. 앞에서 useState를 사용해 만든 todos 배열과 setTodos 함수를 사용하는 onToggle 함수를 다시 확인해 보자. const onToggle = useCallback(id => { setTodos((todos) => todos.map((todo) => todo.id === id ? { ...todo, checked: !todo.checked } : todo, ), ); }, []); * 기존 데이터를 수정할 때 직접 수정하지 않고, 새로운 배열을 만든 다음에 새로운 객체를 만들어서 필요한 부분을 교체해 주는 방식으로 구현했다. 업데이트가 필요한 곳에서는 아예 새로운 배열 혹은 새로운 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/db4mBj/btsBuxPaXzM/NcMVbxDo8LkAHKgSNw4XRk/img.png)
4. React.memo를 사용하여 컴포넌트 성능 최적화 * 컴포넌트의 리렌더링을 방지할 때는 이전에 배운 shouldComponentUpdate 라는 라이프사이클을 사용하면 된다. 그런데 함수형 컴포넌트에서는 라이프사이클 메서드를 사용할 수 없다. 그 대신 React.memo라는 함수를 사용한다. 컴포넌트의 props가 바뀌지 않았다면, 리렌더링하지 않도록 설정하여 함수형 컴포넌트의 리렌더링 성능을 최적화해 줄 수 있다. * React.memo의 사용법은 매우 간단하다. 컴포넌트를 만들고 나서 감싸 주기만 하면 된다. TodoListItem 컴포넌트에 다음과 같이 React.memo를 적용해 보자. import React from 'react'; import { MdCheckBoxOutlineBlank..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bDN8N4/btsBvUpEi1a/aSI9l6fWDcgSHZbiVYjGO1/img.png)
package kr.or.ddit.controller.transaction; public class TransactionController { /* * [ 15장. 트랜잭션 ] * * 1. 트랜잭션 설명 * * - 한 번에 이루어지는 작업의 단위를 의미한다. * * # 트랜잭션 성격(ACID 원칙) * * - 원자성(Actomicity) * > 하나의 트랜잭션은 모두 하나의 단위로 처리되어야 한다. * - 일관성(Consistency) * > 트랜잭션이 성공했다면 모든 데이터는 일관성을 유지해야 한다. * - 격리성(Isolation) * > 트랜잭션으로 처리되는 동안에는 외부에서의 간섭이 없어야 한다. * - 영속성(Durability) * > 트랜잭션이 성공적으로 처리되면 그 결과는 영속적으로 보관되..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bl2fTA/btsBzyTnVLs/H7RweewUHOBK2JyZdwg7xk/img.png)
* AOP 1. 로깅 2. 보안 3. 트랜잭션 4. 에러 * 이 4가지 중에 제일 첫 번째 로깅처리를 할 것이고, 보안은 스프링 시큐리티 이용, 트랜잭션도 AOP 기반. 이를 활성화해야 돌아감. 마지막 에러의 예외처리는 web.xml, 어노테이션, try-catch로 진행해 볼 것. * AOP를 보면 정말 많이 나오는 예시가 처리속도. 예를 들어 취업해서 회사 들어가 첫 업무가 본인이 맡게 될 프로젝트의 처리속도를 확인해 달라고 요청함. 메소드를 만들어서 테스트 완료 후 팀장님께 간다. 흔쾌히 피드백. 우리 플랫폼에 모든 처리속도를 확인해 달라고 하면? 약 20억개 메소드. 오늘 안에 다 끝내야 하는 업무라면? 하나하나씩 다 열어서 처리 속도를 다 만들어 내야 한다. * 모든 서비스를 열어서 모듈 마다 ..