본문 바로가기
반응형

분류 전체보기10

파이썬 FastAPI를 이용한 API 프로젝트 만들기 (1) - 스크래핑 API 만들기 이전 글에서 채용 정보의 모델(ORM)을 설계하고,간단하게 등록 & 조회하는 API 까지 만들어 보았다. 이전 글 : 파이썬 FastAPI를 이용한 API 프로젝트 만들기 (0) - 소개 및 예제 다음으로, 채용 정보를 자동으로 스크랩하고 DB에 저장하는 예제를 알아 보도록 하자.채용 정보의 HTML 구조 - 원티드원티드에서 원하는 검색어(기술스택?)로 조회한 결과 페이지안에 있는 포지션 탭의 채용 정보를 스크래핑 할 것이다.URL 패턴은 https://www.wanted.co.kr/search?query={keyword}&tab=position 이렇게 구성이 되어있는데원하는 키워드만 URL의 쿼리 파라미터로 전달하면 될 것 같다.다음 이미지는 “flutter” 키워드로 검색한 화면이다. - https.. 2024. 11. 26.
파이썬 FastAPI를 이용한 API 프로젝트 만들기 (0) - 소개 및 예제 FastAPI란?Python의 웹 프레임워크하면, 보통 Django와 Flask가 떠오를 것이다.2023년부터 성능과 개발편의성에 최적화된 FastAPI가 등장하면서 급 부상 중이다.FastAPI 특징빠름: (Starlette과 Pydantic 덕분에) NodeJS 및 Go와 대등할 정도로 매우 높은 성능. 사용 가능한 가장 빠른 파이썬 프레임워크 중 하나.빠른 코드 작성: 약 200%에서 300%까지 기능 개발 속도 증가.적은 버그: 사람(개발자)에 의한 에러 약 40% 감소.직관적: 훌륭한 편집기 지원. 모든 곳에서 자동완성. 적은 디버깅 시간.쉬움: 쉽게 사용하고 배우도록 설계. 적은 문서 읽기 시간.짧음: 코드 중복 최소화. 각 매개변수 선언의 여러 기능. 적은 버그.견고함: 준비된 프로덕션 용 .. 2024. 11. 26.
파이썬 웹 스크래핑 - 멜론 음원 추출 시작하기에 앞서, 파이썬을 최근에 공부하면서 스크래핑이라는 단어를 처음 들었다. 크롤링은 들어봤는데.. 스크래핑은 무엇인가..? 프로젝트를 진행하면서, 크롤링 업무를 맡은 적이 꽤 있는데 내가 했던 건 대부분 스크래핑이었던 것 같다.. 그리고, 스크래핑의 유리한 언어가 파이썬이라고 해서 이렇게 글을 작성하게(?) 되었다. 프로젝트 선정 과정 유튜브 프리미엄을 유료 구독을 하게되면 유튜브 뮤직을 무료로 이용할 수 있다. 이미 멜론 스트리밍 서비스를 유료로 사용하고 있던 나에게 고민이 찾아왔다… 약 2016년부터 7~8년간 3,000곡의 플레이리스트가 멜론에 저장되어있다. 위의 플레이리스트를 오차 없이 유튜브 뮤직으로 옮기게 된다면… 많은 이점(절약? 동기화? 등)이 있을 것 같아 멜론의 음원들을 유튜브 뮤.. 2024. 3. 29.
SNS 로그인 - Spring OAuth2 Client SNS 로그인 - Spring OAuth2 Client OAuth2란? 개념 OAuth(Open Authorization) : 인터넷 사용자들이 비밀번호를 제공하지 않고, 다른 웹사이트 상의 자신들의 정보에 대해 어플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로써 사용되는 위임 권한부여를 위한 표준 프로토콜이다. 💡 `OAuth2`는 `OAuth`의 알려진 보안 문제 등을 개선한 버전임 주요 용어 이름 설명 Authentication (인증) 접근 자격이 있는지 검증하는 단계 Authorization (인가) 자원에 접근할 권한을 부여하는 것이며, 인가가 완료되면 리소스 접근 권한이 담긴 Access Token이 클라이언트에게 부여 Access Token 리소스 서버에게서 리소스 소유자의 보호.. 2023. 7. 24.
람다를 사용해야 되는 이유 람다를 사용해야 되는 이유 람다와 스트림의 개념 들어가기 앞서서, 람다식과, 람다하면 빼놓을 수 없는 스트림의 개념을 정리해보자. 람다식은 하나의 표현법으로 익명 함수를 간결하게 표현하는 방법이다. → 자바 8부터 도입된 함수형 프로그래밍을 지원하기 위한 기능이다. 표현법은 다음과 같다. (매개변수1, 매개변수2, ...) -> { 구현 } 스트림이란 마찬가지로 자바 8부터 도입된 기능으로, 컬렉션을 처리하고 다양한 연산을 수행하는데 사용하는 API이다. 주로 컬렉션의 저장된 요소를 하나씩 참조하여 람다식으로 처리할 수 있다. 그렇기 때문에 람다와 스트림은 밀접한 관계를 가지고 있다. 아래의 첨부한 사진을 보면 이해가 쉽다. 다음 사진은, 일반적으로 컬렉션 요소를 처리할때 사용하는 for문에서 사용하는 .. 2023. 6. 5.
스프링 API 비동기 논블로킹 방식 호출 스프링 API 비동기 논블로킹 방식 호출 (How to call API with async-nonblocking method) RestTemplate To WebClient 도입계기 💡 외부의 대량데이터를 API를 이용하여 내부 DB에 저장해야되는 니즈가 있었다. [초기 적재에 필요한 시간 비용 측정] 콘텐츠 개수 : 98,250 이미지 개수 : 306,654 콘텐츠 목록 조회 : 1번 조회시 최대 100건 (호출 당 5초 정도 소요) → 983(98,250 / 100)번 조회 필요 983(호출수) x 5(초) = 4915초 = 약 82분 콘텐츠 상세 조회 : 98,250번 (호출 당 1초 미만) 98,250(호출수) x 1(초) = 98,250초 = 1,638분 = 약 27시간 = 약 1일 3시간소요 .. 2023. 3. 27.
2022년 회고 2022년 회고 개발자로 일하면서 회고를 처음 끄적여본다… 어떻게 써야할지 막막하지만 하루빨리 쓰지 않으면 2023년 회고?를 써야 할 날이 올 것 같아 퇴근 후 샤워를 마치고 23시에 부랴부랴 바로 맥북을 열어서 써본다. 2022년 실직자의 서막 2021년 12월에 H사에서 1년만에 퇴직을하고 2022년을 바로 맞이하게 되었다. 내가 느끼기에는 자진퇴사가 아닌 권고사직의 느낌을 받으며 퇴사를 했던 걸로 기억한다. 2021년으로 거슬러 올라가?(2022년 회고지만 거슬러 올라가 보겠다..🤣) H사 입사 한날 대략 11월쯤이였다. 이전부터 같은회사에 있었던 적은 없지만 사수이자 멘토인 팀장님께서 이직을 준비하던 나에게 기가막힌 촉으로 입사제안을 주셨다. 이직의 벽을 느끼고 있을 때쯤 제안을 주신거라 눈이 .. 2023. 2. 6.
엘라스틱서치 가이드 엘라스틱서치 가이드 용어 정리 💡 개념 ES의 개념 용어 색인 (indexing) : 데이터가 검색될 수 있게 원본을 토큰으로 변환하여 저장하는 과정 인덱스 (index, indices) : 색인 과정을 거친 결과물, 색인된 데이터가 저장되는 저장소 → 도큐먼트들의 집합 검색 (search) : 인덱스에 들어있는 검색어 토큰들을 포함하고 있는 도큐먼트를 찾아가는 과정 질의 (query) : 사용자가 원하는 도큐먼트를 찾거나 집계 결과를 출력하기 위해 검색 시 입력하는 검색어 또는 검색 조건 도큐먼트 (document) : 원본데이터를 색인 과정을 통해 색인된 데이터, 문서라고 칭하기도 함, 검색 결과시 여러 개의 도큐먼트 출력 → 단일 데이터 단위 💡 구조 ES의 구조 관련된 용어 클러스터링 : 대용량 .. 2022. 11. 22.
Postman 글로벌 함수 Postman 글로벌 함수 Postman을 사용 하다가.. 여러 HTTP request 의 Pre-request Script에서 공통적으로 호출하는 함수가 필요해(반복이 제일 싫다.. 🤣) 내용을 찾아보다 좋은 방법을 발견하여 간단하게 공유합니다!! Pre-request Script : HTTP호출 전 실행 할 스크립트를 이야기 한다. New 버튼을 클릭하여 Collection 생성 아래와 같이 Pre-request Script 클릭후 공통으로 사용할 함수를 정의 한다. 함수를 정의할 때 var, let으로 변수를 선언하게 되면 Postman의 전역(global) 변수로 선언되기 때문에 변수 타입없이 선언해야합니다. HTTP Request 생성 후 마찬가지로 Pre-request Script 작성 및 H.. 2022. 11. 22.
반응형