# strict

[JS] VS Code에서 코드 오류 발생
아래 코드를 VSCODE에서 작성 후 실행했을때 'inner is not defined' error가 발생하는 경우와 오류 없이 inner function이 두번 출력되는 두가지 경우가 있었다. 왜 어떤 VSCODE에서는 정상 작동하고 다른 VSCODE에서는 오류가 나는지에 대해 찾아보다가 정리할겸 가져와 봤다. ❗️ 문제가 발생한 코드 단체 카톡에 질문이 올라왔고 원인을 알아보던 중 strict mode 때문에 발생한것을 알게되었다. 
[Scala] lazy vs strict collections
우리는 지금까지 "builder based"로 컬렉션들을 사용해왔다. 하지만, 우리는 "view based"라는 컬렉션의 새로운 패턴을 사용할 수 있다. Lazy vs Strict Colletions 우리는 collections를 2가지 분류로 나눌 수 있다. (1) 컬렉션이 생성될 때 값을 할당/확인하는 컬렉션 (builder-based/strict) (2) 필요할 때만 값들을 할당/확인하는 컬렉션(view-based/lazy/늦은 초기화) 저번에 포스트로 정리했던 컬렉션들은 strict collection이었다. 대표적으로, "List"나 "Set"와 같은 자료구조들이 strict collection에 속한다. 그렇다면 lazy collections에 속하는 자료구조는 무엇이 있을까? 대표적으로 Stream[A]로, Stream을 사용한다면 원소들을 계산하지 않고 생성하거나 옮길 수 있다. 또한, Lazine
React의 Strict 모드가 무엇인가요?
React의 Strict 모드가 무엇인가요? React의 Strict 모드(Strict Mode)는 개발 환경에서 추가적인 검사와 경고를 활성화하여 애플리케이션의 잠재적인 문제를 식별하고 개선하기 위한 도구입니다. Strict 모드는 개발 시에만 활성화되며, 프로덕션 환경에서는 비활성화됩니다. Strict 모드는 애플리케이션 전체에 걸쳐 다음과 같은 동작을 수행합니다: 1. 추가 검사: Strict 모드에서는 컴포넌트 렌더링 시에 불필요한 업데이트를 감지하고 경고 메시지를 표시합니다. 이를 통해 성능 개선과 컴포넌트 업데이트의 최적화를 도울 수 있습니다. 2. 안전하지 않은 생명주기 메서드 검사: Strict 모드에서는 애플리케이션에서 안전하지 않은 생명주기 메서드 사용에 대한 경고를 표시합니다. 이를 통해 deprecated된 메서드나 잘못 사용된 메서드를 식별하고 수정할 수 있습니다. 3. 불필요한 부수 효과 검사: **St

TIL 0324
🏷️ [목차] 타입스크립트란? 타입스크립트를 사용하는 이유 타입스크립트 사용방법 타입스크립트 파일 확장자와 실습 타입 추론 타입스크립트 배열, 객체 실습 엄격한 타입스크립트 strict 타입으로 뭘 받아오는 지 잘 모를 때 유틸리티 타입 API 응답 데이터의 타입은 어떻게 할까? graphql에 codegen 적용해보기 🖇️ [출처 및 참조] 코드캠프 💡 TypeScript ❓ > ### 자바스크립트의 타입을 강제시키는 언어! 자바스크립트와 달리 변수에 자료형을 지정해주는 특성 변수에 문자열을 할당했다가 이후에 숫자열을 할당해주면 문제가 생긴다.는 중앙 집중된 저장소임 상태를 변경시키는 유일한 방법은 동기 트랜잭션인 mutation을 commit하는 것 비동기식 로직은 캡슐화되어야 하며 action으로 구성 위 규칙은 따르는 것이 좋다. 위 규칙대로 프로젝트를 구조화한다면, 저장소 파일이 너무 커졌을 때 action, mutation, getter를 개별 파일로 분할하기 수월하다. 플러그인 Vuex 저장소(Store)는 각 **mutation에 대한 훅을 노출하는 plugins 옵션을

