
목표 Site pastebin.com, controlc.com 등 Pastebin 서비스란? 사용자가 text를 네트워크를 통해서 특정 공간에 저장을 하고, 접근 가능한 unique한 url을 받음으로써 해당 url로 해당 저장 공간을 접근 할 수 있는 서비스 2021.08.01 - [System Design] - Shortening Url Service Design Shortening Url Service를 응용한 서비스라고 생각하면 된다. 시스템 요구사항 기능 요구 조건 text를 upload 또는 붙여 넣기로 저장이 가능해야한다. 저장된 데이터를 접근 가능한 unique url을 제공 한다. 일정 시간이 지나면 자동으로 해당 url은 종료되거나, 사용자가 지정한게 있다면 해당 시간 이후 삭제 된다...
Confirmation Rate 문제 내용 Signups Table과 Confirmations Table 두개가 있을 때 모든 user에 대한 login 성공 확률을 나타내라. Signups Table Column Name Type user_id int time_stamp datetime Confirmations Table Column Name Type user_id int time_stamp datetime action ENUM ('confirmed', 'timeout') 접근 방법 union all 을 이용해서 접근 가능하다. 우선 필요한것은 Confirmations Table을 이용해서 user별 'confirmed'의 횟수와 'timeout'을 포함한 전체 횟수를 구하는 것이다. 궁극적으로 성공확..
2021.05.02 - [Problem Solving] - 2진수 최 우측 1의 자리 찾아내기 우측 찾기에 이어서 최 좌측 1자리를 찾을 일이 있어서 Blog를 남겨 본다. 가장 쉬운 방법은 while(1 >1; } 일 것이다. 이것은 O(N)이 필요 함으로 속도를 높이는 방법을 찾아 보자. ori |= (ori >> 1); ori |= (ori >> 2); ori |= (ori >> 4); ori |= (ori >> 8); ori |= (ori >> 16); return ori - (ori>>1) 위는 O(Log N)의 속도로 가장 좌측 1을 찾게 되는 방법이다. 기본적인 아이디어는 copy and paste다. 10000001 이 있을 경우 1b..

Similar Services bit.ly, ow.ly, short.io Service Key Point 긴 url을 짧게 만들어 준다. 짧은 url을 browser에 붙이면 긴 url로 redirection 시킨다. 장치별 link를 최적화 가능하다. 접근 url의 history를 분석가능하다. AD에 해당 url을 붙임으로써 AD의 효용성을 분석할 수 있다. 요구사항 분석 기능 요구사항 긴 url을 짧고 unique하게 url로 제공 가능해야 한다. 충분히 복사 붙여넣기 등이 쉽게 될 수 있는 짧은 길이로 제공해야한다. 사용자가 short link를 접근 할 경우 original link로 redirect 시켜줘야 한다. 사용자가 필요할 경우 특수한 custom url을 제공 할 수 있어야 한다. 일..

요구 사항을 명확하게 해라 Scope와 해결하고자 하는 문제를 명확히 해야한다. SD(System design)은 정답이 없다. 시스템 사이즈를 예측해라 우리가 SD할 Scale은 얼마인가? 이것을 예측 함으로써 scaling, Partitioning, load balancing, caching 등을 할지 정의 할 수 있다. 시스템 Scale은 얼마인가요? 얼마나 많은 TX가 발생할까요? 1초에 1분에 1시간에... Storage는 얼마나 필요할까요? 사용자가 사진을 최대 얼마만큼 올릴 수 있죠? 네트워크 사용량(Bandwidth)은 얼마일까요? 시스템 인터페이스를 정의 해라 이 시스템에서 사용하게될 API는 어떤 종류가 있는가? 이를 통해서 정확한 요구조건과 비용이 측정될 수 있다. Data Mode을..

2021.07.17 - [AI] - Error Function 상위에서 Error function에 대해서 살펴 보았다. 상위 내용은 log를 통해서 차이값의 sum으로 Error 정도를 파악했다. 이번에는 표준 편차를 통해서 Error 정도를 확인하고자 한다. 이것을 Sum of Squared Error (SSE) 라고 부른다. E=12∑u∑j[yuj−ˆyuj]2 근데 1/2는 왜하는건지 모르겠다. 나중에 알게되면.. 써놔야지 예측값과 Target값의 차를 곱함으로써 음수가 없고 차가 클 수록 Error 값이 더 커지는 장점이 있다. ˆy=∑iwij∗xui 라고 할 ..

입학 가능성 예측 https://github.com/udacity/deep-learning-v2-pytorch/tree/master/intro-neural-networks/student-admissions 여기 있는 코드를 분석하는 내용이다. 여기서 배울 수 있는 것은 csv 파일 로딩 matplotlib를 이용한 그래프 표현 Panda를 이용한 One Hot Coding Data 전처리 및 Scaling 변화 전처리 Data 및 Test 데이터 분리 featuers(X)와 결과값(y)의 분리 2 layers Network 개발 Backpropatation 정확도 확인 이다. 개인적으로 해당 코드를 보면서 분석한 내용을 붙여 넣는다. csv 파일 로딩 import pandas as pd import nu..

앞서서 Feedforward를 통해서 weight 값을 update 하는 방법을 알았다. Feed forward 방식의 update는 Multi-layers가 있는 Neural Network에서는 쉽게 사용이 어렵다. 그래서 나온 방식이 Backpropagation이다. 우선 앞서 나온 내용을 복습해야 한다. 2021.07.17 - [AI] - Gradient Descent - Sigmoid activation function σ(x)=11+e−x - Output (prediction) formula ˆy=σ(w1x1+w2x2+b) - Error function $$Error(y, \hat{y}) = - y \log(..

Super Egg Drop 문제 내용 N개의 달걀이 있다. K 층으로 이루어진 빌딩이 있다. 달걀은 해당 빌딩의 특정 층 F에서 깨지기 시작한다. N개의 달걀을 이용해서 F 층을 찾을 수 있는 가장 적은 시도 횟수를 갖는 방법 횟수를 찾아라 접근 방법 문제 자체를 이해하는데 굉장히 난해했다. 이 문제는 굉장히 오래된 문제인데, 아직도 Youtube나 Article을 보면 적당히 설명이 된 글이 많지 않았다. 어떤 글은 너무 쉬운 부분만 설명하거나, 또 어떤 글은 굉장히 어려운 말로 설명되어있었다. 우선 문제를 이해하자. 5층으로 이루어진 빌딩이 있고 달걀 1개가 주어졌다면 몇번 욺직여야 f를 찾을 수 있을까? 한개의 달걀로 f를 무조건 찾을 수 있는 방법은 5층에서 부터 2층사이에 달걀을 던지면 안된다는..