Home

토스 다른 글자 찾기 자동화

2024년 10월 토스에서 한글날 이벤트로 진행한 다른 글자 찾기 이벤트를 CV를 이용해 자동화 해보고자 진행한 프로젝트 입니다. 이벤트 화면에 들어가면 아래와 같은 화면에서 다른 글씨를 찾게 됩니다. 위 이미지를 예로 보게 된다면 재촉과 같이 생긴 단어들 중 재쵹을 시간 안에 눌러줘야 합니다. 처음에는 직접 손으로 눌러보고자 했지만 3단계, 4단계를 넘어가며 5단계를 마주한 순간 “아.. 이건 정말 운이 좋아야 할 수 있겠구나”라는 말이 나올 정도로 제한 시간이 짧아졌습니다. 그렇다면 당시 Mac OS에 추가된 기능인 아이폰 미러링 기능을 사용하여 맥에서 자동으로 화면을 클릭해 문제를 풀어보자는 생각이...

Read more

현맨틀 프로젝트

기존 서비스 중인 꼬맨틀의 단어 유사도 문제를 해결하기 위해 시작한 프로젝트입니다. 꼬멘틀의 경우 영어 버전인 Sementle을 한국어화 한 버전으로 단어를 입력하는 경우 정답 단어와의 유사도를 보여줍니다. 기본적으로 꼬맨틀은 word embedding을 기반으로 벡터의 유사도를 비교하는 방식을 사용하고 있습니다. 그렇다면 단어 유사도가 낮게 나오는건 사전 학습된 벡터의 값에 문제가 있는게 아닐가 하는 생각이 들었고 이 프로젝트를 시작하게 되었습니다. 꼬맨틀이 사용한 한국어 모델 꼬맨틀은 FastText라는 라이브러리를 사용하였습니다. FastText는 facebook에서 제작한 모델로 위키피디아에 내...

Read more

주식 자동화를 위한 백테스팅

[2024] 주식 자동화를 위한 백테스팅 유진투자증권 Champion Open API를 이용해 주식 자동화 프로그래을 개발하기 전 과거 투자시 변화의 정도를 대략적으로 확인하기 위한 백테스팅입니다 TQQQ와 SCHD를 분기별, RSI 기준으로 리벨런싱 하는 방식으로 10000달러로 시작해 최종 수익금, 수익률, 최대 낙폭을 계산해서 출력합니다 테스트 진행을 위한 yfinance, ta 모듈 설치 테스트를 하기 위해서 야후 파이낸스의 데이터를 불러올 수 있는 yfinance 모듈과 rsi 값을 불러오기 위한 ta 모듈이 필요합니다 !pip install yfinance !pip install ta ...

Read more

Pyeugene

pyEugene (python + Eugene Open API) pyEugene은 유진투자증권에서 제공하는 Champion Open API를 쉽게 사용하기 위한 비공식 python wrapper입니다. 사내에서 제공하는 ocx 파일을 python을 이용해 쉽게 사용하고자 진행한 개인 프로젝트 입니다. pyEugene의 구조 pyEugene은 ocx에 익숙하지 않은 사용자들을 위해 최대한 쉽게 사용이 가능하도록 개발되었습니다. 쉽게 사용하도록 정리한 기능은 아래와 같습니다. Eugene Champion Open API에서 제공하는 ocx의 구조 유진투자증권 버전처리 프로그램의 작동 구조 기본적인 컨트...

Read more

Boj 1011

[백준] 1011번 Fly me to the Alpha Centauri 거리에 따라 생기는 규칙을 파악하면 풀기 쉬운 문제입니다. 3 = 1, 1, 1 4 = 1, 2 ,1 5 = 1, 2, 1, 1 6 = 1, 2, 2, 1 7 = 1, 2, 2, 1, 1 8 = 1, 2, 2, 2, 1 9 = 1, 2, 3, 2, 1 과 같은 규칙을 가지고 있음으로 제곱수의 경우 sqrt(n) - 1, 다음 제곱 수까지의 수 절반 이하의 경우 sqrt(n), 절반 이후의 경우에는 sqrt(n) + 1을 가지고 있는 것을 볼 수 있습니다. 위와 같은 규칙을 이용해 아래와 같이 풀면 됩니다. #include <io...

Read more

블록체인 가상머신

이더리움 가상 머신 소개 Ethereum 가상머신 즉 EVM은 Ethereum 스마트 컨트랙트를 위한 런타임 환경이다. 이것은 완전히 독립되어 있기 때문에 다른 프로세스 등에 접근할 수 없다. 심지어 스마트 컨트랙트는 다른 스마트컨트랙트에 접근이 제한적으로 불가능하다. 계정 Ethereum 내에는 같은 공간을 공유하는 2개의 계정이 있다. 외부계정은 사람이 가지고 있는 비밀키, 비밀키 쌍으로 동작되며, 컨트랙트 계정은 계정과 함께 저장된 코드에 의해 동작된다. 일단 계정이 코드를 저장하든 아니든 상관없이 두 종류는 모두 EVM 내에서 동일하게 다뤄진다. 모든 계정들은 256비트의 문자열이 서로 키...

Read more

블록체인 개요

블록체인 개요 트랜잭션 - 만약 데이터베이스에 어떤 것을 변경하려고 한다면 트랜잭션을 만들어야하며, 다른 모두가 동의해야 한다. 트랜잭션은 항상 만든 사람에 의해 암호화된다. 그래서 데이터베이스를 직접 수정하려는 것을 차단할 수 있다. 블록 - 비트코인이 극복해야하는 가장 큰 장애물은 “이중 지불 공격”이다. 계정을 초기화 할 2개의 트랜잭션이 동시에 일어난다면 먼저 들어온 하나의 트랜잭션만이 유효할 것이고, 두 번째 트랜잭션은 거절되고 블록의 일부가 되지 않을 것이다. ...

Read more

공유 라이브러리

정적 라이브러리와 공유 라이브러리 기본적으로 라이브러리는 비슷한 기능을 하나의 파일로 묶어서 해당기능을 재사용 할 수 있게 해주는 설계기법이다. 정적라이브러리는 응용프로그램을 컴파일하고 링킹하는 시점에서 정적으로 결합된다. 공유라이브러리는 응용프로그램을 빌드해서 링킹할 때 공유라이브러리의 어떤 기능을 사용할 것이다라고 표시만 해두고, 응용프로그램과 라이브러리의 결합은 응용프로그램이 실행될 때 이루어 진다. 컴파일이란 사용자가 만든 소스를 기계어인 어셈블리어로 바꿔주는 과정을 말한다...

Read more