본문 바로가기

분류 전체보기252

[디자인패턴] 싱글톤(Singleton) 패턴에 대한 이해 개요 싱글톤 패턴은 클래스의 인스턴스화를 단일 인스턴스로 제한하는 소프트웨어 디자인 패턴입니다. '인스턴스'는 프로그래밍 언어마다 지칭하는 표현이 약간 다르지만 일반적으로 정의한 클래스를 현실화한(realized) 객체를 의미합니다. '인스턴스화'는 정의한 클래스 현실화를 의미합니다. 인스턴스화한 단일 인스턴스 하나를 계속 재사용하는 방식입니다. 주로 프로그램 전반에 전역으로 사용해야 하는 경우 싱글톤 패턴을 활용할 수 있습니다. 구현 코틀린에서는 object 키워드를 사용하여 싱글톤 패턴 클래스를 작성할 수 있습니다. object DataProviderManager { fun registerDataProvider(provider: DataProvider) { // ... } val allDataProv.. 2023. 8. 9.
[프로젝트] 강화학습 비트코인 자동 매매 봇 강화학습 비트코인 자동매매 봇23-1학기 컴퓨터공학특강 개인 프로젝트 프로젝트 개요분류 : 인공지능(강화학습)일시 : 2023.03 ~ 2023.06스택 : Python, Numpy주제 : 강화학습을 활용한 비트코인 자동매매 봇역할 : 개인 프로젝트 프로젝트 소개23-1학기 컴퓨터공학특강 수업에서 개인 프로젝트로 진행한 강화학습 활용 비트코인 자동 매매 봇입니다.자동매매 봇을 구현하기 위해 인공지능을 활용한 시도는 많습니다. 허나 강화학습을 활용한 자동매매 봇 구현에 대한 내용을 찾아보기 어려웠습니다. 평소 강화학습에 대한 흥미가 있기에 강화학습을 활용하여 자동매매 봇을 개발, 성능 개선을 개인 프로젝트로 진행했습니다. 프로젝트 기여 및 배운 점강화학습 Q-Learning 이해Numpy로 모델 직접 구현.. 2023. 8. 6.
[Android] 숭파이 - 숭실대 인터넷 문제 해결 앱 숭파이 숭실대학교 교내 인터넷 문제 해결 앱 프로젝트 개요 분류 : 모바일 앱 일시 : 2022.09 스택 : Swift, SwiftUI / Kotlin, Jetpack Compose 주제 : 숭실대학교 교내 인터넷 문제 역할 : iOS, android 앱 개발 프로젝트 소개 숭파이(Soongfi)는 숭실대학교 교내 인터넷 문제 해결 앱입니다. 숭실대학교 교내 무선 인터넷은 연결 시 자동 팝업되어야 할 학부생 인증 포탈이 팝업되지 않아 인터넷 인증이 불가능한 문제가 있습니다. 이 문제를 해결하기 위해 API 테스트 툴 Postman을 활용하여 숭실대학교 학부생 인증 포탈을 우회적으로 접속하는 방법을 찾았습니다. 해결 방법을 자동화하여 이를 원클릭 앱으로 개발, 배포하였습니다. 프로젝트 기여 및 배운 점 .. 2023. 8. 6.
[React Native] 체크드 - 독서 기록 앱 체크드독서 기록 앱 프로젝트 개요분류 : 모바일 앱일시 : 2022.03 ~ 스택 : React-Native, Styled-Component / Firestore, Firebase Authentication주제 : 독서 기록역할 : 개인 프로젝트 프로젝트 소개체크드(Checked)는 독서 기록 모바일 어플리케이션입니다.단순한 독서 진도 기록 뿐만 아니라 '금주의 명언', 다른 사용자가 읽은 책을 확인할 수 있는 '사람들이 방금 읽었어요', '큐레이터 추천 도서' 기능을 추가적으로 제공합니다.  프로젝트 기여 및 배운 점React-Native 모바일 앱 개발Atomic Design 적용CodePush 적용iOS, android 앱 기획, 개발, 출시 전 과정 경험도서 검색 기능 구현 - (카카오 도서 AP.. 2023. 8. 6.
[자동매매] 23-08-05 모델 개선, 실제 도입 학기 수업에서 진행한 자동매매 봇 업데이트 기록입니다. 맥 미니 입양 중고로 맥 미니를 입양했습니다. 맥 미니에서 실제 매매, 모델 학습을 24시간 돌리고 있습니다. 항상 들고 다니는 맥북으로 원격 접속이 가능해서 편하게 모니터링할 수 있습니다. 모델 개선 : 리워드 리워드 지급 방식을 개선하였습니다. 제가 실제 도입하여 거래를 쭉 지켜본 결과 당연하지만 놓친 부분이 있었습니다. 업비트 거래 수수료입니다. 이전 모델은 수수료를 감안하지 않아 손해를 보는 경우까지 올바른 선택으로 간주, 학습하고 있었습니다. 업비트 거래 수수료를 반영하여 리워드를 지급하도록 모델을 학습시켰습니다. 모델 개선 : 거래 기간 증가 모델이 매수, 매도를 결정하는 거래 기간을 증가했습니다.(표현이 좀 이상하네요..) 6시간으로(3.. 2023. 8. 5.
[알고리즘/기초] 피보나치 수 알고리즘의 기초 이론 중 하나인 피보나치 수에 대하여 간단하게 기록한 글입니다. 정의 피보나치 수는 첫째 항, 둘째 항이 1이고 N번째 항이(N>=2) 직전 두 항의 합을 값으로 가지는 수열입니다. 1. 연습 문제 기본적인 피보나치 수 관련 문제입니다. 2747번: 피보나치 수 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 1-1. 방법 (시간 초과) 재귀적인 방식으로 솔루션을 작성할 수 있습니다. 허나 이 방식으로는 연습 문제를 해결할 수 없습니다. 연습 문제의 시간 제한이 1초이기 때문입니다. #.. 2023. 8. 5.