항해99 1기 수료후 TIL
-
6장 객체: 코뿔소 자바스크립트 완벽 가이드 스터디 모임항해99 1기 수료후 TIL 2022. 6. 8. 02:45
객체: 자바스크립트의 가장 기본적인 데이터 타입. 오늘의 목표: 객체의 동작 원리를 자세하게 이해하자. 6-1. 객체 소개 객체란? 1) 복합된 값 2) 프로퍼티의 순서 없는 집합 3) 이름(key)을 통해서 값(value)을 저장하고 불러온다. 4)이름과 값을 연결하는 데이터 타입은 다른 언어에도 있음. 파이썬에서는 딕셔너리. 5) 자신의 프로토타입이 있으면 그것에서 프로퍼티를 상속 받음: 자바스크립트의 중요한 기능! 6) 객체의 메서드(ex: toLocaleString)은 일반적으로 상속된 프로퍼티. 7) JS에서는 문자열, 숫자, 심벌, boolean, null, undefined가 아니면 모두 객체. 그래서 배열도 객체. 8) 객체는 가변(= 동적) 9) 값이 아니라 참조로 동작함. 그래서 같은 ..
-
웹호스팅: 호스팅이라는 서비스의 개념으로 설명하기.항해99 1기 수료후 TIL 2022. 4. 24. 17:50
웹호스팅의 정의 : 콘텐츠 리소스를 저장/중개/관리하는 일을 통틀어서 이르는 말. ↑↑↑안 와닿는 정의 ↓↓↓와닿는 정의 서버컴퓨터의 전체 또는 일정 공간을 이용할 수 있도록 임대해주는 서비스 이런 서비스가 필요한 이유 콘텐츠를 저장/제공/로그접근/관리 등등에 서버가 필요: 그 서버에 필요한 하드웨어/소프트웨어 관리가 어려움 서버를 운영하려면 24시간/365일 내내 컴퓨터가 켜져 있어야 함 : 비용/공간/전문가 빵빵한 회사가 아니면 어려움 요즘은 Hosting을 cloud라고도 함 둘다 인터넷에 연결된 컴퓨터를 빌려주는 서비스/비즈니스라는 점에서 같음. 호스팅중에서 웹서버를 운영하는데 필요한 소프트웨어까지 설치해서 빌려주는 서비스 = 웹호스팅 내가 보기엔 AWS나 네이버 클라우드가 웹호스팅과 같지는 않고..
-
HTTP 완벽 가이드 3장: HTTP 메시지항해99 1기 수료후 TIL 2022. 2. 10. 08:36
HTTP 메시지란? http라는 배달원이 배달하는 소포 === http 메시지 http 애플리캐이션 간에 주고 받는 데이터 블록 === http 메시지 1. 메시지의 흐름 2. 메시지의 각 부분 메시지 구성 = 시작줄 + 헤더 + 본문(바디) 3. 메서드 메서드 = 서버가 하길 원하는 '동작'을 클라이언트가 콕 찝어 지시하는 것. 안전한 메서드 = GET, HEAD = 이 메서드를 사용하는 HTTP 요청으로 인해 서버에 변화가 없음 3-1.GET : 서버에 리소스 요청 3-2. HEAD : GET과 같지만 응답으로 헤더만 돌려줌 3-3. PUT : 서버에 문서 쓰기 3-4. POST : 서버에 입력 데이터 전송 3-5. TRACE : 요청이 서버에 전달되면, 서버에 어떻게 요청이 보이는지 클라이언트에게 ..
-
TIL 2021.7.26 : 자바스크립트 클래스의 this와 파이썬 클래스의 self 비교(feat. React)항해99 1기 수료후 TIL 2021. 7. 26. 12:11
자바스크립트 클래스에서 this 자바스크립트에서 this는 상황마다 가리키는 것이 달라진다. 클래스를 정의하는 경우에는 this는 클래스가 생성하는 인스턴스를 가리키고, 클래스 정의시 내부 로직에서 변수와 메서드를 선언하는 경우에는 this가 꼭 나와줘야 한다(= this 없이는 오류가 나온다). 파이썬에서 클래스를 정의할 때 나오는 self도 클래스로 만드는 인스턴스를 가리키는데, 이는 자바스크립트 클래스에서 this가 인스턴스를 가리키는 것과 같다. 그래서 파이썬을 배운 다음에 자바스크립트를 배우면 좀 쉽게 배울 수 있다(파이썬과 자바스크립트는 이름도 같고 사용법도 같은 배열 메서드가 있는 정도로 유사한 점이 많아서 파이썬을 배우고 자바스크립트를 배우면 좀 더 쉽게 자바스크립트에 입문할 수 있을 것이..
-
TIL 2021.7.23 : 자바스크립트 호이스팅의 애매함 타파하기항해99 1기 수료후 TIL 2021. 7. 23. 00:56
코어 자바스크립트(정재남 지음)의 Chapter02. 실행 컨텍스트에서 설명하는 호이스팅과 관련해 애매한 부분을 정리한 블로그 페이지입니다. 호이스팅을 설명하기 위한 필수지식의 흐름은 다음과 같다. 1. 자바스크립트에서 실행 컨텍스트 : 실행할 코드에 제공할 환경 정보들을 모아 놓은 객체. 2. 실행컨텍스트의 구성요소인 environmentRecord에는 현재 컨텍스트와 관련된 코드의 식별자 정보들이 저장됨. 3. 단, 식별자만 저장하는 것이지, 식별자에 할당된 값도 저장하는 것이 아님에 주목할 것! 4. 저장되는 식별자 정보 : 실행컨텍스트를 구성하는 함수의 매개변수 식별자, 함수 선언문의 경우 함수 전체, var로 선언된 변수의 식별자. 5. 코드 실행 전, 자바스크립트엔진은 실행 컨텍스트의 처음부터..
-
TIL 2021.7.21 : 자바스크립트 데이터의 불변성 유지(feat. 가변성)항해99 1기 수료후 TIL 2021. 7. 21. 09:30
자바스크립트 데이터의 불변성 개념을 처음 접하면 알쏭달쏭하지 않던가요? 그리고 리액트에서 왜 불변성 유지를 해줘야 리렌더링이 되는지 이해를 하셨나요? 이제 이해해봅시다. 자바스크립트 데이터의 불변성 아래 데이터들의 코드를 보자. 기본형 데이터인 숫자형 데이터는 데이터를 바꾸면 참조하는 데이터 영역의 주소가 바뀌면서(= 변수 영역의 값이 바뀌면서) a와 b는 서로 다른 데이터가 된다. 그러나 참조형 데이터인 객체의 경우, 내부 프로퍼티를 바꿔도 객체 프로퍼티의 변수 영역이 참조하는 데이터 영역의 주소만 바뀌지 변수영역이 참조하는 데이터 영역의 주소는 바뀌지 않기 때문에 서로 obj1과 obj2는 같은 데이터로 간주 된다. 이것이 바로 참조형 데이터는 가변값이라는 개념으로, 참조형 데이터는 내부 프로퍼티를 ..
-
TIL 2021.7.16 : MVVM(모델-뷰-뷰모델)항해99 1기 수료후 TIL 2021. 7. 16. 01:51
SPA를 만들기 위한 프레임워크인 vue가 사용하는 패턴인 MVVM MVVM 모델(패턴) 구성요소 1. View : 보이는 것 = UI. UI를 다룬다. 2. Model : 사용하는 데이터를 다룬다. 3. View Model : View만을 위한 모델. View가 사용하는 메서드와 속성들을 갖고 View에 상태 변화를 알린다. 그리고 view가 사용할 데이터를 바인딩해준다. 작동순서 Action -> View에서 View Model로 Action 전달 -> View Model에서 Model로 데이터 변경 요청 -> Model의 응답이 View Model로 전달 -> View Model에서 데이터를 바인딩해서 View에 전달 MVC vs MVVM 차이점 참고문헌 VUE의 MVVM 패턴 이해 [Android..
-
TIL 2021.7.15 : 정적 웹 vs 동적 웹항해99 1기 수료후 TIL 2021. 7. 14. 03:21
정적 웹 (Static Web) 1. 서버에 저장된 파일(html, css, javascript)들이 그대로 전달되어 보여지는 웹페이지 2. 서버는 사용자의 요청(request)에 맞는, 서버 자신이 저장하는 웹페이지를 클라이언트로 보낸다. 3. 클라이언트는 서버에 저장된 데이터가 변경되지 않으면 계속 같은 페이지를 보게 된다. 단, 이 설명은 완벽히 맞는 말은 아니다. 아래 짤의 설명처럼 정적웹의 경우에도 클라이언트의 브라우저가 받아온 자바스크립트의 코드를 '요리해서' 일부 부분이 매번 다르게 보여질 수 있다(이건 뒤에서 설명할 클라이언트 사이드 렌더링과 일맥상통하는 내용이다). 즉, 정적 웹의 정의는 '언제나 같은 화면이 보인다가 아니라, 이미 만들어져 서버가 저장하고 있는 리소스(html, css,..