IT/파이썬 2023. 5. 4.
Python - UnicodeDecodeError: 'cp949' 에러 해결 방법
UnicodeDecodeError: 'cp949' 에러는 파일을 읽을 때 발생할 수 있는 문제입니다. 이 문제를 해결하는 방법으로는 파일을 열 때 인코딩을 지정해주는 것이 있습니다. open('파일경로', 'rt', encoding='UTF8') 와 같이 파일을 열어주면 왠만하면 다 해결이 됩니다. *) 실제 파일 인코딩에 맞추어서 사용하면 됩니다. 다른 방법으로는 텍스트 파일을 메모장으로 열어서 다른 이름으로 저장하고 인코딩을 ANSI로 저장하는 것도 있습니다. 이 외에도 인코딩 값을 변경해서 시도하거나 파일을 직접 열어 공백이 있는지 확인하고 공백을 제거하는 방법도 있습니다.
IT/파이썬 2023. 5. 4.
Django ORM - aggregation sum 결과가 0 인 결과 배제하기
Django ORM - aggregation sum 결과가 0 인 결과 배제하기 생각해보면 아주 쉽지만 안될지 될지 몰라서 그냥 해봤는데 되네 sum, avg, count 등을 수행한 결과가 0인 경우에 결과 값에서 빼고 싶다면 그냥 exclude 를 이용하면 된다. result_groupby_product_thismonth = ( target_summaryproductcount.values("product_name") .annotate(sum_count=Sum("count")) .values("product_name", "sum_count") .exclude(sum_count=0) ) 상품명으로 Group by 해서 sum을 구했는데, Sum 값이 0면 결과값에서 빼는 코드 참고용입니다. :) http..
IT/Cloud 2023. 5. 4.
Django 서버리스 서비스 제공 - Zappa, Lambda on AWS 초안 작성중
AWS, Lambda, Django, Zappa 의 기술로 장고 프로젝트를 서버리스로 서비스를 제공할 수 있을 것 같다. Zappa는 AWS의 서버리스 컴퓨팅 서비스인 Lambda에 Django 앱을 배포하는 데 사용할 수 있는 도구입니다. 이 글에서는 Zappa를 사용하여 Django 프로젝트를 API Gateway + Lambda를 활용한 서버리스 아키텍쳐로 배포하는 방법에 대해 설명합니다. AWS, Lambda, Django, Zappa의 기술을 사용하면 장고 프로젝트를 서버리스로 서비스 제공이 가능합니다. Zappa 배포 방법은 다음과 같습니다: AWS IAM 계정 생성 /.aws/credentials 파일 작성 virtual environment 생성 pip를 이용해서 Zappa 모듈 설치 쉘에..
IT/파이썬 2023. 5. 3.
Django ORM - Group by 사용해서 Count, Sum, Avg 구하기
Django ORM으로 Group by 필드 구현하는 방법은 아래 글을 이길 수가 없어요. 완전 잘 써놓으셔서 들어가서 읽고 감탄만 하시길!! 정리해 보면, 1. 먼저 Group by 할 필드를 정해서 values에 넣고 .values("필드") 2. 함수를 불러서 쓰고 .annotate(Count(), Sum(), Avg(), ...) 3. 보여줄 필드를 다시 정리하고 .values("필드", "필드", ...) 즉, values 를 2번 불러 쓰면 된다. [Django] ORM으로 Aggregation 함수와 Group by 사용 [Django] ORM으로 Aggregation 함수와 Group by 사용 쿼리에서 aggregation함수(count(), max(), first() 등등) 와 필요한 ..
IT/Git, GitHub 2023. 5. 2.
Github 저장소 주소를 .dev 로 바꾸면 온라인 에디팅 개발 사이트로 변신
이건 머지, github.com 에서 github.dev 로 변경해 버리면 그냥 그 Repo 가 온라인 에디팅 가능한 VSCode 환경으로 변경된다. 아주 신기하네 예제로 내 github 에 들어가 보았다. 예제를 위해 아주 간단한 지킬 페이지가 있는 Repo 로 접속했다. > https://github.com/bjnhur/landing 그런데 주소에 .com 부분은 .dev 로 바꾸면 짠 아래처럼 웹 온라인 에디팅이 가능한 페이지로 변신 와 이런 로컬에 툴 깔 필요도 없이 아주 간단하게 소스 에디팅이 가능하다. VS Code 깔기 싫거나, 외부에 나가면 그냥 여기에 들어가서 이렇게 쓰는 것이 낫겠다 ^-------------------^
IT/Web 2023. 5. 2.
CSS HTML - Progressbar 로딩바 구현 예제 소개
로딩바나 프로그레스바를 찾아보면 다양한 소스가 나오긴 한다. 일단 내가 써본 예제를 킵!! 많아봐야 똥이다. 내가 골라둔 걸 일단 저장해두고 활용하는 것이 짱!! https://codepen.io/artboardartisan/pen/VLzKVN Loading Bar A quick and simple loading bar that provides the illusion of a working progress bar.... codepen.io 아주 간단하게 잘 정리된 예제입니다. 역시 능력자들이 많어요! HTML로 프로세스바(Process Bar) 만들어주기 (progress bar css) (tistory.com) HTML로 프로세스바(Process Bar) 만들어주기 (progress bar css) 웹..
IT/Web 2023. 5. 2.
Billboard.js 차트 라이브러리 - 도넛 차트 예제
웹페이지에서 차트를 만들어주는 많은 JS 라이브러리가 많이 있지만 한국 기업인 네이버에서 후원해주는 빌보드 차트를 써보기로 이전에 쓴글이 있긴하네. 2023.04.28 - [IT/Web] - Billboard.js 무료 네이버 차트 라이브러리 써보기 Billboard.js 무료 네이버 차트 라이브러리 써보기 billboard.js는 D3 기반의 자바스크립트 차트 라이브러리입니다. 아주 간단하게 차트를 만들 수 있습니다. billboard.js의 홈페이지에서는 사용법이 잘 정리되어 있습니다 1. 또한, 다양한 예제들도 참 wiznxt.tistory.com 그중에서 일단 도넛 모양의 차트를 만들어 보기로 하고, 결과 화면은 이렇게 ㅋ 그냥 소스를 남겨둔다. 라벨인가 텍스트인가 도넛 내부에 있는 라벨 색상은 ..
IT/Web 2023. 5. 2.
CSS gradient - 색깔 서서히 바뀌는 패턴을 구하고 싶을때
GRADIENT BACKGROUND COLORS 의 패턴을 만들고 싶다면 아래 페이지로 방문해 보세요. 사실 디자이너가 아니니깐 보고 고르는게 최고!! https://www.eggradients.com/gradient/waiters-service Waiter's Service - Eggradients Waiter's Service: #98DE5B > #08E1AE CSS codes: background-color: #08e1ae; background-image: linear-gradient(315deg, #08e1ae 0%, #98de5b 74%); Best Gradients www.eggradients.com 맘에 드는 초록색 패턴을 하나 골라봤다.
IT/파이썬 2023. 5. 1.
Django - SQL group by 를 ORM 에서 구현하기
group by는 SQL에서 데이터를 그룹화하는 구문입니다. 장고 ORM에서는 values() 메소드를 사용하여 group by의 대상이 되는 컬럼을 지정할 수 있습니다. 이후 annotate() 함수로 집계된 데이터에서 집계 함수를 실행할 수 있습니다. 예를 들어, 다음과 같은 쿼리는 장고 ORM으로 다음과 같이 표현할 수 있습니다. # SQL SELECT name, COUNT(*) FROM test GROUP BY name; # Django ORM queryset = Test.objects.values('name').annotate(count=Count('*')) 위의 예제에서 values('name')은 GROUP BY name과 동일한 역할을 합니다. 이후 annotate(count=Count('..
IT/파이썬 2023. 5. 1.
Django - ORM aggregation 함수 설명과 예
앞서 살펴본 Group by 하는 결과에 많이 사용되는 집계함수에 대해서도 잠깐 살펴보자. annotate() 구문 안에서 자주 사용되는 aggregation funcion 은 아래 처럼 몇가지를 사용할 수 있다. 장고 ORM에서 사용할 수 있는 주요 집계 함수는 다음과 같습니다. Avg: 평균을 계산합니다. Count: 개수를 계산합니다. Max: 최대값을 계산합니다. Min: 최소값을 계산합니다. Sum: 합계를 계산합니다. 예제로 알아보면 가장 쉽다. 앞서 살펴본 동일한 Test 모델과 값이 있다고 가정한다. 2023.05.01 - [IT/파이썬] - Django - SQL group by 를 ORM 에서 구현하기 Django - SQL group by 를 ORM 에서 구현하기 group by는 S..
IT/Software 2023. 5. 1.
빙 코파일럿 - ChatGPT 로 코드 노가다 수고 덜어보기
같은 패턴의 코드를 복제해서 생성해 내고 싶은데, 이거 손으로 하기 귀찮아서 Bing Copilot (빙 코파일럿) 한테 시켜 봤다. 기본 코드는 아래와 같다. if(bt0.val==1) { tsw x0,1 x0.bco=1055 x0.pco=65535 } else { tsw x0,0 x0.bco=65535 x0.pco=0 } 이걸 인덱스만 바꿔서 16개 만들어 달라고 해봤더니, 이놈이 스마트 하게도 for loop 로 만들어 주었다. for (int i = 0; i
IT/파이썬 2023. 4. 28.
Django - Rest-framework API 서버 구현 with Django Ninja
Django Ninja의 주요 장점으로는 다음과 같은 것들이 있습니다 홈페이지에 많은 정보가 있겠죠? 일단은 방문 필수!! https://django-ninja.rest-framework.com/ Django Ninja Django Ninja - Fast Django REST Framework Django Ninja is a web framework for building APIs with Django and Python 3.6+ type hints. Key features: Easy: Designed to be easy to use and intuitive. FAST execution: Very high performance thanks to Pydantic and a django-ninja.rest-..
IT/Web 2023. 4. 28.
Billboard.js 무료 네이버 차트 라이브러리 써보기
billboard.js는 D3 기반의 자바스크립트 차트 라이브러리입니다. 아주 간단하게 차트를 만들 수 있습니다. billboard.js의 홈페이지에서는 사용법이 잘 정리되어 있습니다 1. 또한, 다양한 예제들도 참고할 수 있습니다 2. 이전에 작성한 여기도 한번 방문해 보세요. JS – billboard 차트 라이브러리 써보기 JS - billboard 차트 라이브러리 써보기 - B로그0간 #billboard.js #chart #js #라이브러리 #사용법 devbj.com billboard.js를 사용하기 위해서는 D3.js와 billboard.js를 로드해야 합니다. 그리고 차트를 넣을 HTML 요소를 만들고, 차트 옵션을 설정하여 차트를 생성하면 됩니다 1. 예제 코드는 다음과 같습니다: Sampl..