컴퓨터특강 1주차 : Clean Code
·
CS
우리는 평균적으로 코드를 작성하는 시간보다 코드를 읽고 해석하는데 많은 시간을 소비한다. 하물며, 자신이 직접 짠 코드에도 많은 분석시간이 필요하다. 그렇기 때문에 우리는 미래의 나를 믿지 말고 미래의 나도 쉽게 이해 시킬 수 있는 깨끗한 코드를 작성해야 한다. 그렇다면 깨끗한 코드는 무엇일까? 바로 "읽기가 쉬운 코드" 이다. 의미 있는 이름소프트웨어에서 이름은 어디서나 쓰인다. 하지만 주의 깊게 이름을 붙이지 않는다.우리는 변수에도 이름을 붙이고, 함수에도 이름을 붙이고, 인수, 클래스 그리고 패키지명에도 이름을 붙인다. 소스 파일을 저장하는 디렉토리에도 이름을 붙인다. 이렇듯 이름을 많이 사용하므로 잘 지으면 편하다. 그렇다면 어떻게 이름을 지어야 잘 지은 이름일까? 첫 번째 규칙 : 의도를 분명히..
[가상면접 사례로 배우는 대규모 시스템 설계 기초]사용자 수에 따른 규모 확장성사용자 수에 따른 규모 확장성
·
CS
해당 챕터에서는 사용자 수가 증가함에 따라 시스템의 규모를 확장해 나가는 과정을 공부했다. 명확하게 내용을 이해하기 어려웠지만, 규모 확장과 안정적인 시스템을 설계하는데 쓰일 유용한 지식들을 배운다는 생각으로 학습했다. 웹 계층과 데이터 계층에 대한 이해단일서버모든 컴포넌트가 단 한대의 서버에서 실행되는 간단한 시스템웹, 앱, 데이터베이스, 캐시 등이 전부 한 서버에 실행된다.보통 요청은 두 가지 종류의 단말(웹 어플리케이션, 모바일 앱)로 부터 온다.사용자의 요청 처리 흐름은 다음과 같다.DNS 서버의 Domain address에 대한 Ip address를 요청한다.DNS에서 Ip address를 반환 받는다.해당 Ip address를 통해서 웹서버에 HTTP 요청을 보낸다.웹 페이지나 JSON 형태의..