stack — 최근 글
최근
FundamentalOOP
오브젝트; 개방-폐쇄 원칙
개방 폐쇄 원칙 Open-Closed Principle : 소프트웨어 개체 (클래스, 모듈, 함수) 는 확장에 대해 열려 있어야 하고, 수정에 대해서는 닫혀 있어야 한다. 이는 다음의 관점을 반영한다. 확장 -> 동작 확장에 대해 열려 있다 : 어플리케이션의 요구사항이 변경될 때 이 변경에 맞게 새로운 동작을 추가해서 어플리케이션의 기능을 확장할 수 있다. 수정 -> 코드 수정에 대해 닫혀 있다 : 기존의 코드를 수정하지 않고도 어플리케이션의 동작을 추가하거나 변경할 수 있다. 인터페이스, 추상화는 컴파일타임 의존성을 고정기키게 한
BlogThink
2024 2Q 분기정리
남들 평생 한번 겪을까 말까 하는 큰 일들이 한 분기 안에 다 일어나서 이번 정리는 짧게 하려고 한다. 작년엔 오토바이 몇 대가 치고 가더니, 올해는 짐 가득 실은 덤프트럭 여러대가 나를 깔아 뭉게고 갔습니다. 추스리는 중. 좋은 사람이란 무엇인가에 대해 나름대로 결론을 얻었습니다. 일련의 사건들과 별개로 이젠 참는 것을 완전히 그만 두게 되었습니다. *생각없이 무례하겠다는 뜻이 아님.* 요즘 유행하는 분산락 구현, 버전 릴리즈에 큰 기능 실장, 인증 프로젝트, 면접 참관 까지 회사가 매우 즐겁습니다. 하루가 48시간 이였으면 좋겠
BlogBook Review
데브옵스 엔지니어를 위한 실전 관찰 가능성 엔지니어링 - 책 소개
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다. 원제 : Observability Engineering 저자 : Charity Majors, Liz Fong-Jones, George Miranda 출간 : O'Reilly Media, 2022 / 한빛미디어, 2024 프로덕트 운영을 하다 보면 서비스 품질을 유지하기 위해 항상 모니터링 알람에 신경을 써야 할때가 많다. 그러나 대부분의 모니터링은 사고가 먼저 있고 그로 인한 사후 대응성격의 산출물인 경우가 많다. 하지만 현대의 비즈니스는 복잡한 요구사항을
FundamentalOOP
오브젝트; 추상화에 의존하기
모든 의존성이 나쁜것은 아니다. 의존성은 객체들의 협력을 가능하게 만드는 매개체라는 관점에서 자연스러운 것. 바람직한 의존성 = 재사용성 어떤 의존성이 다양한 환경에서 클래스를 재사용할 수 없도록 제한한다면 그 의존성은 바람직하지 못한 것. 즉, 컨텍스트에 독립적인 의존성은 바람직하다. 의존성에 대한 정도 = 결합도 (약한 결합도, 강한 결합도) 의존성과 결합도 일반적으로 의존성과 결합도를 동의어로 사용하지만 사실 두 용어는 서로 다른 관점에서 관계의 특성을 설명하는 용어다. 의존성은 두 요소 사이의 관계 유무를 설명한다. 따라서
Java EcoJava programming
Reflection; Public constructor
Java 클래스의 생성자는 제네릭 클래스인 Constructor 의 인스턴스로 나타낸다 이 객체는 클래스 생성자의 모든 정보를 포함하고 있다. 파라미터의 수 파라미터의 타입 클래스에는 여러개의 생성자가 있을 수 있다. Class.getDeclaredConstructos() : 클래스의 모든 생성자를 반환한다. public이거나 아니거나 상관없이 모두 반환한다. Class.getConstructors() : Public 생성자만 반환한다. 특정 생성자 매개변수 유형을 알고 있는 경우 파라미터의 타입을 나타내는 타입 목록을 전달할 수
FundamentalOOP
오브젝트; 의존성과 전이
작고 응집도 높은 객체란 책임의 초점이 명확하고 한가지 일만 잘 하는 객체를 의미한다. 작은 객체들은 단독으로 수행할 수 있는 작업이 거의 없기 때문에 기능을 구현하기 위해 다른 객체와 협력해야 한다. 그러나 과도한 협력은 다른 객체에 대해 의존하게 된다. 객체지향 설계는 의존성을 관리하는 것이다. 또한 객체가 변화를 받아들일 수 있게 의존성을 정리하는 기술이다. 의존성은 실행 시점과 구현 시점에 서로 다른 의미를 가진다. 실행 시점 : 의존하는 객체가 정상적으로 동작하기 위해서는 실행 시에 의존 대상 객체가 반드시 존재해야 한다.
BlogBook Review
켄트 벡의 Tidy First? - 책 소개
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다. 원제 : Tidy First?: A Personal Exercise in Empirical Software Design 저자 : Kent Beck 출간 : O'Reilly Media, 2023 / 한빛미디어, 2024 익스트림 프로그래밍 XP 의 창시자이자 애자일 개발론, TDD 를 주장하는 켄트 벡의 새로운 책이다. Tidy First? 는 방법론이나 기술적인 맥락 보다는 리팩토링에 어떻게 손을 대고 무엇부터 시작하면 좋을지에 대한 길라잡이가 될 수 있을
FundamentalOOP
오브젝트; 절차 추상화와 타입 추상화
타입 : 변수에 저장할 수 있는 내용물의 종류와 변수에 적용될 수 있는 연산의 가짓수를 의미. 안타깝게도 프로시저만으로는 충분히 풍부한 추상화의 어휘집을 제공할 수 없다. 이것은 언어 설계에서 가장 중요한 추상 데이터 타입의 개념으로 우리를 인도한다. 추상 데이터 타입은 추상 객체의 클래스를 정의한 것으로 추상 객체에 사용할 수 있는 오퍼레이션을 이용해 규정된다. 이것은 오퍼레이션을 이용해 추상 데이터 타입을 정의할 수 있음을 의미한다. 추상 데이터 객체를 사용할 때 프로그래머는 오직 객체가 외부에 제공하는 행위에만 관심을 가지며