분류 전체보기
-
비트코인 트레이딩 봇 만들기 (2) - 로컬 환경에서 자동 매매 실행Dev/Python 2022. 9. 1. 21:00
자동매매 실행하기 1. 로컬 환경에서 실행 클라우드에서 24시간 자동 매매를 실행하기 전 로컬 환경에서 테스트를 해보자. # main.py import os import pyupbit import time, datetime import pandas as pd import numpy as np ACCESS_KEY = os.environ['ACCESS_KEY'] SECRET_KEY = os.environ['SECRET_KEY'] upbit=pyupbit.Upbit(ACCESS_KEY, SECRET_KEY) #K 30일마다 갱신해주자 def GET_TARGET_PRICE(K): df = pyupbit.get_ohlcv("KRW-BTC", count=2) gap = df['high'][0] - df['low']..
-
[BOJ/python]1707번 이분 그래프알고리즘/BOJ 2022. 8. 30. 20:24
백준 1707번 이분 그래프 파이썬 문제 링크 - https://www.acmicpc.net/problem/1707 1707번: 이분 그래프 입력은 여러 개의 테스트 케이스로 구성되어 있는데, 첫째 줄에 테스트 케이스의 개수 K가 주어진다. 각 테스트 케이스의 첫째 줄에는 그래프의 정점의 개수 V와 간선의 개수 E가 빈 칸을 사이에 www.acmicpc.net 두 개의 그룹으로 노드를 나누고, 하나의 그룹의 노드끼리 연결되지 않도록 해야 한다. 문제를 보자마자 간단한 분리 집합 문제라고 생각했다. 하나의 노드를 기준으로 설정하고, 연결된 노드들을 모두 union 한다. 이 때 같은 부모를 가지는 집합에서 연결된 노드가 있다면 ‘NO’를 출력한다. 하지만 굳이 union을 할 필요 없이 BFS만으로도 간단..
-
[OS]Blocking/Non-Blocking/Sync/Async의 차이를 설명할 수 있는가?카테고리 없음 2022. 8. 13. 10:52
0. 들어가기 전 Blocking vs Non-blocking & 동기 vs 비동기 이거 정말 차이가 있는 거 맞나? 그냥 같은거 아닐까. 사실 대부분의 조건에서 이들은 비슷한 상황을 설명한다. 기본적인 개념은 Blocking/Non-Blocking은 호출되는 함수가 호출한 함수에게 제어권을 넘겨주는 방식인지 넘겨주지 않는 방식인지에 대한 구분이다. 동기/비동기는 호출되는 함수의 작업 완료 시 호출한 함수가 결과를 즉시 처리하는 방식인지 나중에 처리하는 방식인지에 대한 구분이다. 두 작업의 시간이 어떻게 다루어지는 지가 중요하다. 다른 블로그에서 비슷하게 적은 것을 많이 봤을 것이다. 하지만 난 도저히 이해가 안된다. 그래서 최대한 블로그를 많이 참고하고 내가 이해가 가능한 글들만 모아서 간단하게 정리해..
-
[BOJ/python]9370번 미확인 도착지점 + 오답 이유알고리즘/BOJ 2022. 8. 9. 21:55
백준 9370번 미확인 도착지점 파이썬 문제 링크 - https://www.acmicpc.net/problem/9370 9370번: 미확인 도착지 (취익)B100 요원, 요란한 옷차림을 한 서커스 예술가 한 쌍이 한 도시의 거리들을 이동하고 있다. 너의 임무는 그들이 어디로 가고 있는지 알아내는 것이다. 우리가 알아낸 것은 그들이 s지점에서 www.acmicpc.net 생각지도 못한 곳에서 계속해서 오답이 발생했다. 아마 나처럼 오답을 받고 검색하는 사람들이 꽤 될 것 같은 문제다. 최단 거리를 이동하면서 h→g 경로를 선택하는 경우가 무엇을 의미하는 지 파악하는 것이 중요하다. s→g 까지의 최단거리가 s→h→g 인 경우에 h→g 경로를 선택하게 된다. 반대로 s→h 까지의 최단거리가 s→g→h 인 경..
-
[BOJ/python]1477번 휴게소 세우기알고리즘/BOJ 2022. 8. 9. 15:51
백준 1477번 휴게소 세우기 파이썬 문제 링크 - https://www.acmicpc.net/problem/1477 1477번: 휴게소 세우기 첫째 줄에 현재 휴게소의 개수 N, 더 지으려고 하는 휴게소의 개수 M, 고속도로의 길이 L이 주어진다. 둘째 줄에 현재 휴게소의 위치가 공백을 사이에 두고 주어진다. www.acmicpc.net 프로그래머스의 징검다리와 유사한 문제였다. - https://school.programmers.co.kr/learn/courses/30/lessons/43236 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 만약 완전탐..
-
[BOJ/python]1655번 가운데를 말해요알고리즘/BOJ 2022. 8. 8. 12:59
백준 1655번 가운데를 말해요 파이썬 문제 링크 - https://www.acmicpc.net/problem/1655 1655번: 가운데를 말해요 첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 백준이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net N=10만이고 시간 제한이 0.1초인 문제다. 가운데 값이 갱신되는 블랙 박스가 있다고 할 때, 삽입과 조회가 모두 O(log N)안에 해결되어야 한다. B+tree가 생각났는데 이 때부터 계속 트리 구조를 수정하면서 그림을 그렸다. 제대로 구현되는 게 없어서 힌트를 보고 풀었다. 우선순위 큐를 사용하여 가운데에서 가장 가까운 ..
-
[Network]링크 계층의 다중 접속 프로토콜이란?CS/Network 2022. 7. 31. 22:28
1. 링크 계층 기본적으로 링크 계층의 역할은 한 노드에서 인접한 노드로 데이터그램을 직접 이동시키는 것이다. 1.1 링크 계층의 서비스 프레임화 : 링크 계층 프로토콜은 네트워크 계층 데이터그램을 링크상으로 전송하기 전에 링크 계층 프레임으로 캡슐화한다. 링크 접속 : 링크 계층의 프로토콜인 MAC(Medium Access Control, 매체 접속 제어)프로토콜은 링크상으로 프레임을 전송하는 규칙에 대하여 명시한다. 점대점의 단순한 상황에서는 송신자는 링크가 사용되지 않을 때마다 프레임을 전송할 수 있다. 만약 여러 노드가 링크를 공유하는 경우 MAC 프로토콜을 통해 여러 노드의 프레임 전송을 조정해야 한다. 신뢰적 전달 : 일반적으로 광섬유, 동축케이블, 꼬임쌍선을 이용하는 링크 계층에서의 오류는 ..
-
[Network]신뢰적인 데이터 전송과 TCP(2)CS/Network 2022. 7. 31. 22:27
[Network]신뢰적인 데이터 전송과 TCP UDP와 TCP의 가장 큰 차이는 TCP가 신뢰적인 데이터 전송을 기반으로 하는 프로토콜이라는 것이다. 이번 글에서는 신뢰적인 데이터 전송이란 무엇인 지 알아본 뒤 다음 글에서 본격적으로 TCP에 대 frog-in-well.tistory.com 지난 글에서는 신뢰적인 데이터 전송이 무엇인 지 알아보았다. 이번 글에서는 TCP에서 어떻게 신뢰적 데이터 전송이 이루어지는 지 알아보자. 1. TCP 1.1 TCP 연결 TCP는 애플리케이션 프로세스가 다른 프로세스로 메시지를 전달하기 전에 “핸드셰이크"를 하기 때문에 연결지향형 프로토콜이라고 한다. 세 방향 핸드셰이크를 통해 연결이 설정되면 두 애플리케이션 프로세스는 서로 데이터를 보낼 수 있다. 다시 설명하자면 ..