목록분류 전체보기 (572)
오봉이와 함께하는 개발 블로그
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/boQHvI/btssVIwQRie/7KTxh2KI0lB1V2vP5fzW5K/img.png)
환경 Java 8 Spring Boot 2.7.5 편의를 위해 DB를 사용하지 않고, HashMap을 사용 WebPage를 사용하지 않고 REST API 사용 Postman을 통해 테스트 편의를 위해 모든 위험성, 설계 원칙을 열어두고 session을 통한 로그인 예제에만 집중 // 의존성 dependencies { implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' annotationProcessor ..
비동기 JavaScript를 사용하는 SPA는 JavaScript에서 제공하는 비동기 함수를 사용한다. callback JavaScript에서 함수는 객체 함수의 파라미터로 함수를 전달하여 실행하는 함수를 callback 함수라고 한다. 비동기성을 구현해주는 기능 자체를 callback이라 하는 것이 아니라, 비동기성을 구현하기 위해 callback을 사용하는 것 비동기성 함수를 호출할 때는 제어권이 넘어가지 않지만, 동기성 함수를 호출할 때는 제어권이 넘어가게 된다. 비동기 함수에 callback이 있다면, 해당 callback은 pending되어 있다가 함수가 종료되었을 때 해당 callback을 실행 일반 함수에 callback을 사용하는 것은 실행 순서를 보장하는 내부 함수를 사용하는 것 call..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/PVUEr/btssgFPDddv/3k7igFDhjYJKKk98zR45fk/img.png)
상태 관리 SPA 라이브러리나, 프레임워크에서 상태(state)는 부모-자식 컴포넌트 간에 props로 공유가 가능하다. 컴포넌트 관계가 간단하게 구성되어 있다면 props 전달과 관리가 어렵지 않겠지만 아래와 같이 복잡하게 구성되어 있다면 props를 통해 모든 데이터를 전달해야 하는 문제가 있다. 중앙 상태 관리 라이브러리나 프레임워크마다 명칭은 다르지만, 중앙 집중화 시켜 상태 관리를 하는 라이브러리가 있다. 중앙 저장소를 통해 관리하고 여러 부분에서 공유되기 때문에 상태의 일관성이 향상된다. 단, SPA와 상태 관리 라이브러리 모두 비동기적으로 실행되기 때문에 일관성을 보장하진 않는다. 상태의 출처가 한 곳이기 때문에 컴포넌트간 데이터 흐름 추적과, 예측 가능성이 향상된다. 반복되는 코드를 줄일 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Fq2pw/btssvZsbga1/b4FDN3ta1LhSI1uYTIf6k1/img.png)
라이프 사이클 Vue create beforeCreate 컴포넌트 생성자 인스턴스 생성, 상태 설정 및 초기화 전에 진행 DOM 추가 전이기 때문에 DOM 접근 불가능 created 컴포넌트 인스턴스 생성, 데이터, 이벤트 초기화 이후 호출 DOM 추가 전이기 때문에 DOM에 접근 불가능 mount beforeMount 컴포넌트가 마운트되기 전 호출 컴포넌트의 템플릿이 컴파일 실제 DOM과 연결되기 직전 단계로 DOM 접근 불가능 mounted 컴포넌트가 DOM에 마운트된 후 호출 컴포넌트의 템플릿이 실제 DOM에 렌더링된 이후의 상태 비동기 작업(사용자 요청 API, 기타 작업 등)을 수행하기 적합한 단계 update beforeUpdate state나 props, 부모 컴포넌트에서 데이터 변경 등 렌..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bknJgB/btssgLbrM75/CWwvFoYJKLBZ5cmBRstxa1/img.png)
데이터 변경 감지 SPA에서 데이터가 변경되면 데이터 변경을 감지하고 자동으로 화면을 렌더링 한다. 데이터를 SPA에서는 state 라 칭한다. 컴포넌트가 다시 렌더링 되는 조건 state 변경 props 변경 중앙 상태값(redux, vuex...) 변경 부모 컴포넌트 재렌더링에 따라 자식 컴포넌트 재렌더링 state는 set 메서드를 통해 업데이트 되어야 SPA 프레임워크 or 라이브러리에서 변경을 감지하고 다시 렌더링 한다. 정확하게 하면 set 메서드는 state 변경을 요청 하는 것 react는 setState or useState vue는 data에 정의된 state의 경우 변경시 자동으로 setter를 호출해서 수행 SPA는 성능 최적화를 위해 DOM 업데이트를 비동기, 배치로 처리한다. s..