본문 바로가기

IT 공부/이런 저런 생각들..7

오랜만의 스프링 보면서 느낀 점.. 예전에 봤던 스프링 기술을 지금 한 번 보고 있는데, 신기하게도 옛날과는 달리 술술 잘 읽힌다. 특히 기술 간 경계가 아주 명확하게 선이 보인다. 각종 라이브러리, 빌드툴, IDE, 등 각 기술들이 서로 어떻게 연계되는지 보인다. 각 기술 사이의 접합부가 무엇인지 보이고, 따라서 기술을 뺏다 넣었다 할 수도 있을 것 같다. 때문에 각 기술이 정확하게 어떤 절차를 거쳐 적용이 되고, 무엇을 위해 존재하는지 느낌이 온다. 왜 빨리 깨우치질 못했을까 안타까운 것도 있지만, 그래도 공부하면서 후퇴는 하지 않았다는 점에 뿌듯함을 느끼자. 2024. 1. 6.
유연하고 기민하게 공부하기 공학은 자연과학이 아니다. 이 말을 어디선가 들은 적이 있는데, 요즘 들어 조금 와닿기 시작했다. 난 성격 상 무언가를 명확하게 정의하고 분류하는 것을 선호하는지라 불분명하고 경계가 흐릿한 개념들을 잘 받아들이지 못한다. 처음엔 공부하기 좋은 성격이라 생각했는데, 이제보니 개발 공부에 있어서는 단점인 것 같다는 생각이 든다. 예를 들어, 운영체제 공부를 할 때 프로세스(process)와 스레드(thread)를 공부하게 되는데, 이 둘은 엄밀히 구분되는 개념이고, 이 둘의 차이점에 대해 면접에서도 자주 질문이 들어온다고 들었다. 하지만 깊이 파고들다보면 결국 이 개념을 각각의 운영체제가 어떻게 구현하는지 들여다봐야 하는 순간이 오는데, 이게 의외로 OS마다 접근과 구현이 미묘하게 차이가 난다. 리눅스의 경.. 2023. 12. 27.
공부 불안 코드 구현에서 잠시 멈추고 지금은 와 같은 책들을 유심히 보고 있다. 왜냐하면 온갖 기술들이 너무나 난무하다보니, 각 기술들이 소프트웨어 개발 프로세스에서 차지하는 어떤 위상이나 위치, 개념을 알고 싶었기 때문이었다. 지금까지 계속 어떤 기술(프로그래밍 언어, 프레임워크, 데이터베이스, ...)이 있고, 이런 문법을 사용하면 ~~한 기능을 사용할 수 있다는 식의 공부만 해왔다. 하지만 어느 순간부터 무언가 전진하고 있지 못하고 있다는 느낌이 들었다. 온갖 기술들을 개별적으로 이해하기에 앞서 애초에 개발 프로세스에 대한 전체적인 청사진을 그리고 싶었던 것이다. 기술을 숙달하는 것보다 그저 프로그래밍이란 무엇이며, 개발이란 무엇인지 알고 싶었다. 디버깅, 테스팅, 요구사항 분석, 설계, 버전 관리 도구, 협.. 2023. 11. 28.
개발 공부를 하면서 느낀 개발 공부의 특징 개발 공부가 왜 이렇게 어려울까? 남들에 비해 느린 학습 속도 때문에 나는 이런 질문을 자주 나에게 던지곤 했다. 물론 내 성격이 모르는 것이 있으면 해소하지 않는 이상 다음 단계로 나아가지 못하는 성격 때문도 있을 것이다. 이건 장점이자 단점이다. 하지만 이런 성격과는 별개로 개발 공부가 쉽지 않다는 것을 자주 느낀다. 최근에 객체지향 설계와 관련해 예전에 구매한 책 두 권을 다시 읽기 시작하며 개발 공부 자체의 특징에 대해 조금 실마리를 얻기 시작했다. 책 하나는 조영호 님의 라는 책이고, 다른 하나는 스티브 맥코넬의 라는 책이다. 나는 자바의 문법은 이해했지만 그걸 왜 쓰는지 전혀 모르는 괴로움으로 인해 꽤 오래 전에 이 책을 구매했었다. 1~2년 되었을 것이다. 그런데 그때는 정말 아무리 읽어도 .. 2023. 11. 21.