깊이와 에너지 집중의 필요성
생각정리(고찰)

깊이와 에너지 집중의 필요성

카페에서 클린아키텍쳐 책에 8장 OCP 개방 폐쇄 원칙을 보고있는데 클래스 연결 구조들을 정리한 내용을 보며 문득 든 생각들이다.

 

 

의존 변화 관계에서 독립하기 위해 DI를 사용하는데 안의 구체적인 인스턴스 내용은 모른 체 인터페이스만 사용하여 의존하지 않기 위함이다. 그래서 언어에서 인터페이스가 있는 것이고, 자바에선 인터페이스, c계열 언어에선 헤더파일이 있는 것. 그래서 이런 분리관계 자체는 탄생부터 있어왔다. 여기까지 생각이 드니 자연스럽게 과거에 배우고 알았던 것들과 연관관계가 생기면서 생각이 더 깊숙하게 들어갔는데, 그래서 해당 카테코리를 만들었다.

 

생각해보면 그래서 김영햔 스프링 강의에서 인터페이스를 사용하는 대표적인 이유가 바로 저거였다. 내가 배우려고 하는 rust 언어에서도 pub struct과 trait로 지원한다. 차이는 뭔지 모르겠지만 본격적으로 쓸려는건 아니니 그때 알아보면 된다.

근데 왜 난 rust를 좋아하는가? 이유는 전 회사에서도 그렇고 평소에도 타입스크립트를 하며 느낀, 타입이 제대로 안되어있고 클래스도 제대로 없는 근본없는 언어로 하면 예상할 수 없는 일들과 가독성이 매우 심각하게 떨어지기 때문이다. 그래서 개인프로젝트에서는 웹으로 보여주는 자바스크립트 대신 rust의 leptos를 사용해서라도 타입을 정의하고 싶었다.

근데 사실 이건 중소기업에서 대기업으로 탈출하지 못하는 사람들의 특징이다. 어느 언어든 중요하지 않고 깊숙히 한번 해보는 것이 중요한데, 그럴 수 없으니 자꾸 옆으로 지식을 익히려고 하고, 결국 비효율적인 자원 낭비에 도움이 별로 안 되는 것이다. 나쁜건 아닌데 취업엔 나쁘다. 결국 언어는 껍떼기일 뿐이며, 한번 깊히 들어가는게 중요하다. 회사에 새로 온 팀장의 말을 내가 이해한 방향이다.

 

근데 왜 한 언어를 깊이 해야 하는가? 여기서 도파의 롤 이론이 나온다. 한 챔피언을 마스터 해야 실력이 늘어난다는 것. 풀어서 설명하면, 사람은 총량 에너지가 정해져 있다. 100이라고 하면 처음엔 챔피언의 스킬, 메커니즘을 이해하느라 라인전, 게임 판을 읽는 에너지를 사용하지 못하는 것. 즉 챔피언 자체에 70, 게임 판에 30을 읽는 것. 하지만 점점 챔프에 익숙해지면 챔에 에너지가 20, 10, ... 으로 줄어들게 되고 자연스레 다른 라인전 구조, 게임 판을 읽는 에너지에 80, 90을 쏟게되며 게임 자체를 잘 이해할 수 있다는 것이다.

여기에도 적용해보면, 해당 언어 자체에 익숙해져야 다른 중요한 것들을 할 수 있다는 것이다. 실제로 Python을 코테용으로 몇년 동안 사용하다보니 그제서야 다른 강력한 컬렉션 함수들과 클래스를 만들어야 하는 필요성, 타입의 중요성이 보이기 시작했고, 다른 것들이 보였던 것. 제대로 파지도 못하고 막 다른 언어를 얕게 알아가려고 했다면 이런 발상을 하지 못했을 것.

 

의존하지 않기 위해 아키텍쳐, 이를 위한 인터페이스 사용. DI. 단일 책임 유저 기준.

자바 인터페이스 객체. 인터페이스.

그러니 난 코푸링을 하기로 했으니, 코틀린에만 집중해야겠다.

 

 

이래서 흔히 말하는 한 가지에 통달한 사람이 대체로 깨우치는 것과 일맥 상 통한다. 애매하게 여러개 한 사람은 깊이있게 하지 못해 깨달음을 못 얻는 걸 수도 있겠다. 왜 게임 잘하는 중졸인 이상혁의 말을 듣고 존중하는가? 전혀 다른 전자 기계 농사 업무 장인의 말에 집중하는가. 한번 정점에 도달하여 그 과정에서만 얻을 수 있는 지식을 갖추었기 때문이라고 생각한다.

여기서도 마찬가지인 것 같다. 조그만 세계인 것 같다. 밖의 거시적인 세계도 마찬가지다. 난 집중을 일 지식에 투자한 것. 하지만 이는 업무에 집중한 말이니, 여러가지를 다재다능하게 하는 것도 그것 만의 장점이 있다. 스타트업에 특화된 인재. 하지만 난 그러고 싶지 않아 일어나는 가치 충돌이며 이를 해결하기 위함과 내 성향상 깊이 파는 인생이어야 하는 것. 내가 물리학 과학을 좋아했던 성향과 이유에도 맞는 것 같다.

 

에너지 집중 IN이 이런 것 같기도 하다. 에너지를 밖이 아닌 안 쪽으로 집중하여 고찰을 많이 한다. 반대로 사회성을 부족하단 소리를 들으니 일종의 트레이드 오프인 것 같다. 시간은 24시간으로 정해져 있으니 다 할 순 없어서 일어난다. 건강이 중요하니 잠도 안 자고 할 순 없다. 건강이 안좋아 죽으면 모든게 끝인 것. 제일 중요한건 일단 살아있어야 이런 생각들도 한다.

개와 고양이도 이런 생각을 할까? 사람만 생각할까? 배부른 돼지가 더 낫다는 생각을 가끔 했다. 동물 언어는 사람도 가끔 하는 비언어적 언어를 이해하는 걸 하는 것.

 

 

 

의존성 역전은 "난 구체적인 내용은 모르겠고 인터페이스로만 갔다 쓸 거니까 니가 알아서 구체적으로 구현해" 해서 역전됨.

'생각정리(고찰)' 카테고리의 다른 글

만든이유  (0) 2024.05.01