배열은 여러 개의 값을 순차적으로 나열한 자료구조 요소(element): 배열이 가지고 있는 값자바스크립트의 모든 값은 배열의 요소가 될 수 있음배열의 요소는 배열에서 자신의 위치를 나타내는 0 이상의 정수인 인덱스를 갖는다(0부터 시작)배열은 요소의 개수, 배열의 길이를 나타내는 length 프로퍼티를 가짐배열이라는 타입은 존재하지 않으며, 배열은 객체 타입이다.배열은 배열 리터럴, Array 생성자 함수, Array.of, Array.from 메서드로 생성 가능배열의 생성자 함수는 Array이며, 배열의 프로토타입 객체는 Array.prototype이다.일반 객체와 배열을 구분하는 가장 명확한 차이는 “값의 순서”와 “length 프로퍼티” 자바스크립트의 배열은 자료구조에서 말하는 일반적인 의미의 배..
김진중(골빈해커)님의 '최고의 프롬프트 엔지니어링 강의'를 읽고 정리한 글입니다.프롬프트 엔지니어링이란 AI로 원하는 결과를 생성하기 위해 컴퓨터와 대화하는 방법 1. 프롬프트 엔지니어링의 가장 대표적인 다섯 가지 방법제로샷 프롬프팅LLM에게 아무런 데이터나 예시를 주지 않고 바로 특정 작업을 수행하도록 지시하는 것원샷 러닝LLM에게 명령을 내릴 때 실행 방법에 대한 예시 한 개를 동시에 제공ex) 영어를 한국어로 번역해줘. This is an apple을 한국어로 번역하면 ‘이것은 사과입니다’야.퓨샷 러닝LLM에게 명령을 내릴 때 2~3개부터 수십 개 정도의 예시를 함께 제공하는 것데이터가 부족하거나 특정 작업에 대한 사례가 많지 않을 때 유용CoT(Chain of Thought)LLM에게 문제 해결 ..
김진중(골빈해커)님의 '최고의 프롬프트 엔지니어링 강의'를 읽고 정리한 글입니다.0. 소프트웨어의 발전소프트웨어는 데이터와 알고리즘, 두 가지로 구성 소프트웨어 1.0: 데이터를 알고리즘으로 조작해서 결과를 도출하는 방식소프트웨어 2.0: 데이터를 학습시킨 머신러닝 모델을 만들고, 이 모델을 통해 결과를 도출하는 방식소프트웨어 3.0: 머신러닝 모델을 프롬프트로 제어하는 것 소프트웨어 1.0은 결정론적인 방법 → 입력값에 대해 항상 동일한 출력값 반환소프트웨어 2.0은 머신러닝 모델이 상황에 맞게 스스로 논리 구조를 생성하는 비결정론적 방법 프로그래밍 = 컴퓨터와 상호작용하는 방법프롬프트 엔지니어링 = 자연어로 컴퓨터와 상호작용하는 방법1. AI의 구분AI는 규칙 기반 AI와 머신러닝으로 구분 규칙 ..
클로저클로저는 함수와 그 함수가 선언된 렉시컬 환경과의 조합 자바스크립트 엔진은 함수를 어디서 호출했는지가 아니라 함수를 어디에 정의했는지에 따라 상위 스코프를 결정→ 렉시컬 스코프(정적 스코프) 렉시컬 환경의 “외부 렉시컬 환경에 대한 참조”에 저장할 참조값,즉 상위 스코프에 대한 참조는 함수 정의가 평가되는 시점에 함수가 정의된 환경(위치)의 해 결정 렉시컬 스코프가 가능하려면 함수는 자신이 정의된 환경, 즉 상위 스코프(함수 정의가 위치하는 스코프)를 기억해야→ 함수는 자신의 내부 슬롯 [[Environment]]에 자신이 정의된 환경, 상위 스코프의 참조를 저장 함수 객체의 내부 슬롯 [[Environment]]에 저장된 현재 실행 중인 실행 컨텍스트의 렉시컬 환경의 참조가 상위 스코프이며, 자신..
0. 언젠가 한 번 지원해야겠다 생각했던우아한테크코스에 대해서는 옛날부터 들어서 알고 있었다. 내가 아는 지인이 우테코에 다니기도 했었고. 대학에서 컴퓨터공학부 수업을 듣고 있기는 했지만, 웹 프론트엔드에 대한 수업은 많지 않았기에 우테코에 들어가서 1년간 제대로 배우면 좋겠다하는 생각을 가지고 있었다. (물론 학교에서의 수업이 중요하지 않다는 의미는 아니다). 또 합격하지는 못하더라도 4주 동안 진행되는 프리코스를 통해 얻어가는 것이 많다고 하기에 더욱 기대가 되었었다. 그리고 시간은 흘러 우아한테크코스 7기 입학설명회 영상이 업로드가 되었다. 이번 7기의 주제는 ‘메타인지’였다. 메타인지? 어디선가 들어봤지만 정확히 무슨 뜻인지는 잘 몰랐다. 메타인지는 아는 것과 알지 못하는 것을 구분할 수 있는 능..