객체지향의 사실과 오해 '객체지향의 사실과 오해' 를 읽고, 이미 객체지향 설계에 대한 이해가 충분하며 이를 능숙하게 다루는 개발자들이라면 한 번만 읽어도 쉬이 이해할 수 있었겠지만, 나의 경우 얕은 숨으로 한 번, 깊은 숨으로 한 번 이렇게 두 번을 읽고 나서야 '이해하며 읽었다' 는 느낌을 받을 수 있었다. 깊게 완독하며 정리한 부분을 다시 한 번 읽는다는 마음으로 또 내가 이해한 내용을 다시 한 번 정리하고자 하는 마음으로 해당 포스팅을 작성하게 되었다. 혹여나 이 책에 관심이 있는 사람이라면, 객체지향에 대해 쉽고 깔끔하게 정리된 책을 읽어보고 싶은 사람이라면 꼭 읽어보기를 바란다. 객체지향의 사실과 오해 흔히들 클래스가 객체 지향의 핵심이며 객체지향이 현실세계의 모방이라고들 얘기하지만, 저자는 이 두 가지가 객체지향의.. 2021. 10. 6. 로드 밸런싱 What is Load balancing? 로드 밸런싱은 부하 분산이라고도 한다. 이름 그대로, 서버에 가해지는 부하를 분산 시켜주는 장치 또는 기술을 의미한다. ec2 인스턴스를 예로 들어보자. 하나의 인스턴스에는 하나의 IP 그리고 하나의 도메인이 존재한다. 클라이언트가 한 두 명에 불과하다면 서버는 여유롭게 클라이언트의 모든 요청에 응답할 수 있겠지만, 클라이언트가 수천 수만명이 된다면 과부하에 걸릴 것이 분명하다. 이러한 문제를 해결하기 위해서는 두 가지 방법이 있다. 첫 번째는 스케일 업 scale-up 이다. 스케일 업은 말 그대로, 상위의 장비로 스케일을 상승시키는 것이다. 코드나 아키텍쳐의 변경 등이 없어 쉬워보이지만, 높은 비용 대비 성능의 효율성이 낮다. 두 번째 방법은 스케일 아웃 s.. 2021. 5. 7. tcp / udp Protocol 인터넷에서 컴퓨터들이 서로 정보를 주고 받는 데에 쓰이는 통신 규약의 모음을 프로토콜 protocol 이라고 한다. TCP/IP TCP/TP 는 인터넷 프로토콜인 IP internet protocol 와 데이터 전송 제어 프로토콜인 TCP transmission control protocol 를 합친 말이다. IP 가 서로 다른 네트워크를 연결해주면, TCP 는 데이터를 패킷으로 잘게 쪼개어 IP 를 통해 보낸다. 좀 더 풀어서 설명하자면 TCP 는 IP 위에서 동작하는 프로토콜이라 볼 수 있겠다. 그래서 TCP/IP 라고 함께 적는다. TCP 는 단순히 데이터를 보내기만 하는것이 아니라, 모든 패킷이 전부 도착할 수 있도록 패킷마다 번호를 부여하여 유실을 확인하고 유실된 패킷이 있을 경.. 2021. 5. 3. development process system architecture 에 관심이 생겨 찾아보던 중, software 를 설계하는데에는 여러 기법이 존재한다는 사실에 대하여 알게 되었다. 대표적으로 DDD, TDD, BDD 등이 있다. 순서대로 알아보고, 그 차이점에 대해서도 공부해보자. What is DDD? DDD patterns 이란 도메인 주도 디자인 Domain driven design 의 약자로, 소프트웨어의 복잡성을 관리하기 위해 business logic 을 domain 별로 나누어 설계하는 방식을 의미한다. 도메인 주도 설계 라고도 한다. Domain language 의 설립자인 에릭 에반스(Eric Evans) 가 서술한 동명의 저서에서 따온 system architecture 로, clean architecture 가 .. 2021. 4. 28. 이전 1 2 다음 more