frontend 32

TypeScript 핵심 가이드: 입문부터 활용까지

TypeScript로 견고한 코드 작성하기: 타입의 힘을 활용한 모던 개발 가이드1. TypeScript란 무엇인가?1.1 TypeScript의 탄생 배경과 역사JavaScript는 웹 개발의 핵심 언어로 자리잡았지만, 대규모 애플리케이션 개발에서 여러 한계점을 보였습니다. 이러한 문제들을 해결하기 위해 Microsoft의 Anders Hejlsberg(C# 설계자)가 주도하여 2012년 TypeScript를 개발했습니다.이러한 문제를 해결하기 위해 Microsoft는 2012년 TypeScript를 발표했습니다.타입 시스템의 부재JavaScript는 동적 타입 언어이기 때문에 런타임에서만 타입 오류를 발견할 수 있었습니다이는 버그 발견이 늦어지고, 코드 품질 관리가 어려워지는 원인이 되었습니다대규모 개..

TypeScript 2025.02.21

리액트(React) - useState 내부 구현과 동작 원리(feat : 클로저)

리액트에서 함수형 컴포넌트 이전 클래스형 컴포넌트 사용시에는 상태를 지역변수 state에 정의하고 상태를 변경할 메소드 안에 setState 메소드를 넣어서 상태를 변경 했다.그럼 왜 state변수를 직접 변경하지 않고 setState를 통해서 했는지는 해당 메소드를 사용해서 리액트 컴포넌트에 상태변경에 대해서 알려주고 리렌더링을 요청 하기 위해서다.  함수형 컴포넌트 리액트 함수형 컴포넌트에서는 useState 라는 React Hooks를 사용해서 상태를 관리한다.해당 훅은 초기값을 받아서 [state, setState] 의 배열을 반환하며 [상태, 상태 변경 핸들러] 로 보면 된다. 함수형 컴포넌트는 렌더가 필요 할 때마다 함수를 재호출 하는데 렌더링은 곧 함수 호출이다.함수가 재호출 되었을때 이전 ..

React 2023.09.25

SOP(same origin policy)-동일 출처 정책,CORS(cross origin resource sharing)-교차 출처 리소스 공유

SOP(same origin policy)-동일 출처 정책 CORS(cross origin resource sharing)-교차 출처 리소스 공유 여기서 origin 은 protocol , host, port SOP 어떤 출처(protocol , host, port = origin)에서 불러온 문서, 스크립트, 리소스가 다른 출처에서 가져온 리소스와 상호작용하는 것을 제한하는 브라우저 보안 방식. 예를 들어 SOP가 없다면 클라이언트가 우연히 악성 사이트에 접속해서 해커가 만든 스크립트가 실행되어 클라이언트의 개인 정보나 다른 민감한 정보가 있는 사이트에 요청을 보낸 뒤 그 응답 값을 다시 해커 서버로 보내 개인 정보를 탈취할 수 있게 된다. 하지만 SOP 정책으로 인해 해커의 스크립트 출처와 요청을 받..

Server , etc 2022.03.31

Javascript <자바스크립트> this

this this 는 함수가 호출되는 방식에 따라서 동적으로 결정된다. 1. 일반 함수에서 this 는 전역 객체인 window와 바인딩 된다. console.log(this); //window{...} function a (){ console.log(this) } a(); //window{...} 2. 메소드 안에서 this 는 메소드를 가지고 있는 오브젝트(객체)에 바인딩 된다. let x = { data: "oh", a : function(){ console.log(this) } } x.a(); // { data:"oh", a: f } 3. 생성자 함수로 호출시 생성자 함수가 생성할 객체에 바인딩 된다. function name() { this.first = "oh", this.last = "ahh..

JavaScript 2022.01.27

프론트 엔드(front-end)가 알아야할 내용들

브라우저가 웹 페이지를 랜더링 하는 과정 -DOM(Document Object Model)은 웹 페이지에 대한 인터페이스입니다 브라우저 렌더링 과정은 사용자가 페이지에 접속하여 HTML을 서버에서 내려받게 되면 이를 브라우저 렌더링 엔진에서 파싱(처리) 한다. 이렇게 "DOM 트리" 를 만들고, link 태그를 통해 CSS 파싱을 해서 "CSSOM 트리"를 결합한 것이 "렌더 트리" 가 되고, 레이아웃 작업에서 엘리먼트가 그려질 위치를 계산하고 페인트 단계에서 화면에 그려준다. 이 과정을 진행하다가 자바스크립트를 만나면 런타임 환경에 수행권한을 넘겨 자바스크립트를 파싱을 완료 할때까지 DOM 파싱은 중단된다. 호이스팅이란 함수 안에 있는 선언들을 모두 끌어올려 해당 함수 유효 범위의 최상단에 선언된거 처..

Server , etc 2022.01.12

Javascript <자바스크립트> call by value - reference. {콜바이벨류.콜바이레퍼런스}

Javascript call by value - reference. 평가 전략 (evaluation strategy) call by value.의미와 같이 값이 그대로 복사되는 것을 의미한다. 자바스크립트(JS)에서는 원시 데이터/원시 값의 경우 값의 복사 call by value가 발생하게 됩니다. call by value.var i = 1;function somefunc(a) { a = a + 1; return a;}somefunc(i); // i의 값을 파라미터로 값만 복사해서 넘긴다. 복사된 값을 넘기기 때문에 원본은 바뀌지 않는다.console.log(i) // 결과 1i의 값을 함수의 인자로 파라미터로 넘길때 값을 복사해서 넘기기 때문에 원본의 값은 변하지 않는다.  call by..

JavaScript 2021.12.22

Javascript <자바스크립트> Map 메소드 사용하기.

Javascript Map map은 배열을 순회하면서 실행되는 콜백함수의 결과값들을 새로운 배열로 반환한다. Array(배열) 에 map 메소드를 사용해서 배열 * 2 값을 만들기. let array = [1, 4, 9, 16]; let result = array.map(x => x * 2); // 배열에 map 메소드를 사용해서 리턴값으로 배열의 원소 *2값을 result 에 할당한다. //화살표함수( 전통적인 함수표현(function)의 간편한 대안) console.log(array) //map 은 원본값은 건드리지 않고 새로운 배열을 생성하여 리턴한다. [1, 4, 9, 16] console.log(result) // 새로운 배열을 생성하여 result의 할당한 결과값. [2, 8, 18, 32] ..

JavaScript 2021.12.20

Javascript <자바스크립트> 재귀함수, 즉시실행함수.

Javascript 재귀 함수, 즉시 실행 함수. 재귀 함수와 즉시 실행 함수. 재귀 함수는 말 그대로 자기가 자기 자신을 호출하고 특정 조건이 될 때까지 계속해서 호출하고 조건이 충족되면 함수를 빠져나온다. 재귀 함수를 사용할 때는 함수를 끝내는 종료 조건이 있어야 한다. 없으면 무한으로 계속해서 돌기 때문이다. 일부 함수는 반복문으로 구현 가능하지만 그렇지 않은 경우도 있는데 tree 구조의 노드 전체를 확인할 때 재귀를 사용하면 적은 코드로 확인 가능하고 직관적이다. 하지만 재귀 함수를 호출할 때마다 스택을 소비하기 때문에 반복문에 비해 메모리 소비 또는 시간이 더 걸리수 있다. (스택은 나중에 포스팅) 오늘은 재귀 함수중에서 팩토리얼 : 수학적 용어로 계승이란 뜻으로 1부터 n까지의 정수를 곱하는..

JavaScript 2021.12.16

Javascript <자바스크립트> 연습 문제 풀이(split, array, for)

Javascript 연습 문제 풀이(split, array, for) split, array, for을 이용한 간단한 문제 풀이해보기. 문자열을 split 로 하나씩 자르고 숫자로 더하고 평균 구하기. let data = '5, 4, 10, 2, 5'.split(',') // '5, 4, 10, 2, 5' 는 하나의 문자열 // split 으로 문자열을 일정한 구분자로 잘라서 배열로 저장 let result =0; // 결과값을 담을 변수 선언과 0 할당. for (let i of data){ // 스플릿된 문자열을 for of 배열을 순환한다. result += parseInt(i)/data.length; // 순환 되면서 정수로 반환한 값을 배열의 길이만큼 나누고 결과값에 더해진다. } // 하지만 ..

JavaScript 2021.12.14

Javascript <자바스크립트> 반복문, while문

Javascript 반복문, while문 for 문에 이어서 반복 문중 하나인 while문을 실습하면서 이해 하기. while 문으로 짝수만 출력하기 let i = 0; // i 에 0 을 할당 해준다. while (i < 100){ // 0 부터 100 미만까지 조건문을 반목한다. console.log(i); // i 를 출력 해주고 i += 2; // i 의 2를 더해고 다시 위로 올라가서 출력해주고 98이 되면 마지막으로 한번더 돌고 100을 // 찍고 while 문을 종료한다. } while 은 ~~ 동안 반복하는 것으로 조건을 충족할 때까지 반복하고 종료한다. while 문으로 짝수값만 더하기 let i = 0; // i 에 0 을 할당해준다. let result =0; // 최종 결과값을 담을..

JavaScript 2021.12.13
반응형