관련 PR: [#40] 소켓 통신을 통해 받은 데이터로 거래소 화면 CoinListView를 실시간 업데이트해요 개요 현재 Public API를 호출해서 불러온 데이터를 Table로 보여주는 작업은 완료가 되었어요! 이제 Web Socket을 통해 업데이트될 정보를 받아오고, 이 변경할 정보를 Cell에 반영해주면 돼요 :) Web Socket 통신을 위한 기반 작업은 아래 PR에서 완료했어요. [#33] WebSocket 통신을 위한 기반 작업을 해요 소켓 통신을 통해 받아올 데이터 Entity를 만들고, 소켓 통신을 수행할 소켓 매니저를 구현했어요! 업데이트될 정보 관리하기 첫 번째, 소켓 매니저가 실행되는 시점을 정하고 데이터가 각각 어떤 객체를 통해 전달되는지 설계를 할 필요가 있어요. 당연히 업..
개요 검색어를 통해 코인 정보를 검색할 경우 테이블을 통해 Cell을 보여줘요. 여기서 Cell을 누를 경우 호가 화면으로 넘어가게 구현하려고 해요. 화면을 구체적으로 구현하기 전에 Cell을 클릭하면 넘어갈 화면의 ViewController를 생성하고, 넘어가는 로직을 구현하려고 해요. 설계하기 UIKit으로만 작업한다면 당연히 Delegate을 사용해서 이러한 기능들을 구현하겠지만 현재 프로젝트는 Rx를 사용하는 것을 목표로 하고 있기 때문에 event의 방출을 통해 구현해보려고 해요. 우선 첫 화면인 ExchangeViewController가 로직을 갖는 것이 아니라 ExchangeViewController는 CoinListView를 소유하고 CoinListView에서 Table을 구현하는 구조로 ..
관련 PR 보러 가기 - [#19] SearchBar에 검색어를 입력해 검색 결과를 출력해주는 기능을 구현해요 회고 SearchBar에서 검색어를 입력하여 코인을 검색하고, 그 검색 결과를 테이블로 보여주는 기능을 구현했어요. 구현 중에 제공되는 API의 모양이 상황에 따라 통일되어있지 않고 상당히 특이하게 되어 있다는 것을 발견해서 PR이 당초 계획보다 비대해졌어요. 그래서 디테일한 요소들은 TBD로 마킹하고 큰 흐름을 구현하는 것에 포인트를 맞췄어요. 작업하면서 생긴 고민들을 작성해볼게요! API에서 내려받는 데이터에서 발생한 문제 현재 알고 싶은 정보는 API를 통해 검색한 코인 별 정보예요. 우선 호출 URL을 살펴볼게요. https://api.bithumb.com/public/ticker/{or..
문제 상황 현재가 정보에서 불러온 Entity를(TickerAPI) Cell에서 사용 가능하게 변경해줘야 해요. 문제는 Cell에서 한글 이름을 보여줘야 하는데, 서버 어디에서도 한글 이름을 전해주지 않았어요. 이 문제를 해결하기 위해서는 결국 코인 타입별로 직접 한글 이름을 입력해주어야 하는데 186개에 달하는 코인 이름을 매번 검색해서 넣는 것은 시간이 오래 걸리는 하드 코딩이었어요. 그래서 업무를 줄이기 위해, 업비트의 API에서 호출한 정보를 가지고 겹치는 코인의 경우 이름을 할당해주는 작업을 진행했어요. 문제 해결하기 업비트의 API에서 제공하는 코인과 빗썸에서 제공하는 코인의 종류는 달라요. 그래서 목표는 빗썸에서 제공하는 코인의 종류 중 업비트에서 동시에 제공하는 코인이 있다면 업비트에서 내..
문제 상황 인식하기 API에서 암호화폐 코인 별 정보를 받아오려고 해요. 빗썸의 open API에서 Ticker 정보를 받아오는데 그 정보는 아래와 같이 들어와요. // URL: https://api.bithumb.com/public/ticker/{order_currency}_{payment_currency} { "status" : "0000", "data" : { "opening_price" : "504000", "closing_price" : "505000", "min_price" : "504000", "max_price" : "516000", "units_traded" : "14.71960286", "acc_trade_value" : "16878100", "prev_closing_price" : "..
학습했던 MVVM과 RxSwift를 활용해서 프로젝트를 진행하기로 했어요! 여기에 소켓 통신을 사용해보기 위해 암호화폐 거래소 앱을 주제로 선정했어요. 기본적으로는 클론 코딩의 형식을 갖고, 필요에 따라 조금씩 변화를 주며 구현할 계획이에요. 프로젝트 GitHub Repository 3인으로 팀을 구성해서 프로젝트를 진행했어요 :) 목표는 우선 메인화면과 실시간 호가 화면 등 총 3개의 화면으로 잡았는데 이번 글에서는 메인 화면 설계에 대한 글을 작성하려고 해요. 저는 앱을 설계하기 위해 아래와 같이 메인 화면을 분석했어요. 1. SearchBar SearchBar는 NavigationBar에 넣는 방식으로 구현하는 것이 좋을 것 같다고 생각했어요. 서치바 버튼 버튼 버튼 위와 같이 4개의 요소를 sta..
- Total
- Today
- Yesterday
- Distinct#Codility#Python
- django#slicing
- Swift#Tuples#Range
- 암호코드#dp#BOJ#Python
- 텀 프로젝트#백준알고리즘#Python
- N으로 표현#DP#Programmers#Python
- 리모컨#완전탐색#BOJ#Python
- API#lazy#
- 쿼드트리#BOJ#분할정복#Python
- Brackets#Stacks and Queues#Codility#Python
- 터틀비치#리콘#xbox#controller
- 나무자르기#BOJ#이분탐색#Python
- 종이자르기#분할정복#BOJ#Python
- 병든 나이트#BOJ#탐욕법#Python
- 토마토#백준알고리즘#Python
- 섬의개수#백준알고리즘#Python
- 반복수열#백준알고리즘#Python
- 공유기 설치#BOJ#이분탐색#Python
- django
- 미로 탐색#백준알고리즘#Python
- 배열합치기#분할정복#BOJ#Python
- NumberofDiscIntersections#Codility#Sort#Python
- Triangle#Sorting#Codility#Python
- 파이썬알고리즘인터뷰#4장
- 백준 알고리즘#BackTracking
- PassingCars#Codility#Python
- 순열사이클#BOJ#Python
- filter#isalnum#lower
- 랜선자르기#이분탐색#BOJ#Python
- 날짜 계산#BOJ#완전탐색#Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |