728x90 전체 글127 [Linux] 파일에 권한 정보 리눅스를 사용하다보면 항상 파일 옆에 -rwxr-xr-- 이런 형식의 값을 볼 수 있습니다. 해당 내용을 4개의 파트를 나눌 수 있는데 다음과 같이 보시면 되겠습니다. 번호의미1파일의 종류를 의미2사용자의 권한 중 소유자의 권한을 의미3사용자의 권한 중 그룹의 권한을 의미4사용자의 권한 중 다른 사용자의 권한을 의미 1. 파일의 종류 파일의 종류에도 여러가지 존재합니다. 문자의미설명-일반 파일텍스트 파일, 실행 파일, 바이너리 파일, 이미지, 동영상 등 일반적인 데이터 파일d디렉토리폴더l심볼릭 링크다른 파일이나 디렉터리에 대한 참조, 윈도우의 바로가기 파일과 비슷하며, 원본 파일을 가리킴c문자 장치 파일키보드, 마우스, 시리얼 포트처럼 문자 단위로 데이터 입출력을 처리하는 장치b블록 장치 파일하드디스크.. 2025. 5. 16. [PY] python을 이용한 Chromadb Python을 이용한 Chromadb를 쓰게 된 이유는.... 이전에 Node를 사용해서 Pinecone에 Vector Store를 진행해서 유사도 연습을 했었는데 free tier로 사용하다보니깐 의외로 Read 할당량을 너무 많이 써서 금방 limit에 걸리더라구여... 그래서! Vector Store를 어떻게 처리하면 좋을까 하다가 Chromadb를 이용해서 그냥 로컬에 저장해서 테스트를 해보려고 시도해봤습니다. 윈도우, 맥 둘다 있어서 둘 다 시도 해봤는데 Chromadb 들어가기에 앞서.. 약간(?)의 문제를 얘기하려합니다. Window 에서 ChromadbMac 에서 Chromadb1. 버전을 최신버전으로 사용 가능하다.2. 대신 포트포워딩 부분에서 안되는 부분이 생길 수 있다-> 제가 그랬.. 2025. 4. 24. [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. 이전 1 2 3 4 ··· 22 다음 728x90