Information Flow
Data와 Information의 차이와 추상화에 대해서 다뤘다.
각각 어떤 개념을 표현하고 있는 것일까?
아주 이해하기 쉬운 예시가 있었다.
벽돌은 낱개로 있으면 말 그대로 벽돌일 뿐이지만,
벽돌을 가지고 만약 집을 짓게되면 벽돌은 집을 의미하게 된다.
벽돌 자체는 Data라고 볼 수 있다.
Data가 잘 조직화가 되어서 집이라는 의미를 가지게 되었는데, 이는 관계가 맺어졌다는 것을 의미한다.
Data가 관계가 맺어지는 순간 Information이 된다.
Data와 Information의 차이는 구체화된 것으로 볼 수 있다.
그리고 관계를 맺어주는 일을 추상화라고 부른다.
추상화를 통해서 복잡한 것을 쉽게 만들 수 있다.
우리가 그렇게 관계를 맺어줬기 때문에, 조직화해줬기 때문에, 쉽게 만들어 줬기 때문에.
관계를 맺어주는 것은 누군가의 추가적인 작업이 필요하고 우리가, 엔지니어가 어떻게 관계를 맺어주냐(추상화)에 따라 달라진다.
노출할 것을 노출하고 노출하지 않을 것을 노출하지 않는다.
문제정의 세션에서 우리는 공감으로부터 시작했는데 공감은 사용자와 눈높이를 맞추는 것이고 Data를 Information으로 관계를 맺어주는 것이다. 프로그래밍 또한 현실 세계의 여러 데이터들을 필요한 사람들이 쓸 수 있도록 관계를 맺어주는 것이다.
사용자가 무엇을 알고 무엇을 모르는지를 알아야 적절한 추상화를 할 수 있다.
쉬운걸 노출하고 어려운걸 감추는 방향이 좋다.
사용자의 눈높이에 맞게 해주는 것이 중요한 이유는 의미가 없을 수 있기 때문인데 만약 수학과 교수에게 계산기 앱을 만들어 주는 것은 어떠한 가치도 창출할 수 없기 때문이다.
Layered Archirecture
계층을 UI Layer, Business Logic Layer, Data Layer로 나눈다고 가정해보면 Data Layer는 가장 많이 추상화가 되어 있다. 실제로 내부적으로 어떻게 동작하는지 사용자는 몰라도 된다. 사용자는 해당 서비스를 이용하는 방법, UI Layer에 대해서만 알고 있으면 된다. Data Layer의 Data들이 UI Layer에서는 Information이 된다. 여기서도 추상화를 통해서 관계를 맺어줬다.
Information Flow라고 하는 이유는 Data가 Information으로 가는 방향은 정해져 있기 때문이고 계속 흐르기 때문이다. 마치 애자일 같다는 생각이 들었다. UI -> Business Logic -> Data -> Business Logic -> UI -> ...
UI를 건들면, 버튼을 클릭하면 Data가 바뀌는데 이러한 동작을 위해서 중간에 Business Logic이 존재한다.
이것을 코드로 작성해주는게 엔지니어가 하는 일이다.
우리는 추상화를 한다.
Data Layer는 복잡하고 이를 UI에서 단순하게 표현할 수 있도록 한다.
'PEC > 돌아보기' 카테고리의 다른 글
[PEC] 4주차 세션 돌아보기 (0) | 2024.07.27 |
---|---|
[PEC] 3주차 세션 돌아보기 (0) | 2024.07.20 |
[PEC] 1주차 세션 돌아보기 (0) | 2024.07.05 |