본문 바로가기

분류 전체보기545

음악추천챗봇0. 왜 Serverless아키텍쳐인가? Lambda의 장단점-동시성 지금까지 한 작업은 이렇다. 1. Front - 카카오챗봇 기획작업 완료 2. Back - 스포티파이 API 파악 완료 이번엔 인프라를 구성해볼까 한다. 프론트와 백단을 이어줄 틀을 잡아준다라고 할까. 그전에 개념적인 공부부터 진행해보려고한다. 솔직히 진짜 정성들여서 썼다.. On-premise ->IaaS -> PaaS -> SaaS 우선, 서버리스 아키텍쳐의 개념을 알기 전에 서버리스 아키텍쳐가 나타나게 된 배경부터 보고자한다 전체적인 일반적인 온프레미스 구성방식부터을 생각해보자. 일반적인 '전산실'을 생각하면 된다. 네트워크-스토리지-서버-가상화-운영체제-미들웨어-런타임-데이터-앱까지 일일이 물리적으로 직접 다 관리한다. 하지만 물리적 장비를 모두 다 관리하고 구축한다는 점에서 비용이 많이 든다. .. 2021. 6. 5.
[대표인터뷰] 플로(FLO)드림어스컴퍼니 5년만에 흑자전환 | 개인화 맞춤 서비스 음악플랫폼 플로(FLO), 드림어스컴퍼니 2021년 올 1분기 매출 577억원, 영업이익 11억원, 당기순이익 22억원 기록지난해에 비해 14.1%증가, 2015년 4분기 이래 처음으로 흑자전환 성공즉, SK텔레콤에 인수된 후 시작한 콘텐츠사업으로 수익을 얻게 된 결과이다. 사실 드림어스컴퍼니는 국내1세대 MP3플레이어 제조사 레인컴, 누구나 들어봤을 '아이리버'였다2000년대 초반 국내외 휴대용 음원플레이어 시장에서 아이리버로 선전했지만, 스마트폰 시대로 부진을 겪었다.그러나 SK텔레콤이 여기를 인수해가면서 아티스트MD, 음원음반 유통사업 등에 진출했다.현재 주력서비스는 멜론,벅스,지니 같은 음악플랫폼 플로(FLO). >>>내가 직접 써본 플로2020.01.12 - [리뷰02] FLO(플로), 이미지캡.. 2021. 6. 3.
[HackerRank] Symmetric Pairs | Self Join 아래의 문제는 HankerRank의 SQL문제 내용이며 코드는 직접 푼 내용입니다. Symmetric Pairs 문제상황 및 주어진 테이블 요구사항 symmetric pairs는 x1 = y2 and x2=y1인 쌍을 의미한다. x컬럼 기준으로 오름차순 정렬한 symmetric pairs 쌍을 구하라 결과물 풀이 x1 = y2 and x2=y1인 쌍이라는 말이 이해하기 어려웠다. 그러니까 x컬럼의 값이 y컬럼에도 있고,y컬럼의 값이 x컬럼에 있는 row를 찾는 것이다. 예를 들어 (20,2)이 출력된 이유는 1번쨰row와 2번쨰row를 통해 알 수 있다.(20,21)이 출력된 이유는 3번째row와 6번쨰 row를 통해 알 수 있다. (22,23)이 출력된 이유는 4번쨰row와 5번쨰 row를 통해 알 수.. 2021. 5. 31.
[HankerRank] The PADS | CONCAT, SUBSTR 아래의 문제는 HankerRank의 SQL문제 내용이며 코드는 직접 푼 내용입니다. The PADS 문제상황 및 주어진 테이블 요구사항 2가지 쿼리를 짜라. 1. OCCUPATIONS 테이블에 있는 모든이름과 직업의 첫글자를 뽑아라 단, 직업의 첫글자는 괄호로 묶여있고, 이름은 알파벳 순으로 정렬 예를 들면 : AnActorName(A)ADoctorName(D)AProfessorName(P)ASingerName(S) 2. 각 직업의 발생횟수를 직업을 다음과 같은 형식으로 출력 예를 들면, There are a total of [occupation_count] [occupation]s. ->[occupation_count] : 직업의 발생횟수 단, [occupation]는 소문자 직업 이름입니다. 두 개 .. 2021. 5. 31.
음악추천챗봇3.2 데이터 수집 및 처리-Track정보 어떤 데이터를 수집할 것인가? 이번엔 NoSQL에 저장할 데이터를 수집해볼 것이다. 그래서 일단 가장 간단하게 '노래정보'를 얻어보려고 한다. 이때 검색을 위해 Artist API를 쓸 수 있는데, 대신 아티스트ID로 검색할 수 있다. >> Artist API 레퍼런스 https://developer.spotify.com/documentation/web-api/reference/#endpoint-get-an-artist Aritist's Top Tracks 정보 request형식을 살펴보면 header : token을 가진 auth path파라미터: id 쿼리파라미터 : maket 주의해야할 점은 이전에 search api와 다르게 id는조금 특이하게 path파라미터가 있다. 그래서 직접 paramete.. 2021. 5. 31.
음악추천챗봇3.1 데이터 수집 및 처리 -Aritist정보 어떤 데이터를 수집할 것인가? 이에 대한 대답을 하기 위해서 어떤 정보를 나타낼것인지 어떤 데이터가 필요한지 정해야한다. 그래서 일단 가장 간단하게 '아티스트명'으로 검색한 '아티스트 정보'를 얻어보려고 한다. 이때 검색을 위해 search API를 쓰려고 한다. >> API 레퍼런스 https://developer.spotify.com/documentation/web-api/reference/#endpoint-search Aritist 정보 request형식을 살펴보면 header : token을 가진 auth 쿼리파라미터 : q와 type 이때 type에 해당하는 키워드는 앨범명, 아티스트명, 트랙명 등이 있다. 여러가지 타입으로 키워드가 일치하는 정보를 검색할 수 있는 것이다. API테스트 >>ht.. 2021. 5. 31.
[Python] 코딩테스트 고득점Kit | DFS/BFS1 - 타겟넘버 아래의 문제는 프로그래머스 코딩테스트 고득점 Kit 내용이며 코드는 직접 푼 내용입니다. 타겟넘버 문제상황 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 요구사항 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수 제한사항 주어지는 숫자의 개수는 2개 이상 20개 이하입니다. 각 숫자는.. 2021. 5. 28.
[LeetCode] 197. Rising Temperature | DATEDIFF 아래의 문제는LeetCode의 SQL문제 내용이며 코드는 직접 푼 내용입니다. 197. Rising Temperature 문제상황 및 주어진 테이블 요구사항 어제의 보다 기온이 높은 날의 ID를 구하라 이때, recordDate는 타입이 date임 해석 셀프조인을 하긴하는데, 이전의 날짜와 비교하기 위해 ON으로 키를 비교하지 않고 DATEDIFF를 사용함 결과 SELECT A.id AS 'Id' FROM weather A JOIN weather B ON DATEDIFF(A.recordDate, B.recordDate) = 1 AND A.Temperature > B.Temperature 배운점 DATEDIFFF를 ON에서 사용하는 구나 2021. 5. 27.
[LeetCode] 184. Department Highest Salary | IN 아래의 문제는 LeetCode의 SQL문제 내용이며 코드는 직접 푼 내용입니다. 184. Department Highest Salary 문제상황 및 주어진 테이블 요구사항 각 부서마다 가장 연봉이 높은 직원과 그 연봉을 출력하라. 결과물 해석 아웃풋에 부서이름도 있기 때문에 무조건 조인을 할텐데.. 그리고 그냥 group by로 각 부서마다 가장 연봉이 높은 직원을 뽑아봤다. 하지만 문제는 그룹마다라서 그룹마다 한명의 직원만 뽑힌다. 연봉이 같은 경우를 카운트하지 못하는 문제가 있었다. SELECT DepartmentId, MAX(Salary) FROM Employee Group by DepartmentId 결과 역시나 조인을 했다. 같은 경우를 여러가지를 뽑기 위해서 in 을 썼다. SELECT Dep.. 2021. 5. 27.
[LeetCode] 182. Duplicate Emails | Having count(*)>=2 아래의 문제는 LeetCode의 SQL문제 내용이며 코드는 직접 푼 내용입니다. 182. Duplicate Emails 문제상황 및 주어진 테이블 요구사항 중복된 이메일을 찾아라 결과물 해석 중복된 이메일을 찾기 위해서 group by를 사용한다. 중복이 제거되었는데, 그 갯수를 세기 위해 having으로 갯수가 2개 이상인것을 찾는다 결과 select Email FROM Person group by Email Having count(*)>=2 배운점 group by로 묶으면 중복이 제거되지! 몇개인지 확인하려면 count(*) 2021. 5. 27.