본문 바로가기

전체 글74

Spring Boot에서 한국투자증권 Open API 연동하여 실시간 주식 정보 조회하기 이화여대 컴퓨터공학과 캡스톤 졸업 프로젝트로 주식 투자 입문에 진입 장벽을 느끼는 2030세대를 위한 초보자용 모의 투자 서비스, EASY-STOCK를 개발하게 되었다. 실시간 주식 정보를 조회하기 위해 증권사 Open API를 연동하기로 했는데, 우리 팀은 JAVA 기반의 Springboot 프레임워크를 사용하고 있었기 때문에 HTTP RESTful API 방식으로 Java에서 쉽게 호출이 가능한 한국투자증권 Open API를 채택하게 되었다. 😃 먼저 개발 전에 API 키를 받기 위해 설정해야 하는 것은 다음과 같다. 한국투자증권 계좌 개설개발자 센터 사이트에 접속 후 오른쪽 상단의 'API신청'로그인(본인인증) 후, KIS Developers 서비스 신청하기API 키 발급받기1. accessTok.. 2025. 5. 19.
[프로그래머스] 해시 - 완주하지 못한 선수 https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 해시 언제 사용하면 좋을까?1. 리스트를 쓸 수 없을 때 리스트는 숫자 인덱스를 이용하여 원소에 접근하는데 즉 list[1]은 가능하지만 list['a']는 불가능함.인덱스 값을 숫자가 아닌 다른 값 '문자열, 튜플'을 사용하려고 할 때 딕셔너리를 사용하면 좋음. 2. 빠른 접근 / 탐색이 필요할 때 딕셔너리 함수{} 의 시간복잡도는 대부분 O(1)이므로 아주 빠른 자료구조다. 3. 집계가 필요할 때.. 2024. 12. 10.
[Springboot] 구글 SMTP 서버로 Mail 보내기 1. 기본 구글 설정 2단계 인증 후, 앱 비밀번호를 생성하고 메모장에 적어둔다. 2. build.gradle에 의존성 추가 //stmpimplementation 'org.springframework.boot:spring-boot-starter-mail' 참고로 의존성 설정을 이런 식으로 여러 개 해줬더니 implementation 'org.springframework.boot:spring-boot-starter-mail'implementation group: 'com.sun.mail', name: 'javax.mail', version: '1.6.2'implementation group: 'com.sun.mail', name: 'smtp', version: '1.6.2'org.springframewor.. 2024. 12. 6.
Yahoo Finance로 회사별 주식 데이터 가져오기 이번에 이화여대 컴퓨터공학과 캡스톤 졸업 프로젝트로 '주식 투자 입문에 진입 장벽을 느끼는 2030세대를 위해 AI 챗봇을 활용하여 쉽게 주식 투자를 학습할 수 있는 초보자용 모의 투자 서비스' 를 개발하게 되었다.  우리는 AI 챗봇 모델로 GPT 4.0 Turbo 모델을 사용하기로 결정했고, 모델을 우리 서비스에 맞게 주식에 대한 질의응답이 가능하게 하려면 JSON 형식의 데이터를 넣어주어야 한다. 이를 위해서 우리팀은 Yahoo Finance API 를 사용해서 데이터를 가져오기로 했다. python 기반의 google Colab를 사용하였다. 1. Yahoo Finance 주식 데이터 가져오기 import yfinance as yf# 주식 데이터 가져오는 함수def get_stock_data(ti.. 2024. 11. 25.
[프로그래머스] 스택/큐 - 기능개발 https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr def solution(progresses, speeds): answer = [] days = 0 cnt = 0 while progresses: if progresses[0]+speeds[0]*days >= 100: progresses.pop(0) speeds.pop(0) cnt += 1 # 마지막 값.. 2024. 10. 7.
[프로그래머스] 스택/큐 - 같은 숫자는 싫어 https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr def solution(arr): answer = set(arr) return answerprint(solution([1,1,3,3,0,1,1])) # {0, 1, 3}print(solution([4,4,4,3,3])) # {3, 4} set()을 사용하면 순서 보장 x라서 무작위로 출력된다. def solution(arr): answer = [] for i in ar.. 2024. 10. 7.
[프로그래머스] 해시 - 완주하지 못한 선수 https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 해시 언제 사용하면 좋을까?1. 리스트를 쓸 수 없을 때 리스트는 숫자 인덱스를 이용하여 원소에 접근하는데 즉 list[1]은 가능하지만 list['a']는 불가능함.인덱스 값을 숫자가 아닌 다른 값 '문자열, 튜플'을 사용하려고 할 때 딕셔너리를 사용하면 좋음. 2. 빠른 접근 / 탐색이 필요할 때 딕셔너리 함수{} 의 시간복잡도는 대부분 O(1)이므로 아주 빠른 자료구조다. 3. 집계가 필요할 때.. 2024. 10. 2.
AWS ipv4 과금 정책에 따른 배포 수정(alb nginx로 대체, rds 퍼블릭 액세스 차단) AWS에서 2024년 2월부터 public ipv4 정책이 변경되었다는 것을 다들 알고 계실지 모르겠다! 공지 – AWS Public IPv4 주소 요금 변경 및 Public IP Insights 기능 출시 | Amazon Web ServicesAWS에서 퍼블릭(Public) IPv4 주소에 대한 새로운 요금이 도입됩니다. 2024년 2월 1일부터 서비스 연결 여부에 관계없이 모든 퍼블릭 IPv4 주소에 대해 시간당 IP당 0.005 USD의 요금이 부과됩니다. 계정에aws.amazon.com일단 난 몰랐다 🤣 다들 많이 쓰시는 ec2 + route53 + alb 조합으로 배포를 했다가 정책이 바뀌면서 요금이 계속 나와서 해결법을 고민하는 분들을 위해 나의 4개월간의 삽질 기록을 공유하고자 한다! 열심.. 2024. 6. 30.
[Git] submodule 사용법 https://yoo-dev.tistory.com/52 [Git] 깃 서브모듈(Submodule) Submodule Git Submodule은 하나의 저장소(부모)에 다른 저장소(자식)를 두고 관리하기 위한 도구로, 하나의 프로젝트에서 다른 프로젝트를 함께 사용해야 하는 경우에 많이 사용한다. 나는 프로젝트는 yoo-dev.tistory.com private repository에서 commit&push cd .\src\main\resources\ git checkout origin/main(메인 브랜치로 꼭 바꿔주기) 개발 레포 dev 브랜치에서 git submodule update 개발 레포 dev 브랜치에서 commit&push git pull --rebase origin dev 하면 dev 최신 버.. 2024. 1. 9.