일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- bcrypt
- pm2
- 스코프
- 노드
- 자바스크립트
- 장고초기세팅
- javascript
- wecode
- 트랜잭션
- CORS
- async/await
- typescript
- manytomanyfield
- status code
- django westagram
- 호이스팅
- node
- JWT
- OSI7계층
- TypeError: this.boardRepository.createBoard is not a function
- rebase
- docker
- 프로미스
- 실행 컨텍스트
- westagram
- nodeJS
- Jest
- on_delete
- Django
- crud2
- Today
- Total
목록학습 (86)
될때까지
class Human { constructor (type="human") { this.type = type; } static isHuman(human) { return human instanceof Human; } breathe() { alert('h-a-a-a-m'); } } class Zero extends Human { constructor(type, firstName, lastName) { super(type); this.firstName = firstName; this.lastName = lastName; } sayName() { super.breathe(); alert(`${this.firstName} ${this.lastName}`); } } const newZero = new Zero();
구조분해할당(Destructuring assignment) 배열이나 객체의 속성을 분해해서 그 값을 변수에 담을 수 있게 하는 표현식이다. ✨배열은 자리가 똑같아야하고 객체는 키가 똑같아야한다.✨ 배열 구조 분해 users라는 배열의 값을 let 변수 선언시 []를 사용하면 하나씩 나눠담을 수 있다. 문자열의 경우 split을 사용하여 나눠 담을 수도 있다. c에 해당하는 값이 없는 경우 undefined가 담긴다. 이 때 기본값을 설정해줄 수 있다. tom와 tony처럼 필요하지 않는 값은 일부 무시도 가능하다. a와 b의 값을 바꿔야하는 경우 구조분해를 사용하면 다른 변수 생성없이 값 교환이 가능하다. 객체 구조 분해 객체 구조 분해의 경우 순서가 뒤바껴도 제대로 출력이 된다. 꼭 user에서 정의한..
옛날 함수표현의 간편한 표현식이다. 아래처럼 계속 생략해서 사용이 가능하다. function add1(x,y) { return x+y; } const add2 = (x,y) => { return x + y; } const add3 = (x,y) => x + y; const add4 = (x,y) => (x + y); // 헷갈리지않게 리턴값을 괄호로 묶어주기 주의할 점 const obj = (x,y) => { {x, y} // {x:x , y:y} 인 경우 생략할 수 있음 (객체 리터럴) } const obj = (x,y) => {x,y} // 화살표함수에 따라 생략할 수 있지만 자바스크립트는 이게 뭔지 모름! 객체를 반환하는 경우에는 소괄호를 필수로 적어줘야한다. 자바스크립트가 객체인지 함수의 바디를 ..
템플릿 문자열 const won = 1000; const result = `이 과자는 ${won}원입니다.`; 파이썬의 f스트링처럼 출력하는 방법이군 객체 리터럴 객체의 메서드에 :function을 붙이지 않아도 됨 {sayNode : sayNode}와 같은 값은 {sayNode}로 축약이 가능함 [변수 + 값]등으로 동적 속성명을 객체 속성 명으로 사용이 가능함
var vs const, let if (true) { var x = 3; } console.log(x) // 3이라고 출력함! if (true) { const y = 3; } console.log(y) // Uncaught ReferenceError : y is not defined var는 더이상 쓰지 않도록 권장되는 변수지만, 옛날 코드들에서는 var로 선언했으므로 해당 코드를 봤을 때 이해할 수 있어야 한다. 💓 var과 const, let의 가장 큰 차이점은 블록 스코프다. if문 안에서 const로 선언한 y는 {}블럭 밖에서 y를 인지하지 못하지만, var로 선언했던 x변수는 if문 밖에서도 x를 찾아온다. wow var은 무적인가 싶지만 var는 함수 스코프를 존중하므로 아래의 코드에서 함수..
호출 스택 function first() { second(); console.log("첫번째"); } function second() { third(); console.log("두번째"); } function third() { console.log("세번째"); } first(); 위의 코드를 실행한다면 결과가 어떻게 될까? 예상해보자. 🙄 나는 콘솔에 세번째 -> 두번째 -> 첫번째 순서로 찍힐 것 같다. ✨ 이유는 자바스크립트는 콜스택에 호출된 함수들을 담아둔다고 알고있다. 스택이란? 출입구가 하나라서 나중에 들어온 함수가 먼저 실행되는 자료구조라고 알고 있다. 위에서 first, second, third 함수를 선언했고 맨 아래에서 first()함수를 호출했다. 따라서 first 함수가 호출됐으니 ..
🍋 REST Representational State Transfer의 약자로 현재 상태를 나타내면서 주고 받는다는 뜻이다. 🍊RESTful API 이러한 REST한 특징을 지키는 API를 말한다. - Graphql은 엔드포인트가 하나다. 그 하나로 들어오면 모든 메소드 요청을 다 처리한다.(페이스북 현메타에서 만들었음) - REST API는 웹상에서 사용되는 여러 자원들을 HTTP URI로 표현하고 그 자원에 대한 행위를 HTTP Method로 정의하는 방식이다. API 그 자체만으로도 API의 목적이 쉽게 파악된다. 하지만 표준 규약이 없기 때문에 안티 패턴(실제 많이 사용되는 패턴이지만 비효율적이거나 비생산적인 패턴)으로 작성되는 경우가 많다. URI(Uniform Resource Identifi..
E2E 프론트엔드와 백엔드가 모두 합쳐서 브라우저상에서 카테고리를 눌렀을 때 해당되는 카테고리 데이터가 나오는가, 회원가입을 하면 DB에 저장이 되는지 등을 테스트하는 방식입니다. Integration 백엔드로 예를 들면 포스트맨으로 테스트하는 과정을 말합니다. 장고로 서버를 띄우고서 모델 클래스와 결합하고, DB와 연동해서 제대로 작동하는지 확인하는 방식입니다. Unit test 작성한 코드의 가장 작은 단위(함수)를 테스트하는 메소드를 만들어서 내가 짠 코드를 테스트하는 방식입니다.
MySQL 콘솔 로그인 # 로컬 mysql -u root -p # 호스트 mysql -h 호스트주소 -u root -p 데이터베이스 생성 create database 데이터베이스이름 character set utf8mb4 collate utf8mb4_general_ci; 데이터베이스 리스트 보기 show databases; 데이터베이스 선택하기 use 데이터베이스이름; 데이터 삭제 delete from 테이블이름 where 조건 데이터베이스 덤프 내보내기 mysqldump -u root -p 데이터베이스이름 > 생성할이름.sql 덤프 밀어넣기 mysql -h 호스트주소 -u root -p 데이터베이스이름 < 파일명.sql
.gitignore에 나중에 추가한 파일이 추적될 때 .gitignore에 csv파일과 db_loaders.py을 추가했다. 그리고 깃허브에 pull request를 요청했는데 깃허브에 올라가있는 csv파일과 db_loaders.py!?!? 깃이그노어에 작성한 파일들 중 일부분이 적용이 안되고 있다. 이럴 경우에는 아래의 명렁어를 사용해서 깃 캐시를 삭제해주면 해결된다. git rm -r --cached filename1, filename2.. 그러면 해당 파일들의 git index가 초기화 되었다. 해당 내용을 add commit해준다. 제대로 잘 적용이 되었나 추적을 끊을 파일을 테스트삼아 수정해보면 된다. 수정한 내용을 저장한 뒤에 git status로 확인해봤을 때, 변경사항이 없다고 나타나면 ...