전체 글(278)
-
[SQL 튜닝 실습 2-1] 중첩 루프 조인 튜닝 개념
1) 중첩 루프 조인 프로그래밍에서 중첩 반복문이라고 생각하면 되는데, 한건 한건씩 찾아나가기 때문에 대용량 테이블을 중첩 루프 조인한다면 성능에 큰 부하를 주게된다. NOTE : 중첩 루프 조인의 원리 반복 : A테이블에서 조건에 맞는 행을 스캔 반복 : B테이블에서 조건에 맞는 행을 스캔 A 테이블과 B 테이블의 조인 조건이 일치한다면 해당 행을 결과 집합에 포함 2) Outer 테이블과 Inner 테이블 Outer 테이블 중첩 루프 조인에서 제일 먼저 스캔하는 테이블로, Driving 테이블이라고도 한다. Outer 테이블의 스캔 건수가 적을수록 중첩 루프 조인 시 유리하다 Outer 테이블의 스캔 결과 건수만큼 Inner 테이블에 대한 스캔을 반복하기 때문이다. Inner 테이블 중첩 루프 조인에..
2020.01.27 -
유지보수 예정
Project B (SPMS) 기능 추가 예정 1) 사용하지 않는 메뉴 제거 및 메뉴 정리 2) 회원가입 시 이미 존재하는 아이디를 입력했을 시, 이미 존재하는 ID 표시 기능 (Ajax) 및 길이 수 유효성 검사 3) User Profile : 사용자 프로필 정보 조회 및 수정 4) Settings : 개인 설정 5) 메시지 박스 6) 알림 메시지 표시
2020.01.26 -
[D-8] 항목 수정기능 구현하기
src/ App.js 더보기 import React, { useState, useRef, useCallback } from 'react'; import TodoInsert from './components/TodoInsert'; import TodoList from './components/TodoList'; import TodoTemplate from './components/TodoTemplate'; const App = () => { const [todos, setTodos] = useState([ { id: 1, text: '리액트 기초', checked: true, }, { id: 2, text: '컴포넌트 스타일링', checked: true, }, { id: 3, text: '일정 관리 앱 ..
2020.01.25 -
[D-7] 항목 삭제기능 구현하기
src/ App.js 더보기 import React, { useState, useRef, useCallback } from 'react'; import TodoInsert from './components/TodoInsert'; import TodoList from './components/TodoList'; import TodoTemplate from './components/TodoTemplate'; const App = () => { const [todos, setTodos] = useState([ { id: 1, text: '리액트 기초', checked: true, }, { id: 2, text: '컴포넌트 스타일링', checked: true, }, { id: 3, text: '일정 관리 앱 ..
2020.01.25 -
[D-6] 항목 추가기능 구현하기
src/components TodoInsert.js 더보기 import React, { useState, useCallback } from 'react'; import { MdAdd } from 'react-icons/md'; import './TodoInsert.scss'; const TodoInsert = ({ onInsert }) => { const [value, setValue] = useState(''); const onChange = useCallback(e => { setValue(e.target.value); }, []); const onSubmit = useCallback( e => { onInsert(value); setValue(''); e.preventDefault(); //새로고침..
2020.01.25 -
[D-5] 기본 기능 구현하기
src/ App.js 더보기 import React, { useState } from 'react'; import TodoInsert from './components/TodoInsert'; import TodoList from './components/TodoList'; import TodoTemplate from './components/TodoTemplate'; const App = () => { const [todos, setTodos] = useState([ { id: 1, text: '리액트 기초', checked: true, }, { id: 2, text: '컴포넌트 스타일링', checked: true, }, { id: 3, text: '일정 관리 앱 제작', checked: false, ..
2020.01.25