공부2021. 10. 19. 09:04

django-deubg-toolbar 사용을 할 때, DRF를 사용하신다면 return값이 response content가 json 이기 때문에 django-debug-toolbar가 제대로 작동 안합니다.

 

이럴 경우 사용하기 위해서 미들웨어를 사용해서 리턴값을 바꿔줘야하는데요 그래야지 html이 랜더링되서 나가게 됩니다.

아래 블로그처럼 진행하면 django-debug-toolbar 를 jsonresponse에서도 사용할 수 잇습니다.

https://khsiea.github.io/2018/04/30/django-debug-toolbar.html

 

django-debug-toolbar 소개 - Heesang Blog

장고 웹 개발에 있어서 유용한 디버그 툴에 대해서 소개를 하려고 합니다. django-debug-toolbar 입니다. django-debug-toolbar 사이트 : https://django-debug-toolbar.readthedocs.io/en/stable/installation.html 설치하기 pip ins

khsiea.github.io

 

그러나 저같은경우는 윗 소스를 적용했을 때 툴바 클릭시 아래와 같은 오류가 있었습니다.

Unexpected token < in JSON at position 1 

오류가 발생하게 됩니다. 또한 받아지는 json 응답의 한글이 깨져서 보이게 됩니다.

 

따라서 미들웨어를 조금 수정해줬습니다.

 

 

from django.utils.deprecation import MiddlewareMixin
from django.http import HttpResponse
from config.settings import STAGE, STATICFILES_DIRS
import json


class NonHtmlDebugToolbarMiddleware(MiddlewareMixin):

def process_response(self, request, response):
if STAGE == "development":
print(request.path_info)
if (response["Content-Type"] == "application/json") and ("__debug__" not in request.path_info):
content = json.dumps(json.loads(response.content), sort_keys=True, indent=2, ensure_ascii=False)
response = HttpResponse(u'<html><body><pre>{}</pre></body></html>'.format(content))
return response

 

위의 소스에 있는 클래스를 미들웨어에 추가하면 제대로 django-debug-toolbar가 작동하는 모습을 볼 수 있습니다.

 

django-debug-toolbar에서 __debug__ url 을 사용한다는 점과,

json.loads에 ensure_ascii 옵션을 추가하여 한글이 깨지는것을 방지했습니다.

 

대신 한가지 문제점으로 response 컨텐트 타입이 text/html 로 변하기 때문에 기존 json과 달라진다는 점이 있습니다.

 

 

아래 소스코드를 참고했습니다.

https://gist.github.com/fabiosussetto/c534d84cbbf7ab60b025

 

Enable Django toolbar for JSON responses

Enable Django toolbar for JSON responses. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

 

Posted by richcherry
오류해결2021. 4. 13. 17:39

ssh 통신을 할 때 새로운 아이피에 새로 접속할 경우 rsa키를 가지게 됩니다.

그리고 추후 동일한 아이피로 접속할 경우 가지고 있는 rsa키를 이용하여 비교한 뒤 인증에 실패하면 이전에 통신했던 컴퓨터가 아니라 생각을 하고 오류를 발생시킵니다. 이는 중간자공격등을 막기 위해서 입니다.

오류 내역은 아래와 같습니다.

 

 

이런 경우에 해다 컴퓨터가 보관하고 있는 rsa키를 삭제한 뒤 새로 ssh 통신을 진행하면 됩니다.

 

삭제 명령어

ssh-keygen -R (대상 ip)

ex: ssh-keygen -R 192.168.0.5

 

명령어가 성공적으로 수행될경우 아래와 같은 명령어가 나오며

대상 ip와 관련된 rsa 키가 없을경우 not found 명령어가 나옵니다.

 

그다음 다시 대상 ip와 ssh 통신을 할 경우 새로운 키를 발급받게 됩니다.

Posted by richcherry
오류해결2021. 3. 18. 17:47

python multiprocessing 사용시 

self.pid = os.for() 부분에서 Cannot allocate memoery 문제가 발생합니다.

메모리가 남아도는데도 해당 오류가 발생하여 다른 원인으로 생각하고 해결방법을 찾아봤습니다.

해결방법은 아래 명령어를 입력해서 설정을 바꾸면 됩니다.

 

sudo bash -c "echo vm.overcommit_memory=1 >> /etc/sysctl.conf"

