본문 바로가기

분류 전체보기

(142)
1. Introduction Software System 은 추상적이고, 물리적엔 제약이 구속받지 않는다. 따라서, 적용에 한계가 없으며 시간이 지날수록 복잡해지는 특성을 가지고 있다. 많은 Software Engineering이 실패하는 이유는 크게 다음과 같은 2가지 이유가 있다. 1) Increasing system complexity 2) Failure to use software engineering methods 1.1 Professional software development SE(Software Engineering)는 개발자를 위한 것이 아닌, 그것을 사용하는 일반적인 사람들을 위한 것이다. software는 program뿐만 아니라, documentation, libraries, support websites, ..
업비트 웹소켓을 이용한 실시간 RSI 출력 코드(python) 저번에는 REST API를 이용해서 실시간 RSI코드를 짜 봤습니다. 그 이후에 websocket으로도 만들어보겠다고 해놓고 무려 9개월이 지나서야 해봤네요. 저번에 한 것은 아래를 참고해주세요 업비트 API를 이용한 실시간 RSI 출력 코드(python) 비트코인 투자를 위해 기술적 분석(CMT)의 지표 중 하나인 RSI를 참고하시는 분들이 많으실 거라고 생각합니다. RSI는 충분히 검증된 지표이며, 보통은 30, 70을 과매도/과매수 구간으로 판단하여 매 primestory.tistory.com websocket으로 실시간 데이터 자체를 출력하는 것은 어렵지 않습니다. 인터넷에 검색하다 보면 쉽게 나오고... 알고 보니 '펌핑 알람'이라고 하는 앱으로 RSI신호 알림을 설정할 수도 있더군요. 저도 써..
시장선택에 대해 #이 글은 매우 주관적인 글입니다. 1) 시장선택의 중요성 나는 투자를 하기전에 가장 먼저 해야할 것이 바로 시장선택이라고 생각한다. 그리고 그것은 단연코 가장 중요한 것이기 때문에 매우 신중하게 분석하여 선택해야 한다고 생각한다. 어떠한 대상의 가치가 성장할 때, 보통은 그것 하나만이 성장하는 것이 아닌 그 주변의 것들도 함께 성장한다. 부동산 가격의 상승과 부동산중개업의 성장이 함께 일어나는 것처럼 말이다. 즉 수익성있는 시장을 선택한다는 것은, 심하게는 아무런 종목이나 골라도 평균적으로 좋은 수익을 기대할 수 있다는 뜻이다. 따라서, 시장선택만으로도 종목선택과는 별개로 충분한 수익을 낼 수 있다. 우리는 최근에 부동산, 주식시장, 암호화폐 시장의 폭발적 상승을 보았다. 이러한 특정한 시장의 폭발적 ..
10. 객체 지향(object-oriented) 개념 10.2 string class - 문자열 처리는 배열에 '\0'을 사용하는 C-문자열 또는 string클래스로 가능함 - string class를 쓰는 것이 프로그래밍하기 편함 - 문자열 추가 함수 : append - 문자열 대입 함수 : assign - at, clear, erase, empty // 검색, 제거, 삭제, 비었는지 확인 - length, size, capacity, c_str // 길이, 크기, 용량, c-문자열로 반환 - 문자열 비교 : compare - 부문 문자열 : substr - 문자열 검색 : find - 문자열 삽입 및 교체 : insert, replace - 문자열 연산자 사용가능 ex) =, +등 ex1) string s1 = "Welcome"; //argument없이..
9. 객체(object)와 클래스(class) 9.2 객체(object)와 클래스(class) 정의 - 객체지향 프로그래밍(Object-Oriented Programming)에서는 객체(object)를 사용함 - 명확하게 구별되는 실제세계의 개체(요소)임 ex)책상, 원, 버튼 등 - 이러한 요소를 만들어 내기 위해 정의된 틀이 있음, 그것이 class임, 즉 객체 생성을 위한 설계도 - class에는 객체가 가지는 데이터 필드, 생성자 함수, 객체 함수에 대한 것이 정의되어 있음 - 함수와 데이터필드를 객체의 member라고 함 ex) class Circle{ //프로그래머가 만든 클래스는 첫분자 대문자 public: //공용으로 쓸 수 있음을 의미 double radius; // 객체의 데이터 필드 Circle(){ radius = 1; } //..
7, 8. 1차원 Array, C-문자열, 다차원 Array 7.6 함수에서 배열 인수 보호 - 함수로 배열이 전달될 때, 배열이 변경 불가능하도록 하기 위해 const키워드를 쓸 수 있음 - const로 받은 배열을 함수 내에서 또 다른 함수로 전달 할 때는, 똑같이 const를 써주어야 함 ex) void p(const int list[] int arraySize){ ... f(list, size); } void f2(const int list[] int size){ ... } //함수 p가 const를 받았으므로, 함수 f도 const로 받아야함 7.11 C-문자열 - C-문자열이란, 문자열의 끝이 '\0'로 끝나는 배열을 말함 - cin, cout을 이용하여 입출력가능 - strcpy, strncpy로 문자열 복사 - strcat, strncat로 문자열 ..
6. 함수(function) - 함수는 코드를 재사용하고, 조직화하고 간략화 하기위해 사용함 6.3 함수 호출 - 함수는 호출 될 때마다 argument와 variable을 저장하는 activation record(= activate frame)을 생성하고, 그것을 call stack에 저장함 - main함수가 max함수를 호출했다면, main함수의 activation recore가 stack에 저장되고, 그 위에 max함수의 것이 저장됨 (LIFO구조) 6.7 함수 오버로딩(function overloading) - 함수 이름은 같지만, 매개변수가 다른 함수를 작성하는 것(반환유형만 다른경우x) - 실행시 오버로딩된 함수들 중 가장 가까운 함수를 호출함 - 두 함수중 어느것을 호출해야할지 compiler가 결정하지 못할 경우 am..
4. 수학함수, 문자, 문자열 4.2 수학함수 - header는 다양한 수학함수를 포함하고 있음 - sin, cos, tan, asin, acos, atan //삼각함수 - exp, log, log10, pow, sqrt //지수함수 - ceil, floor //올림, 내림 - min, max, abs 4.6 문자함수 - header는 문자를 테스트하고 변환하는 함수를 포함하고 있음 - isdigit, isapha, isalnum, is lower, isupper, isspace, tolower, toupper 4.8 string형 - string형은 primitive type이 아닌 object type이며, 문자열을 표현함 - string object를 생성하기 위한 class는 header에 정의되어 있음 - instance f..