JavaScript 엄격 모드 (Strict mode)
엄격 모드 자바스크립트는 기존의 기능을 변경하지 않으면서 새로운 기능을 추가해왔습니다. 이러한 특징 때문에 기존에 작성했던 코드는 별도의 수정 없이도 에러 없이 지속적으로 사용이 가능했습니다. 하지만 이러한 장점이 있는 반면 불완전한 문법이나 결함 역시 수정이 이루어지지 않는다는 단점이 있습니다. 그런데 새롭게 등장한 버전 ES5부터 새로운 기능이 추가되는 동시에 기존에 존재하던 기능중 일부가 변경되었습니다. 따라서 일부 하위 버전에서 호환성 문제를 방지하고자 변경된 기능이 기본 모드에서는 반영되지 않도록 설계하고 use strict라는 특별한 지시자를 사용해 엄격 모드(strict mode)를 활성화 했을 때만 이 변경사항이 활성화되도록 설계하였습니다. use strict 지시자 "use strict"는 단순한 문자열처럼 생겼습니다. 하지만 이 지시자가 스크립트 최상단에 오면 스크립트 전체가 "모던한" 방식으로 변경되어 동작합니다.

compileOptions - strict
Enable all strict type checking options. > > - —noImplicitAny > - —noImplicitThis > - —strictNullChecks > - —strictFunctionTypes > - —strictPropertyInitialization > - —strictBindCallApply > - —alwaysStrict —noImplicitAny > Raise error on expressions and declarations with an implied any type. > 명시적이지 않게 any 타입을 사용하여 표현식과 선언에 사용하면 에러를 발생 TypeScript 가 추론을 실패한 경우, any 가 맞으면 any 라고 지정 아무것도 쓰지 않으면, 에러를 발생 이 오류를 해결하면, any 라고 지정되어 있지 않은 경우 any 가 아닌 것 (타입 추론) suppressImplici

[CS] Hashing, Cookie Day-81
Hashing Converting one value to another value by applying an arbitrary operation. What is good hasing? It should not take long to calculate the hash value. Every value must have a unique hash value. Even a very small change should have a different hash value. Hashing process When a client requests information from the server, Random password is set and requested. Server receives information from the client and DB, compares the requested data and the randomly set password t

코드캠프 부트캠프 10일차
Strict Mode 말 그대로 엄격한 모드라는 뜻으로, 코드를 작성하는데 있어서 좀 더 엄격하게 규칙을 설정해 놓는걸 말한다. > 장점 흔히 발생하는 코딩 실수를 잡아내서 예외를 발생 시킨다. 상대적으로 안전하지 않은 액션이 발생하는 것을 방지한다. 정확하게 고려되지 않은 기능들을 비활성화 시킨다. 
JacaScript 엄격(strict) 모드 vs 느슨한(sloppy) 모드
안녕하세요! 오늘은 우리 곁에 있는지 없는 지도 모르게 녹아들어있는 'strict mode'에 대해서 알아보겠습니다! 만약 여러분의 프로젝트가 babel을 사용하고 있다면? 또한 module 형태로 코드를 작성했다면? strict mode가 뭔지 모르셨더라도 이미 strict mode로 동작하는 코드를 작성하신 셈이 됩니다! 🎇 그래서 오늘은 면접에서도 간혹 물어보는 strict mode 개념에 대해 정리해보려고 합니다! 엄격 모드란? > 기존 JS 동작에서 발생할 수 있는 문제를 검출하기 위해, 까다롭게 문법 검사를 하는 모드 넵 그렇습니다. 이보다 더 깔끔한 설명은 있을 수 없는 거 같네요. 그래서 어떤 부분들을 검사하는지 보면서, strict mode에 대한 개념을 잡는 것이 좋을 거 같아요! 1. 엄격 모드의 특징 엄격 모드는 **기존 JS

