2024/05 6

[가상면접 사례로 배우는 대규모 시스템 설계 기초] Ch10. 알림 시스템 설계

요구사항- 푸시 알림, SMS 메시지, 이메일 지원해야함 - soft-real-time 시스템 : 가능한 빨리 전달되어야 하지만 시스템에 높은 부하가 걸렸을때 약간의 지연 가능   1차 설계:   알림 전송 시스템에 1개 서버만 제공하는 시스템 문제점 - SPOF(Single-Point-Of-Failure) : 알림 서비스에 서버가 하나밖에 없더서 그 서버에 장애가 생기면 전체 서비스 장애로 이루어짐- 규모 확장성 : 한 대 서비스로 모든 것 처리하므로, 그 안에 데이터베이스나 캐시 등 주요 컴포넌트의 규모를 개별적으로 확장할 수 없음 - 성능 병목 : 모든 것을 한 서버로 처리하면 사용자 트래픽이 몰리는 시간에 시스템 과부하 빠질 수 있음    2차 설계:   데이터베이스, 캐시, 메시지 큐 도입한 알..

[CocoaPods 설치] use "Software Update" to install updates 해결방법

상황 :cocoapods 설치하다가 아래 commandlinetools에서 넘어가지 않고 있었다.그래서 여기 있던 대로 했더니 sudo rm -rf /Library/Developer/CommandLineTools sudo xcode-select --install 오히려 에러가 발생했다. xcode-select: error: command line tools are already installed, use "Software Update" to install updates  해결방법 : 찾아보니 아래 명령어로 대신 실행하면 된다. sudo softwareupdate --install -a 그러면 이렇게  완료된다.   참고 문서 - macos - command line tools are already i..

개발 2024.05.08

[코드팩토리의 플러터 프로그래밍] 1장. 다트 입문하기

DartPad DartPad dartpad.dev 1. 변수 선언 - var / dynamic - final / const void main() { final DateTime now = DateTime.now(); // 런타임 상수 const DateTime now = DateTime.now(); // 빌드 에러. 빌드 타임 상수 } 2. 컬렉션- Listㄴ add함수 ㄴ where함수 ㄴ reduce함수 ㄴ fold함수 - Map- Setvoid main() { List blackPinkList = ['리사', '지수', '제니', '로제']; Map dictionary = { 'Harry Potter': '해리 포터', 'Ron Weasley': '론 위즐리', 'Herm..

개발 2024.05.06

[코드팩토리의 플러터 프로그래밍] 0장. 개발환경 구축 (플러터 sdk, xcode, cocoapods, xcode, 안드로이드 스튜디오)

플러터 SDK  1. sdk 내려받기https://flutter.dev/get-started/install Choose your development platform to get startedInstall Flutter and get started. Downloads available for Windows, macOS, Linux, and ChromeOS operating systems.docs.flutter.dev 2. macos 클릭해서 다운로드 3. desktop 클릭 4. 상단 download 클릭Make macOS desktop apps | Flutter 5. flutter sdk 다운로드 - 인텔 기반 cpu면 intel processor을 - m으로 시작하는 계열의 cpu면 apple sli..

개발 2024.05.06

[가상면접 사례로 배우는 대규모 시스템 설계 기초] Ch7. 분산 시스템을 위한 유일ID 생성기 설계

요구사항- ID는 유일해야 한다.- ID는 숫자로만 구성되어야 한다.- ID는 64비트로 표현될 수 있는 값이어야 한다.- ID는 발급 날짜에 따라 정렬 가능해야 한다.- 초당 10,000개의 ID를 만들 수 있어야 한다.  개략적 설계 - 다중 마스터 복제 (multi-master replication) - UUID (universally unique identifier)- 티켓 서버 (ticket server)- 트위터 스노플레이크 (twitter snowflake) 접근법  다중 마스터 복제 (multi-master replication) :다음 id값을 구할때 k(데이터베이스 서버의 수) 만큼 증가 - 장점 : 규모 확장성 문제를 해결할 수 있다. - 단점ㄴ 여러 데이터 센터에 걸쳐 규모를 늘리기..

반응형