javascript
-
함수 심화와 thisjavascript 2023. 6. 24. 05:42
변수의 유효범위와 클로저 렉시컬 환경 스크립트 전체와 관련된 렉시컬 환경은 전역 렉시컬 환경(global Lexical Environment)이라고 한다. ’변수’는 특수 내부 객체인 환경 레코드의 프로퍼티일 뿐이고, 변수를 가져오거나 변경’하는 것은 '환경 레코드의 프로퍼티를 가져오거나 변경’함을 의미한다. 즉, 스크립트가 시작되면 스크립트 내에서 선언한 변수 전체가 렉시컬 환경에 올라가게 되고, 프로퍼티 값은 undefined이다가 값이 할당되게 된다. 가비지 컬렉션 함수 호출이 끝나면 함수에 대응하는 렉시컬 환경이 메모리에서 제거되고 함수와 관련된 변수들은 이때 모두 사라진다. this Java에서의 this는 인스턴스 자신(self)을 가리키는 참조변수이다. 하지만 자바스크립트의 경우 자바와 다르..
-
5월 데보션 테크 세미나 클라우드 비용 최적화 후기javascript 2023. 5. 28. 21:42
최근 스프링을 공부하기 시작하면서, DB를 구축하고 또 서버를 배포할 때 AWS를 접했어요. 그만큼 클라우드에 관심을 갖고 있던 차에 클라우드 비용 최적화에 대한 테크 세미나를 듣게 되어서 정말 유익했습니다. 그럼, 테크 세미나를 듣고 어떤 점을 느끼고 학습했는지 그 이야기를 들어보러 가시죠! 🌈 TANGO 비용최적화 운영 EC2/RDS Auto Stop/Start AWS 클라우드 비용이 빌려서 1억원이 나왔다!라는 말이 밈처럼 돌만큼 클라우드 비용을 최적화하기는 어렵다고 알고 있었는데요, SKT에서는 어떻게 클라우드 비용을 최적화하는지 알려주셔서 흥미로웠습니다. 평일 7~22시, 주말과 공휴일에는 자동으로 off해서 비용을 최적화한다고 하셨는데요, 특히 instance schedular를 이용해서 람다..
-
자바스크립트 함수 심화javascript 2023. 5. 13. 11:12
재귀와 스택 재귀적 구조 재귀란 함수 내부에서 자기 자신을 호출하는 것을 나타내는 프로그래밍 용어이다. 재귀적 자료 구조는 자기 자신의 일부를 복제하는 형태의 자료구조이다. 재귀적 구조는 배열이나 연결리스트로 표현할 수 있다. 연결리스트 배열의 경우, 삭제와 삽입에 들어가는 비용이 크기 때문에 빠른 삽입과 삭제를 위해서는 배열보다 연결리스트를 사용한다. 연결리스트는 아래와 같이 두 가지 방법으로 생성할 수 있다. //1 let list = { value: 1, next: { value: 2, next: { value: 3, next: { value: 4, next: null } } } }; //2 let list = { value: 1 }; list.next = { value: 2 }; list.next..
-
자료구조와 자료형javascript 2023. 5. 7. 04:37
배열 배열은 순서가 있는 컬렉션을 저장할 때 쓰는 자료구조이다. let fruits = new Array(); let fruits = []; let fruits = ["사과", "오렌지", "자두"];위와 같은 방법으로 빈 배열을 선언해주거나 혹은 초기 요소를 넣어서 초기화해줄 수 있다. 만일 배열을 수정하고 싶다면 fruits[2] = '배';위와 같이 인덱스로 접근해서 수정하면 된다. 자바스크립트에서는 배열 요소 자료형에 제약이 없기 때문에 아래와 같이 여러가지 자료형을 섞어서 만들어도 된다. let arr = [ '사과', { name: '이보라' }, true, function() { alert('안녕하세요.'); } ];큐와 스택 자바스크..
-
객체javascript 2023. 4. 22. 05:28
객체 객체란 ‘키(key): 값(value)’ 쌍으로 구성된 프로퍼티(property) 를 여러 개 넣을 수 있는 것을 말한다. 함수형 프로그래밍 언어로 시작했지만, 객제 지향의 특징을 가지고 있는 언어인 자바스크립트에서 객체는 정말 빼놓을 수 없는 개념이다. 객치지향 프로그래밍을 공부하다 보면 객체는 이 세상 모든 것을 의미할 수 있다고 하는데, 코드로 생각하면 파이썬의 딕셔너리 형태 정도로 생각해볼 수 있을 것 같다. 모던 자바스크립트 튜토리얼에서는 객체를 서랍장으로 비유한다. 이름을 붙인 파일에 자료를 넣고 서랍장에 저장을 하는 것이다. 빈 서랍장, 즉 빈 객체는 아래와 같이 만든다. let user = new Object(); // '객체 생성자' 문법 let user = {}; // '객체 리터..
-
자바스크립트 기본javascript 2023. 4. 9. 07:24
if와 '?'를 사용한 조건 처리 if는 말그대로 '만약'이라는 뜻이다. 그래서 괄호 안의 값이 true면 코드블럭이 실행된다. let isStudy=true; if(isStudy){ console.log("공부중"); } 위와 같이 isStudy가 true인 경우, "공부중"이라는 콘솔이 뜬다. 여기서 만약 코드블럭이 단 한줄이라면 중괄호{} 없이 사용해도 되지만, 가독성을 위해 한 줄이더라도 중괄호를 사용하는 것이 좋다고 한다. truthy vs falsy 위의 isStudy처럼 불린값이 되었을 때, true가 되는 값을 참같은 값, truthy라고 하고 그 반대로 false가 되는 값을 거짓같은 값, falsy라고 한다. 숫자 0, 빈 문자열"", null, undefined, NaN 모두 fals..