본문 바로가기

Programming120

[Python] pymysql 사용하기 안녕하세요~ BTC 1-tier팀의 one입니다. 파이썬과 MySQL 데이터 베이스를 연동해주는 라이브러리 pymysql의 사용방법에 대해 알아보려고 합니다. pymysql로 DB를 연동하여 Select하는 과정을 알아보러가봅시다~🤗 먼저 pymysql이 없다면 설치를 진행해주시고, import를 해줍니다. pip install pymysql Pymysql 연동 데이터베이스와 Python의 연동을 위해 DB connect를 생성합니다. pymysql.connect() 함수를 이용하여 연결이 가능합니다. conn = pymysql.connect( host = db_host, user = db_user, password= db_passwd, port = 3306, db = 'test_db', charset=.. 2023. 12. 11.
[개발] Django CSV 내보내기 액션 추가 베하~! 뉴진쓰팀의 큰뉴진입니다. 이번에는 Django에서 CSV 내보내기 액션에 대해서 다뤄보려고 해요. 먼저 관리자 페이지가 준비되어 있어야 해요. 저는 Exports 라는 모델을 만들어서 그 안에서 액션을 추가했어요. admin.py에서 import csv from django.http import HttpResponse from .models import Export csv와 HttpResponse, 모델을 import 해줍니다. 마찬가지로 admin.py에서 csv 액션을 추가해줍니다. HttpResponse를 사용하면 csv로 컨텐츠 타입을 지정할 수 있어요. @admin.action(description='CSV로 내보내기') def export_as_csv(self, request, que.. 2023. 12. 11.
[BigData] VectorDB에 대하여 베하~! 할배즈입니다! 오늘은 VectorDB에 대하여 알아보도록 하겠습니다! VectorDB란? VectorDB는 데이터의 벡터 표현을 저장하고 검색하는 데 특화된 혁신적인 데이터베이스 유형입니다. 이미지, 문서, 사용자 프로필 등 다양한 유형의 데이터를 수치화한 벡터 형태로 저장하며, 이를 통해 빠르고 정확한 검색 및 분석을 가능하게 합니다. VectorDB의 핵심 특징 효율적인 저장 및 검색 방법: 고차원의 벡터 데이터를 효과적으로 처리할 수 있는 저장 및 검색 알고리즘을 제공합니다. 이는 대용량 데이터를 빠르게 처리할 수 있는 구조를 의미합니다. 빠른 유사성 계산: 벡터 간의 유사성을 빠르게 계산하는 알고리즘을 사용하여, 사용자가 원하는 정보를 신속하게 찾아냅니다. 다양한 데이터 유형 처리: 이미.. 2023. 12. 8.
백엔드 응답모델(result) 구성하기 안녕하세요 여러분! 일단고 팀입니다. 요즘 독감이 유행이라고 들었습니다. 모두 독감 조심하세요. 오늘은 백엔드의 응답모델에 대해 알아보고, 이를 구현하는 코드를 직접 작성하겠습니다. 응답 모델이 필요한 이유 백엔드에서 응답모델을 구현 할 필요는 없습니다. 하지만 응답 모델을 구현해두면 재활용성이 높아지고, 서비스를 구성할 때 코드를 간결하게 만들 수 있다는 장점이 있습니다. 응답 모델의 구성 응답 모델에서 필요한 내용은 다음과 같습니다. 상태 코드 (Status Code): HTTP 응답의 가장 기본적인 요소 중 하나로, 요청의 성공 여부나 실패 원인을 나타냅니다. 예를 들어, 200은 성공, 404는 찾을 수 없음, 500은 서버 오류를 나타냅니다. 메시지 (Message): 상태 코드에 대한 설명으로.. 2023. 12. 8.
Python의 Generators Python의 제너레이터(generator)는 반복자(iterator)를 생성하는 간단하고 효율적인 방법입니다. 큰 데이터를 처리할 때 메모리 사용을 최적화하고 코드의 간결성을 높일 수 있습니다. 이번 글에서는 제너레이터의 기본 개념과 사용 방법, 그리고 장점에 대해 살펴보겠습니다. 제너레이터의 기본 개념 제너레이터는 이터레이터를 반환하는 함수로, yield 표현식을 사용합니다. 함수가 yield를 만나면, 현재 함수의 상태를 기억하고, 다음 호출시에 다시 그 상태부터 실행을 계속합니다. 특징 상태 유지: 제너레이터는 마지막으로 실행된 지점과 그 상태를 기억합니다. Lazy Evaluation: 제너레이터는 필요할 때까지 값이 생성되지 않습니다. 이는 메모리를 효율적으로 사용하는 데 도움이 됩니다. 코드.. 2023. 12. 7.
[Vue] Vue.js LifeCycle 안녕하세요, BTC 블랙아웃입니다! 오늘은 Vue.js의 핵심 개념 중 하나인 컴포넌트 라이프사이클에 대해 자세히 알아보려고 합니다. Vue.js 애플리케이션에서 컴포넌트는 생성부터 소멸까지 여러 단계를 거치게 되며, 이 각 단계에서 Vue는 특정한 "라이프사이클 훅"을 제공합니다. 이러한 훅을 효과적으로 사용하면, 데이터 로딩, 애니메이션, 리소스 정리 등 다양한 작업을 "적절한 시점"에 수행할 수 있습니다. 1. Vue 컴포넌트 라이프사이클 이해 Vue 컴포넌트의 라이프사이클은 크게 생성(Creation), 마운트(Mounting), 업데이트(Updating), 소멸(Destruction)의 네 가지 주요 단계로 나뉩니다. 이 각 단계에서 Vue는 개발자가 특정 코드를 실행할 수 있도록 라이프사이클 .. 2023. 12. 7.
Vue Router : 네비게이션 가드 여러분 베하! 오늘은 Vue router의 네비게이션 가드라는 것을 알아볼게요. 네비게이션 가드란? 명칭에서 느껴지는 것처럼 Vue.js 애플리케이션에서 라우터 네비게이션을 제어하기 위한 기능입니다. 쉽게 말해 Vue Router를 통해 특정 URL에 접근할 때 해당 URL의 접근 또는 탐색을 막는(보호하는) 방법을 말합니다. 또한 리디렉션을 도와주는 역할도 합니다. 네비게이션 가드를 잘 사용하면 특정 조건에 따라 라우팅을 허용하거나 막을 수 있습니다. 가드의 인자 to : 이동할 라우트 객체의 정보(객체) from : 이동하기 전 라우트 객체의 정보(객체) next : 다음 단계로 진행하기 위한 함수. 트리거 되는 탐색 가드별 정확히 한 번만 next를 호출해야 합니다. 그렇지 않으면 영원히 훅이 해결.. 2023. 12. 6.
Python의 데코레이터 데코레이터는 Python의 가장 강력한 기능 중 하나로, 메타프로그래밍을 가능하게 합니다. 함수나 메소드의 동작을 변경하거나 확장할 수 있는 데코레이터를 통해 코드의 재사용성과 가독성을 크게 향상시킬 수 있습니다. 본 게시물에서는 Python의 데코레이터에 대한 기본적인 이해와 활용 방법을 알아보겠습니다. 데코레이터란? 데코레이터는 다른 함수를 감싸는 함수로, 감싸진 함수의 동작을 변경하거나 확장할 수 있습니다. 이를 통해 기존 함수의 코드를 수정하지 않고도 새로운 기능을 추가할 수 있습니다. Python의 데코레이터는 기본적으로 함수나 메소드를 인자로 받는 함수입니다. 이 함수는 래핑된 함수에 추가적인 기능을 부여하거나 수정하고, 이를 반환합니다. 데코레이터는 @ 기호를 사용하여 적용됩니다. 이는 해당.. 2023. 11. 24.