IT/Cloud 2023. 5. 10.
단일구조 에서 MSA로 전환하기 위한 6 원칙 - Six principles for refactoring a monolith to MSA
좀 거창한 주제이긴 하다. MSA 구조로 바꾸기 위한 6가지 원칙? https://microservices.io/post/refactoring/2020/07/28/six-principles-for-refactoring-to-microservices.html Decompose your monolith - Six principles for refactoring a monolith to microservices Virtual bootcamp: Distributed data patterns in a microservice architecture My virtual bootcamp, distributed data patterns in a microservice architecture, is now open for..
IT/파이썬 2023. 5. 9.
파이썬 슬라이스 join 을 이용해서 주소 문자열 만들기
join 메소드는 파이썬의 문자열 메소드 중 하나로, 문자열 리스트를 하나의 문자열로 결합하는 데 사용됩니다. join 메소드는 결합할 문자열 리스트를 인수로 받고, 각 문자열 사이에 호출한 문자열을 삽입하여 하나의 문자열로 반환합니다. 예를 들어 다음과 같은 코드를 실행하면: words = ['apple', 'banana', 'cherry'] result = ', '.join(words) print(result) 다음과 같은 결과가 나올 것입니다: apple, banana, cherry 이 코드는 words 리스트의 각 요소 사이에 ', ' 문자열을 삽입하여 하나의 문자열로 결합합니다. 그럼 이제 주소 배열로 저장된 내용을 주소 문자열로 만들어 보자. " ".join(address_list[2:-1])..
IT/파이썬 2023. 5. 5.
Django manage.py my_command - 커스텀 명령어 만들기
가끔 배치 파일로 처리할 필요가 있다. python manage.py runserver 처럼 간단하게 자기 명령어를 만들어서 수행할 필요가 있다. 아주 잘 정리되어 있는 글이 있다. https://windybay.net/post/28/ Django 커스텀 manage.py 명령어 만들기 장고 프로젝트에서 manage.py 를 이용해 프로젝트 관련 명령을 실행할 때가 있다. 등등 테스트용 서버를 띄우거나 … windybay.net 나도, 빙 코파일럿을 이용해서 초안을 더 작성해 봤다. 엑셀 파일 명을 받아서 DB 에 입력하는 예제를 만들어 달라고 요청하고 정리해봤다. Django에서는 사용자가 커스텀 manage.py 명령어를 만들 수 있습니다. 이를 위해서는 Django 앱 내에 management/co..
IT/파이썬 2023. 5. 5.
파이썬 - 지도, 주소, 위도, 경도 등 지도 라이브러리 - GeoPy
파이썬은 강력하다. 지도 관련된 서비스를 하려면 필수적으로 GeoPy 정도는 있어야 대부분 구현이 가능하다. 먼저 홈페이지 방문해서 예제를 보면서 파악하는 것이 급선무! https://geopy.readthedocs.io/en/stable/#module-geopy.geocoders Welcome to GeoPy’s documentation! — GeoPy 2.3.0 documentation Different services have different Terms of Use, quotas, pricing, geodatabases and so on. For example, Nominatim is free, but provides low request limits. If you need to make more..
IT/Software 2023. 5. 5.
오픈 소스 소프트웨어 라이선스 내용 정리해보자
공개 소프트웨어 가이드라인이라는 나라에서 주는 아주 좋은 자료가 있어 다운받아 보다가 몇가지만 기록해둘려고, https://www.oss.kr/oss_guide/show/c05f6485-b8bd-49fd-9f35-58a0ec079235 공개 소프트웨어 연구개발(R&D) 실무 가이드라인 배포 - 공개SW 포털 공개 소프트웨어 연구개발(R&D) 실무 가이드라인 배포 □ 과학기술정보통신부(장관 이종호, 이하 ‘과기정통부’)는 공개 소프트웨어 방식의 연구개발을 확산시키기 위해 ‘공개... www.oss.kr 상용화, 공개 해야 되니 마니 등등 라이선스가 이것 저것 말이 많길래 오픈 소스 소프트웨어(OSS) 라이선스를 허용적, 약한 카피레프트, 강한 카피레프트 (I), 강한 카피레프트 (II)의 네 가지 범주로 ..
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 맘에 드는 초록색 패턴을 하나 골라봤다.