[Javascript] 5. Strict, 객체, 내장형 객체
1. Strict 모드 Javascript에서 안전성과 효율성 면에서 사용하지 말아야 할 구문을 발견하여 오류로 통지해주는 구조이다. Internet Explorer에서는 Version 10 이상에서만 지원한다. 2. 외부 스크립트를 비동기방식으로 로드하기-async/defer 일반 브라우저에서는 스크립트의 읽기 및 실행이 완료될 때까지 뒤에 있는 컨텐츠를 렌더링하지 않는다. 즉, 웹 페이지의 앞 부분에 사이즈가 큰 스크립트가 있다면 로딩 시간이 길어질 수 있다. 이러한 현상을 피하기 위해 ` 태그 바로 앞에 요소를 배치하는 방법도 있지만, HTML5에 새롭게 추가된 async` 속성을 사용해도 된다. 위의 코드와 같이 src 속성에 지정된 스크립트를 비동기 방식으로 로드하는 것이 가능하다. 즉, 로드가 완료되는 대로 순차적으로 실행한다. 하지만

[ React ] - console.log가 두 번 찍히는 현상(strict mode)
목표 > MongoDB에 저장되어있는 값을 가져와서 그 값으로 setState해 준 후 state 값을 하위 컴포넌트에 props로 넘겨주어 렌더링 해주는 것! 나는 먼저, MongoDB의 데이터를 가져와서 setState를 한 후, console.log로 찍어보는 테스트를 했다. ⚠결과 > 맨 처음에는 undefined가 찍히고 그 다음에 DB에서 가져온 값이 찍혔다. 그리고는 하위 컴포넌트에서 undefined 에러가 났다. (넘겨준 props 값이 undefined여서 하위에서도 undefined 에러가 난다.) 오류가 한번에 두 개가 나니까 이때부터 멘탈이 나가기 시작했다 ... 이유 다시 정신을 차리고 구글링을 해보니 console.log가 두 번 찍히는 현상은 > u

TypeScript - 1
TypeScript 란? 자바스크립트의 여러 단점들을 새롭게 보완해주는 언어입니다. 자바스크립트로 만들어졌으나 자바스크립트로 실행되는 환경에서 타입스크립트는 실행되지 못합니다. 이를 위해서 자바스크립트의 다양한 단점들을 커버한 타입스크립트로 만든 코드를 다시 자바스크립트로 컴파일변환을 하여 실행을 합니다. 다시 돌아와 자바스크립트의 가장 큰 단점을 뽑느다면 유형 검사입니다. 위 그림에서의 코드를 보자면 2와 3이 문자열 타입으로 들어갔습니다. 이때 function add의 원래 본 목적은 숫자 2개를 받아 더하여 반환하는 것이나 자

[Javascript] strict 모드
안녕하세요 개발자 han입니다🙌 오늘은 짧게 자바스크립트에서의 strict 모드에 대해서 알아보도록 하겠습니다! 이 포스팅을 하려고 마음먹은 계기는 이렇습니다 타입스크립트를 조금 공부하기는 했습니다만, 제대로 안다고 할 수는 없습니다. 그럼에도 불구하고, 마냥 타입시스템과 인터페이스 정의..제네릭 등 새로운 기능에 눈독을 들이며 타입스크립트로 주 개발언어를 전환하고 싶었는데요, 어느날 주변 개발자로부터 이런 말을 들었습니다. 자바스크립트의 수퍼셋이 타입스크립트라고 하는데 자바스크립트를 제대로 알지 못하면 타입스크립트 또한 그럴 것이다. 덧셈 뺄셈을 하지않고 곱셈 나눗셈을 하려고 하는것과 같다. 저는 무조건 더 많은 기능을 가진 것이 좋다고 생각했는데, 차근차근 단계를 밟아나가야 제대로 익힌다는 것을 잊고있었나봅니다. 그래서 자바스크립트의 서브셋인 strict mode 부터 차근차근 익혀나가기로 했습니다. strict mode에선 큰 틀에서 다음과 같은 것이 달라집니다.