1.SymbolSymbol은 ECMAScript 2015 (ES6)에서 도입된 새로운 원시 데이터 타입 중 하나입니다.Symbol은 주로 객체 속성의 고유한 식별자를 만들기 위해 사용됩니다. Symbol은 다른 데이터 타입과 달리 고유하고 변경 불가능한 값이며, 동일한 설명(문자열)을 사용해 생성된 Symbol이라도 서로 다른 고유 값을 가집니다.const mySymbol = Symbol(); 2.Symbol 특징2-1.고유성Symbol은 항상 고유한 값을 가지므로, 같은 설명을 사용하여 생성된 Symbol도 서로 다릅니다.const sym1 = Symbol('description');const sym2 = Symbol('description');console.log(sym1 === sym2); //..
1.모듈JavaScript 모듈은 코드의 특정 기능을 독립된 단위로 캡슐화한 파일 또는 파일의 일부를 의미합니다. 모듈은 다른 코드와 독립적으로 작성되고 테스트되며, 필요에 따라 가져와서 사용할 수 있습니다. 이를 통해 코드의 재사용성과 유지 보수성을 높이고, 코드의 구조를 체계적으로 관리할 수 있습니다. 2. 사용이유2-1.독립성모듈은 독립된 파일로 존재하며, 각 모듈은 자체적인 스코프를 가집니다. 따라서 변수 이름이나 함수 이름이 겹치더라도 충돌이 발생하지 않습니다. 2-2.재사용성한 번 작성한 모듈은 여러 프로젝트에서 재사용할 수 있습니다. 2-3.캡슐화모듈 내의 구현 세부 사항은 외부에 노출되지 않으며, 오직 필요한 인터페이스만 공개됩니다. 2-4.의존성 관리모듈은 다른 모듈을 가져와서 사..
1. 클래스class Person { // constructor(생성자) constructor(name) { this._name = name; } //메소드 sayHi() { console.log(`Hi! ${this._name}`); }} 2.인스턴스 생성new 연산자와 함께 클래스 이름을 호출한다.// 인스턴스 생성const human = new Person('Park');human.sayHi(); 3.생성자this는 클래스가 생성할 인스턴스, _name은 클래스 필드입니다.constructor(name) { this._name = name;} 4.클래스 필드클래스 몸체에는 메소드만 선언할 수 있다. constructor 내부에서..
1. 프로퍼티 축약프로퍼티 값으로 변수를 사용하는 경우, 프로퍼티 이름을 생략할 수 있다.let x = 1, y = 2;// ES5var obj = { x: x, y: y};// ES6const obj = { x, y }; 2.프로퍼티 키 동적 생성 객체 리터럴 내부에서 프로퍼티 키를 동적으로 생성할 수 있다.let i = 0;// ES5obj2[++i] = i;obj2[++i] = i;obj2[++i] = i;// ES6const obj1 ={ [`${++i}`]:i, [`${++i}`]:i, [`${++i}`]:i,} 3.메소드 축약 표현메소드를 선언할 때, function 키워드를 생략한 축약 표현을 사용할 수 있다.var obj4 = { // ES5 ..
1. 크롬 옵션 설정크롬 브라우저 옵션을 설정하여 불필요한 에러 메시지를 없애고, 자동화 탐지를 회피하기 위해 프로필을 위조합니다. 브라우저를 생성하여 이후의 웹 스크래핑 작업에 사용합니다.import seleniumimport requestsfrom selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.chrome.options import Optionsfrom selenium.webdriver.common.keys import Keysimport timeimport json# 크롬 옵션chrome_options = Options()chrome_options.add_experimental_op..
1. .gitignore 파일 생성루트 폴더에 .gitignore 파일 생성을 한다. 2.무시할 파일 및 디렉토리 추가파일 내부에 무시하고싶은 파일,디렉토리를 작성한다.# 디렉토리 무시/node_modules//build/# 특정 파일 무시.envsecrets.yml# 로그 파일 무시*.log# OS별 파일 무시 (예: macOS).DS_Store# IDE 설정 파일 무시.vscode/*.sublime-project
1.히스토리에서 제거하며 되돌리기$git reset --soft HEAD~1 2.이전 커밋으로 되돌리기 (변경 사항 유지)$git reset --mixed HEAD~1 3.이전 커밋으로 되돌리기 (변경 사항도 제거)$git reset --hard HEAD~1
1.클론하기$git clone 2.새로운 레포지토리에 연결(커밋기록 유지됨)# 기존 원격(origin) URL 제거$git remote remove origin# 새로운 원격(origin) URL 추가$git remote add origin # 변경 사항을 푸시하기$git push -u origin main 3.커밋기록 제거하면서 옮기기# 5. 원격 레포지토리 설정$git remote add origin https://github.com/user/new-repo.git# 6. 새로운 커밋을 푸시 (기존 커밋 히스토리를 제거)$git push -u --force origin new-branch:main