WIL(22.11.14~11.20)

최찬호·2022년 11월 20일

🤞🏼 FACTS

내일배움캠프의 3주차
알고리즘, 자료구조, JAVA, OOP 학습

  • KEEP
    1. 학습진행 중 어려움을 만났을때, 무엇이 어려운건지 문제를 파악하고 개선하려고 하는 생각, 행동을 의식적으로 반복했다.
    2. 새로운 것을 접했을 때 의식적으로 넓게 받아들이기.
    3. 해야할 것이 많을때 어떻게 계획하고 행동할 것인지가 고민이였는데 김창준님의 글을 읽고 그에 맞춰 행동하려 하고 있다.
  • PROBLEM
    1. 병렬적으로 학습하는 와중에 중요도 책정을 잘못한 부분이 있다.

🤘🏼 LEARNED

  • MIND

    1. 알고리즘문제는 매일매일, 조금씩!
    2. "이해"란 용어의 이해와 상황과 원리에 대한 이해, 2가지로 나누어 볼 수 있다고 생각한다. 의사소통을 위해 용어의 이해가 필요하고 용어로 정의된 상황에서 사용하기 위해 원리이해가 필요하다.
  • TECH

    1. JAVA
    2. DATA STRUCTURE

💪🏼 TO FUTURE

7일 전부 만족할 순 없지만 잘 보낸 1주일
이번 주는 돌아보면 보이지 않는 큰 계획에 의해 행동을 하게 된 일주일인 것 같다.
특히 해야할 일들의 순서와 시간계획면에서 좋은 정보, 글을 읽고 이전보다 여러가지일을 하루에 진행할 수 있게 되었다.
다만 시간계획에 맞춰 진행을 하니 목표했던 것들을 두루두루 진행할 수 있었지만, 중요한 개념들을 만났을 때는 이것에 많은 시간을 할당했음에도 불구하고 어려움을 겪었다. 그래서 이해란 무엇인가를 고민하게 되었다. 위와 같은 결론을 내렸고 많은 것이 편해졌다.
나를 힘들게 한 SOLID를 생각하던 중 SOLID를 모르는데 SOLID원칙에 부합하는 코드를 작성한 개발자가 있다. 이 개발자는 SOLID를 이해했는가? 라고 묻는 다면 어떤답을 할 수 있을까? 문득 이런 생각이 들었다.
이 사람은 SOLID라는 용어에 대한 정의는 없지만 어떠한 상황에서 적용할 수 있는 생각, 행위, 원리를 파악하고 있다. 그럼 다시, 이 개발자는 SOLID를 이해했는가?
용어의 이해는 NO이지만 원리이해는 YES이다. 그럼 내가 이해하고 싶다는 것은 무엇인가? 원리이해이다. 어떤 상황에서 적용할 수 있는지를 이해하고자 노력했다. 내가 생각한 SOLID는 분류와 교체 이게 끝이다. 상황에 따라 적용할 수도있고 아닐 수도 있다. 그리고 그 상황은 가독성유지보수성이다. OOP는 가독성유지보수성 측면에서 작성하고자 생긴 것 같다. 그러나 잘 지켜지지 못했고 쉬운 이해를 위해 SOLID가 나왔다고 생각한다.
위 결론이 100% 정답이라고 하는 것이 아니다. 다만 이해란 무엇인가에 대해 많은 생각을 해보게 되었고 다른 것들에서도 스스로 납득할 만한 이해를 하게 되었다. 지금은 이러한 이해들을 어떻게 검증할 수 있을지를 고민 중에 있다.
다음주에도 이어서 객체지향학습이 예정되어 있다. 그리고 미니프로젝트까지... 많이 두근거린다. 빨리 코드를 작성하면서 여러가지 시도를 해보고 싶다.
다음 주는 더많은 것을 경험하게 되기를!

profile
체득하고 이해하자

0개의 댓글