전체 글 썸네일형 리스트형 『프롬프트 엔지니어링 교과서: 바로 써먹는 챗GPT 프롬프트 12기법』 도서 리뷰 LLM(대규모 언어 모델)은 현재 코딩 외의 목적에도 일상적으로 자주 활용되고 있다. 글을 작성할 때, 데이터 정리, 단순 검색 목적 등등... 사용하다보면 요구사항을 최대한 구체적으로 써서 요청해도 원하는 바를 정확하게 짚어내지 못할 때가 있는데, 그런 때에 참고할 수 있을 것 같아 이 책을 읽어보게 되었다. 블로그에 후기를 작성해두는 것도 나중에 요청이 막힐 때 종종 보고 참고할 요량으로 적어 둔다. 기본적으로 이 책은 부제에 걸맞게 챗GPT에서 최적화된 방식을 소개해준다. 타 LLM에서 어떠한가는 책 후반부에 다른 LLM에서 수록된 각 기법을 테스트해보고 잘 되는지를 정리해둔 정도로 언급된다.전반적인 흐름은 이름대로 교과서 식인데, 설명 - 응용문제를 주고 차근차근 기법을 연습할 수 있게 되어있는.. 더보기 [JavaScript]느낌표 두개(!!) 연산자 용도 !의 경우, 논리 연산자로 NOT에 해당한다. boolean타입으로 값을 반환한다.다른 타입일 때 boolean으로 형변환하는 용도로 사용된다. const answer = 'test';let buttonDisabled = !!answer; console.log(buttonDisabled); // trueconsole.log(typeof(buttonDisabled)); // boolean 더보기 [React] 리액트 Netlify 깃헙 연결 배포 시 Module not found: Can't resolve... 에러 개요 github에 올린 레포지토리를 Netlify에 연결해서 배포를 하려고 했는데, 이런 오류가 떴다. Module not found? 파일은 멀쩡하게 있는데... 뭐가 문젠가 싶어 이리저리 검색해본 결과, Case-sensitive와 관련이 있었다. ▶netlify포럼의 지원 가이드 글 Git에서는 대소문자 구분을 하지 않고 같은 파일로 취급하는데, netlify는 대소문자 구분을 하기 때문에 문제가 발생한다는 것이였다. 설마...하고 github의 오리진 레포지토리에 올라가있는 파일명을 확인해보니, 아니나 다를까 작업 중간에 파일의 앞글자를 소문자로 고쳤던 파일이 레포지토리 쪽에는 파일명이 대문자로 되어있었다. 해결방법 해결하기 위해서는, 오리진 레포지토리 쪽의 파일명을 고치던가 혹은 로컬 파일을 .. 더보기 [React] css, styled-component에서 & + & 의미 얼마 전에 리액트 코드를 보다가 styled-component에서 이런 부분을 봤다. & + & { margin-top:3rem; } css 연산자에서 &(엠퍼센트)를 쓰는걸 본적이 없었기 때문에 혹시 내가 모르는 선택자인가? 싶어서 검색을 해봤더니, css가 아니라 styled-component에서 쓰는 것이였다. (참고로 sass에서도 비슷하게 사용된다) 즉, 순수 css에서는 쓰이지 않는 표현이다. (내가 찾아볼 때 검색을 css 키워드로 했기때문에... 비슷한 루트로 검색을 해보는 사람을 위해 게시글 제목엔 css를 붙여뒀다.) 그래서 무슨 의미이냐? 먼저 style-component에서의 &는 현재 요소를 뜻한다. 예를 들면... const Item = styled.div` &:hover{ ba.. 더보기 [React] 리액트에서 환경 변수(.env)설정하기, API키 정보 숨기기 git을 이용해 프로젝트 작업을 할 때, API KEY나 비밀번호와 같이 민감한 정보가 포함되어있어 커밋이 곤란한 때가 있다. 그럴 때는 환경 변수와 .gitignore를 사용하면 쉽게 문제를 해결할 수 있다. 1. 프로젝트의 루트 지점에 .env 파일을 생성한다. (.gitignore가 없다면 이것도 같이 만들자.) 2. 환경변수로 사용할 내용을 .env 파일에 작성한다. REACT_APP_(환경 변수 이름) = (값) 변수가 여러개여도 세미콜론이나 반점(,)을 쓰지 않고 엔터로 구분해둔다. 3. gitignore파일에 .env를 추가한다. 4. 해당하는 키를 쓰는 코드에서 process.env.(키이름)으로 불러다 쓴다. 주의사항 환경변수는 서버를 재시작하면 그때부터 적용이 된다. 401 오류가 난다.. 더보기 npm init -y 플래그(옵션) npm init -y 다른 사람 블로그 글을 보다가 못보던 플래그를 발견했다. 무슨 뜻인가 하고 찾아보니... 터미널 창에서 npm init로 package.json파일을 만들 때, package의 이름이나 버전, 정보 등을 작성하도록 질문이 뜨는데 그 과정을 생략하고 빈 npm 프로젝트를 만들 때 사용하는 플래그였다. 참고자료 https://stackoverflow.com/questions/62725481/what-is-the-meaning-of-npm-init-y 더보기 [Typescript]타입스크립트 기본 문법 정리 변수 선언해당 변수의 값의 타입을 명시하기 위해 타입 주석을 붙여 변수를 선언한다.변하는 값은 let, 변하지 않는 값은 const로 선언하며 const는 변수 선언 시 반드시 초깃값을 같이 선언해야한다. const 변수명: 타입 = 초깃값 let 변수명: 타입 //예시 const name: string = 'amy' let price: number let isError: boolean = true대표적인 타입은 총 4가지가 있으며, 타입과 무관하게 값을 저장할 수 있게 할 때는 any로 표기할 수 있다. (자바스크립트와의 호환을 위한 타입)유형타입타입 예시수number1,2,10,-500 등불리언booleantrue, false문자열string'tree', 'Emma' 등객체object{shape: .. 더보기 [JavaScript] Intersection Observer API - 화면 내 보이는 요소 검사 개요 직역하면 교차 지점 관찰자 API. 간단히 말하자면, 페이지 안에서 사용자 눈에 요소가 보이는지, 혹은 페이지 바깥에 있어서 보이지 않는지와 관련된 API라 할 수 있다. 어떨 때 필요할까? MDN docs에서는 이 API가 나오게 된 주요한 이유를 이렇게 설명하고 있다. 페이지가 스크롤 되는 도중에 발생하는 이미지나 다른 컨텐츠의 지연 로딩(lazy-loading) 스크롤 시에, 더 많은 컨텐츠가 로드 및 렌더링되어 사용자가 페이지를 이동하지 않아도 되게 하는 무한 스크롤(infinite-scroll)을 구현 광고 수익을 계산하기 위한 용도로 광고의 가시성 보고 사용자에게 결과가 표시되는 여부에 따라 작업이나 애니메이션을 수행할 지 여부를 결정 좀 더 구체적으로 예시를 들어 보자. 만약 스크롤을 .. 더보기 이전 1 2 3 4 ··· 6 다음