개발자의 삶 11

개발자 되는 방법 - 국비교육 vs 부트캠프 vs 독학

안녕하세요. 제가 최근에 블로그도 다시 시작하고, 이런 저런 곳에서 상담이나 질문들도 보고 있습니다. 개발자가 되고 싶은 분들이 제법 많아 보이더군요. 개발자가 되고 싶다면 어떻게 해야 할까요? 일반적인 방법들을 알아보도록 하겠습니다. 1. 전공 당연히 대학에서 전공을 하면 됩니다. 왠만큼 열심히 했다면 프로그래밍 능력은 갖추고 있을 겁니다. 졸작이든 취업용 포트폴리오든 만들면서 기본적인 실력만 갖추고 있다면 취업 가능하겠죠. 좋은 스펙(학교, 성적, 실력, 기타)을 갖추고 있다면 대기업이나 "네카라쿠배"에 공채를 노려볼 수도 있겠지요. 실력이 부족하다면 다른 방법을 활용하면 됩니다. 비전공자보다는 유리할 겁니다. 2. 독학 어쩌면 가장 어려운 방법일지도 모르겠습니다. 하지만 불가능하지만도 않습니다. 유..

자동매매 프로그램 알고리즘 종류

안녕하세요. 오늘은 자동매매 프로그램들이 사용하는 전략이랄까요? 알고리즘이랄까요? 주로 사용하는 방법들에 대해 간략하게 알아보겠습니다. 기존에 잘 정리된 개념이나 용어적인 정리들이 있습니다. 그런 부분들은 구글에 검색해보면 많이 나옵니다. 제가 설명하기에 복잡하기도 하고, 역량도 좀 부족합니다. 그래서 저는 초급용으로 알기 쉬운 형태로 적어보겠습니다. 용어들도 전문용어가 아닌 제 임의나 부르기 쉬운 용어들로 하겠습니다. 일단 종류를 알아보기에 앞서 자동매매 프로그램의 목적을 살펴봐야 합니다. 자동매매 프로그램의 목적 사람을 대신하여 매매를 한다. 뇌동매매를 하지 않는다. 사람보다 빠르고 정확한 계산과 판단으로 매매를 한다. 바라는 효과는 더 있을 수 있겠지만 결국 최종적으로 기대하는 목적은 이겁니다. 사..

풀스택(full-stack) 개발자란? 2편

몇 일전에 적었던 풀스택 개발자에 대한 글의 조회수가 조금 있었습니다. 2022.07.29 - [개발자의 삶/상식과 잡담 사이] - 풀스택(full-stack) 개발자란? 풀스택(full-stack) 개발자란? 요즘 여기저기 풀 스택 개발자라는 말을 많이 듣습니다. 저 역시 자칭, 타칭 풀 스택 개발자라고 여겨지고 있죠. 그렇다면 풀스택 개발자란 어떤 의미일까요? 구글에서 검색하면 가장 먼저 나오 nextbrace.tistory.com 사실 다른 글을 적다가 풀스택이란 단어가 들어가길래 간단하게 적었던 글이었는데, 약간은 의외였습니다. 그래서 2편으로 조금 상세하게 개인의 생각을 첨가하여 적어보겠습니다. full-stack developer라는 말은 제가 개발을 처음 시작했을 때만 하더라도 들어보지 못한..

Nodejs 바이낸스 API 연동 - 매도 주문