sudo sysctl -p

 

아래는 해결방법을 찾은 글입니다.

github.com/openai/gym/issues/110#issuecomment-220672405

 

Monitoring causes OOM Error when python holds more than 50% of available memory · Issue #110 · openai/gym

tl;dr It is useful if gym supports a recording method which does not involve subprocess.Popen. When monitoring is enabled, ImageEncoder execute recoding in subprocess with Popen. Popen requests OS ...

github.com

아래는 해당 원인에 대해서 설명한 블로그 글입니다.

hakkyoonjung31.github.io/linux/memory-overcommit/

 

메모리 상승과 오버커밋

사내 테스트용 DB서버에서 프로세스에 메모리할당을 하지못하는 부하문제가 발생하여 메모리 할당에 실패한 시간대에 메모리 사용량을 조사하였다$ sar -r -f /var/log/sa/sarXX결과적으로 %commit가 100

hakkyoonjung31.github.io

 

Posted by richcherry
오류해결2020. 12. 21. 12:51

pgadmin4를 설치하는 과정에서 발생한 오류입니다.

centos7 환경에서

yum install pgadmin4 를 하여 설치한 뒤

/usr/pgadmin4/bin/setpup-web.sh 를 실행시켜서 환경설정을 자동으로 하면

desktopmode 로 실행되서 외부 아이피 접속시에 _auth_source_manager_obj 응답을 받게 됩니다.

 

해결 방법으로는

