반응형 Programming256 JavaScript 기초 문법 #4 함수 스코프, 전역변수 문제점 # 자바스크립트 스코프 함수 스코프를 결정하는 방법은 두가지다. 1. 함수 호출시점 2. 함수 정의시점 자바스크립트에서는 함수 정의시점에 따라 상위 스코프를 결정한다. 함수가 호출된 위치는 상위 스코프 결정에 어떤 영향도 주지 않는다. 함수의 상위 스코프는 언제나 자신이 정의된 스코프다. # 전역 변수 전역 변수의 무분별한 사용은 위험하다. 변수값이 변경되면서 프로그램 전체가 무너질 수 있기 때문이다. 모든 변수는 생명주기가 있다. 생성되어 메모리 공간을 점유하고, 변수가 소멸되면서 메모리 공간을 반납하는 주기가 있다. 전역 변수의 경우 자바스크립트 엔진에 의해 먼저 실행되어 undefined로 정의 되지만, 지역변수 지역 변수의 생명 주기는 함수의 생명주기와 정확히 일치한다. 변수의 생명 주기는 메모리.. 2021. 10. 20. Heroku app 변경하는 방법 Problem 헤로쿠에서 기존 앱을 삭제 후 새로운 앱을 만드는 과정에서 기존앱에 연결되어있는 상태가 발생한다. 새로운 앱을 만들고 그 앱에 database를 addons로 붙여야 하는데, 기존앱에 연결되어 addons가 불가능한 상황이다. Solution 먼저 현재 디렉토리가 heroku git에 어떤 repository와 연결되어 있는지 확인한다. 헤로쿠는 기본적으로 PaaS 종류이기 때문에, Git에 따라서 앱을 구분한다. 기존앱에 연결되어 있다면 새로운 앱으로 Git repository를 옮겨줘야 한다. 다음 명령어로 새로운 앱의 Git으로 연결해주면 해결된다. heroku git:remote -a app2 2021. 10. 19. Python could not be resolved Pylance from source 모듈 인식 안될때 해결방법 프로젝트를 처음 시작할 때, 필요한 모듈을 사용하기 위해서 가상 환경을 사용하게 된다. 필요한 모듈만 사용하고, 환경이 다른 곳에서도 정상 작동하기 위한 장치다. 문제는 가상환경을 설정하면 기존에 설치가 완료되어 있는 모듈을 가져오는데 경고 메세지를 띄우는 경우다. warn: could not be resolved from source 분명히 모든 모듈을 설치 했는데도 경고창이 뜨고 있다. SOLUTION 문제의 원인은 python 경로를 default로 python이 설치되어 있는 설치파일 directory로 잡고 있는데, 새로운 가상환경을 만들어서 사용하다 보니 python경로를 제대로 잡아주지 못해서 발생하는 오류다. VS Code에서 다음 과정을 따라온다. Ctrl+Shift+P python:se.. 2021. 10. 14. JavaScript 기초 문법 #3 제어문, 객체, 함수 # 원시타입과 객체 타입의 차이점 원시타입의 값은 변경 불가능한 값이다. 객체 타입 값은 변경 가능한 값이다. 원시값을 변수에 할당하면 변수(확보된 메모리 공간)에는 실제값이 저장된다. 객체를 변수에 저장하면 변수(확보된 메모리 공간)에는 참조값이 저장된다. 원시값의 변수를 다른 변수에 할당하면 원본의 원시값이 복사되어 전달된다. 객체 변수를 다른 변수에 할당하면 원본의 참조값이 복사되어 전달된다. 변수와 같은 식별자Identifier는 값이 아니라 메모리 주소를 기억한다. 즉 식별자는 메모리 주소에 붙인 이름이라고 할 수 있다. 원시값을 갖는 변수를 할당하면, 두 변수의 원시 값은 서로 다른 메모리 공간에 저장된 별개의 값이 된다. 어느 한쪽에서 값을 변경하더라도, 간섭이 발생하지 않는다. 객체는 프로.. 2021. 10. 14. JavaScript 기초 문법 #2 제어문, 객체 # break 문 break문은 레이블 문, 반복문 또는 switch문의 코드 블록을 탈출한다. 이 외의 코드블록에서 break문을 사용하면 SyntaxError가 발생한다. # continue 문 반복문의 코드블록 실행을 현 지점에서 중단하고 증감식의 다음 단계로 실행흐름을 이동시킨다. # 타입 변환 암묵적 타입변환 vs 명시적 타입변환 var x = 10; # 암묵적 타입 변환 var str = x.toString() // number -> string # 명시적 타입 변환 var str = x + '' // number -> string console.log(typeof str, str) # 객체 자바스크립트는 객체 기반의 프로그래밍 언어다. 자바스크립트를 구성하는 거의 모든 것이 객체로 이루어져.. 2021. 10. 14. JavaScript 기초 문법 #1 변수, 데이터타입, 연산자 # 리터럴 리터럴 literal은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법이다. 숫자 10을 입력하면 컴퓨터가 이해할 수 있는 기호로 변경되는 것을 말한다. # 표현식이란 -식별자, 리터럴로 이루어진 값을 평가할 수 있는 문법 문(statement)은 프로그램을 구성하는 기본 단위이자 최소 실행단위다. 문은 토큰으로 나뉘며, 토큰이란 문법적인 의미를 가지면서, 문법적으로 더이상 나눌수 없는 코드 최소 요소를 의미한다. # 데이터 타입 자바스크립트는ES6는 7개의 데이터 타입을 제공한다. 숫자타입 : 모든 숫자는 실수로 처리된다. 문자열타입 불리언타입 undefined 타입 : 예를 들어 var 키워드로 선언한 변수가 있으면 암묵적으로 undefined로 초기화 된다. .. 2021. 10. 14. 이전 1 ··· 30 31 32 33 34 35 36 ··· 43 다음 반응형