전체 글787 [JavaScript]JSON parse 와 JSON stringify 차이 JSON이란? JSON(JavaScript Object Notation)은 데이터를 객체로 표현하는 형식으로 JavaScript의 객체 형식을 모방합니다. 처음에는 JavaScript 전용으로 만들어졌지만, 현재는 Java, Python, Go, C#과 같은 다른 프로그래밍 언어에서도 JSON 형식을 사용하여 클라이언트-서버 간 데이터를 공유하는데 사용되고 있습니다. 이번 포스팅에서는 JSON.parse와 JSON.stringify의 차이를 설명합니다. 목차 JSON.parse JSON.stringify JSON.parse JSON.parse는 JSON 문자열을 파싱합니다. 파싱이란? 문장을 문법적 부분으로 나누고 나누어진 부분을 식별하는 것입니다. JSON은 문장을 : 관계로 식별합니다. 클라이언트-서.. JavaScript/JavaScript 문법 2021. 12. 2. [JavaScript]JSON.parse 및 JSON.stringify를 객체 복사에 사용하면 안되는 이유 JavaScript에서 중첩된 객체를 비교하는 작업은 까다로운 작업입니다. 특히 React 생명주기 함수에서 prevState와 현재 state를 비교할 때, 비교해야 하는 값이 중첩된 객체 또는 배열인 경우 많은 어려움에 직면합니다. 저는 JavaScript의 중첩된 객체와 배열을 공부하면서 두 개의 중첩된 객체를 비교하는 방법으로 JSON.stringify가 좋은 방법인줄 알았습니다. 하지만, 객체에 대해 좀 더 공부하면서 JSON.stringify를 사용해야 하는 경우도 있고 사용하지 말아야 하는 경우가 있다는 것을 알게 되었습니다. 이번 포스팅은 중첩된 객체를 JSON.parse 및 JSON.stringify를 사용하여 복사하였을 경우 어떠한 문제가 발생하는지 알아보도록 합니다. 목차 얕은 복사의.. JavaScript/JavaScript 문법 2021. 12. 2. [JavaScript]배열에 중복 값이 있는지 확인하는 방법 이번 포스팅은 JavaScript에서 배열에 중복 값이 있는지 확인하는 방법을 소개합니다. 목차 프리미티브 배열(Primitive of Array)과 객체(object) 프리미티브 배열(Primitive of Array)에서 중복 감지 객체 배열(Array of Objects)에서 중복 감지 프리미티브 배열(Primitive of Array)과 객체(Object) 프리미티브 배열(Primitive of Array)은 JavaScript의 원시 값을 요소로 하는 배열입니다. JavaScript의 원시 값 string, number, bigint, boolean, undefined, null 다음 문자열 배열에서 'A' === 'A'는 동일하므로 true입니다. const arr = ['A', 'A', 'B.. JavaScript/배열 2021. 12. 1. [JavaScript]배열이 비어있는지 확인하는 방법 이번 포스팅에서는 JavaScript에서 배열이 비어 있는지 확인하는 방법을 소개합니다. Array.length는 배열의 길이(length)를 반환합니다. 배열이 비어 있는지 확인하려면 length 속성이 0인지 체크합니다. const arr = []; if(arr !== 0) { console.log("Not Empty"); } JavaScript에서 0, null, undefined는 거짓으로 평가됩니다. 즉, 배열의 길이가 0인 경우 거짓이므로 if문과 같은 조건문에서 false로 평가됩니다. 다음은 위에서 작성한 코드를 심플하게 작성하였습니다. const arr = []; if(arr) { console.log("Not Empty"); } JavaScript는 타입을 체크하지 않기 때문에 변수(함.. JavaScript/배열 2021. 12. 1. [React]React Hook에서 Throttle, Debounce 사용 이번 포스팅에서는 React Hook에서 Throttle, Debounce를 사용하는 방법을 소개합니다. 목차 Throttle와 Debounce Lodash의 Throttle 함수 사용 Throttle 함수가 저장된 useCallback Hook 사용 Debounce 함수 Throttle와 Debounce Throttle 스로틀링(Throttling)은 함수가 지정된 시간 동안 최대 한 번 호출되도록 하는 프로그래밍 방법입니다. 스로틀링은 함수를 호출할 수 있는 최대 횟수를 조절합니다. Ex) 10초마다 함수를 최대 한 번 호출 Debounce 디바운싱(Debouncing)은 시간이 많이 걸리는 작업이 자주 실행되지 않도록 사용되는 프로그래밍 방법입니다. 디바운싱은 함수가 실행되기 전에 일정 시간을 대기.. React/React 문법 2021. 11. 30. [JavaScript]배열을 결합하는 방법 이번 포스팅에서는 두 개 이상의 1차원 배열을 결합하는 방법을 소개합니다. 목차 concat() 함수 Spread 연산자(...) push() 함수 concat() 함수 가장 기본적인 방법은 concat() 함수를 사용하여 두 개의 배열을 연결하는 것입니다. concat() 함수는 배열을 결합하고 새로운 배열을 반환합니다. console.log([1,2,3].concat([4,5,6])); console.log([4,5,6].concat([1,2,3])); 실행 결과 세 개 이상의 배열을 결합하는 경우 빈 배열( [] )을 활용할 수 있으며, concat() 함수에 여러 개의 배열을 인수로 전달합니다. let concatArr = [].concat([1,2], [3,4], [5,6]); console.l.. JavaScript/배열 2021. 11. 29. [JavaSciprt]배열을 비교하는 방법 이번 포스팅에서는 JavaScript에서 두 개의 배열을 비교하는 방법을 소개합니다. 목차 Array.prototype.every() Lodash의 isEqual() 함수 JSON.stringify() 정리 Array.prototype.every() 배열의 every() 함수를 사용하여 배열의 모든 요소가 비교 대상의 배열에도 존재하는지 확인할 수 있습니다. 길이가 동일하고 한 배열의 각 요소가 비교 대상의 배열에도 존재하면, 두 배열은 동일하다고 할 수 있습니다. const arr1 = [1, 2, 3]; const arr2 = [1, 2, 3]; const sameArray = arr1.length === arr2.length && arr1.every((value, idx) => value === a.. JavaScript/배열 2021. 11. 29. [JavaScript]console 객체 사용 방법 console 객체란? JavaScript의 console 객체는 브라우저의 콘솔에 접근을 할 수 있도록 해주는 객체입니다. 개발자는 console 객체를 활용하여 코드에서 사용한 변수의 값을 출력할 수 있으며, 올바른 값이 출력되었는지 디버깅 할 수 있습니다. 이번 포스팅은 console.log() 이외에도 유용한 기능을 소개합니다. 목차 console.log() console.error() console.warn() console.clear() console.time() 및 console.timeEnd() console.table() console.assert() console.group() 및 console.groupEnd() console.log() console.log()는 주로 콘솔에 전달된 .. JavaScript/JavaScript 문법 2021. 11. 29. [데이터베이스]TRUNCATE, DELETE, DROP 차이점 TRUNCATE, DELETE, DROP의 차이점은 SQLD 시험에서 자주 나오는 내용입니다. 이번 포스팅은 TRUNCATE, DELETE, DROP의 차이점을 정리합니다. TRUNCATE TRUNCATE TABLE 명령어는 개별적으로 행을 삭제할 수 없으며, 테이블 내부의 모든 행을 삭제합니다. TRUNCATE TABLE 테이블명; TRUNCATE의 특징 TRUNCATE는 DDL(데이터 정의 언어) 명령입니다. TRUNCATE는 테이블 잠금을 사용하여 실행되지만, 각 행은 잠기지 않습니다. TRUNCATE와 WHERE 절을 함께 사용할 수 없습니다.(개별적으로 행 삭제 불가능) TRUNCATE는 테이블에서 모든 행을 제거합니다. 트랜잭션 로그에 한 번만 기록되므로 DELETE보다 성능 면에서 더 빠릅니.. DataBase/이론&SQL 2021. 11. 29. [ORACLE]Null 처리 방법 이번 포스팅은 ORACLE에서 Null 처리 및 검사 방법을 설명합니다. 목차 IS [NOT] NULL NVL NVL2 NULLIF COALESCE DECODE CASE IS [NOT] NULL expr1 IS [NOT] NULL 테이블에서 expr1 칼럼이 NULL 값이거나 NULL 값이 아닌 행을 반환합니다. EMP 테이블에서 MONEY 칼럼의 값이 NULL인 직원들을 조회하려면 다음과 같이 쿼리를 작성할 수 있습니다. SELECT * FROM EMP WHERE MONEY IS NULL; 실행 결과 반대로 MONEY 칼럼의 값이 NULL이 아닌 직원들은 IS NOT NULL을 사용하여 조회할 수 있습니다. SELECT * FROM EMP WHERE MONEY IS NOT NULL; 실행 결과 NULL.. DataBase/Oracle 2021. 11. 28. [데이터베이스]이상 현상(Anomaly) 이상 현상(Anomaly)이란? 데이터베이스에서 정규화를 수행하지 않으면, 데이터의 중복이 발생하고 전체적인 무결성이 저하됩니다. 이러한 원인은 데이터 이상 현상(Anomaly)에 의해 발생하며, 이상 현상으로 인해 현실세계의 실제 값과 데이터베이스에 저장된 값이 일치하지 않는 문제가 발생합니다. 데이터 이상은 삽입 이상, 업데이트 이상, 삭제 이상이라는 세 가지 유형이 존재합니다. 다음은 이상 현상을 설명할 대학교 테이블입니다. 학번 학생명 학과 코드 학과명 학과장 코드 학과장명 1 도우너 101 경영학과 1000 워런 버핏 2 고길동 101 경영학과 1000 워런 버핏 3 또치 102 물리학과 2000 아인슈타인 4 마이콜 102 물리학과 2000 아인슈타인 5 둘리 103 컴퓨터공학과 3000 빌 .. DataBase/이론&SQL 2021. 11. 28. [데이터베이스]트랜잭션 ACID 속성 트랜잭션이란? 데이터베이스는 단순히 조직화된 데이터의 집합입니다. 예를 들어 성적, 계좌 정보, 급여 명세서 등을 예시로 설명할 수 있습니다. 위에서 설명한 정보들(성적, 계좌 정보, 급여 명세서 등...)은 비즈니스에 맞게 조직적이고 일관된 방식으로 데이터를 관리합니다. 여기서 말하는 비즈니스에 대해 설명드리자면, 대한민국에는 여러 개의 은행사가 존재합니다. 신한은행, 국민은행, 부산은행 등 수많은 은행이 존재하지만, 은행별로 계좌를 관리하는 로직 또는 테이블의 구조가 은행마다 다를 수 있습니다. 즉, 은행마다 데이터를 관리하는 로직 또는 체계를 비즈니스라고 할 수 있습니다. 앞서 언급한 정보들은 중요한 정보(=데이터)가 포함되어 있습니다. 중요한 정보가 일관성이 없거나 신뢰할 수 없다면, 사용자에게는.. DataBase/이론&SQL 2021. 11. 28. 이전 1 ··· 45 46 47 48 49 50 51 ··· 66 다음