전체 글
[월간회고] 2024년 9월, 생각 정리와 루틴
[월간회고] 2024년 9월, 생각 정리와 루틴
2024.10.02지난 달 되돌아보기지난 달 액션1. 저녁 루틴에 '독서' 추가하기 (= 수면을 위한 저녁 루틴 가꾸기)저녁 루틴에 독서를 넣은 후로 책 읽는 빈도가 엄청 늘었다. 책 읽기가 익숙해져서 그런지 저녁시간 뿐만 아니라 대중교통 이용할 때에도 많이 읽게 된다.저녁에 책을 읽고 나면 비교적 잡생각도 줄어들고 머리가 조용해지는 것 같다.아직 저녁 루틴에 넣은 지 얼마 안되서 빠르게 잠들기에 효과적인지는 좀 더 지켜봐야할 것 같아효과가 조금 있긴 한데, 침대에 누워서 생각이 시작될 때도 있어서 주의가 필요함!2. 주 3회 운동제대로 워킹한 것 같다! 일정이 있었던 주만 빼고 주 3회 운동 했다!되도록 필라테스도 주 3회 신청하려고 노력했는데, 예약이 치열할 때가 있어서 다른 운동도 병행해야할 것 같다.다음 달에는 클..
[소프트웨어 아키텍처 101] 13. 서비스 기반 아키텍처 스타일
[소프트웨어 아키텍처 101] 13. 서비스 기반 아키텍처 스타일
2024.09.14인상깊은 부분분산 시스템에서의 데이터 무결성BASE 분산 트랜잭션라는 새로운 개념의 존재를 알게 됨분산도가 높은 아키텍처에서는 최종 일관성 기반의 BASE 분산 트랜잭션 활용. 이 기법은 최종 일관성 기반이므로 ACID 트랜잭션 레벨의 데이터 무결성은 지원하지 않음최종 일관성이란 별도로 분리된 배포 단위에서 처리된 데이터를 미리 알 수 없는 어느 시점에 모두 일관된 상태로 동기화한다.확장성, 성능, 가용성을 얻는 대가로 데이터 일관성과 무결성을 희생하는 트레이드오프인 셈이다트랜잭션 사가오케스트레이션 및 코레오그래피DB 분리 시 도메인 서비스 간 상호 통신 방지와 데이터베이스 간 중복 데이터 방지를 고려서비스 기반 아키텍처에서 단일 모놀리식 데이터베이스를 개별 데이터베이스로 분리할 수 있고, 마이크로서비스..
[월간회고] 2024년 8월, 삶의 질(식단과 수면)
[월간회고] 2024년 8월, 삶의 질(식단과 수면)
2024.09.12지난 달 되돌아보기지난 달 액션1. 실수를 통해 배우자! 체크리스트 만들기!여러 개 모아봤음 ㅎㅎ 조만간 팀원들에게 공유하면서 더 취합해봐야겠다!2. 잠들기 전 일기로 하루에 있었던 일을 적자하루 마무리를 통해 기억력을 높이고 잠들기 전 잡생각을 떨쳐내기 위함이었는데, 수면 측면에서는 효과적이지는 않았다. 한 달 중 10일 정도 일기 쓴 것 같은데, 하루를 되짚어보는 건 여러모로 좋은 것 같아서 루틴 유지하려고 한다.근데 야근이나 약속이 있으면 저녁 루틴을 잘 안하게 되서, 저녁 루틴은 optional 성격이 있는 것들만 넣어놔야겠다.3. 주말 활용하기 - 주말 아침도 평일과 동일한 루틴을 하되, 블로그 포스팅이나 이력서 갱신 같은 Task를 하는 날로 활용하자!쉽지 않다. 결국 주말을 야무지게 활용한 ..
[소프트웨어 아키텍처 101] 12. 마이크로커널 아키텍처 스타일
[소프트웨어 아키텍처 101] 12. 마이크로커널 아키텍처 스타일
2024.09.07인상깊은 부분보험 청구처럼 비즈니스 케이스가 복잡한 경우에도 사용이 용이하겠다요약마이크로커널 아키텍처(microkernel architecture) 혹은 플러그인 아키텍처(plug-in architechture)제품 기반 어플리케이션(단일 모놀리식 배포 단위로 패키징해서 다운로드 및 설치가 가능하며, 보통 고객 사이트에서 서드파티 제품으로 설치되는)에 적합비제품(nonproduct) 고객 비즈니스 어플리케이션에서도 많이 사용예시) IDE와 같은 텍스트 에디터예시) Payment Processing이 코어 시스템을 나타내는 도메인이라면, 결제 수단(신용카드, 페이팔, 선불 카드 등)이 플러그인 컴포넌트12.1 토폴로지마이크로커널 아키텍처 스타일은 코어 시스템과 플러그인 컴포넌트라는 두 가지 아키텍처 요소로..
[소프트웨어 아키텍처 101] 11. TODO
[소프트웨어 아키텍처 101] 11. TODO
2024.08.31
[소프트웨어 아키텍처 101] 9. 아키텍처 스타일 기초
[소프트웨어 아키텍처 101] 9. 아키텍처 스타일 기초
2024.08.10인상깊은 부분/내 생각실무에서 순수하게 모놀리식을 쓰는 경우가 많을까?s3, serverless, firebase 등을 활용하는 순간 내 시스템 배포는 모놀리식 이어도 전체적인 모습은 분산 아키텍처를 사용하게 되는 거 아닐까?이 경우 분산아키텍처에서 고려해야하는 요소들을 제3자(네트워크를 이용하는) 연동 파트에서도 고려해야한다.비중의 문제인걸까? 완전한 모놀리식은 보기 어려운 것 같다.으음! 아키텍처 차원에서는 모놀리식이라고 보는게 맞으려나? 내가 컨트롤할 수 있는 영역을 어떻게 바라보고 다루느냐도 중요하니까..분산 아키텍처에서의 트랜잭션최종일관성을 기반으로 트랜잭셔널 사가와 BASE 기법을 사용한다.확장성, 성능, 가용성을 얻는 대가로 데이터 일관성과 무결성을 희생하는 트레이드오프인 셈이다요약아키텍처 ..
[월간회고] 2024년 7월, 아침 루틴 가꾸기 성공 🌱
[월간회고] 2024년 7월, 아침 루틴 가꾸기 성공 🌱
2024.08.03지난 달 되돌아보기지난 달 액션1. 리듬감 있는 일상 만들기일찍자고 일찍 일어나려고 노력중이다!최대한 규칙적인 생활을 할 수 있도록 재택하는 날짜도 고정하려고 한다.그리고 8시 기준으로 재택 시에는 바로 출근을 하거나, 사무실 출근하는 날이면 출근 준비를 하는 것으로 기준 삼았다.수면 패턴이 정리되서 좀 더 일찍 일어나게 되면 아침 시간을 더 늘릴 수 있을 것 같다!2. 변수에 영향받지 않는 여유시간 확보하기아침 시간 1시간 30분 확보!요즘 일찍 자고, 알림 2번 이내로 정신이 바로 깬다. 일찍 잠든 날에는 몸도 개운에서 더 잘 일어나게 된다.종종 잠을 설친 날은 뭔가 피로하고 의욕이 없어서 루틴을 스킵하게 되지만, 잘 자고 일어난 날은 아침 시간이 여유롭다.아침에는 루티너리 앱으로 이런 루틴을 실행하..
[반기회고] 2024년 상반기, 리듬감 있는 일상을 만들자
[반기회고] 2024년 상반기, 리듬감 있는 일상을 만들자
2024.07.16주요 이벤트반셀프 인테리어작년 12월 그리고 올해 1월, 2월은 인테리어에 몰입해서 살았다.평일 4~5시간, 주말에는 거의 종일 알아봤던 것 같다.이때는 즐거운 마음으로 인테리어에 빠져서 살았던 것 같다.여행제주도 2박 3일, 방콕 3박 5일혈당 관리저번 건강검진때 공복혈당이 97인가? 높게 나왔었다.아마 아이스크림을 매일 1~2개씩 먹었기 때문이겠지...근력 운동을 해야 근육을 만들면서 당을 소비할텐데 크흠...반 년 정도 군것질 자제하고 거꾸로 식단 하니까 혈당 많이 낮게 나왔다!혈당관리 성공성공!그리고 당을 멀리하니까 이제 군것질하면 너무 달게 느껴진다.걷기와 러닝엄마랑 1시간 걷기를 의식적으로 하고 있다.3월부터 주에 1~2회 정도 꾸준히 하고 있는듯!그러다가 동료의 영업 겸 요즘 유투브 추천 알..
[소프트웨어 아키텍처 101] 8. 컴포넌트 기반 사고
[소프트웨어 아키텍처 101] 8. 컴포넌트 기반 사고
2024.07.11인상깊은 부분[[콘웨이 법칙]]조직구조나 의사소통 방식이 시스템에 묻어난다는 현상, 콘웨이 법칙은 살아있다. “조직문화부터 MSA까지” | 요즘IT최상위 아키텍처를 분하하는 두 가지 방법기술 분할(ex: 레이어드, Common/Local)과 도메인 분할(ex: DDD, 모듈러 아키텍처)아키텍트는 개발자, 비즈니스 분석가, 도메인 전문가와 협력해서 시스템을 어떻게 분할할지(즉, 기술 분할할지, 도메인 분할할지) 결정하고 그에 따른 초기 컴포넌트를 설계한다.컴포넌트 세분도[[아키텍처 101 8. 컴포넌트 기반 사고#컴포넌트 세분도]]적절한 크기/단위의 컴포넌트 식별은 어려운 것 같다.아키텍처 스타일에 따른 컴포넌트 식별 방법 케미p154 [[아키텍처 101 8. 컴포넌트 기반 사고#8.6 컴포넌트 설계]]식..
[소프트웨어 아키텍처 101] 7. 아키텍처 특성 범위
[소프트웨어 아키텍처 101] 7. 아키텍처 특성 범위
2024.07.09인상깊은 부분[[커네이선스]] 생각보다 자주 언급되는 개념이다.3장 대충 넘겼는데 나중에 다시 읽어야할수도..궁금한 것[[커네이선스]]를 결합 혹은 의존이라는 개념과 동일하다고 생각해도 될까? 단순 코드레벨이 아니라 비즈니스 개념 상의 결합/의존/응집을 표현하고자 하는걸까?요약7.1 커플링과 커네이선스[[커네이선스]] 정의 : 두 컴포넌트 중 한쪽이 변경될 경우 다른 쪽도 변경해야 전체 시스템의 정합성이 맞는다면 이들은 커네이선스를 갖고 있는 것이다. (= 결합 or 의존을 갖고있다고 받아들이면 되나)정적 커네이선스 (정적 코드 분석으로 발견할 수 있는 것)동적 커네이선스 (런타임 동작에 관한 것) : 동적 커네이선스는 동기, 비동기 두 종류가 있음동기 : 분산 서비스끼리 동기 호출을 하면 호출부(cal..
[소프트웨어 아키텍처 101] 6. 아키텍처 특성의 측정 및 거버넌스
[소프트웨어 아키텍처 101] 6. 아키텍처 특성의 측정 및 거버넌스
2024.06.25인상깊은 부분엔지니어는 아무 수치나 대충 목표로 삼는 게 아니라, 시간에 따라 어떤 추이를 보이는지 측정하고 통계 모델을 수립한다.예를 들어, 특정 API의 평균 응답 시간(p116~p117)의 단축을 목표로 한다면, max와 p99, p90의 평균 응답 시간을 얻고 각 구간별 목표 응답속도를 목표한다는 뜻인 것 같다.그리고 목표한 수치를 벗어나는 경우 알림을 받아서, 모델 자체가 부정확했거나(팀이 알고 싶어 하는 것), 뭔가 잘못되었거나(역시 팀이 알고 싶어 하는 것) 두 가지 중 하나일 것이다.모델 자체가 부정확했다는 뜻은, 구간별 평균 응답에 대한 측정이 잘못되어서 목표수치 설정을 잘못했다는 뜻이려나?아키텍처 특성 정의 시의 문제점은, 아키텍처 특성을 객관적으로 정의하면 모두 해결된다.정말 그럴까?..
[소프트웨어 아키텍처 101] 5. 아키텍처 특성 식별
[소프트웨어 아키텍처 101] 5. 아키텍처 특성 식별
2024.06.18인상깊은 부분도메인 관심사에서 도출한 아키텍처 특성비즈니스 이해도를 바탕으로 도메인 이해관계자들과 대화를 통해 시스템의 숨겨진 기술적인 요구사항을 찾아내야한다는 점을 이야기로 풀어주어서 좋았음유저 대비 성능 기준선특정 유저 수 기준으로 어느 정도의 성능이 나와야 하는 지 생각해보는 것예를 들어 UI 페이지에 API를 새로 추가해야할 때, 일평균 UI 페이지를 방문자 수와 어느 시간대에 주로 접근하는지 알면 API가 지원해야하는 성능(즉, 1초에 몇 개의 요청을 처리해야하는 지)를 알 수 있음아키텍처에서는 틀린 답은 없고 값비싼 답만 있습니다!띵언이네..기술 발전과 클라우드의 등장으로 인프라 비용이 많이 저렴해지고 관리하기도 쉬워졌지만, 보통 확장성과 가용성을 지원하려면 서버 비용이 더 든다. 그리고 이를..