본문 바로가기
💬 Smalltalk

2023-W48 회고 : 좋아하는 것을 찾는 방법

by iirin 2023. 12. 6.

 

이번 주에 한 것

 

What is New?!

  • 실시간 채팅 WIKI 작성 완료하였습니다. 드디어...! 그리고 동시에 리팩토링과 테스트를 다시 짜보고 있습니다. [Link]
  • Spring AOP를 사용하여 Event publish 의 관심사를 수평으로 분리해보았습니다. 생각보다 신경쓸게 많아서 스트레스 받았어요... 관련된 글은 조만간 comming soon...!

 


What I Leanred

`후니의 쉽게 쓴 시스코 네트워킹` 1권 후기

네트워크 공부를 하기 위해 읽기 시작한 후니의 쉽게 쓴 시스코 네트워킹 책을 1권으로 마무리하고 다음 책으로 넘어가기로 했습니다.

 

후니의 쉽게 쓴 시스코 네트워킹 - 예스24

네트워크를 이렇게 쉽게 설명한 책은 없다! 20만 독자가 선택한 유일무이한 네트워크 최고의 입문서!2002년 출간 이후 16년 동안 네트워크 분야 베스트셀러 1위를 지키고 있는 『후니의 쉽게 쓴 시

www.yes24.com

10월 19일부터 11월 30일까지 약 5주동안 매주 1챕터씩 파리지옥 선생님들과 야금야금 읽고 이야기를 나누었는데요.

정들었던 이 파란 책을 떠나보내며 간단하게 후기를 남겨볼까합니다.

 

이 책은 주로 OSI 7 layers 중 2~3 계층의 장비와 라우팅에 집중한 책입니다. 예시 그림이 풍부하고 최대한 쉬운 어휘를 사용한 작가의 노력 덕분에 네트워크 구성에 대해 잘 모르고 row level 네트워크에 대해 겁부터 나는 사람들이 읽기 시작하면 딱 좋겠다는 생각이 들었습니다.

책의 대부분의 내용을 실제 네트워크, 장비 설정이 차지하고 있기 때문에 실제로 네트워크 구성을 해보겠다는 니즈가 없이 가볍게 넘어간다면 굉장히 빠르게 읽을 수 있습니다. 다만 저는 동시에 여러 CS 서적들을 함께 읽고 스터디하느라 천천히 읽었습니다.

 

다만 어플리케이션 개발자를 지향하고 있는 저와 스터디원들은 이 책은 1권만 읽기로 결정하였습니다. 4계층 이후부터의 이야기가 너무 없어서 정작 중요한 내용들을 학습하기에 부족하다는 생각이 들었고, 이 책에서 얻은 기반지식으로 다른 책을 시작하기로 하였습니다.

 

컴퓨터 네트워킹 하향식 접근 - 예스24

 

m.yes24.com

 

 

좋아하는 것을 찾는 방법

이력서를 작성하고 지원하고 피드백하고의 반복인 취준생의 일상에서 정말 수많은 질문과 자기 의심들이 듭니다.

그리고 '이걸 해봤어요' 하고 어필할 기술을 작성하고  모난 곳이 없이 둥글둥글 이력서를 수정하다보면 어느새 평범하기 그지없는 이력서 A가 되는 것 같아 문득 불안감이 들더라고요.

 

동료 중에 "평범한 이력서 입니다" 라는 피드백을 받은 동료가 있어서 이 주제에 대해 이야기 해보았습니다. 내가 코딩을 할 때 즐거운 때는 언제인가? 그리고 나는 이것을 언제 즐겁다고 인지했는가?

 

저는 객체지향과 처음만났던 국비교육 과정 5일차의 강렬한 기억을 얘기하며 "결국 내가 욕심내고 가장 시간을 많이 투여한 것을 좋아하는 것 같다" 라고 했어요. 만약 내가 해보려고 욕심을 내지 않았다면 내가 그것을 좋아하는지 알 수 없었겠죠. 욕심대신 '시도'라고 해도 되겠네요. 당시 이야기 나누었던 다른 동료들도 비슷한 사례였는데, 어떨결에 떠맡은 일 덕분에 밤새 시도하다가 인프라에 대한 관심을 가지기 시작했다던지 하는 것이요.

 

사실 원인과 결과가 모호한 관계라고 생각해요. 좋아하기 때문에 시간을 투여하기도 하지만 반대로 시간을 투여하기 때문에 좋아하게 되기도 하는 것이죠. 

 

그래서 제가 개발을 하며 좋아하는 것은 이런거 같더라고요.

  • 성능 개선하는 것을 좋아하는 것 같고.. (결국 DB를 공부해야한다)
  • 코드를 깔끔하게 짜는 것도 좋아합니다. 가독성이 좋은 코드라는 얘기를 들으면 뿌듯..!
  • 객체지향은 ‘재미’가 있습니다. 글쓰는 느낌같아요. 그리고 짜는 사람마다 결과가 달라진다는 것도요.
  • 다른 사람들의 생각을 듣고 고민하는 과정을 즐거워합니다.

 

 

친절한 코드 작성에 대하여

최근 읽은 질답에 대해서 짧게 단상이 들어 작성합니다. @Configuration 과 @ComponentScan

 

@Configuration 과 @ComponentScan - 인프런 | 질문 & 답변

@Configuration@ComponentScanpublic class HelloApplication { public static void main(String[] args) { AnnotationConfigServletWebApplicationCont...

www.inflearn.com

 

짧게 요약하자면 `@ComponentScan` 에는 `@Configuration` 을 붙이지 않아도 스스로 구성 요소 스캔을 하는데, 왜 붙이는 것일까? 에 대한 질문이었고 이에 대한 토비님의 답변이었는데요. 답변에서 그의 철학을 느낄 수 있었던 부분이 있어 발췌하였습니다.

 

첫째는 애노테이션을 기능이 아니라 주석으로 생각한다면 이 클래스는 스프링의 빈이고 그 중에서도 구성정보를 자바 코드로 다루는 것임을 나타내기 위해서입니다. 애플리케이션 구조 전반에 적용되는 @ComponentScan을 일반 컨트롤러 클래스 같은데 붙이지 않죠. 자연스럽게 @Configuration 빈으로 정의된 클래스에 나오게 됩니다. 그래서 스프링부트의 애노테이션도 부트스트래핑으로 직접 등록되는 빈 클래스라고 하더라도 @Configuration을 붙이게 됩니다.

두 번째는 이게 멀티 모듈로 나눠지는 경우 해당 모듈의 루트가 되는 클래스이고 하위 패키지에서 빈 클래스를 찾아서 등록시키기 위해 @ComponentScan가 붙어있더라도 부트의 부트스트래핑 클래스가 아니게 될 수 있습니다. 물론 이때도 @Import나 자동구성에 의해서 등록될 수도 있긴하지만 register로 등록되는 건 아니겠죠. 설명을 적고 보니, 결국 질문하신 내용에 포함이 될 수도 있겠네요.

 

자주 등장하는 이야기이지만, 개발도 결국 `협업`이라는 말이 있습니다.

다른 개발자에게 친절한 코드를 작성하는 것에 대해서 다시 한 번 생각할 수 있는 글이었습니다.

 


다음 주에 할 것