본문 바로가기

반응형

분류 전체보기

(64)
신뢰할 수 있고 확장이 가능하며 유지보수하기 쉬운 어플리케이션 (3) 신뢰성은 얼마나 중요할까?증명되지 않는 시장을 위해 시제품을 개발하는 비용이나 매주 작은 이익률의 서비스를 운영하는 비용을 줄이려신뢰성을 희생해야 하는 상황이 있다 하지만 이 경우에는 비용을 줄여야 하는 시점을 잘 알고 있어야 한다이러한 상황은 뭐가 있을까?시장 검증 전 초기단계고비용 구조를 유지하기보다는 빠른 테스트와 피드백 수집을 통해 시장 반응을 확인하는 게 우선제품-시장 적합성 찾기 전제품이 시장에서 명확한 적합성을 찾지 못했을 때 최소한의 기능으로 테스트하는 것이 효과적높은 경쟁압력의 초반 단계빠르게 움직이는 산업시장에서 초기에는 자리선점이 중요하다고 생각자금 소진 위험할 말은 많으나 말하지 않겠음MVP 개발 단계이것 또한 확장성시스템이 현재 안정적으로 동작한다고 해서 미래에도 안정적으로 동작한..
2024년 1월 ~ 3월 회고 음... 1분기가 지나고 좀 있으면 2분기가 시작되는 시작.. 나에게 1분기는... 인생의 곡선에 쭉 아래를 찍고 서서히 위로 올라가는 기분이랄까..? J커브에 서 상승 곡선에 다다른 것 같은 느낌이 온다 옛날에는 활활 타오르는 장작이었다면 지금은 은은하게 타오르는 숯이 된 기분이랄까.. 뭔가 사람 자체에 여유가 생기면서 나 자신또한 성장하는 기분이 든다 나라는 사람이 이런 사람이었구나 나는걸.. 연애.. 못했다 아니 일부로 하지 않았다 만약 이전에 내가 연애를 했었더라면 진짠 내 자신이 최악이었다고... 말할 수 있을 거 같다 지금이야 할 수 있겠지 정서상 안정이 되었다고 말할 수 있을 테니깐 나의 상태는 2023년 후반기에 기점으로 사람이 달라졌다고 말할 수 있을 거 같다 사람 자체에 여유가 생겼다고..
Chapter 1. Streaming 101 (2) 진짜 볼때마다 느끼는건데 번역이 너무 아쉬워요... 스트리밍 시스템이 배치 시스템을 이기기 위해서는? 두가지가 필요하다 1. 정확성 (correctness) 정확성은 스트리밍시스템이 배치와 동등해지기 이해 필요한 조건이며, 핵심은 일관성을 제공할 수 있는 스토리지[consistent storage]로 귀결된다 스트리밍 시스템에서는 시간이 지남에 따라 영구 상태를 유지할 수 있는 체크포인트 방법이 필요하다 어떤 스트리밍 프레임워크든 체크포인트를 만듬에 따라서 중복을 최대한 방지하면서 멱등성를 보장하는 시스템을 설계하는것이 가장 이상적인데 과연 스트리밍 시스템에서 멱등성을 100프로 보장할 수 있을까 또한 스토리지는 장애 등의 상황에서도 일관성을 유지할 수 있도록 설계되어야한다. 스파크 스트리밍이 등장하면서..
Chapter 1 . Streaming 101 (1) Streaming 101 스트리밍 데이터 처리 (Streaming data. precessing) 이 주목받는 이유는 다음과 같다 기업의 입장에서는 데이터에 대한 좀 더 시기적절한 통찰력이 중요한 때이고, 스트리밍으로 전환해 이런 통찰력을 빠르게 얻을 수 있다 현대에서는 대규모의 무한 데이터셋이 점점 더 보편화되고 있으며, 이러한 데이터는 끝없이 입력되는 데이터를 다룰 수 있도록 설계된 시스템을 사용하면 더욱 쉽게 처리할 수 있다. 데이터가 도착하는 시점에 처리될 수 있다면 시스템의 작업 부하가 고르게 분산 돼 좀 더 일관되고 예측 가능한 형태로 시스템 자원을 소비할 수 있다 결국 기업이 데이터를 다룰 수 있는 수단이 증가하고 데이터가 나오는 곳이 정해져 있지 않으니 스트리밍으로 전환하여 좀 더 능동적인..
ValueError: Cannot convert column into bool: please use '&' for 'and', '|' for 'or', '~' for 'not' when building DataFrame boolean expressions. def convert_value_na_to_null(value): if value is None or (value == "") or (value.upper() == "NA"): return None else: return int(value) udf_convert_value_na_to_null = udf(convert_string_na_to_null, IntegerType()) converted_df3 = ( converted_df2. withColumn("year", convert_string_na_to_null(col("year"))). withColumn("month", convert_string_na_to_null(col("month"))). withColumn("dayofmonth", conver..
WARN package: Truncated the string representation of a plan since it was too large. This behavior can be adjusted by setting 'spark.sql.debug.maxToStringFields'. 대처 방안 경고문에서 볼 수 있듯이 표시하려는 데이터의 양이 너무 커서 성능상 저하가 일어날 수 있기에 중간이 끊음 이걸 조절하는 conf config("spark.sql.debug.maxToStringFields", int(~~)") 조절하면 됨 기본값은 200으로 알 고 있음
chapter 4. 아키텍처 (1) 4.1.1 MySQL Engine Architecutre MySQL 서버는 크게 MySQL 엔진가 스토리지 엔진으로 구분할 수 있다 MySQL 엔진은 클라이언트로부터의 접속 및 쿼리 요청을 처리하는 커넥션 핸들러 SQL 파서 및 전처리기, 쿼리의 최적화된 실행을 위한 옵티마이저가 중심을이룬다 4.1.1.1 MySQL 엔진 또한 MySQL은 표준 SQL(ANSI SQL) 문법을 지원하기 때문에 표준 문법에 따라 작성된 쿼리는 다른 DB에도 호환되어 실행될 수 있음 다만 자체 문법을 가지고 있는 DB(Oracle, Postgre) 같은 경우 다를 수 있음 다만 큰틀에서는 같은 의미로 말할 수 있음 4.1.1.2 Stroage 엔진 MySQL 엔진은 요청된 SQL 문장을 분석하거나 최적화 하는 등 DBMS의 ..
거래소별 API 분석 각 거래소 별 캔들 데이터는 무사한가 API 분석 및 보고서 1. Coin API architecture 우리나라 기준에서 캔들 API를 지원하는 거래소 3곳(upbit, bithum, coinone)의 API를 확인해 본 결과 가장 날짜별로 데이터를 획인할 수 있는 부분이 하루 기준으로 데이터를 뽑아 시각화를 하는게 가장 다채롭게 볼 수 있는 부분이었습니다 이 부분에서 거래소마다 차이점을 발견할 수 있었습니다 각 거래소 API 의 코인마다의 하루(1 day) 기준으로 데이터 분석을 진행했으며 데이터 분석을 한 결과 다음과 같은 결과를 내포할 수 있었습니다 candle API는 해당 차트데이터를 API 형식으로 제공해 주는 API입니다 전처리 기준 각 거래소 마다 지원하는 칼럼 이 서로 다르고 API 형식별로 들어오는 값을 보장할 수 없었기..

반응형