본문 바로가기

전체 글74

[책 리뷰] 배워서 바로 쓰는 14가지 AWS 구축 패턴 디자인 패턴에 대한 고민이 있던 차에, 추천을 받고 코드 레벨의 디자인 패턴이 아닌, 인프라 레벨의 디자인 패턴에 대한 책 추천을 받아서 읽어보게 되었다. 이 책은 실제로 사용될 법한 인프라 패턴을 제시하고, 그 패턴을 위해 어떤 AWS 서비스를 사용해야 하는지 병렬적으로 구성되어 있다. 이 책을 읽으면서 얻은 지식은 많지만, 간단히 정리해 보자면 다음과 같다. 리전 별로 속도가 다르기 때문에 서비스 하는 지역 근처 리전을 선택해야 한다. AMI를 이용하면, 동일한 EC2를 같은 이미지로 여러 개 만들 수 있다. 오토 스케일링까지 고려한다면, ECS를 사용해 보자. RDS를 이용하면, DB 서버를 Active-Standby 구성으로 쉽게 다중화할 수 있다. 데이터 액세스 속도가 중요하다면, 크기가 작으면.. 2022. 4. 13.
[팁] javascript console 객체 알아보기 console.log(obj)를 사용하지 말고 console.log(JSON.parse(JSON.stringify(obj))) 자바스크립트를 이용해서 개발해 오면서 변수의 값을 확인하거나 디버그 용도로 항상 console.log 메소드를 사용해 왔다. 그러던 중 우연히 console에 다른 메소드는 없을까 궁금증이 생겼고, 구글에 javascript console에 대해 검색하니 console에는 다양한 메소드가 있는 것 같았다. 그것도 당연한 것이, console 역시 기정의된 객체이므로 그 안에 log 말고도 다양한 메소드나 속성이 있을 것이다. 다만 항상 당연하게 log만 사용해서 다른 옵션에 대해 생각해 보지 못한 것이다. https://developer.mozilla.org/ko/docs/Web.. 2022. 3. 1.
Clean Code (5/n) 오늘 계속해서 Clean Code 책을 읽어서 마무리지어 보았다. 13. 동시성 동시성이라는 개념은 구현하기 어려운 개념인 것 같다. 사실 간단한 멀티 쓰레드 프로그램은 hands-on으로 쉽게 구현할 수 있지만, 임계 영역을 설정하고 동시 접근에 대한 깊이있는 고려를 한다면 그 자체가 하나의 연구 주제가 될 정도로 어렵다. 이 챕터에서는 동시성을 어떻게 깔끔하고 올바르게 구현할 수 있을지에 대해 설명하고 있다. 동시성은 꼭 필요한 상황에서만 사용해야 한다 일반적으로 생각했을 때, 동시성을 사용한다면 당연히 성능이 높아진다고 생각할 수 있다. 대기시간이 길어서 여러 스레드 간에 스위칭이 발생해도 괜찮거나, 프로세서가 동시에 처리할 독립적인 계산이 있을 때는 성능이 높아지는 것이 맞다. 하지만, 이는 운영.. 2022. 2. 21.
Clean Code (4/n) 계속해서 Clean Code 책을 읽어 내려갔다. 10. 클래스 자주 쓰이는 대부분의 프로그램이 객체지향적인 프로그램인 것을 감안해 보았을 때, 클래스를 적절하게 구성하고 객체지향적으로 작성하는 것은 상당히 중요하다고 할 수 있다. 하지만 이런 중요성에도 불구하고 소스코드를 보다보면 난잡한 메소드들로 구성된 매우 큰 클래스들을 흔하게 볼 수 있다. 좋은 클래스를 작성하려면 어떤 방법을 사용해야 할까? 클래스를 작게 유지해라 물론 메소드 수를 줄이는 것도 방법일 수 있지만, 단순히 메소드 수를 줄이라는 뜻만은 아니다. 최종적으로 추구하는 것은 클래스가 책임져야 하는 범위를 줄이라는 뜻이다. 그러기 위해서는 메소드를 작게 유지하는 것부터 시작하자. 메소드를 쪼개다 보면 다른 클래스로 분리될 수 있을 만한 지.. 2022. 2. 16.