전체 글

남들의 귀감이 될때까지!!
스파크 : RDD RDD는 스파크에서 가장 기본적인 추상적 부분입니다. RDD에는 세 가지의 핵심 특성이 있습니다. 의존성 dependency 결과를 새로 만들어야 하는 경우에 스파크는 이 의존성 정보를 참고하고 연산을 다시 반복하면서 RDD를 다시 만들 수 있습니다. 파티션(지역성 정보 포함) 스파크에게 작업을 나눠서 executor들에 분산하여 파티션별로 병렬 연산을 할 수 있는 능력을 부여합니다. 연산 함수: Partition => Iteratior[T] RDd에 저장되는 데이터를 Iterator[T] 형태로 만들어 주는 연산함수를 갖고 있습니다. 이러한 모델은 연산식 자체가 스파크에 투명하지 않았습니다. 예를들어 사용자가 연산 함수 안에서 조인, 필터링, 선택, 집계 등에서 스파크에서는 람다 표현..
숫자의 표현 문제 설명 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다. 1 + 2 + 3 + 4 + 5 = 15 4 + 5 + 6 = 15 7 + 8 = 15 15 = 15 자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return하는 solution를 완성해주세요. 제한사항 n은 10,000 이하의 자연수 입니다. 입출력 예 n result 15 4 입출력 예#1 문제의 예시와 같습니다. 문제 코드 def solution(n): answer = 0 if n == 1: answer = 1 else: if ..
캡스톤디자인 회고 및 프로젝트 정리 1장 2023년 졸업 작품 및 캡스톤 디자인 프로젝트를 진행하면서 했던 과정들을 정리하고자 합니다. 먼저 저는 MLOps라 하긴 민망하지만, 클라우드 내 데이터 파이프라인을 구축하며 API를 통해 데이터 sunho99.tistory.com 해당 글은 캡스톤 디자인 1장에 이어 작성됐습니다. 캡스톤디자인 프로젝트를 구성하기 위해 먼저 주기적인 회의 및 소통을 통해 팀 프로젝트의 진행방향을 잡아갔습니다. 먼저 캡스톤 디자인주제를 선정하기에 있어 상당히 많은 노력과 리서치를 진행하였습니다. 이때 저희는 서울시 실시간 도시데이터를 발견하여 이를 활용해 어떠한 서비스를 제공할 수 있을지 초점을 두기 시작하였습니다. https://data.seoul.go.kr/SeoulRtd/l..
JadenCase 문자열 만들기 문제 설명 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고) 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 s는 길이 1 이상 200 이하인 문자열입니다. s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다. 숫자는 단어의 첫 문자로만 나옵니다. 숫자로만 이루어진 단어는 없습니다. 공백문자가 연속해서 나올 수 있습니다. 입출력 예 s return "3people unFollowed me" "3people Unfollowed Me" "fo..
2023년 졸업 작품 및 캡스톤 디자인 프로젝트를 진행하면서 했던 과정들을 정리하고자 합니다. 먼저 저는 MLOps라 하긴 민망하지만, 클라우드 내 데이터 파이프라인을 구축하며 API를 통해 데이터를 수집하고 수집한 데이터를 정제 및 전처리를 진행한 후 Prophet이라는 Open Source를 사용하여 시계열 모델을 예측하여 지역별 인구 혼잡도를 예측하였습니다. 또한 Amazon RDS에 적재되어있는 지역별 카페에 대한 리뷰데이터를 전처리 후 리뷰데이터와 지역별 뉴스정보를 바탕으로 지역별 키워드를 WordCloud형태로 구현하며 지역별 트렌드를 파악하였습니다. 이를 통해 해당 지역에 인구가 왜 모이는지에 대한 가설을 세우며 이를 정립할 수 있었습니다. 차차 과정을 정리하며 어떻게 캡스톤디자인을 진행하였..
스파크 애플리케이션 개념의 이해 애플리케이션 API를 써서 스파크 위에서 돌아가는 사용자 프로그램, 드라이버 프로그램과 클러스터의 실행기로 이뤄짐. 스파크 애플리케이션의 핵심에는 스파크 드라이버 프로그램이 있으며, 이 드라이버는 SparkSession 객체를 만듬SparkSession 스파크 코어 기능들과 상호 작용할 수 있는 진입점을 제공하며 그 API로 프로그래밍을 할 수 있게 해주는 객체. Job 스파크 액션(ex. save(),collect())에 대한 응답으로 생성되는 여러 태스크로 이뤄진 병렬 연산. 스파크 셸로 상호작용하는 작업 동안, 드라이버는 스파크 애플리케이션을 하나 이상의 스파크 잡으로 변환하고, 각 잡은 DAG로 변환됨. stage 각 job은 스테이지라 불리는 서로 의존성을 가지는..
[1차] 캐시 #문제 설명 캐시 지도개발팀에서 근무하는 제이지는 지도에서 도시 이름을 검색하면 해당 도시와 관련된 맛집 게시물들을 데이터베이스에서 읽어 보여주는 서비스를 개발하고 있다. 이 프로그램의 테스팅 업무를 담당하고 있는 어피치는 서비스를 오픈하기 전 각 로직에 대한 성능 측정을 수행하였는데, 제이지가 작성한 부분 중 데이터베이스에서 게시물을 가져오는 부분의 실행시간이 너무 오래 걸린다는 것을 알게 되었다. 어피치는 제이지에게 해당 로직을 개선하라고 닦달하기 시작하였고, 제이지는 DB 캐시를 적용하여 성능 개선을 시도하고 있지만 캐시 크기를 얼마로 해야 효율적인지 몰라 난감한 상황이다. 어피치에게 시달리는 제이지를 도와, DB 캐시를 적용할 때 캐시 크기에 따른 실행시간 측정 프로그램을 작성하시오..
숫자 변환하기 문제 설명 자연수 x를 y로 변환하려고 합니다. 사용할 수 있는 연산은 다음과 같습니다. x에 n을 더합니다 x에 2를 곱합니다. x에 3을 곱합니다. 자연수 x, y, n이 매개변수로 주어질 때, x를 y로 변환하기 위해 필요한 최소 연산 횟수를 return하도록 solution 함수를 완성해주세요. 이때 x를 y로 만들 수 없다면 -1을 return 해주세요. 제한사항 1 ≤ x ≤ y ≤ 1,000,000 1 ≤ n < y 입출력 예 x y n result 10 40 5 2 10 40 30 1 2 5 4 -1 입출력 예 설명 입출력 예 #1 x에 2를 2번 곱하면 40이 되고 이때가 최소 횟수입니다. 입출력 예 #2 x에 n인 30을 1번 더하면 40이 되고 이때가 최소 횟수입니다. ..
·Algorithm/baekjoon
문제 한 줄로 된 간단한 에디터를 구현하려고 한다. 이 편집기는 영어 소문자만을 기록할 수 있는 편집기로, 최대 600,000글자까지 입력할 수 있다. 이 편집기에는 '커서'라는 것이 있는데, 커서는 문장의 맨 앞(첫 번째 문자의 왼쪽), 문장의 맨 뒤(마지막 문자의 오른쪽), 또는 문장 중간 임의의 곳(모든 연속된 두 문자 사이)에 위치할 수 있다. 즉 길이가 L인 문자열이 현재 편집기에 입력되어 있으면, 커서가 위치할 수 있는 곳은 L+1가지 경우가 있다. 이 편집기가 지원하는 명령어는 다음과 같다. L 커서를 왼쪽으로 한 칸 옮김 (커서가 문장의 맨 앞이면 무시됨) D 커서를 오른쪽으로 한 칸 옮김 (커서가 문장의 맨 뒤이면 무시됨) B 커서 왼쪽에 있는 문자를 삭제함 (커서가 문장의 맨 앞이면 무..
Shine_sunho
How to study for us