본문 바로가기

반응형

분류 전체보기

(64)
(빅데이터 처리 분석)뉴욕 택시 데이터를 수집해보자 1탄 미국 택시데이터를 분석하여 코로나 전 후 택시 유동량을 관찰 분석하는 조그마한 프로젝트를 진행하려고 한다.! 일단 데이터를 다운로드 사이트는 요기 있다.. https://www.nyc.gov/site/tlc/about/tlc-trip-record-data.page TLC Trip Record Data - TLC TLC Trip Record Data Yellow and green taxi trip records include fields capturing pick-up and drop-off dates/times, pick-up and drop-off locations, trip distances, itemized fares, rate types, payment types, and driver-report..
2. Log Extraction Architecture 1. 파일을 이용한수집 application에서는 로그를 파일로만 남기고 별도로 로그 파일을 읽는 프로세스를 만들어서 전송하는 방식 장점 application과 log extract가 관심사 분리(SOC)가 가능함 아키텍처 상으로 역할과 동작이 구별되니 유연성이 높아짐 컨테이너 환경을 이용해서 application과 extaction 리소스를 분리하면, 수집기 때문에 application에 부담을 주지 않음 단점 application, log extraction를 별도로 관리해야 함 application은 정상인데 log extaction이 비정상일 경우 application의 이상으로판단될 수 있음 아무래도 하나의 server에다가 몰빵을 했기 때문에 부분적 삑사리도 전체적인 관계성이 나타날 수 있음 ..
1. Log란 ? 일단 로그의 의미는 무엇일까..? 일단 로그란.. --> 컴퓨터가 수행하는 도중 유의미한 내용을 남기는 기록을 말한다 통상 파일로 남기는 기록을 말함 (물론 형식에 종속되지 않음 ) 그냥 사람들이 파일로 많이 저장할 뿐이지 그러면 로그의 내용을 어떤 걸 넣을 수 있나 일단 필수적으로 시간이 꼭 들어가야 한다 why? 그래야 언제 어느 시간에 기록을 알 수 있기 때문이다. 1. 로그를 남긴 시간 2. 로그 레벨 (심각성의 정도) 이건 모든 시스템의 로그 규격이 정해져 있는 건 아님 TRACE : application에서 어떤 상황이 일어나는지 상세한 내용을 보고 싶을 때 남김 라이브러리 내부 동작을 주로 남기는 경우가 많음 ex) spring boot initialization, serivece disco..
한줄 철학(세네카) 인간은 항상 시간이 모자라다고 느끼면서 마치 시간이 무한정 있는 것처럼 행동한다. 자신은 게으르면서 막상 때가 되면 시간이 없다고 하면서 고생한다.
큐 (queue) 오늘은 큐를 알아보자.. 더이상 쓸 짤이 없다... 는 훼이크 도와줘요 스피드웨건..! 큐 알아보기 큐는 가장먼저 넣은 데이터를 가장 먼저 꺼내는 선입선출 FIFO 이다. FIFO (Frist in Frist out) : 가장먼저 넣은 데이터는 가장 먼저 꺼낸다 . 용어를 알아보자. 큐에 데이터를 추가하는작업을 : 인큐 (enqueue) 데이터를 꺼내는 작업을 : 디큐 (dequeue) 데이터를 꺼내는 쪽을 : 프론트(front) 데이터를 넣는 쪽을 : 리어(rear) 링 버퍼로 큐 구현하기 이번에는 디큐할 때 배열 안의 원소를 옮기지 않는 큐를 구현해보겠다. 이럴 때 사용하는 자료구조가 링 버퍼 이다. 어떤 원소가 맨 앞 원소이고, 맨 끝 원소인지 식별하는 변수가 front와 rear이다. 여기에서 프..
스택 (stack) 오늘은 스택을 알아볼꺼다.. 엄청나게 많이 쓰고.. 엄청나게 많이 알고.. ㅇ... ㅇ.. 엄... 바로 알아보자 let's get it! 스택이란...? 스택은 데이터를 임시 저장할 때 사용하는 자료구조로 데이터의 입력과 출력 순서는 후입선출(LIFO) 방식이다. LIPO(Last in Frist out) : 가장 나중에 넣은 데이터를 가장 먼저 꺼낸다 용어 몇가지를 알아보자 푸시 : 데이터를 넣는 작업 팝 : 데이터를 꺼내는 작업 탑 : 데이터의 꼭대기 bottom : 데이터의 마지막 용어정리는 끝나고 군말없이 바로 구현에 들어가보자 일단 스택의 기본 개념을 이해 해야 하니 스택을 생성할 때 크기가 결정되는 고정 크기 스택을 만들어보자 스택 배열 : stk 푸시한 데이터를 저장하는 스택 본체 list..
해시 알고리즘 (Hash Algorithm) 해시를 모르는 상태에서 사진에 나와있는것처럼 a 배열에 35 추가한다고 가정해보자 x의 원소 수는 13이고 앞에서부터 10개의 데이트가 오름차순으로 저장되어 있음 원소를 추가하는 과정은 다음과 같다 1. x[5]와 x[6] 사이에 값이 추가되도록 이진 검색을 이용하고 2. b 원소 처럼 x[6] 이후의 모든 원소를 한 칸씩 뒤로 이동 시키고 3. x[6]에 35를 대입함 결과론적으로 봤을땐 추가한것 맞지만 추가하면서 생기는 복잡도는O(n)이고 비용도 작지 않음 물로 삭제를 할때도 똑같은 비용을 발생시킴 왜냐!? 모든 데이터는 공백을 허용하지 않아요 그래서 우리가 알아볼 해시법을 알아보자... let`s get it! 해시법 해시법(hashing)은 '데이터를 저장할 위치 == index' 를 간단한 연산..
신뢰할 수 있고 확장이 가능하며 유지보수하기 쉬운 어플리케이션 (1) 오늘날 애플리케이션은 계산 중심이 아닌 데이터 중심이다 애플리케이션의 성능은 computing power 가 아닌 데이터의 양, 복잡도 변화 속도, 신선도이다. 일반적으로 데이터 중심 애플리케이션이 공통으로 필요한 기능은 다음과 같다. 데이터를 저장, 수집, 찾을 수 있게 해주는 [데이터베이스] 읽기 속도가 빠르지만 그만큼 자원이 많이 드는 [캐시] 사용자가 키워드로 데이터를 검색하거나 다양한 방법으로 필터링할 수 있게 제공[검색 색인] 비동기 처리를 위해 다른 프로세스로 메시지 보내기 [스트림(실시간 처리)] 주기적으로 대량의 누적된 데이터를 분석 [배치(일괄 처리)] 이러한 기능을 개발자들이 생각없이 적재적소를 빠르게 할 수 있는 이유는 뭔가? 시스템 추상화가 잘되어 있어서 그렇다.. 우리가 뭘 만들..

반응형