본문 바로가기

전체 글143

예비 개발자 회고록 #4 저번주는 바쁜 한주였다. 예정되어있던 약속이 있어 주말에는 개발을 하지 못했지만, 이번주는 이제 2일 지났지만 아주 바쁘게 지내고 있다. 월요일 부터 내일배움캠프 사전캠프에 합류하였다! 2일 째 진행하였고 기본 개념을 다시 공부중에 있다. 블로그 카테고리에 TIL 항목을 추가하여 그날그날 공부한 내용을 정리하려고 한다. 아직 초반이라 진도를 따라가는데 집중을 하고 있어서 진행중이던 모던 자바스크립트 딥다이브 독해는 조금 지연이 될 수도 있을 것 같다. 그래도 사전캠프 학습 진행률이 높아서, 금방 독해를 다시 진행할 예정이다. 그래도 상대적으로 난이도가 낮은 깃 공부는 병행할 예정이다. 그리고 토이프로젝트도 새로 시작하려고 한다. 이론 공부만 하기 보다는 프로젝트를 통해 경험을 늘리고 싶다. 일단 기본적인.. 2023. 9. 5.
2023-09-05 사전캠프 2일차 TIL JavaScript Handbook 정리 (09/05) 프로그램 언어 - 컴파일 여부 컴파일: 유저가 작성한 소스코드를 컴퓨터가 이해할 수 있는 언어 (0과 1)로 변환하는 작업 컴파일 언어 (C, Java) : 프로그램 실행 전 소스코드를 기계어로 변환함, 컴파일 시간이 오래걸림, 에러 발생율 낮음. 인터프리터 언어 (Python, Javacript) : 소스코드 한 줄씩 해석하고 실행, 별도의 컴파일이 필요하지 않음, 에러 발생율 높음. - 성능/안정성과 편의성의 Trade-off 관계 Trade-off : 한가지를 취하면 다른 것은 포기해야하는 관계 일반적으로 성능/안정성이 뛰어나면 편의성이 떨어진다. 예를 들어, 메모리 관리를 할 때 유효하지 않은 메모리(Garbage)를 c언어에서는 유저가 직접.. 2023. 9. 5.
JavaScript - #18. let, const 앞서서 알아본 결과 var 키워드는 다음과 같은 문제를 가지고 있다. 1. 변수의 중복 선언 허용 2. 함수 레벨 스코프 3. 변수 호이스팅 이 문제점들을 해결하기 위해서 ES6에서는 변수를 선언할 때 let, const를 추가하였다. 두개의 키워드들에 대해 알아보자 1. let 키워드 - 변수 중복 선언 금지 var에서는 변수의 중복선언이 허용됬지만 let키워드는 변수가 중복선언 될 시 SyntaxError를 발생시킨다. let foo = 100; let foo = 200; // SyntaxError : Identifier 'foo' has already been declared - 블록 레벨 스코프 var는 함수 레벨 스코프를 가지기 때문에 함수 외에 다른 코드블록에서 선언된 변수는 지역변수가 아닌 .. 2023. 8. 31.
JavaScript - #17. 전역변수의 문제점 앞서서 계속 배우고 있지만 자바스크립트에서 전역변수의 무분별한 사용은 위험하다. 오늘은 그 이유에 대해서 알아 볼 예정이다. 1. 변수의 생명주기 변수는 선언되고 할당되며 필요성이 없어지면 소멸한다. 우리는 이러한 과정을 변수의 생명주기라고한다. - 지역 변수의 생명주기 지역변수는 해당 지역의 생명주기와 같이 생성되고 소멸한다. function foo () { var x ='local'; console.log(x); return x; } foo(); console.log(x); //ReferenceError foo 라는 함수는 함수선언문에 의해 정의 되어있지만 정의만 된다고 생성되는 것이 아니다. 함수 실행문이 있어야 생성될 수 있다. foo() 실행문이 실행되고 난 후 함수 foo는 실행되며 이 함수가.. 2023. 8. 31.
Git - #5. 버전 만들기 (Commit) Git은 VCS (Version Control System) 중 하나이다. 이번시간에는 버전을 생성해 볼 것이다. VSC에서 프로젝트 폴더를 열어보자 저번시간에 git에 관리를 받겠다는 명령어인 git init을 입력한 상태일 것이다. 현재 상태를 확인해보자. 출력된 결과를 한번 해석해보자 No commits yet : 아직 커밋되지 않았다. Untracked files : 관리되지 않는 파일 즉, 프로젝트 파일을 Git에서 접근할 수 는 있지만 어느 파일도 관리되고 있지 않은 것이다. 지금부터 최초 버전을 하나 생성해 보겠다. - git add ( 파일명 or . ) 해당 명령어는 Commit(버전 업데이트)하기 전 버전에 추가할 내역을 등록하는 과정이다. 파일 명을 쓰면 해당 파일만 올라가게 되며, .. 2023. 8. 30.
JavaScript - #16. 스코프 스코프란 자바스크립트를 포함한 모든 프로그래밍 언어의 기본적이며 중요한 개념이다. Scope는 해석해보면 범위라는 뜻을 가지고 있다. 프로그래밍에서 스코프 역시 범위를 뜻한다. 우리는 앞선 공부에서 스코프를 경험했고 그 내용을 보며 스코프가 무엇인지 알아보자. function add (a,b) { console.log(a+b); //5 return a+b; } add(2,3); console.log(a,b)//ReferenceError 위 코드는 이전시간에 알아본 함수 선언식이다. 이때 add라는 함수는 매개변수 a, b를 가지게 된다. 함수 내부에서는 이 매개변수 a, b를 사용한 문들이 실행이 잘 되지만, 마지막줄에 함수 외부에서 이 매개변수에 접근하려고 하면 참조오류가 발생한다. 오류가 발생하는 이.. 2023. 8. 30.