전체 글125 [Vector] Pinecone 벡터 유사도 검색을 해보기 위해 Pinecone을 이용한 저장, 찾아오는걸 해봤습니다. * p.s : pinecone 은 기본적으로 Node버전 18이상에서만 된다고 하기에.. 버전 체크는 필요합니다. Pinecone에 데이터를 저장하기 위해서는 차원을 골라야하는데요. 차원을 고르기에 앞서서 그냥 DB를 막 만드는게 아닌 embedding을 진행 했을때, 그 차원 수 가 어떤거냐에 따라 DB 설정이 달라지더라구여 DB를 설정 시 다음과 같이 차원 수 를 정할 수 있는데, 만약 내가 embedding 해서 나온 차원 값이 1024인데 768이라던가 512에 맞추면 그건 사용을 못하게 됩니다. 저 같은 경우는 chatgpt에 있는 방식을 이용해서 한거라 차원 수가 달라서 4096으로 설정해야하기 때문에 man.. 2025. 4. 15. [SQL] mediumtext 가 준 교훈.. 한 테이블에서 필드 타입을 text 가 아닌 mediumtext를 사용하고 있었습니다. 처음에는 괜찮았는데 어느 순간 테이블에 데이터가 쌓이면서 단순 select 쿼리도 속도가 너무 느리다는걸 느꼈습니다. 예) 초반 0.5초 -> 현재 1분 44초... 그래서 여러가지를 분석해봤습니다. 단순 raw query 에 대한 문제인지 아닌지 부터 시작해봤죠... 기본적으로 vscode에서 다루는 orm 은 sequelize 이용하고 있어서 이걸로, sequelize 쿼리 / raw 쿼리 둘다 진행 해봤는데 속도는 매우 빠르게 나왔습니다. 그러나, DB에서 raw 쿼리를 진행하면 1분 넘도록 실행하더군요... 왜 orm은 빠른데 DB 프로그램은 느리냐!!! 라는 걸 봤는데 sequelize-auto를 써서 db.. 2025. 3. 21. [String/Number] 문자열/숫자 변환 보통 문자열을 변화하게 되면 toString()이라는 메서드를 많이 사용하게 되는데 사용하면 다음과 같습니다. const a = 123;console.log(a.toString()) // '123' 근데 이것보다 더 간단한 방법이 있더군요.. 그건 바로... const a = String 입니다... 이게 뭔소리인가 싶어서 chatGPT에 물어봤는데 메서드 방식은 다음과 같다고 합니다. const a = String;console.log(a(123)); // '123' toString() 메서드와 동일하게 움직이기는 방식인데, 저렇게 String 이라고 선언하고 사용할 수 있다는게 신기했습니다. 반대로, Number도 마찬가지로 하면 숫자인척 하는 문자열을 숫자로 바꿔줍니다. 물론! 숫자가 아닌건 다른.. 2025. 1. 15. [Repeat] 반복적으로 사용할때 보통 이런경우는 드물긴 하나.. 같은 값을 특정 횟수로 여러번 반복적으로 호출하는 경우에는 다음과 같은 방식으로 했었습니다.const str = 'nice';const num = 3;let result = '';for(let i = 0 ; i 근데, 내장되어 있는 함수중 repeat 메서드가 존재한다고 합니다.. 전혀 몰랐었네여... 그래서 repeat 메서드를 이용하면 다음과 같습니다. const str = 'nice';const num = 3;console.log(str.repeat(num)); 물론 같은 값을 반복할때만 사용가능한 메서드 이지만 이렇게 확연하게 코드가 줄어드네여.. 2025. 1. 15. [JS] Promise 종류 많은 양을 처리하다보니 Promise를 자주 쓰게 되는데 Promise 메서드도 여러 종류가 있어서 한번 정리를 해야겠다 싶어서 주요 메서드만 정리를 해봅니다. 메서드설명사용 이유Promise.resolvePromise 를 즉시 fulfilled 상태로 생성1. 이미 값을 알고 있는 경우 Promise 객체로 변환2. 비동기 코드에서 값을 통일된 방식으로 처리Promise.rejectPromise 를 즉시 rejected 상태로 생성에러를 즉시 반환하고 싶을 때 사용Promise.all주어진 Promise 객체들의 배열(iterable)을 병렬로 실행하며, 모든 fulFilled 상태가 될 때까지 대기 (하나라도 reject뜨면 rejected 형태가 됨)여러 비동기 작업을 병렬로 실행하고, 모든 작업.. 2024. 11. 20. [SPF] SPF 레코드 네이버 웍스에서 이메일 전송을 하다가 스팸으로 빠진 현상이 발견 되었습니다. 알아보니 SPF 레코드에 문제가 있어서 그런거라고 하더라구요. SPF(Sender Policy Framework)란? 일종의 메일 발송 서버 등록 제도로 해당 도메인을 통해 이메일을 보낼 수 있도록 ip주소를 지정해서 허용시키는 것입니다. 즉, 해당 ip를 허용 안시켜주면 정당한 메일로 못봐서 스팸으로 빠지는 형식인거 같습니다. SPF를 설정하게되면 제3자가 해당 도메인의 메일 주소를 사칭하여 스팸이나 피싱 메일을 보내는 것을 방지할 수 있습니다. 설정을 하기 위해서 자기 도메인의 DNS에 설정을 해야합니다. (SPF레코드는 메일 서버 IP를 회사 도메인 DNS의 TXT 레코드를 사용하며 도메인 소유자가 직접 설정해야합니다.) .. 2024. 11. 12. 이전 1 2 3 4 ··· 21 다음