Jost Do It.

그냥 IT해.

반응형

분류 전체보기 230

[sqlalchemy] immutabledict is not a sequence 에러 해결

문제 상황 sqlalchemy 라이브러리를 통해서 엔진을 생성하고 SQL문을 실행했더니 다음 에러가 발생했다. [...] TypeError: sqlalchemy.cyextension.immutabledict.immutabledict is not a sequence 실행한 코드는 다음과 같다. from sqlalchemy import create_engine conn_str = "{DB_TYPE}://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_NAME}".format(**os.environ) engine = create_engine(conn_str, client_encoding='utf8') del_sql = "DELETE FROM test" where = ('%..

Programming/Python 2024.03.09

[ChatGPT] Error code 400 Failed to index file: Unsupported file 문제

문제 상황 GPT 어시스턴트에 파일을 넣어서 "retrival" 기능을 이용하는 코드를 다음과 같이 짰다. 참고로 파일 형식은 .txt이다. file = client.files.create( file=open(file_path, "rb"), purpose='assistants' ) assistant = client.beta.assistants.create( instructions=roleA, model="gpt-4-turbo-preview", tools=[{"type": "retrieval"}], ) thread = client.beta.threads.create( messages=[ { "role": "user", "content": prompt_text, "file_ids": [file.id] } ]..

Study/딥러닝 2024.03.05

[경제] 1%를 읽는 힘, 메르

세상의 여러 사건들을 노이즈에서 정보로 볼 수 있는 방법을 알려주는 책 별점: ★★★★☆ 작년부터 매일 출근할 때마다 읽는 블로그 글이 있다. 네이버의 메르 선생님 블로그 글인데 매일 출근길에 맞춰 글을 올려주신다. 글 내용은 최근 이슈사항들을 어렵지 않게 정리해주시는데 많은 사람들의 호응을 끄는데는 이유가 있다. 글에서는 단순히 이슈사항들만 정리하는 것이 아니다. 배후에 숨겨진 이야기들과 사건으로 인해 예상되는 파급효과들을 장기적인 관점으로 작성돼 있다. 책 내용은 블로그 글에서 봤던 여러 이야기들중 이런 관점들이 잘 녹아있는 글들이 재수록돼 있다. 블로그에서도 동일하게 접했던 글들이지만 책으로 다시 보니 한번 더 정리되는 느낌이다. 매일매일 접하는 뉴스 내용들이 누군가에게는 단순히 노이즈로 지나간다면..

취미/독서 2024.03.04

[git] gitignore 적용 안될 때 해결과 gitignore 적용 파일 리스트 확인

개요 .gitignore로 적용 시 기존에 원격 레포에 업로드된 파일들은 여전히 tracked 되고 있는 문제가 있었다. 해결 방법 .gitignore에 config 파일들을 등록했다. *.cfg *.config 이후 기존에 원격레포에 업로드 돼 있던 cfg파일들의 캐시를 제거해준다. git rm --cached test.cfg # 특정 파일만 제거 git add . git commit -m "remove cached file" git push origin master 전체 캐쉬를 삭제하려면 git rm -r --cached .으로 명령할 수 있다. gitignore 적용 파일 확인 다음 명령어로 .gitignore에 적용되는 파일 리스트를 확인할 수 있다. git status --ignored >> I..

[Docker] 컨테이너 내 pip 패키지 설치 시 RuntimeError 문제

문제 상황 파이썬 컨테이너를 띄우고 내부에 패키지를 설치하던 중 아래 에러가 발생하였다. pip install -r requirements.txt [...] Traceback (most recent call last): File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 165, in exc_logging_wrapper status = run_func(*args) File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 205, in wrapper return func(self, options, args) File "/usr/lib/pyt..

[Pandas] 정규식을 이용해서 특정 문자만 제거하기

문제상황 데이터 수집을 하는 중에 원본 데이터에서 잘못된 형식으로 값이 저장된 경우가 있었다. 원래 형식은 수치값이 string 형식으로 천단위 구분 기호로 절대값을 표시 (ex> 2,000)하거나 00.00%형식으로 돼 있어야 하는데, 잘못된 형식의 데이터에서는 00,00%로 온점이 아니라 반점으로 기재돼 있었다. 따라서 절대값이나 00.00%로 잘 기재된 경우에는 그대로 출력하고, 00,00%로 돼 있는 경우에만 ,를 .으로 바꿔줘야 했다. 해결 방법 판다스 데이터프레임의 str.replace를 이용해 다음과 같이 해결할 수 있다. df['column1'] = df['column1'].str.replace(r'^([0-9]{2}),([0-9]{2})%', r'\1.\2%', regex = True) ..

Programming/Python 2024.02.27

[Ubuntu] 부팅 시 로그인 해제하기

개요 스마트 플러그를 통해 데스크톱에 전원이 들어오면 자동으로 켜지게 설정해두었다. 그런데 데스크톱이 켜져도 우분투 유저 로그인 창이 떠 원격에서 바로 사용하기 어려웠다. 따라서 로그인을 생략하는 방법이 필요했다. 방법 1. Settings 클릭 2.Users 탭으로 이동 3. 유저 정보 변경을 위해 Unlock 버튼 클릭 4. 유저 비밀번호 입력 및 유저 인증 5. Automatic Login 활성화 6. 껐다 켜서 잘 적용됐는지 확인 Reference [Ubuntu] Ubuntu 18.04 부팅 시 로그인 생략하기

[conda] bash script에서 conda 명령어가 작동하지 않을 때

문제 상황 아나콘다를 설치하고 command 창에서는 conda 명령어가 동작하는데 script 내에서는 conda command를 찾을 수 없다는 에러가 나왔다. test.sh: line 2: conda: command not found 문제 원인 conda 명령어는 bash function인데, shell 내에서는 해당 bash function에 대한 정보가 없기 때문에 발생하는 에러다. 서버에 로그인하면 .bashrc가 실행되는데 .bashrc에는 conda function에 대한 initialize가되어 커맨드창에서는 conda 함수를 사용할 수 있다. 아래는 .bashrc에 선언된 conda initialize 명령이다. [...] # >>> conda initialize >>> # !! Con..

[VSCode] Wating for server log... 반복되다 연결이 안되는 문제

문제 상황 서버 연결에 VScode를 사용 중이다. 어느날부터 서버 연결 시 Wating for server log... 로그가 무한 반복 생성되다가 연결이 Cancel되는 문제가 발생했다. 문제 원인 VScode가 오래된 리눅스 버전에 대해 지원을 종료하면서 나타난 이슈다. 참고로 우리회사 서버의 리눅스 버전은 CentOS 7과 CentOS 18-04였다. VSCode에서는 공지를 했겠지만 해당 이슈가 워낙 갑작스럽다보니 깃헙 이슈가 굉장히 뜨거워진걸 볼 수 있다. 해결 방법 근본적으로 오래된 서버의 리눅스 버전을 업그레이드 시키는 것이 베스트겠지만 어떤 이슈가 생길지 몰라 바로 적용 하긴 어려웠다. 대신 VScode 구버전으로 다운받으면 해당 문제를 해결할 수 있다. 구버전은 1.85로 다운받으면 된..

[Linux] 서로 다른 디스크(파일 시스템)간 파일이동 (mv)

문제 상황 서버 내 디스크 여유공간이 부족해져 다른 디스크에 데이터를 mv하였다. 이 때 다른 디스크에 데이터가 적재되는건 확인하였는데, 원래 디스크의 파일들은 그대로 남아있는걸 확인하였다. 찾아보니 같은 디스크 내 mv와 타 디스크로의 mv 명령이 다르게 작동하는걸 확인할 수 있었다. 설명 서로 같은 디스크(파일 시스템) 내에서는 mv를 하면 실제로 파일을 옮기거나 생성, 제거하지 않고 디렉터리 경로만을 변경하는 방식이다. 하지만 다른 디스크간 mv 시에는 파일을 옮기게 되는데, 이 때 파일들은 실제로 바로 옮겨지는 것이 아니라 다른 디스크로 cp(copy) 작업이 먼저 수행되고, copy가 정상적으로 완료된 파일들은 rm(remove)작업이 이루어진다. 아무래도 파일을 직접적으로 바로 옮기는 과정에서..

반응형