Computer (20) 썸네일형 리스트형 인증 및 권한 구현하기(권한별 routing) 진행 이유 서버에서 처리해야 할 작업량을 감소하기 위해서.서버에서 인증을 처리하고, 인증된 사용자들에게 모든 권한을 부여하는 방식은 불필요한 데이터 처리가 발생함. 프론트에서 인증 별 권한을 구현하면 필요한 데이터만 서버로 요청하고, 불필요한 데이터 처리를 줄일 수 있음. 작업 시 사용자의 권한에 맞게 서비스를 제공하려고. 서비스에서 서로 다른 dashboard를 제공해야 하는데 이를 미리 경험해보기 위해 시도함. 고려해야 할 사항: redux등 전역 상태관리를 위한 라이브러리를 적용할 것인가? 상태관리 라이브러리 참고: https://dalaranl.github.io/react/redux-mobx-context/ 장점 상태 관리의 편리성: React에서 상태를 관리하면서 상태가 컴포넌트 간에 전달되어야.. 무한 렌더링 현상 막기 - Axios로 받은 데이터 '1회만' state에 set하기 (useEffect 활용) axios로 데이터를 불러와 table.js 에서 사용하려고 했는데 이상하게 무한으로 렌더링 되서 서버에 지속적으로 데이터 요청하는 문제가 발생함 const [msg, setMsg] = useState([]); UserService.getTableData() .then((res) => { setMsg(res.data); }) 문제 발생 이유 useState hook 으로 상태를 관리할 때, 상태가 변경되면 컴포넌트가 다시 렌더링이 되는 특징이 있음. 때문에 위의 코드에서 **setMsg**를 호출하면 상태가 변경되어 다시 렌더링이 일어나고, 다시 **setMsg**가 호출되면 이 과정이 반복되어 무한 렌더링 현상이 발생함. 해결 방안(https://citronbanana.tistory.com/110 참고.. 자료구조와 알고리즘 - 스택과 큐(1) 1. 스택 (Stack) - 한쪽 끝에서만 item(항목)을 삭제하거나 새로운 item을 저장하는 자료구조 = 후입선출(LIFO: Last In First Out) - 스택 사용 예시: 회문 검사,후위표기법수식 계산, 미로찾기,트리의 노드 방문,그래프의 깊이우선탐색 등 - 2 가지의 주요 연산을 제공한다 push: 새로운 item을 저장하는 연산 pop: 아직 제거되지 않은 가장 최근에 삽입된 요소 제거 2. 큐(Queue) - 한쪽 끝에는 item 추가 연산이, 다른 반대쪽 끝에는 삭제가 가능한 자료구조 = 선입선출(FIFO: First In First Out) - 큐 사용 예시: 네트워크 프린터, cpu 태스크 스케줄링,이진트리의 레벨순회,그래프의 너비우선탐색 등 참고자료 자바와 함께하는 자료구조의 .. 자료구조와 알고리즘 - 배열과 리스트(2) 1. 배열 - Trappingg Rain Water 풀이 -문제출처:https://leetcode.com/problems/trapping-rain-water/ Trapping Rain Water - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com - > 높이를 입력받아 비 온 후 얼마나 많은 물이 쌓일 수 있는지 계산하라. - https://www.geeksforgeeks.org/trapping-rain-water/ 참고 java // 리트코드 빗물 트래핑 cla.. 자료구조와 알고리즘 - 배열과 리스트(1) 1. 배열과 동적 배열 배열 : 동일한 타입의 원소들이 연속적인 메모리 공간에 할당되어 각 항목이 하나의 원소에 저장되는 자료구조 크기가 고정되어 있고, 한번 생성한 배열은 크기를 변경할 수 없다. 배열의 인덱스를 사용하여 어느 위치에나 O(1)에 조회가 가능하다 새 항목이 중간에 삽입되거나 중간에 있는 항목을 삭제하면 항목들을 뒤 혹은 앞으로 이동시켜야 하므로 삽입이나 삭제 연산은 O(1)시간에 수행할 수 없다. 배열은 미리 정해진 크기의 메모리 공간을 할당 받은 뒤 사용해야 하므로, 빈자리가 없어 새 항목을 삽입할 수 없는 상황(Overflow)에 직면할 수 있다. 이러한 상황을 해결하고자 크기를 지정하지 않고 자동으로 리사이징하는 배열인 동적 배열이 등장했다. 동적 배열: 프로그램이 실행되는 동안 .. 자료구조와 알고리즘 - 시작하기 전에(1) 1. 자료구조와 추상 데이터 타입 자료구조: 일련의 동일한 타입의 데이터를 정돈하여 저장한 구성체. 프로그램에서 저장하는 데이터에 대해 탐색,삽입,삭제 등의 연산을 효율적으로 수행하기 위해 사용된다. > 각 원소들이 논리적으로 정의된 규칙에 의해 나열 추상 데이터 타입(ADT): 데이터와 그 데이터에 대한 추상적인 연산으로 구성. ( 여기서 '추상'의 의미= 연산을 구체적으로 어떻게 구현해야 한다는 세부 명세를 포함하지 않는다) > 순수하게 기능이 무엇인지만 나열 둘 사이의 관계는 건축설계도와 건축물의 차이로 이해하면 편하다. 2. 수행 시간 분석 자료구조의 효율성은 자료구조에 대해 수행되는 연산의 수행되는 연산의 수행시간으로 측정할 수 있다. 이는 알고리즘의 성능을 측정하는 방법과 동일하다. 대부분은 .. 운영체제(OS)- 1. 운영체제란? 1. 운영체제의 정의와 목적 운영체제: 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 좁은 의미의 운영체제(커널): 운영체제의 핵심 부분으로 메모리에 상주 넓은 의미의 운영체제: 커널 뿐 아니라 주변 시스템 유틸리티를 포함 운영체제의 목적 자원을 효율적으로 관리 주어진 자원으로 최대한의 성능 제공(효율) 형평성 있는 자원 분배(형평) 컴퓨터 시스템을 편리하게 사용할 수 있는 환경 제공(편리) ++ 목적에서 '자원' 의미 - cpu,메모리 입출력장치 등(하드웨어 자원) - 프로세스, 메세지 등(소프트웨어 자원) 2. 운영체제의 분류 동시 작업 가능 여부 단일 작업(single tasking): 한번에 하나의 작업만 처리 다중 작업(multi tas.. SQL-관계 데이터 모델 *SQLD준비를 위해 정리해보는 SQL* 1. 관계 데이터 모델(1) 관계 데이터 모델: 조직에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합한 것. 통합된 데이터(integrated data), 저장된 데이터(sorted data), 운영 데이터(operational datat), 공용 데이터(shared data) 의 4가지 개념으로 이해 할 수 있다. 릴레이션(==테이블): 관계 데이터 모델의 핵심적인 개념으로 행과 열로 구성된 테이블을 의미한다. 특징은 다음과 같다. 속성은 단일 값을 지닌다. 속성은 서로 다른 이름을 지닌다. 한 속성의 값은 모두 같은 도메인 값을 지닌다. 속성의 순서는 상관없다. 릴레이션 내의 중복된 투플은 허용하지 않는다. 튜플의 순서는 상관없다. .. 이전 1 2 3 다음