꾸준히

이번 주차에 리액트 라이프사이클에 대해 공부하였습니다. 다시 한번 정리하며, 이전 프로젝트에서 이를 활용했던 사례를 공유하고자 합니다. 라이프 사이클 Life Cycle; 컴포넌트가 생성(Mounting), 업데이트(Updating), 소멸(Unmounting)의 과정을 거쳐 어떻게 동작하고 관리되는지 클래스형 컴포넌트생성 단계1. constructor클래스 컴포넌트를 초기화하는 함수constructor(props) { super(props); this.state = { count: 0 };} 2. getDerivedStateFromPropsprops로부터 state를 동기화하고 싶을 때 사용static getDerivedStateFromProps(props, state) { if (pro..

이번 교육 과정에서 React 프로젝트를 시작하는 방법으로 CRA와 CNA를 배웠습니다. 이 두 도구의 차이점을 더 깊이 이해하고자 추가적으로 학습하였습니다. React 사용자 인터페이스를 만들기 위한 JavaScript 라이브러리 빠른 업데이트와 렌더링 속도로 애플리케이션을 쉽고 빠르게 만들 수 있다. 컴포넌트 기반 구조로 재사용성이 높다는 장점을 지니며, 메타(Meta)의 지원으로 커뮤니티가 활성화되어 있다. 리액트 기반 애플리케이션을 시작할 수 있는 도구는 CRA(Create React App)과 CNA(Create Next App)이 있다. CRA는 일반적인 리액트 애플리케이션 개발에 사용되며, CNA는 Next.js 프레임워크를 기반으로 한 애플리케이션 개발에 사용된다. CRA Cre..

내림차순 sort() sort() 메서드는 리스트형의 메서드로 리스트 원본 값이 수정된다. (오름차순) list1 = [1, 0, 9, 3, 7] list2 = list1.sort() print('list1: ', list1) print('list2: ', list2) """ 출력 결과 : list1: [0, 1, 3, 7, 9] list2: None """ sorted() sorted() 메서드는 내장함수로 리스트 원본 값은 유지되며 정렬 값을 반환한다. (오름차순) list1 = [1, 0, 9, 3, 7] list2 = sorted(list1) print('list1:', list1) print('list2:', list2) """ 출력 결과 : list1: [1, 0, 9, 3, 7] list2:..

collections 모듈 Counter 클래스는 collections 모듈의 클래스 중 하나이다. collections 모듈은 파이썬의 내장 컨테이너 dict, list, set 및 tuple에 대한 대안을 제공하는 특수 컨테이너 데이터형을 구현한다. namedtuple() 이름 붙은 필드를 갖는 튜플 서브 클래스를 만들기 위한 팩토리 함수 deque 양쪽 끝에서 빠르게 추가와 삭제를 할 수 있는 리스트류 컨테이너 ChainMap 여러 매핑의 단일 뷰를 만드는 딕셔너리류 클래스 Counter 해시 가능한 객체를 세는 데 사용되는 딕셔너리 서브 클래스 OrderedDict 항목이 추가된 순서를 기억하는 딕셔너리 서브 크래스 defaultdict 누락된 값을 제공하기 위해 팩토리 함수를 호출하는 딕셔너리 ..

버퍼 버퍼를 사용하는 입력은 키보드의 입력이 있을 때마다 한 문자씩 버퍼로 전송한다. 이후, 버퍼가 가득 차거나 개행 문자가 나타나면 버퍼의 내용을 한 번에 프로그램에 전달한다. 반면, 버퍼를 사용하지 않는 입력은 키보드의 입력이 키를 누르는 즉시 프로그램에 전달된다. 키보드의 입력이 있을 때마다 바로 이동시키는 것보다 중간 버퍼를 사용하여 한번에 내용을 보내는 것이 더 효율적이다. Scanner Scanner는 띄어쓰기(Enter)와 개행문자(SpaceEnter)를 경계로 입력 값을 인식하여 입력한 데이터를 가공해주기 때문에 사용이 편리하다. 하지만 버퍼 사이즈가 1024 char이기 때문에 많은 입력을 필요로 할 경우에는 성능적 측면에서 좋지 않다. BufferedReader BufferedReade..

StringTokenizer import java.util.StringTokenizer; StringTokenizer st = new StringTokenizer(문자열); // 띄어쓰기 기준으로 문자열 분리 StringTokenizer st = new StringTokenizer(문자열, 구분자); // 구분자 기준으로 문자열 분리 String Tokenizer st = new StringTokenizer(문자열, 구분자, false/true); // true : 구분자를 기준으로 문자열을 분리하되, 구분자도 토큰으로 넣는다. // false : 구분자를 기준으로 문자열을 분리하되, 구분자는 토큰으로 넣지 않는다. (디폴트) 리턴값 메서드 역할 boolean hasMoreTokens() 남아있는 토큰이..