유저의 비밀번호, 전자서명, 전자투표와 같은 민감한 입력의 무결성을 검증하거나, 혹은 문서 복제 등을 체크하거나 블록체인에도 사용되는 해시 테이블 개념을 정리해본다.Hash Table(Hash map)이란 해시함수를 사용해서 변환한 값을 index로 삼아 key와 va
트랜잭션이란 여러 개의 작업을 하나로 묶은 실행 유닛을 말한다.데이터베이스 트랜잭션은 ACID라는 특성을 가지고 있다.ACID는 데이터베이스 내에서 일어나는 하나의 트랜잭션(transaction)의 안전성을 보장하기 위해 필요한 성질이다.트랜잭션이란 여러 개의 작업을
VO가 뭘까.VO와 함께 언급되는 개념으로는 Entity, DTO등이 있다. 그리고 더 나아가서는 도메인 주도 설계까지도 함께 언급된다. 이 글에서는 우선 다른 개념들을 뒤로하고, VO의 정의와 생성 조건 그리고 VO를 사용했을 때 어떤 장점이 있는지 간단하게 알아보도
참고로 스킴(Scheme)은 스키마와 거의 같은 의미로 쓰이나, 보통 스키마가 대략적인 계획이나 도식을 뜻하는 데 비해 스킴은 구체적이고 확정된 것을 말한다.데이터베이스 관리 시스템(DBMS)이 주어진 설정에 따라 데이터베이스 스키마를 생성하며, 데이터베이스 사용자가
먼저 함수형 프로그래밍의 특징을 알아보자.동일한 입력에는 항상 같은 값을 반환해야 하는 함수함수의 실행이 프로그램의 실행에 영향을 미치지 않아야 하는 함수함수 내부에서 인자의 값을 변경하거나 프로그램 상태를 변경하는 Side Effect가 없는 것위와 같은 예제에서는
프레젠테이셔널 컴포넌트와 컨테이너 컴포넌트리액트를 이용해 개발을 하고 계신 분들이라면 대부분 이미 알고 계실껍니다.이번 글을 통해 프레젠테이셔널 컴포넌트와 컨테이너 컴포넌트의 개념에 대해 정리해보고자 합니다.프레젠테이션 컴포넌트1\. 직접적으로 보여지는 부분에 대해 담
mac 커멘드창에서 code .을 하면 vscode가 실행되어야 한다. 하지만, 실행되지 않아 해결방법을 공유하려 한다. macOS 셸 명령 vscode에서 커맨드 팔레트( Cmd+Shift+P )를 연다. 'shell command'를 입력하여 Shell 명령을 찾
캡차 공격이란? CAPTCHA라는 것은 컴퓨터가 알 수 없는 흘려 쓴 글씨를 입력받아서 사람인지 확인하는 것이다. 회원가입, 덧글 입력처럼 사림이 직접 하지 않는 경우 심각한 오류를 일으킬 수 있는 경우 사용한다. 이를 제대로 구현하지 않는 경우 해커가 이를 우회해서
ECMAScript 사양에 따르면 숫자 타입의 값은 배정밀도 64bit 부동소수점 형식을 따른다. 즉, 모든 수를 실수로 처리하며 정수만 표현하기 위한 데이터 타입(interger type)이 별도로 존재하지 않는다.정수, 실수, 2진수, 8진수, 16진수 리터럴은 모
값(value)은 식(표현식 expression)이 평가(evaluate)되어 생성된 결과를 말한다. 평가란 식을 해석해서 값을 생성하거나 참조하는 것을 의미한다. 다음 예제의 식은 평가되어 숫자 값 30을 생성한다.모든 값은 데이터 타입을 가지며, 메모리에 2진수,
디자인 패턴이란 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약'형태로 만들어 놓은 것을 의미합니다.싱글톤 패턴(singleton pattern)은 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴입니다.
개행(New Line)문자는 텍스트의 한 줄이 끝남을 표시하는 문자 또는 문자열이다. 개행문자에는 라인 피드(LF. Line Feed)와 캐리지 리턴(CR. Carriage Return)이 있다. 이는 과거 타자기에서 커서를 제어하는 방식에서 비롯된 것이다. 라인피드(
자료구조를 배우는데 있어서 중요한 개념 중 하나가 심볼 테이블(symbol table)입니다. 심볼 테이블은 키와 키 값을 일대일로 연관시켜주는 자료 구조로써, 여러 다양한 알고리즘에 쓰이고 있습니다. 대표적인 예시 중 하나가 주변에서 많이 볼 수 있는 사전입니다. 사
링크 : http://latentflip.com/http://latentflip.com/loupe/?code=JC5vbignYnV0dG9uJywgJ2NsaWNrJywgZnVuY3Rpb24gb25DbGljaygpIHsKICAgIHNldFRpbWVvdXQ
마트에 가서 사과 3개 사오고, 만약에 수박이 있으면 하나 사와
A graph, in the context of mathematics and computer science, is a data structure used to represent relationships between entities. It consists of two
Tree는 나무 뿌리가 땅속으로 계속 뻗어 나가는 현상이라고 생각하면 된다.Tree를 구성하는 것은 Node이다. Tree는 Node와 Node사이에 parent- child 구조를 가지고 있기 때문에, Graph와 달리 상, 하 구조를 가지고 있다. Tree의 최상위
slice() 메서드는 최대 2개의 인수(start, end)만 받습니다.3개 이상의 인수를 전달하면 무시하고, 첫 두 개의 인수(start, end)만 사용합니다.start (옵션): 추출 시작 인덱스 (기본값: 0)end (옵션): 추출 종료 인덱스 (기본값: 배열
types 1.1 기본형 : 기본형에 접근하면 해당 값에 직접 작업하게 됩니다. string number boolean null undefined symbol bigint Symbol과 BigInt는 충실하게 폴리필될 수 없으므로 이를 기본적으로 지원하지 않는 브라
인스턴스 방법 bind()은 Function새 함수를 생성하는데, 이 함수가 호출되면 this제공된 값으로 키워드를 설정하고, 새 함수가 호출될 때 제공된 인수 앞에 주어진 인수 시퀀스가 오게 하여 함수를 호출합니다.함수 bind()는 새로운 바인딩된 함수를 만듭니다
LISP은 LIST Programming의 약자로, 1958년 MIT에서 개발된 역사 깊은 함수형 언어이다. 모든 자료는 연결 리스트로 처리하며, 컴파일 개념 없이 인터프리터 상에서 동작한다.LISP은 LIST Programming의 약자로, 1958년 MIT에서 개발
다른 데이터와 마찬가지로 함수를 변수에 할당하거나 함수의 인자로 전달하거나 리턴하는 등의 일들을 할 수 있는 first Class특징과함수자체를 인자로 전달하거나 함수에서 또 다른 함수를 리턴하는 고차함수(higher-order function)concepfunctio
if를 filter로
콘솔 로그를 찍어가며 값을 확인하는 형태.어떠한 명령을 일으켜서 함수 외부에 있는 어떤 영역의 변화를 직접적으로 일으킨다.함수형 프로그래밍에서는 함수가 인자와 리턴 값으로 소통하는 것을 권장한다.map은 결과값을 리턴 받는다.
🏠 Curring > 수학과 컴퓨터 과학에서 커링이란 다중 인수 을 갖는 함수를 단일 인수를 갖는 함수들의 함수열로 바꾸는 것을 말한다. 모지즈 쇤핑클에 의해 도입되었고, 이후 하스켈 커리에 의해 발전하였다. 예를 들어, 세 개의 인수를 가지는 함수를 커링하면 다음과
React에서 리스트를 렌더링할 때 key 속성에 배열의 index를 사용하는 것은 일반적으로 권장되지 않습니다. 이렇게 하면 여러 문제가 발생할 수 있습니다.React가 컴포넌트를 효율적으로 재사용하지 못하게 되어 불필요한 리렌더링이 발생할 수 있습니다.리스트 항목의
모델 앙상블의 대표적인 3가지 방법과 각 하위개념들에 대해 포괄적으로 설명합니다.모델 앙상블 이란 다양한 머신러닝 문제의 정확도를 향상시킬 수 있는 매우 효과적인 기법입니다. Ensemble (앙상블)기법이란 여러 개의 분류기를 생성하고 그 예측을 결합합으로써 보다 정
setTimeout()을 사용할 때, this가 기대한 객체를 가리키지 않는 문제는 JavaScript의 this 바인딩 특성 때문에 발생합니다.setTimeout()은 콜백 함수 내부에서 실행되므로, 해당 함수의 this는 기본적으로 전역 객체 (window 또는 u
ScopeInfo는 V8 엔진이 JavaScript 함수나 블록을 실행할 때 사용하는 "변수 정보 테이블"입니다.V8은 자바스크립트 코드를 실행할 때, 각 함수나 블록 스코프마다 어떤 변수가 선언되었는지 추적하고 관리해야 합니다. 이때 ScopeInfo가 그 역할을 해
Google에서 개발한 오픈소스 JavaScript 엔진Chrome, Node.js, Deno 등에 사용됨JavaScript 코드를 바이트코드나 네이티브 머신 코드로 변환해 실행파싱 (Parsing): JavaScript → AST(Abstract Syntax Tree
TurboFan은 바이트코드 → 머신코드로 변환하면서 다양한 Speculative Optimization (가정 기반 최적화)을 수행해. 주요 전략:실행 중 수집한 Inline Cache(IC) 정보를 바탕으로 변수 타입을 예측예: x + y → x, y가 항상 num
V8은 객체에 Hidden Class를 붙여서, 객체 구조를 빠르게 파악하고 IC를 최적화함.객체 프로퍼티를 항상 같은 순서, 같은 시점에 정의하라클래스를 쓰면 거의 자동으로 해결됨 (class User { constructor(...) {...} })동일한 구조의 객
DEOPT eager: 즉시 deopt 처리 (speculative 최적화 깨짐)reason: wrong type: x + y가 float64 연산으로 최적화되었는데, 문자열 들어옴node=3: TurboFan 노드 번호 (IR 그래프에서 위치)이 시점 이후 V8은 이
"" == false가 true인 이유:자바스크립트의 느슨한 비교(==)는 타입을 강제로 변환(coercion)해서 비교합니다.JavaScript에서 false처럼 동작하는 값들 (falsy):위 값들은 if (value)처럼 검사했을 때 모두 false로 취급됩니다.
이 경우 "100"은 자동으로 숫자 100으로 변환돼서 true가 나옵니다.=== (일치 연산자)는 절대 자동 형 변환하지 않음. → 타입도 같고 값도 같아야 true== (느슨한 연산자)는 타입이 다르면 자동 형 변환해서 비교함❗️ "==은 헷갈림, ===은 안전함"
1️⃣ makeCounter() 호출 → 내부에 count = 0 생성됨counter1은 count 변수를 기억하는 함수를 리턴받음이때 count는 counter1만의 독립된 상태2️⃣ 다시 makeCounter() 호출 → 또 다른 count = 0 생성counter
1️⃣ new Promise(...):1초 뒤 resolve("완료") 실행2️⃣ .then(result => { ... }):result === "완료"console.log("완료") 출력throw new Error("에러발생") → 에러 발생!3️⃣ .catch(e
이 메서드는 일반 함수 (function)로 선언됨호출 시: obj.getThis() → this는 obj를 가리킴 ✅따라서 this.name → "Javascript"화살표 함수는 this를 자신이 선언된 스코프의 this로 고정여기서 this는 obj가 아니라 전역
일반 함수 (function)은 자신의 this를 가짐:여기서 this는 obj를 가리킴.화살표 함수는 자기 스코프의 this를 무시하고 상위 스코프의 this를 그대로 씀:this는 obj가 아니라 함수가 선언된 곳의 this (여기선 전역)❗ arrow functi
버튼을 클릭하면 이벤트가 발생이벤트는 버블링: button → div id="container" → body 순으로 전파됨container는 이벤트를 위임 받아서 자식 요소(.btn)의 클릭을 감지e.target.classList.contains("btn") → 실제
인내심 : 힘듦과 어려움을 참고 견뎌서,협력과 의사소통력 : 모둠원간 의견교환과 힘을 합하고창의적 문제해결력 : 문제를 해결하고자 노력하여,성취감 : 프로그램 완성으로 성취감을 느낌래리 월(Larry Wall)은 "Programming Perl"이라는 책에서 컴퓨터 프
AI가 외부 데이터를 활용할 수 있도록 돕는 표준 프로토콜MCP는 이러한 문제를 해결하기 위해 등장했습니다. AI 모델이 외부 도구와 데이터를 표준화된 방식으로 활용할 수 있도록 하는 것이 핵심 역할입니다. 즉,✔ AI가 외부 데이터(웹 API, 파일, DB)와 직접
명령어의 세세한 생김새 , 명령어로 할 수 있는 연산 , 주소 지정 방식 등은 CPU 마다 조금씩 차이가 있습니다. CPU 가 이해할 수 있는 명령어들의 모음을 명령어 집합 instruction set 또는 명령어 집합 구조 ISA: Instruction set ar