본문 바로가기

반응형

분류 전체보기

(64)
코인 모듈 그 첫번째 각 거래소 API 정형화 하기 (1) 거래소 선택 API를 정립을 하기 위해서 현 우리나라에서 제공하는 대한민국 4대 거래소를 선택했다 업비트 빗썸 코빗 코인원 REST와 좀 더 정확하게 실시간 데이터를 받을 수 있는 Websocket를 가져가기로 했다 REST로 받을 수 있는데 이미 응답을 받고 데이터를 넘겨받는 순간 몇 초 뒤 일 수도 있어 좀 더 명확하게 실시간 데이터를 받으려면 끊기지 않는 웹소켓을 얻는 것이 가장 좋다 하지만 나는 혹시 몰라 둘 다 하기로 했다 4대 거래소 정형화의 시작 일단 나는 거래소의 일관된 형태의 코드를 만들어 관리하기 편하게 하고 싶은 욕망이 매우 컸기 때문에 다음과 같은 상속 관계를 만들어 시도하였다 관리하기 편하도록 팩토리 패턴을 사용하였고 market을 생성자를 주어 util에 따로 만들어놓은 매칭 패..
핀테크 프로젝트를 시작하며 요구사항과 Architecture 정리하기 하게된 계기 나는 개발도 좋아하지만 특히 부동산과 핀테크에 관심이 많다 그 이유는 다음 4가지라고 볼 수 있다 결국 핀테크라는 건 돈의 흐름이 무조건적으로 생기는 필연 조건인데 이 돈의 흐름에서 사람의 심리를 볼 수 있어서 매우 흥미롭다 결국 이 돈이라는것이 현 사회(자본주의)와 강하게 연결고리가 있는 상태에서 자기의 자본을 투자한다는 것부터 사람들은 큰 예민을 느낄 수 있다 (자기가 발전하기 위해 나가는 순간 예민해진다는 것과 동일) 모든 사람은 바보가 아닌 이상 자기가 내 이익을 포기하면서 까지 다른 사람의 이익을 챙겨주지 않는다 그런 사람이 있다면 그건 두 부류의 사람이다 호구 구지 내가 필요 없어서 (이건 착한 사람의 부류이지 않나 싶다) 결국 누군가 돈을 얻으면 누군가는 잃게 된다는 것 이 싸움..
계약에 의한 디자인 소프트웨어는 사용자가 만들어서 직접 사용하기도 하지만 다른 레이어 나 컴포넌트 에서 호출하는 경우도 있다 이런 경우 이들 간 교류를 어떻게 해야하는지 고민해보자 컴포넌트는 기능을 숨겨 캡슐화 하고 함수를 사용할 클라이언트에게는 API 를 노출해야한다 컴포넌트의 함수, 클래스. 메서드는 특별한 유의사항에 따라 동작해야 하며, 그렇지 않을 경우 코드가 깨지게 된다 반대로 코드를 호출하는 클라이언트는 특정 형태의 응답이나 실패를 기대하고 해당 형태와 다른 응답을 받는 경우 함수 호출에 실패하게 되고 부가적인 결함을 생기는 경우도 있음 물론 API를 디자인할 때 예상되는 입출력과 부작용을 문서화해야함 그러나 문서화가 런타임 시의 소프트웨어의 동작까지 강제할 수는 없다 이렇게 코드가 정상적으로 동작하기 위해 필요..
객체지향 [전체적으로] 객체지향이란? 웹서비스도 결국 객체로 만들어 졌다. 객체 지향의 특성인 [추상화, 상속, 은닉, 재사용, 인터페이스] 함수도 좋은 프로그래밍이 가능했으나 새로운 시각으로 바라 보기 시작함 결국 이 객체 지향이라는게 현실에 존재하는 사물을 있는 그대로 모델링 하면서 행위와 속성을 정의하고 객체가 중심이 되서 실제 사물이 동작하는 방식임 ---- 속성 (Variable) | 사물 = 객체 (Object) (class로 생성한 객체) | -------- 행위(Method) 이런식으로 해서 좀 더 간단하진 설계가 가능함 세상이 절차지향이였으면 지금 삼국시대도 못왔음 결국 객체라는게 3가자의 요소로 이루어진다는건데 이 3가지는 다음과 같다 객체의 3가지 요소 객체를 만들때는 3가지 요소로 응답이 된다 (만약 그렇..
Part 1 - [Chapter 2] . 데이터 엔지니어링 수명 주기 (2) 2.1.3 데이터 저장 데이터를 저장할 공간이 필요하다, 스토리지 설루션을 선택하는 것은 나머지 데이터 수명주기에서 성공을 거두기 위한 열쇠이면서, 다음과 같은 다양한 이유로 데이터 수명 주기에서 가장 복잡한 단계의 하나다 첫째, 클라우드의 데이터 아키텍처는 종종 여러 스토리지 설루션을 활용함 둘째, 복잡한 변환 쿼리를 지원하는 데이터 스토리지 설류션은 순수하게 스토리지로만 작동하는 경우가 거의 없으며 많은 설루션이 복잡한 쿼리를 지원한다 심지어 객체 스토리지 설루션도 Amazon S3 Select와 같은 강력한 쿼리 기능을 지원할 수 있다 셋째, 저장은 데이터 엔지니어링 수명 주기의 한 단계이지만 변환 및 서비스 제공과 같은 다른 단계에서도 자주 관여한다 둘쨰가 참 흥미로운데 이게 보면 대표적으로 S3..
Chapter 2. 클라이언트에서 데이터 가져오기: 데이터 수집 우리가 다루는 첫 번째 단계인 수집 단계(Collection tier)는 우리의 스트리밍 시스템으로 데이터를 입수하는 지점이다. 수집 단계를 강조한 스트리밍 데이터 아키텍처는 다음 과 같다. 2.1 일반적인 통신 패턴 오늘날, 클라이언트에서 생성되는 데이터를 시스템에 입수하기 위해(또는 수집 단계에서 서버가 직접 데이터를 Pulling 하기 위해) 몇 안되는 프로토콜을 사용한다 만물 인터넷의 등장으로 다양한 통신 패턴들이 존재하겠지만. 다음과 같은 몇 가지 통신 패턴 중 한 가지 패턴을 선택하여 통신하는 것이 일반적이다. 요청/응답 패턴 (Request/response pattern) 발행/구독 패턴 (Publish/subscribe pattern) 단방향 패턴 (One-way pattern) 요청/확인..
Chapter 1. 스트리밍 데이터 소개 1. 스트리밍 데이터 소개 2013년 5월, 스칸다니비아 연구 센터에서 발간한 보고서에 따르면 전 세계에 존재하는 90% 가량의 데이터는 자닌 2년 안에 생성되었다고 추정했다 2014년 EMC가 IDC와 함께 파트너십을 맺고 디지털 유니버스 연구를 발표 했는데 디지털 유니버스의 규모가 2년마다 두 배로 증가하고 있으며 2013년부터 2020년 사이에 4조 4천억 기가바이트에서 44조 기가바이트로 10배 증가할 것으로 보고 했다 빅데이터라는개념은 오랜기간 존재했지만 수집, 적재, 분석하는 기술을 갖게 된 것은 그리 오래되지 않았다 이로써 빅데이터를 기반으로 빠른 의사 결정을 내리고 소비자와 기업 주변에서 일어나는일을 서비스에서 활용하여 사용할 수 있게 되었다 하지만 기술만 있다고 빅데이터를 잘 다룰 수 있..
2023년 9월 ~ 12월 회고 2023년은 나에게는 최악의 년도 이자 최고의 년도 였다 나에게 2023년은 진정한 나를 찾기 위한 년도이자 나에게 2023년은 임하늘이라는 사람을 더욱 더 단단하게 해주는 약이였다. 2023년은 나에게 굉장히 중요한 년도 이자 나에게는 커다란 터닝 포인트가 되는 한 해였던 거 같다. 2023년은 나에게 어쩌면 임하늘 이라는 사람을 30대로 발돋움하기 위한 준비하는 1년이지 않나 싶다 내가 살았던 20대를 회상해보았다.. 참 어쩌면 처절하면서 미련하게 살았던거 닽다. 내가 살아온 20대의 인생이 지금까지 치열하게 살아온 삶에 대해서 나는 감정을 포기한 체 이성으로 인생을 살 수 있을 거라고 생각했다 그로 인해 나는 성장 했지만 나 또한 망가져 가고 있었다는 걸 이제야 알아버렸다 어쩌면 번아웃이 아닌 인간..

반응형