안녕하세요. 오늘은 어제에 이어 binance api를 활용하여 매도 주문을 넣어보겠습니다. buy(symbol, quoteOrderQty) { client.newOrder(symbol, 'BUY', 'MARKET', { quoteOrderQty: quoteOrderQty }).then((response) => { console.info(response.data) }).catch(error => console.error(error)) } 어제 매수 부분을 위와 같이 바꿨었습니다. 매도도 비슷하게 해 보겠습니다. sell(symbol, quantity, price) { client.newOrder(symbol, 'SELL', 'LIMIT', { quantity: quantity, price: price, ..

Nodejs 바이낸스 API 연동 - 매수 주문

안녕하세요. 어제에 이어 오늘은 node.js로 binance api 연계를 해보겠습니다. 우선 trade.js라는 파일을 생성합니다. 이 파일을 아래와 같이 약간 구조화를 하겠습니다. const API_KEY = require("./apikey.json") const { Spot } = require('@binance/connector') const client = new Spot(API_KEY.BINANCE_API_KEY, API_KEY.BINANCE_API_SECRET) class Trade { } module.exports = Trade apikey와 binance connector는 어차피 쓸거니 미리 선언해줍니다. client도 마찬가지입니다. 그리고 class를 만들어봅니다. 이 클래스 내부..

Nodejs로 바이낸스 API 연동을 해봅시다.

사실 제가 코인 자동매매 프로그램을 만들기 시작한것은 꽤 오래되었습니다. 작년 10월에 자바로 연동하는 글을 하나 적은 적이 있긴 합니다만, 사실은 그보다 훨씬 더 전부터 시작했었죠. 처음에는 빗썸에서 자동매매를 만들었고, 이 후 업비트, 그리고 그 이후에 바이낸스까지 만들어보았습니다. 시작할 당시에는 개발자의 호기심이 더 컸어요. 잘 된다면 밥값 정도 벌리면 괜찮겠다는 생각이었죠. 어쩌다보니 지금은 본업도, 재테크도 모두 자동매매 프로그램을 이용하고 있게 되었네요. 사설이 길었네요. 어쨌든 이번에는 node.js로 바이낸스 API 연동을 해볼 겁니다. 저는 이미 해봤지만 이 글을 보시는 분들이 따라하실 수 있게 샘플 코드를 만들어 볼게요. 먼저 사용할 디렉토리를 하나 만듭니다. 이름은 상관없어요. 본인..

바이낸스 API 연동을 위한 API KEY 발급 방법

Binance API을 연계하기 위해서는 먼저 API KEY를 발급 받아야 합니다. 바이낸스에 로그인을 먼저 합니다. 그리고 아래와 같이 사람 모양 하위에 나오는 API Management 메뉴로 들어갑니다. 들어가서 우상단에 Create API를 누르면.. 위와 같이 이름을 입력하게 됩니다. Next 후 퍼즐 맞추고, 본인 인증을 하면.. 위와 같이 API Key가 발급 됩니다. Secret Key도 함께 나오게 됩니다. 그리고 이 항목은 아마 처음에만 보여질 겁니다. 나중에 다시 볼 수 없으니 미리 복사해주셔야 합니다. 단, 유출되지 않도록 조심하시기 바랍니다. 기본적으로 첫 번째 Enable Reading 옵션은 체크가 되어 있습니다. 조회권한이죠. 현물 거래를 하실거면 두 번째 Enable Sp..

윷놀이의 도,개,걸,윷,모 확률을 구하라!

오늘은 심심풀이로 윷놀이를 할 때 도개걸윷모 확률을 구해보도록 하겠습니다. 딱히 생각을 해보지 않았다면, 모두 동일한 확률이지 않을까 했을 수도 있을 텐데요. 하지만 개발자라면?! 쉬는 시간에 잠시 확률을 계산해보아도 좋겠죠. 당연히 아주 단순한 수학 문제이므로 개발자가 아니어도 쉽게 구할 수 있을 겁니다. 윷은 앞면과 뒷면이 나올 수 있는 나무 막대기입니다. 나무 막대기를 깎거나 쪼개서 쉽게 만들 수 있죠. 요즘은 다이소 가서 사는 게 훨씬 쉽겠지만요. 윷가락은 총 4개를 던져서 그 조합에 따라 도개걸윷모가 됩니다. 다음과 같이 앞과 뒤를 기호로 표시해보겠습니다. 앞● 뒤○ 도 : ●●●○ 개 : ●●○○ 걸 : ●○○○ 윷 : ○○○○ 모 : ●●●● 이렇게 5가지의 경우가 생깁니다. 그렇다면 확률은..

풀스택(full-stack) 개발자란?

요즘 여기저기 풀 스택 개발자라는 말을 많이 듣습니다. 저 역시 자칭, 타칭 풀 스택 개발자라고 여겨지고 있죠. 그렇다면 풀스택 개발자란 어떤 의미일까요? 구글에서 검색하면 가장 먼저 나오는 aws의 설명이 나름 타당하다고 생각됩니다. 쉽게 얘기해 왠만한 시스템을 혼자서 구축 가능한 개발자란 말이죠. 여기서 모든 언어를 알아야 하는 것은 아닙니다. 이해를 하고 있느냐가 첫 번째이며, 어떤 언어로든 모든 부분의 구현이 가능하냐가 두 번째입니다. 예를 들어 한동안 대한민국에서 표준처럼 군림했던 java, spring, jsp, jquery를 이용하여 웹사이트를 혼자서 만들 수 있는 사람이 있다고 하겠습니다. 이 사람은 풀 스택 개발자일까요? 그럴 수도 있겠지만 사실 좀 부족하다고 생각합니다. 이 사람이 다른..

JAVA로 바이낸스(binance) API 활용하여 매매 프로그램 작성 1

주식도 하고 코인도 합니다. 그래서 주식도 잃고 코인도 잃었어요. ㅠㅠ 명색이 개발자이니 자동매매 프로그램을 만들어봐야겠다는 생각을 합니다. 가장 먼저 빗썸 API를 활용하여 로직을 구현했습니다. 그 후에 업비트 쪽 거래 로직을 구현했구요. 최근에는 바이낸스 매매 프로그램을 작성했습니다. 보통 생각하는 자동 매매 프로그램은 크게 다음 조건을 충족해야 할 것 같습니다. 사람이 직접 매수/매도를 하지 않아도 프로그램을 실행해두면 자동으로 매수/매도를 진행한다. 자동으로 사고 팔면서 수익을 발생시킨다. 저는 1번만 구현을 했습니다. 개발자분들은 아시겠지만, 그냥 API 연동만 했다는 이야기죠 ㅎㅎ 결국 수익을 발생시키기 위해서는 언제 사고, 언제 팔지에 대한 명확한 규칙을 정하고 그것을 로직으로 구현해야 합니..