클린 아키텍쳐

TIL(Today I learned)

(TIL) 20210903

📕Facts(한 것) 클린 아키텍쳐 읽기 -> SDP:안정된 의존성 원칙 백준 문제풀기 ->후위 표기식 학교 과제 제출하기 📕Findings(배운것) SDP 안정된 의존성 원칙. 컴포넌트는 더 안정된 컴포넌트에 의존하는 것이 좋다. 그럼 "안정된" 컴포넌트는 어떤 컴포넌트 일까? 책에서 아주 좋은 예시를 들어주었는데, 세워져 있는 동전을 예시로 들었다. 조그만한 외부의 자극에도 무너지는 동전은 안정적이지 않다. 그렇다면 소프트웨어는 어떨까? 이때 안전성 지표가 등장한다. "I(불안정성) = Fan out / (Fan-in + Fan-out) 안으로 들어오는 의존성을 Fan in, 바깥으로 나가는 의존성을 Fan out이라 한다. 그리고 이 불안정성 I는 항상 [0,1]의 범위를 가지게 되는데 0일 경우 ..

TIL(Today I learned)

(TIL) 20210813

📕Facts(한 것) 운동하기 영화 평점 프로젝트 진행하기 클린 아키텍쳐 읽고 정리하기 📕Feeling(느낀 점) 클린 아키텍쳐에서 소개하는 코드를 설계하는 원칙에는 SRP(단일 책임 원칙), OCP(개방 폐쇄 원칙), LSP(리스코프 치환 원칙), ISP(인터페이스 분리 원칙), DIP(의존성 역전 원칙)이 있다. 그 중에서 오늘은 DIP, 의존성 역전 원칙, 에 대해서 얘기해보려 한다. DIP에 대해서 간단히 얘기하면, 구체적인 클래스 보다는 추상 클래스나 인터페이스에 의존성을 두는 것을 말한다. 그렇다면 왜 구체적인 클래스보다 추상 클래스와 인터페이스에 의존성을 두어야할까? 그 이유는 쉽게 유추할 수 있다. 바로 구체적인 클래스는 변동성이 크기 때문이다. 구체적인 클래스는 변동성이 크기 때문에, 이..

TIL(Today I learned)

(TIL) 20210724

📕Facts(한 것) 백준 문제 풀기 운동하기 clean architecture 읽기 📕Feeling(느낀 점) 백준 문제를 풀다 보면 아직 실력이 부족함을 많이 느끼곤 한다. 특히, 처음 보는 유형을 만났을 때 그 당혹감은... 30분, 한 시간 정도 고민하고 문제를 풀었을 때의 그 쾌감 덕분에 코딩을 손에서 놓을 수 없다. 클린 아키텍처를 읽으면, 마치 프로그래밍 언어의 역사를 공부하는 것 같은 느낌이 든다. 프로그래밍 언어가 발전하면서 어떠한 변화를 해왔는지를 알려주고, 왜 그런 변화가 일어났는지 말해준다. 대표적인 변화로 C에서 goto문을 사용하지 않는 것이 있다. 처음 C를 배울때 goto문을 신선함 그 자체이다. 하지만 코드를 작성하면 할수록, 코드의 길이가 길어지면 길어질수록 가독성을 떨트..

TIL(Today I learned)

(TIL) 20210722

📕Facts(한 것) 백준 문제 풀기 운동하기 코드숨 강의 복습하기 clean architecture 읽기 패스트 캠퍼스 운영체제 강의 듣기 📕Feeling(느낀 점) 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 처음 시도에는 50프로에서 시간초과가 발생했다. C++의 reverse() 함수가 그 이유였는데, 이 문제를 해결하니 50프로에서 틀렸다. (왜...) 게시판을 뒤져 겨우 반례를 발견했고, 결국 문제를 해결했다. (1시간을 넘게 붙잡고 있어서 현타가...) 클린 아키텍쳐에 이런 구절이 있다. ‘Function or architecture? Which o..

후;
'클린 아키텍쳐' 태그의 글 목록