Programming Langue 24

[Javascript] 빌트인 객체

자바스크립트 객체 3가지자바스크립트 객체는 크게 3가지로 분류할 수 있습니다.내장 객체, 호스트 객체, 사용자 정의 객체입니다. 내장(빌트인) 객체 : 자바스크립트 엔진에 기본적으로 내장되어 언제든 사용할 수 있는 객체입니다.예: String, Number, Boolean, Function, Array, RegExp, Date, Math, Object, Promise, Reflect, Proxy, JSON, Error 등대부분은 new 키워드로 인스턴스를 생성할 수 있는 생성자 함수다(Math, Reflect, JSON은 예외로 인스턴스를 만들 수 없습니다).다양한 내장 메서드와 속성을 제공해, 문자열 처리, 배열 조작, 날짜 계산, 비동기 처리 등 여러 작업을 쉽게 할 수 있습니다.호스트 객체 : 실..

[Javascript] 원시값과 객체

원시 값이 '불변(immutable)'하다는 것은?원시 값이 불변하다는 것은 한 번 생성된 값 자체는 변경할 수 없다는 의미입니다.메모리 공간에 한번 할당된 값은 변경이 불가능합니다.변수에 새로운 값을 할당하는 것은 재할당이지, 기존 값의 변경이 아닙니다.let name = 'John';name = 'Jane';let name = 'John'이라고 했을 때, 이 'John'이라는 문자열 자체는 절대 바뀌지 않습니다. 만약에 name = 'Jane'이라고 하면, 새로운 문자열을 만들어서 name 변수에 다시 할당합니다.그렇다면 변경 가능한 값이 있을까요?네, 변경 가능한 값이 있습니다. 객체는 변경 가능한 값입니다.생성 후에도 프로퍼티를 추가, 수정, 삭제할 수 있습니다.변수는 객체의 메모리 주소를 기억합..

[Javascript] 객체 리터럴

객체란?자바스크립트는 객체 기반 프로그래밍 언어다.원시 값을 제외한 모든 값이 객체다.원시 값은 변경 불가능한 값(immutable value)이지만, 객체는 변경 가능한 값(mutable value)이다.객체는 키(key)와 값(value)으로 구성된 프로퍼티의 집합이다.함수와 메소드의 차이자바스크립트의 모든 값은 프로퍼티 값이 될 수 있다.프로퍼티 값으로 함수를 저장할 수 있는데, 이때 일반 함수와 구분하기 위해 객체 값으로 들어간 함수를 메소드라고 부른다.객체 리터럴?객체를 생성하기 위한 표기법리터럴 : 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용하여 값을 생성하는 표기법객체를 생성할 때 가장 간단하고 많이 사용되는 표기법중괄호 {} 안에 0개 이상의 프로퍼티 정의객체 리터럴이 클래스 인스..

[Javascript] 변수

Javascript란?웹 브라우저에서 동작하는 유일한 프로그래밍 언어컴파일 작업을 수행하지 않는 인터프리터 언어다.컴파일? 코드가 실행되기 전에 전체 코드로 머신 코드를 생성한다.그래서 시작속도는 느리지만 코드 실행속도는 빠르다. ex) c, java, ..인터프리터? 바로 소스코드를 실행 하면서 한줄씩 읽고 실행한다.그래서 시작속도는 빠르지만 실행속도는 느리다. ex) python, javascript, ..자바스크립트 엔진인 V8 엔진이 최적화를 위해 JIT(Just-In-Time) 컴파일러를 사용하지만, 기본적으로 자바스크립트는 인터프리터 언어로 사용된다.반면, TypeScript는 '컴파일 언어'다. tsc컴파일러가 ts파일을 js로 변환 후 브라우저에서 실행하기 때문이다.자바스크립트는 동적 타입..

TypeScript란?

TypeScript(TS)의 등장JavaScript(JS)는 이상한 언어다.# null에 숫자 곱하기null * 213>> 0# undefined에 숫자 곱하기undefined * 8976>> NaN# 존재하지 않는 객체 속성에 접근하기const shape = { width: 14, height: 12 };shape.hieght>> undefined 위와 같은 자잘한 오류들은 나중에 큰 프로젝트에서 처리하기 힘들어진다. 자바스크립트가 이상한 이유는 원래 널리 쓰일 용도로 만들어지지 않았기 때문이다.만들어진 목적은 단지 브라우저에 스크립팅 기능을 추가하기 위해서였다.자바스크립트의 특이점이나 문제가 계속해서 발생하게 되어서 개발자들은 이것을 고치려고 하는데 완벽한 프로그래밍 언어가 되지 못했다.그래서 Typ..

