| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 장고
- REDIS
- WebSocket
- 정보처리기사실기
- 프로젝트
- poetry
- 알고리즘
- WIL
- 정보처리기사
- 백준
- 파이썬
- vscode
- 가상환경
- channels
- js
- github
- 개발일지
- 미니프로젝트
- Git
- 2주차
- 채팅
- re-id
- sql
- resnet50
- Commpot
- 프로그래머스
- Class
- 1주차
- WHERE절
- 마스킹
- Today
- Total
목록Project Portfolio (30)
개발일기
만들고자 하는 최종 목표 모델 : 차량의 종류, 색상을 뽑는 모델 만들기목표 정확도 : 99% 이상 이전에 RESNET50으로 차량의 색상 모델을 만들었다.2025.05.19 - [Project Portfolio] - [차량속성모델 만들기 1] 차량의 색상 모델 만들기, RESNET50, Yolo Segmentation 적용 [차량속성모델 만들기 1] 차량의 색상 모델 만들기, RESNET50, Yolo Segmentation 적용만들고자 하는 최종 목표 모델 : 차량의 종류, 색상을 뽑는 모델 만들기목표 정확도 : 99% 이상 지금까지 차량의 색상 뽑기 테스트들을 했었다.모델을 만들지 않고, Kmeans 알고리즘이나 색상 히스developer908.tistory.com 이번에는 차량의 종류와 색상을 한..
만들고자 하는 최종 목표 모델 : 차량의 종류, 색상을 뽑는 모델 만들기목표 정확도 : 99% 이상 지금까지 차량의 색상 뽑기 테스트들을 했었다.모델을 만들지 않고, Kmeans 알고리즘이나 색상 히스토그램을 활용하여 색상을 뽑아보았다.색상을 뽑아본 결과, 도로와 창문 등 외부요소들이 색상값에 영향을 주었다.더보기2025.04.23 - [Project Portfolio] - [대표색상 뽑기] Kmeans로 색상 정보 추출하기 [대표색상 뽑기 - 연구일지1] Kmeans로 색상 정보 추출하기목차1. 개요2. K-means 알고리즘3. 거리계산(유클리드, CIEDE2000, 코사인 유사도) 알고리즘4. 색상 정보 추출 코드5. 대표 색상 추출 코드 1. 개요K-means는 데이터의 특징을 바탕으로 유사한 ..
- Kmeans 알고리즘만으로 대표 색상 뽑기2025.04.23 - [Project Portfolio] - [대표색상 뽑기] Kmeans로 색상 정보 추출하기 [대표색상 뽑기 - 연구일지1] Kmeans로 색상 정보 추출하기목차1. 개요2. K-means 알고리즘3. 거리계산(유클리드, CIEDE2000, 코사인 유사도) 알고리즘4. 색상 정보 추출 코드5. 대표 색상 추출 코드 1. 개요K-means는 데이터의 특징을 바탕으로 유사한 데이터끼리 Kdeveloper908.tistory.com Kmeans알고리즘에 이어 이번에는 히스토그램을 활용하여 대표색상을 뽑아보려고한다.그 다음으로 히스토그램과 Kmeans 알고리즘을 합쳐서 색상을 뽑아보면 어떨까? 목차1. 색상 히스토그램으로 대표색 추출2. 문제점 ..
목차1. 개요2. K-means 알고리즘3. 거리계산(유클리드, CIEDE2000, 코사인 유사도) 알고리즘4. 색상 정보 추출 코드5. 대표 색상 추출 코드 1. 개요K-means는 데이터의 특징을 바탕으로 유사한 데이터끼리 K개의 클러스터로 나누는 군집화 알고리즘이다.이미지의 색상을 추출하는 경우는 색상의 RGB 또는 HSV 값을 데이터로 사용하여 유사한 색상끼리 묶는 방식이다. K-means로 색상 정보를 추출하고자 한 목적은, 영상에 대한 대표 색상을 뽑기 위함이다.과연 K-means로 대표 색상을 잘 뽑을 수 있을까.기준으로 잡은 15가지 색과 K-means에 의해 나온 결과색상 사이의 거리를 계산하여15가지 색상 중 가장 가까운 색상을 매칭하여 대표생삭으로 정의해보고자 한다.사용된 알고리즘은,..
- 포인트 통계 원래는 이번달 리워드, 총 포인트 이렇게 되어있었는데, 사용자 중 이해하기 어렵다는 피드백이 있었다. 그래서 이번달 획득포인트, 이용포인트, 현재포인트총액으로 직관적으로 이해할 수 있도록 바꾸었다. - 채팅 비밀채팅방 기능: 비밀채팅방 기능이 있으면 좋겠다는 평이 있어서 추가했다. make_password을 사용하여 비밀번호 해싱 check_password을 사용해 프론트 요청 온 비밀번호와 db에 담긴 해싱된 비밀번호 비교 super(): 파이썬에서 부모 클래스의 메소드나 속성을 직접 참조하기 위해 사용하는 내장함수 super(ChatRoom, self)는 ChatRoom 클래스의 부모클래스를 의미한다. super(ChatRoom, self).save(*args,**kwargs)는 Ch..
배포를 하면서.. 로컬환경에서는 되었는데, 배포환경에서는 작동되지 않는 기능과 코드들이 나왔다. 그에 대한 트러블슈팅을 정리해보자!! 대부분의 문제는 경로문제였다. 우선 우리 프로젝트의 최종 아키텍쳐는 다음과 같다..! 아키텍쳐와 관련하여서도 추후에 설명하도록 하겠다. 1. 첫번째 트러블슈팅: 페이지네이션 작동이 안됨 - 백엔드에서 오는 페이지네이션 url과 프론트엔드에서 백엔드로 요청보내야하는 url이 달라서 생긴 문제 2. 두번째 트러블슈팅: 채팅 작동 안됨 - 프론트엔드 경로와 백엔드 routing.py 경로 문제 3. 세번째 트러블슈팅: 네이버 소셜로그인이 작동 안됨 - 환경변수를 읽지 못함 -> 하드코딩함 (보안에 크게 문제가 되지 않는 것이라 하드코딩할 수 있었음)
준비하기) 1. 툴팁 활성화 const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]') const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl)) 2. 툴팁 만들기 Tooltip on top Tooltip on right Tooltip on bottom Tooltip on left 2. 툴팁 커스터마이징 하기 1. 줄바꿈 - 전체코드 - 자세히 보기 data-bs-html="true" 위 코드를 추가해주고, 마크다운 문법인 을 사용하여 줄바꿈을 할 수 있다..!! 2. 너비(크기) ..
오늘은 models, views에 대해 살펴보고, 프론트에서 어떻게 채팅 통신이 이루어지는지까지 살펴보겠다! # models.py from django.db import models from django.contrib.auth.hashers import make_password from config.models import CommonModel from users.models import User class ChatRoom(CommonModel): author = models.ForeignKey(User, on_delete=models.CASCADE) name = models.CharField(unique=True, max_length=10, blank=False, null=False) desc = mo..
채널레이어 세팅하기 # settings.py env = Env() # django channels layer if "CHANNEL_LAYER_REDIS_URL" in env: channel_layer_redis = env.db_url("CHANNEL_LAYER_REDIS_URL") CHANNEL_LAYERS = { "default": { "BACKEND": "channels_redis.core.RedisChannelLayer", "CONFIG": { "hosts": [ { "host": channel_layer_redis["HOST"], "port": channel_layer_redis.get("PORT") or 6379, "password": channel_layer_redis["PASSWORD"], ..
채팅을 구현하기 위해서 필요한 라이브러리 라이브러리 channels = {extras = ["daphne"]} channels-redis 각 라이브러리를 사용한 이유: - channels = {extras = ["daphne"]} 실시간 비동기로 들어오는 ws/wss 프로토콜을 장고에서 대응하기 위해 사용 장고 channels는 웹을 넘어, 모든 통신 프로토콜을 지원한다. ASGI 기반의 라이브러리로서, HTTP/웹소켓 프로토콜을 손쉽게 처리할 수 있도록 기능 지원한다. channels: 장고 통합 레이어 daphne: ASGI 서버 (channels 4.0부터 장고/채널스 개발서버로서 사용) => 실서비스에서는 daphne 명령이나 gunicorn/uvicorn 명령을 사용하여, 장고 서버가 구동된다...
crontab을 활용하여 해지예약 및 취소, 구독 재신청 구현하기 - models.py # models.py class Subscribe(CommonModel): """소비자구독""" user = models.OneToOneField( "users.User", related_name="subscribe_data", on_delete=models.CASCADE ) subscribe = models.BooleanField("구독여부", default=True, null=False) is_cancel = models.BooleanField("예약해지여부", default=False, null=True) next_payment = models.DateField("다음결제일") def __str__(self): ..
결제에서 제일 중요한 것은 사전검증과 사후 검증이다. 먼저 결제화면을 만들어보자~ - 결제화면 코드 포인트 충전하기 😎😎포인트를 선택하세요😎😎 100원을 만든 이유는 테스트를 하기 위함이다.. 테스트 결제이기 때문에 자정이면 환불이 된다. - 결제 검증하기 결제금액의 위변조 검증 이유: 결제 요청은 클라이언트 환경에서 이루어지기 때문에 별도의 검증을 하지 않으면 클라이언트가 스크립트를 조작해 금액을 위 변조하여 결제를 요청할 수 있다. 따라서 결제하고자 하는 상품의 금액과 실제로 결제된 금액을 반드시 검증해야 한다. 예를 들어 420,000원짜리 상품을 결제할 때에는 amount: 420000으로 결제요청을 하게 되는데, 공격자가 스크립트를 조작하여 해당 속성을 실제 금액보다 낮은 값(예 amount: ..