728x90

IT 113

[vscode] disable session content restored 세션 복원 오류

작년 12월경 vscode에서 terminal session 복원 기능을 추가했다. 작업 중에 갑자기 vscode가 종료되어 예기치 못한 데이터 손실을 막기 위한 기능으로는 좋지만, 기능의 완성도가 약간 떨어지는 것 같다. 터미널이 복원되고 탭 이동시 탭 이름이 제대로 출력 안되거나 터미널이 제대로 출력 안되는 버그가 존재했다. 그래서 차라리 해당 기능을 끄고 사용하고 싶었다 settings.json에 아래 코드를 추가해주면 terminal session restore기능을 끌 수 있다. "terminal.integrated.persistentSessionReviveProcess": "never"

IT 2022.01.13

DRF in필터 만들기 (django-filter IntegerField multiple parameter )

DRF와 파생된 ecosystem은 너무나도 방대해서 사실상 모든걸 파악하기란 불가능에 가깝다. 그때 그때 마다 적합한 것을 찾아서 적용하는 수 밖에는 없다. django-filter를 사용하면 생각보다 간단하게 drf 기반 서비스에서 필터링 기능을 적용할 수 있다. 기본적으로 fields 옵션을 통해서 자동으로 필터를 생성할 수 있다. class UserFilter(django_filters.FilterSet): class Meta: model = User fields = ['username', 'last_login']하지만 위와 같은 상황외에 lt나 gte를 적용해 대소 비교를해야 한다면 아래와 같이 dictionary 형태로 추가적인 적용이 가능하다. class User..

IT/Django 2022.01.11

Error: [WinError 10013] 액세스 권한에 의해 숨겨진 소켓에 액세스를 시도했습니다

vscode를 쓰다보면 가끔 위와같은 에러가 뜨는 경우가 있었다. 특정 포트로 애플리케이션 실행 시 뜨는 에러인데, 원인은 정확히 파악 되지 않았으나, 추측컨데 vscode에서 터미널에서 실행중인 프로세스를 기억하는 기능 때문에 생기는 문제인듯 했다. 예를들면 터미널은 껐으나 프로세스 자체가 살아있는 경우가 있었는데, 재부팅 하고 나서도 그대로 살아있어서, 생기는 문제였고, 간단하게는 port를 검색해서 강제로 종료시키면 일단 해결은 된다. 하지만 vscode도 동시에 먹통이 된다. 이걸보고 vscode 내 터미널에서 실행한 프로세스에 문제가 있다고 판단했다. 프로세스를 찾아서 종료하는 방법은 아래와 같다. netstat -ano | findstr taskkill /f /pid 검색결과의 가장 오른쪽 숫..

IT 2021.11.26

vscode ssh 접속 오류 could not establish connection to vscode

remote explorer라는 아주 편리한 익스텐션을 vscode에서 제공해준다. 그런데 어쩌다가 aws에서 새로운 인스턴스를 생성하고 고정 ip를 다시 연결해주는 경우 위와같은 에러가 나는 경우가 있다. 내 경우도 도무지 config값은 정확한데 연결이 계속해서 안되서 찾아보니 known_hosts에 기록된 값 때문이였다. known_hosts에 기록된 값을 통해서 서버의 위변조(해킹에 의한 다른 서버로의 접속 등)를 검증하기 위한 것인데, 서버 자체는 바뀌었으나, ip는 그대로이니 내 경우 계속해서 에러가 났었던것이다. 에러를 해결하기 위해서는 당연히 다시금 fingerprint를 통해서 rsa key 정보를 known_hosts에 기록할 수 있게 해당 파일의 모든 내용을 삭제해주면된다.(필요한 부..

IT/Linux 2021.11.18

Jenkins decrypt credentials 젠킨스 secret key 복원하기

일단 crendeitals 페이지까지 가서 update 버튼 클릭 후 가려진 scret key나 password를 요소보기 해준다. 요소보기 후 암호화된 코드가 나오는데, 해당 암호를 복사해준다. 아래 페이지 접속 후 아래 코드 중 decrypt안에 있는 암호를 붙여넣기 하고 실행하면 복호화된 암호를 확인할 수 있다. println hudson.util.Secret.decrypt("{AQAAABAAAAAgPT7JbBVgyWiivobt0CJEduLyP0lB3uyTj+D5WBvVk6jyG6BQFPYGN4Z3VJN2JLDm}") 출처 - https://www.codurance.com/publications/2019/05/30/accessing-and-dumping-jenkins-credentials [Acce..

IT/Jenkins 2021.11.04

Django migrate sqlite to postgresql 마이그레이션

마이그레이션 방법은 조금만 검색하면 많이 나온다. 먼저 python manage.py dumpdata -o data.json 실행 dumpdata Unable to serialize database: 'cp949' codec can't encode character '\ufeff' in position 232 윈도우에서 작업 진행시 로케일로 인한 위와 같은 오류를 만나는 경우 앞에 -Xutf8을 붙여주면 해결할 수 있다. python -Xutf8 manage.py dumpdata -o data.json 그 뒤 django 마이그레이션 파일로 백업한 DB로 복원을 시도할 서버에서 python manage.py migrate를 진행해주고, $python manage.py shell 실행후 쉘에서 아래 코드를..

IT/Django 2021.11.04

jenkins suggested plugins 시작시 제안플러그인 목록

최근 서비스를 운영하면서 향후 추가적인 개발자와 함께 일하게 되거나, 서버 증설이 필요하거나 등 어떤 이유로 서버 쪽이나 개발 프로세스의 변경이 필요한 경우 자동화라는 것이 매우 중요하다는 생각이 들었다. 그래서 최근엔 docker를 nginx / django / ssl 전반적인 서버 구축 자동화를 하였고, 이에 나아가서 jenkins 설치 또한 자동화 하려고 한다.(이미 CI/CD 환경은 구축되어있음.) 따라서 Jenkins를 CasC로 구축할 생각이고 그 과정에서 참고한 자료는 아래 자료이다. https://www.digitalocean.com/community/tutorials/how-to-automate-jenkins-setup-with-docker-and-jenkins-configuration-..

IT/Jenkins 2021.11.04

django backend와 frontend 통신 시 쿼리파라미터 boolean 처리 방법.

장고에서 query params을 true false로 실어서 보낼때 django에서 받아보면 boolean값으로 들어오는게 아니라 문자열로 들어와서 해당 로직을 고려하지 않는 경우 생기는 문제가 있다. 예를들면 BooleanField를 해당 값으로 filter해버리면 에러가 난다. True False만 넣어야되는데 문자열이 들어가기 때문이다. 이거 때문에 검색을 좀 해봤다. 결론은 보낼때 0, 1로 query params를 실어서 보내야된다. 그렇게하면 값 또한 상수 0, 1로 넘어오는데 해당 값을 django filter에서는 0을 False로 인식하고 1을 True로 인식하기 때문에 정상적으로 query filter가 가능해진다. 더 간단하게는 DjangoBackendFilter를 쓰면되는데, 이 ..

IT/Django 2021.07.27

Git branch master빼고 모두 삭제하는 방법.

https://efficientcoder.net/delete-local-remote-git-branches/ 이 블로그를 참고했고, 이생각은 못했었는데 생각해보니 간단한 솔루션이였다. 일단 모든 브랜치 조회 git branch그 뒤 git branch | grep -v mastermaster를 뺀 브랜치만 출력해준다. 마지막으로 xargs를 이용해서 출력 결과를 인자로 받아서 삭제한다. git branch | grep -v master | xargs git branch -D참 쉽쥬~?

IT/Linux 2021.07.15
728x90