ChatGPT 맞춤 설정 - 보다 효율적으로 GPT 사용하기
카테고리 없음2024. 6. 4. 08:49ChatGPT 맞춤 설정 - 보다 효율적으로 GPT 사용하기

🧐 개요오랜만에 작성하는 글이네요. 마지막 포스트를 작성했던 때는 취준생의 입장이었는데, 지금은 어느 기업에서 신입 소프트웨어 엔지니어로 일하고 있습니다. 사실 취업을 준비하면서 Smart Factory 관련 프로젝트를 진행하고 있었지만 정말로 이 계열로 취업할 수 있을 줄은 몰랐는데.. 이렇게 일할 수 있게 된 것이 정말 행운이라고 생각하고 있습니다. 각설하고, 이미 너무 많은 사람들이 언급한 내용이지만, ChatGPT는 '맞춤 설정'을 통해 질문에 대한 답변 형식을 교정할 수 있습니다. 설정을 통해 '내가 어떤 목적을 가진 사람이고, 어떤 방식의 답변을 원한다' 라는 지침을 입력하면 ChatGPT가 해당 지침을 기반으로 답변을 작성하게 된다고 합니다. 저는 이곳을 통해 알게 되었는데, 이미 많은 분..

[Python] 파일에 로그를 기록하는 Logger 클래스 만들기
프로그래밍 이모저모/Python2024. 1. 24. 14:05[Python] 파일에 로그를 기록하는 Logger 클래스 만들기

🧐 개요 이번 포스트는 Python 프로그래밍 언어로 클래스를 구현하여 파일에 로그를 기록하는 커스텀 클래스를 작성합니다. 일반적으로 운영체제, 오픈 소스 또는 기업형 소프트웨어를 사용하는 경우에는 로그 파일이 적재 적소에 자동 생성 및 적재됩니다. 하지만 프로젝트 또는 특정 목적의 아키텍처를 직접 설계하는 경우에는 로그 데이터가 자체적으로 생기지 않기 때문에 직접 '로그 데이터를 생성하는 로직을 추가'해 주어야 합니다. Python의 logging 모듈과 logger Python 환경에는 로그를 출력하고 파일로 저장할 수 있는 logging 모듈이 기본으로 제공됩니다(즉 pypi 패키지를 설치할 필요가 없습니다). logging 모듈을 통해 로그를 입력할 수도 있지만, 하위 모듈인 logger을 인스턴..

[Spark] Buffer 단위로 Kafka Streaming 작업 수행하기
데이터 이모저모/Spark2024. 1. 22. 23:59[Spark] Buffer 단위로 Kafka Streaming 작업 수행하기

🧐 개요 이번 시간에는 Buffer 단위로 Kafka Streaming 작업을 수행하는 예제를 다루도록 하겠습니다. Buffer이란 무엇일까? Buffer은 데이터를 일시적으로 저장하는 메모리 공간입니다. 데이터가 '물'이라면, buffer은 '물을 담는 양동이' 정도로 표현할 수 있을 것입니다. 지속적으로 흐르는 물로 세수를 할 수도 있고, 양동이에 담은 물로 논밭에 물을 줄 수도 있는 것처럼 buffer은 일정한 크기의 데이터를 수집하여 한번에 작업을 수행하도록 도와주는 장치입니다. 일반적으로는 실시간 데이터를 수집하는 파트에서 주로 사용되는 개념입니다. Spark Streaming Kafka 앱에서 Buffer을 사용해야 하는 이유 Spark Streaming 어플리케이션의 작업 속도는 결코 빠르다..

[FastAPI] OAuth에 대하여 / 간단한 OAuth 인증 구현해보기
백엔드 이모저모/FastAPI2024. 1. 17. 22:22[FastAPI] OAuth에 대하여 / 간단한 OAuth 인증 구현해보기

🧐 개요 이번 포스트에서는 FastAPI 환경에서 OAuth 인증을 구현하는 과정을 설명합니다. Spotify등의 공공 API 서비스에서는 API 요청을 전송하는 과정에서 Bearer Token 등의 엑세스 토큰의 발급을 요구합니다. 또한 엑세스 토큰을 발급하기 위해서는 계정 생성 시에 발급되는 access token 및 secret token을 요구합니다. 위키백과의 OAuth 설명 OAuth("Open Authorization")는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준이다. 이 매커니즘은 여러 기업들에 의해 사용되는데, 이를테면 아마존, 구..

[Spark/Spotify] 군집화(KMeans/clustering)를 기반으로 한 음원 추천 시스템 구현하기
프로젝트 이모저모2024. 1. 8. 16:53[Spark/Spotify] 군집화(KMeans/clustering)를 기반으로 한 음원 추천 시스템 구현하기

🧐 개요 이번 포스트는 pyspark.ml 내부의 군집화(clustering) 모델을 기반으로 한 추천 시스템 로직 구현 과정을 설명합니다. 군집화란, 유사한 특정을 지닌 데이터들을 그룹으로 묶어주는 분류 방식입니다. 군집화는 비지도학습이기 때문에 사용자의 설정 부여 없이 군집을 자체적으로 생성하므로 '추천 시스템에 과연 적합할까?' 라는 의문이 들으실 수도 있습니다. 그래서 해당 포스트에서는 군집화를 통해 사용자 데이터를 군집화 분석하여 분포 위치를 파악하고, 빅데이터 내 해당 위치 인근에 있는 데이터를 선별하여 추천하는 방식을 설명합니다. 📁 데이터 준비 실습 환경에서 제가 준비한 데이터셋은 아래와 같습니다. 모든 데이터셋은 동일한 스키마를 가지고 있습니다. Spotify 특정 사용자의 플레이리스트(..

[Spark] Kafka Streaming - 인코딩 된 JSON 데이터 가공하기
데이터 이모저모/Spark2024. 1. 6. 01:10[Spark] Kafka Streaming - 인코딩 된 JSON 데이터 가공하기

🧐 개요 Apache Kafka를 통해 발행된 메세지의 Key 및 Value는 (Kafka의 자체적인 로직으로 인해) 인코딩되어 있습니다. 따라서 해당 데이터를 디코딩하지 않으면 읽을 때 데이터가 2진법으로 표기됩니다. Spark-Streaming-Kafka 앱의 경우에도 수신한 Kafka 메세지를 특정 데이터 타입으로 CAST 하도록 공식 가이드에서도 권고하고 있습니다. 메세지가 일반적인 STRING 또는 INTEGER 데이터 타입인 경우에는 그냥 CAST를 진행해 주면 아무런 문제가 없습니다. 문제는 메세지가 JSON 데이터 타입인 경우에 발생하는데, 현재의 Spark는 인코딩된 STRUCT 데이터를 자동으로 디코딩해주지 못합니다. 디코딩을 위해서는 기존 데이터가 가지고 있던 스키마(schema) 정..

image