pgadmin 이 설치된 경로 (ex: /usr/lib/python3.6/site-packages/pgadmin4-web 으로 이동하셔서

config_distro.py 안에 SERVER_MODE = True 를 적으시면 됩니다.

그리고 systemctl restart pgadmin4을 사용하셔서 시스템을 재시작해주시면 됩니다.

 

아래는 참고 문서 링크입니다.

 

 

config_distro.py 를 참고했습니다.

access.crunchydata.com/documentation/pgadmin4/1.3/desktop_deployment.html

 

pgAdmin 4 Documentation

pgAdmin may be deployed as a desktop application by configuring the application to run in desktop mode and then utilising the desktop runtime to host and display the program on a supported Windows, Mac OS X or Linux installation. Note: Pre-compiled and con

access.crunchydata.com

_auth_source_manager_obj의 정보를 참고했습니다.

www.postgresql.org/message-id/CANxoLDf5tnHSWMjmDkZj%3DbgvHHN9fafp0LxqDwJbHe1Zjgf-zg%40mail.gmail.com

 

Re: [pgAdmin4][Patch] - RM 2186 - Support external authentication sources [LDAP]

Hi Khushboo Following are the initial review comments (GUI): *Desktop Mode: * - KeyError: '_auth_source_manager_obj' in desktop mode. (*Note* error …

www.postgresql.org

 

Posted by richcherry
공부2020. 1. 1. 20:09

https://github.com/choinamki/opencv_make_cartoon

 

choinamki/opencv_make_cartoon

Contribute to choinamki/opencv_make_cartoon development by creating an account on GitHub.

github.com

c++ opencv 를 사용하여 카툰라이저를 만들었습니다.

 

Posted by richcherry
공부2019. 11. 27. 22:06

https://youngest-programming.tistory.com/92참고했습니다.

 

[openCV] HSV 특정색 검출하기

import numpy as np import cv2 # BGR(파랑색) color = [255, 0, 0] # cvtColor 함수의 입력으로 사용할 수 있도록 한 픽셀로 구성된 이미지로 변환한다. pixel = np.uint8([[color]]) # cvtColor를 사용하여 HSV..

youngest-programming.tistory.com

 

나뭇잎을 골라내어 단풍으로 물들여봤습니다.

RGB에서는 3개의 채널에 색의 정보와 명암의 정보가 같이 들어가 있기 때문에, 색도, 채도, 명도의 3 채널을 가지는 HSV로 변환한 뒤 색도 채널의 초록값을 찾아내어 붉은 색으로 바꿔주면 단풍으로 물들게 할 수 있습니다.

 

HSV는 360도의 색 영역을 가지나 opencv에서 화소의 최대값은 255이기 때문에 반으로 나눠서 사용해야 합니다.

초록색과 붉은색의 차이는 60도 정도 차이가 나기 때문에 그 반인 30도 만큼 값을 빼줘서 단풍을 물들여 봤습니다.

 

 

 

 

코드 입니다.

결과 이미지입니다.

왼쪽 원본, 오른쪽 결과

Posted by richcherry
공부2019. 11. 27. 21:45

https://docs.opencv.org/master/db/d06/tutorial_hitOrMiss.html참고했습니다.

 

OpenCV: Hit-or-Miss

Prev Tutorial: More Morphology Transformations Next Tutorial: Extract horizontal and vertical lines by using morphological operations Goal In this tutorial you will learn how to find a given configuration or pattern in a binary image by using the Hit-or-Mi

docs.opencv.org

Hit-or-Miss 는 2진 이미지에서 지정된 패턴을 찾는 방법입니다.

 

A가 input image B1과 B2가 필터라고 하면

B1필터하고는 hit 하는 것과 B2필터하고는 miss 나는 것을  결합하여 패턴을 추출하게 됩니다.

 

왼쪽에서부터 각각 B1,  B2,  B1 B2의 Combined

0인 부분은 어떻게 되든 상관없는 부분, 1인 부분은 실제 값 255을 가지는 부분, -1은 0을 가지는 부분으로

해당 패턴이 있으면 255의 값을 부여하게 됩니다.

 

위에 이미지는 3 * 3 필터에서 가운데 화소가 비어져있고 상하좌우에 값이 들어가있는 패턴을 검출해서 255의 값을 넣어주게 됩니다.

 

이것을 이용해서 외곽선을 검출해봤습니다.

여러 필터를 이용하여 나온 이미지를 합치는 식으로 외곽선을 검출했습니다.

 

아래는 코드입니다.

결과 이미지입니다.

 

Posted by richcherry
취미/행사2019. 11. 5. 01:47

쉬는 날인데도 불구하고, 저희를 위해 시간을 내주신 한국어 번역가 분이 있었습니다. 감사 인사를 드리지 못했습니다. 귀중한 시간을 내어주셔서 정말 감사합니다.

There was a Korean translator who helped me despite the holiday being his day off. I am very grateful for his precious time.

 

 

 

-해당 글은 게임 Deemo의 중요한 내용을 담고 있습니다. 작품의 줄거리, 결말, 반전 요소 등을 알고 싶지 않으신 분들은 피해 주세요.

 

 

해당 전시회 링크입니다.

https://rayarkgame.wixsite.com/deemo/top-1

 

Top | Deemo

 

rayarkgame.wixsite.com

 

 

대만 Taibei에서 열리는 Deemo 테마 전시회 After Alice, Before Deemo를 친구와 함께 갔다 왔습니다.

Rayark 사의 게임 Deemo와 관련된 전시전으로 게임 내 장소가 구현되어 있으며, 게임 삽화와 이야기를 보며 관련 상품과 간식을 즐길 수 있습니다.

 

전시장 구성은 아래 그림에서 볼 수 있습니다.

 

B : PS4 VR 게임 Deemo Reborn을 체험할 수 있으며, Alice의 방에서 지금까지의 Alice를 볼 수 있습니다.

C : Deemo 상품을 구매할 수 있으며 간식도 즐길 수 있습니다.

A : Deemo 관련 이야기와 삽화, 콘티 등이 있으며 게임 내 장소가 구현되어 있습니다. 

 

체크인 장소에서 팸플릿을 받고 행사 카드를 받으면 고양이 인형 Mirai 도장이 찍혀있습니다.

B 장소를 관람하기 전 Deemo 도장을 받을 수 있습니다.

A 장소를 입장하기 전 가면을 쓴 소녀 도장을 받을 수 있습니다.

C에서 전시회 한정 상품을 살 때 Alice 도장을 받을 수 있습니다.

 

 

체크인 할 때 받는 팜플렛

 

장소에 도착하면 아래 그림을 볼 수 있습니다. 옆에 계신 직원분에게 체크인을 하시고 팜플렛을 받으시면 됩니다.

- 저희가 구매한 표는 Full Interactive Experience- Early Bird Gift Package (Area A and B) 으로 A B입장과 특별히 준비된 카드를 받을 수 있는 입장표였습니다.

- B 장소 관람을 하실 경우 직원 분에게 한국인이라는 것과 가능한 언어를 이야기하셔야 합니다. 전시물에는 영어로 설명이 적혀있지만 직원분이 중국어로 설명을 하고 게임이 중국어로 설정되어 있기 때문에 진행에 어려움이 있습니다. 이야기를 드리면 번역 도움과 Deemo reborn 게임 언어를 한국어로 바꿔주십니다.

 

 

체크인 할 때 받는 카드

 

B 관람

 

예약한 시간 10분 전에 전시관 입구에서 미리 줄을 서서 대기합니다.

Deemo Reborn 게임 튜토리얼과 한 곡을 플레이할 수 있으며, 디모와 Alice의 삽화, Alice 의 방을 볼 수 있습니다.

약 30분 정도 관람과 체험이 진행됩니다.

 

창고에다가 본인의 짐을 맡긴 뒤, 관람 주의점을 안내받고  게임 내 삽화 구경, Deemo Reborn 체험, Alice 방 이동 순으로 진행합니다.

 

- Alice의 방을 제외한 다른 장소에서는 사진 촬영이 불가능합니다.

- 중국어로 설명이 진행되기 때문에 번역 도움이 필요합니다.

- 방문객들은 Alice 방 내부에 준비된 방명록을 작성할 수 있습니다.

 

 

Alice room
방명록
djmax respect 콜라보

 

관람이 끝나고 소녀였던 Alice 가 성장한 모습이 그려진 카드를 받을 수 있습니다. 

성장한 Alice 의 모습과 뒤에 써져 있는 글귀를 보면 묘한 감동을 느끼게 됩니다. 직접 가셔서 확인해보시길 바랍니다.

 

 

Alice card

 

 

C 관람

 

Deemo 관련 굿즈를 구매할 수 있으며 콜라보 간식을 주문할 수 있습니다.

 

- 디모 관련 뽑기 기계가 있습니다. 대만달러 50원 동전이 2개 필요합니다. 즐기실 분들은 50원 동전을 넉넉하게 준비하셔야 합니다.

- 요번 콜라보와 관련된 A4 크기의 종이를 받고 싶으면 음료가 아닌 식사류를 주문하셔야 합니다.

- 음료의 프린팅 된 부분은 치즈로 구성되어 있으며, 전체적으로 맛이 매우 답니다. 참고하시기 바랍니다.

- 전시회 한정 물품을 구매하기 위해서는 전시회 팸플릿이 필요합니다. Alice 도장을 받을 수 있습니다. 

 

 

카페 내부

 

주문한 음료

 

음료와 식사

 

 

A 관람

 

Deemo 관련된 삽화와 이야기를 볼 수 있으며, 게임에서 나온 애니메이션 상영과 게임 내 장소를 실제로 볼 수 있습니다. 

 

입장하기 전에 홀로그램 카드를 줍니다. Deemo의 시간적 변화가 잘 드러나는 카드입니다.

 

직원분들이 정말 친절하시고 재치 있습니다. 사진 촬영도 부탁하면 흔쾌히 들어주십니다.

 

Alice 원피스와 Deemo 옷이 준비되어 있습니다. 아이들과 같이 가신 분들이라면 좋은 사진을 찍을 수 있습니다. 저는 Deemo 가 있기 때문에 Alice 옷을 입고서 사진을 찍고자 했으나 너무 작아서 실패했습니다. 입혀주시려고 노력하는 직원분이 생각납니다. 그분 하고 같이 사진을 찍어야 했는데 아쉽습니다.

 

홀로그램 카드

 

A 전시회 내부

 

즐거운 경험이었습니다. 규모는 생각보다 크지는 않지만, 정말로 Deemo를 좋아하시는 분들은 해당 기간 내에 가보시길 추천드립니다. 사방에서 들리는 Deemo ost와 아름다운 그림들이 정말로 보기 좋았습니다. 요번 대만 여행에서 가장 즐거웠던 시간이었습니다.

 

좋은 장소 만들어준 Rayark 전 직원분들에게 감사합니다. 그리고 귀한 시간 내어주신 번역가 분에게 다시 한번 감사드립니다. 성함도 물어보지 못했는데 정말 고맙습니다.

'취미 > 행사' 카테고리의 다른 글

Animenz Live 2019 Seoul 8/4  (0) 2019.08.04
코믹콘(comic con) 8/2  (0) 2019.08.04
Rayark Fan Meeting(레이아크 팬미팅) 5/25  (0) 2019.08.04
Posted by richcherry