본문 바로가기

Tools

(22)
[FastAPI] FastAPI이용한 백엔드 구축 가이드라인 (2) parameter 1. URL과 Parameters  1.1 URL 구성요소 1.2 Parameters  Query Parameters는 URL에서 데이터를 전달하는 방법 중 하나입니다.웹 API에서 클라이언트가 서버에 데이터를 요청할 때, 경로 뒤에 ?를 붙이고 key=value 형식의 쿼리 문자열을 사용하여 추가 데이터를 보낼 수 있습니다.  📌 Query Parameters 구조/func?key1=val1&key2=val2​func → 실행할 함수(엔드포인트)? → 쿼리 매개변수(Query Parameters) 시작key1=val1 → 첫 번째 매개변수 (key1의 값은 val1)& → 여러 개의 매개변수를 연결할 때 사용📌 Python 코드에서 활용def func(key1, key2): result = doS..
[FastAPI] FastAPI이용한 백엔드 구축 가이드라인 (1) 설치 및 Uvicorn을 통한 테스트 *위 글은 Perplexcity를 기반으로 작성된 글입니다.  FastAPI를 이용한 백엔드 구축 가이드라인FastAPI는 Python기반의 백엔드 프레임워크입니다.높은 성능과 개발자 친화적인 특징을 지어, 웹 애플리케이션 개발에 인기를 얻고 있는데요,FastAPI를 사용해서 견고한 백엔드 시스템 구축하는 과정을 초기설정,배포,모범 사례를 통해 살펴보도록하겠습니다.  1. FastAPI 소개FastAPI는 REST API 원칙을 중심으로 설계된 Python기반 백엔드 프레임워크임. 주요 특징은 다음과 같습니다.1) 비동기 프로그래밍 지원 async 및 await 키워드를 사용하여 비동기 I/O 작업을 손쉽게 처리 가능I/O 바운드 작업(데이터베이스 요청, API 호출 등)에서 성능 향상2) 자동 API문..
[Azure] Vector DB 선택하기✅ Azure AI Search vs Cosmos DB Azure를 이용해 RAG기반의 LLM 챗봇을 구현하고자할 때 챗봇 구현의 경우 목적과 기능에 따라 다르지만,일반적으로는 DB를 다음과 같이 선택할 수 있음! Azure AI Search가 더 적합한 경우:다양한 문서/데이터를 기반으로 하는 QA 챗봇PDF, Word, PowerPoint 등 다양한 문서 형식 처리 가능내부 문서, 매뉴얼, FAQ 등을 검색해서 답변RAG(Retrieval-Augmented Generation) 패턴 구현최신 정보로 쉽게 업데이트 가능더 정확한 검색과 관련 컨텍스트 제공다국어 지원이 필요한 경우검색 품질 최적화가 중요한 경우 Cosmos DB가 더 적합한 경우:대화 이력 관리가 중요한 챗봇사용자와의 대화 기록 저장/조회사용자 프로필/선호도 관리실시간 트랜잭션 처리가 필요한..
[Crawler] 네이버 지도 크롤링 - 여러 URL을 하나의 탭에서 크롤링 검색어가 정해져있을 때, 드라이브 한탭 에서 크롤링 하는 방법 📌크롤링할때마다 새 창이 켜져서 예상시간 3일뜨는 거보고 남기는 기록,,- 하나의 탭에서 크롤링 할수 있게 수정했고 10시간정도로 줄였다. 네이버 지도를 크롤링할 때, 주로 페이지번호 1, 페이지 번호 2 등 페이지 번호 기준으로 크롤링을 한다.그러나 검색어를 지정하고, 검색어별/URL별로 크롤링을 해야할 때 속도와 성능을 최적화하는 코드를 설명해보고자 한다.   def crawl_multiple_naver_places(urls_data): driver = None all_places_data = [] try: # Chrome 드라이버 한 번만 초기화 driver = webdriver.Chrome()..
[SQL] 기본 구문 | SELECT 절, WHERE절, ORDER BY절 select절은 조회, where 절은 행에 제약조건을 거는 것이고, order by절은 컬럼의 정렬기준(ASC,DESC)을 거는 것 SELECT 기본 구문 - 연산자, 컬럼 별칭 select 컬럼명 from 테이블명 [as 별칭] select 컬럼명, 컬럼명 [, .....] => 조회할 컬럼 지정. *: 모든 컬럼 from 테이블명 => 조회할 테이블 지정. 컬럼명 [as 별칭] ==> 컬럼명에서 조회한 것을 별칭에 저장해서 보여준다 SQL: 대소문자 구분 안함. (값은 구분) SELECT절 - 조회 use hr; # hr 데이터 베이스를 사용 #emp테이블의 모든 칼럼의 모든 항목을 조회 select * from emp; #emp테이블의 직원 ID(emp_id), 직원 이름 (emp_name), 업..
[DBeaver] Unknown database 에러 원인: DB에 존재하지 않는 스키마를 입력함 (나의 경우, username을 저기에 씀) 해결 방법 : 1.연결하고자하는 DB 선택후 우클릭 > Edit Connection 선택 2. Server Host 밑에 Database : 입력하는 곳(hr적어둔 곳)에 연결하려는 존재하는 DB이름을 작성하거나 , 빈칸으로 둔다
[DBeaver] Public Key Retrieval is not allowed 문제 : MySQ을 DBeaver에 연결하려고했는데 Public Key Retrieval is not allowed 해결 : DB우클릭 > Edit Connection을 클릭 Connection settings창에서 Driver properties 클릭 > allowPublicKeyRetreval 을 True로 바꿔준다 > 확인 버튼 참조 : https://computer-science-student.tistory.com/719
[Selenium] 'WebDriver' object has no attribute 'find_element_by_css_selector' 오류 및 해결방법 셀레니움 오류 'WebDriver' object has no attribute 'find_element_by_css_selector' Selenium의 경우 라이브러리 제작자 측에서 업데이트가 잦음. 따라서 더이상 Webdriver에서 find_element_by_css_selector를 제공하지 않는 문제 find_element_by_css_selector find_element_by_xpath find_element_by_class_name find_element_by_id find_element_by_link_text find_element_by_name => 기존의 문법이 find_element 로 통일되었음(아래 참고) 해결 1. 반드시 selenium.webdriver.common.by를 im..