a 링크의 download 속성 사용자 정의 함수로 JS에서 텍스트 파일 생성 및 다운 axios 라이브러리 사용 참고: https://www.delftstack.com/ko/howto/javascript/javascript-download/
useEffect\-, 두번째 파라메터 빈 배열 넣으면, 처음 렌더링 될 때만 실행되고 업데이트때 실행 안됨\-, 특정 값이 변경될 대만 호출하고 싶을 때는, 두번째 파라메터에 검사하고 싶은 값 넣으면 됨\-, (클래스형 comp 에서는 componentDidUpda
7장. 컴포넌트의 라이프사이클 메서드 클래스형 컴포넌트에만 사용(함수형의 Hooks기능)마운트/ 업데이트/ 언마운트로 나뉨총 9가지. Will-, Did-, 1) 마운트 : DOM이 생성되고 웹 브라우저 상 나타나는 것Constructor(컴포넌트 새로 만들 때마다 호
6장. 컴포넌트 반복배열에 새 항목 추가할 때, concat 사용.(push는 기존 배열자체를 변경, concat은 새로운 배열 생성)js에서 클래스 메서드는 기본적으로 바인딩 되어 있지 않음.This – 객체 안의 메서드에서 this는 그 메서드가 포함된 object
함수형 컴포넌트 \-, state/ lifecycle api사용 불가 => 리액트 v16.8이후 Hooks기능으로 보완\-, 클래스형 컴포넌트 보다 선언하기 간편ES6 화살표함수 \-, 주로 함수를 파라미터로 전달할 때 사용\-, 일반 함수는 자신이 종속된 객체를 th
import 할때 중괄호의 의미 default로 선언된 내용은 {} 없이 받을 수 있고 변수명 달라도 됨. 하지만, default로 선언되지 않은 것들은 {} 안에서 무조건 보내진 이름 그대로 선언.예) export default function DataRow()=>
소수점 계산할 때 FLOAT, REAL형식 사용 지양 (이유: 근사 데이터 형식이라 정확한 값을 저장하지 않고 가까운 값을 저장하기 때문) => e.g. 출근율 계산하는 경우, 총 출근한 사람 수 / 전체 기사 수 (정수/정수) => 나누는 분자에 1.0을 곱해
REPLICATE('채울 문자', 전체 길이 - LEN('데이터') + '데이터' : SELECT결과에 대해 특정 길이로 맞춰서, 모자라는 부분에 특정 문자나 숫자 채움
TOP, OFFSET 또는 FOR XML을 함께 지정하지 않으면 뷰, 인라인 함수, 파생 테이블, 하위 쿼리 및 공통 테이블 식에서 ORDER BY 절을 사용할 수 없습니다.일반적으로 뷰 안에 ORDER BY를 포함시킬 수 없고, ORDER BY를 포함하려면 TOP N
\*ngModel 은 html과 ts가 양방향으로 묶여있다는 개념.FormsModule import되어야 함.하지만 엄밀히 말하면 양방향 바인딩은 존재하지 않고, 내부적으로 프로퍼티 바인딩과 이벤트 바인딩을 쓰죠.(ngModel)은 내부적으로 아래와 같이 동작합니다.n
dataGriddxi-item 에서 visible/disable처리시 다른 컴포넌트 깨지는 문제? 내부에 있는 각각의 컴포넌트를 visible/disable처리.
확실한 논리 결과(참/거짓)을 얻기 위해 사용. undefined/공백/0 은 false 그외 true 리턴느낌표 세개는 두개의 부정
CROSS APPLY 는 INNER JOIN,OUTER APPLY는 LEFT JOIN과 동일한 결과 반환 가능.APPLY 장점? 1\. 외부 테이블의 컬럼을 인자로 제공할 수 있음테이블 반환 함수도 사용 가능(JOIN연산자로는 불가능)특정 상황에는 JOIN보다 더 좋은
map 배열에 담긴 문자 리터럴에서 일부 속성만 추출할 때join 배열의 모든 값들을 연결한 문자열을 리턴기타 \-, 배열에서 중복값 제거
Template reference variable (테이블 참조 변수)템플릿 내에서만 유효하고, 컴포넌트 클래스에 어떠한 side effect도 주지 않음Safe navigation operator (세이프 내비게이션 연산)null이나 undefined 에러 회피하기