파이썬 프로젝트에서 환경 변수(env) 사용하기

환경 변수(environment variable)운영 체제(operating system) 수준에서 설정되는 변수이다.애플레케이션 수준에서 설정하기가 불가능하거나 어려운 값들을 환경 변수로 관리한다.환경 변수를 이용하면 애플리케이션 코드를 수정하지 않고도 배포 환경(개발, 테스트, 운영 등)에 따라 설정값의 유연한 변경이 가능하다. 이 말은 즉슨, 이식성(portability)과 유지 보수성 측면에서 큰 이점이 있다는 뜻이다.환경 변수에 작성할만한 것들데이터베이스 설정 → 대부분 개발과 프로덕션에서의 DB는 다르게 사용하니까 각 환경에 맞는 값을 설정해 준다.민감한 인증 정보(서드파티(3rd-party) 서비스의 API 키, 비밀번호.. 등)나 같은 경우에는 docker-compose.yml에 작성된 도..

[파이썬] 18. 파일 읽기/쓰기

파일 입출력의 필요성 프로그램은 데이터를 읽고 쓰는데, 프로그램 자체에서 바로 메모리에 따로 저장하지 않고 따로 파일에 읽고 쓰기 때문 파일을 생성하고 여는 방법 파일 객체이름 = open("파일경로/파일이름","파일 열기 모드") 파일 열기 모드 r 읽기모드 : 파일을 읽기만 할 때 사용 w 쓰기모드 : 파일에 내용을 새로 쓸 때 사용 a 추가모드 : 파일의 마지막 부분에 새로운 내용을 추가 할 때 사용 f = open("test.txt", 'w') f.write("hello") f.close() 파일을 닫는 방법 - 파일객체.close() 파일에 쓰는 방법 - 파일객체.write("입력할 내용") 파일을 읽는 함수 readline() 파일 객체를 한 줄씩 읽고 그 문자열을 반환 readlines() ..

[파이썬] 17. 함수2

매개변수 필요에 따라 제한 없이 입력 가능, 호출할때 매개변수와 같은 수의 전달 인자를 입력해야 함 가변인자 함수 같은 기능을 수행하지만 매개변수만 다른 함수, 튜플 형식으로 변수에 저장됨 (매개변수 개수 제한 없음) 선언 : "def 함수이름(*매개변수):" 일반 매개변수와 함께 사용 가능!(단, 가변인자 앞에 입력해서 사용) 키워드 매개변수 선언:"def 함수이름(**매개변수):" 호출 : 함수이름(key1=value1,key2=value2,...) → 딕셔너리 형태로 선언 key는 따옴표로 감싸지않고 변수처럼 입력하여 사용 가변인자와 함께 사용가능(단, 키워드 매개변수 앞에 사용) def func(*nums, **kwargs) : print(nums) print(kwargs) num = 10 fun..

[파이썬] 16. 함수1

함수의 역할 지정 기능을 실행하는 단위 코드의 가독성과 프로그램의 효율성 증대 수학 함수와 같은 역할을 한다. 사용자가 만든 함수에 인자를 전달하면 연산 결과 반환 → 어떤 기능을 수행하는 프로그램에 입력 값을 넣으면 반환값이 나오는 것 함수선언 더보기 def : 함수를 정의하는 키워드 매개변수 : 함수를 호출할 때 전달받은 인자를 함수 안에서 사용할 수 있도록 연결 및 전달하는 역할 수행 return : 연산결과 반환 #함수 정의 def 함수 이름(매개변수1, 매개변수2, ...) : 실행 구문 ... return 반환값 #함수 호출 함수 이름(전달인자1, 전달인자2, ...) 예) 주민등록번호 앞 7자리 입력 → 나이, 생일, 성별 반환하는 함수 더보기 stdInfo함수 2000년생 이후와 이전으로 ..

[파이썬] 15. 제어문

제어문 반복문의 흐름제어를 한다 break 반복문을 빠져나올때 사용 자신을 직접 포함하고 있는 반복문만 완전히 종료 wordslist = [] while True : word = input("단어를 입력하세요. 1 입력시 중단됩니다.:") #단어입력 if word == "1" :#1입력시 break문 실행 break else : wordslist.append(word)#append함수로 wordlist리스트에 단어입력 for w in wordslist : print(w, end = ' ') continue 현재 반복 중인 순서를 건너뛸 때 nums = [] while True : num = int(input("숫자를 입력하세요. -1 입력시 중단됩니다.:")) if num == -1 : break #반복..