나만의 백엔드 공부법 (Lv. 0)
백엔드도 아니다. 개발자의 기본기!
코딩 테스트(코테)
최근 제로베이스 문제들을 포함하여 프로그래머스에서 레벨 0 ~ 레벨 1 문제를 풀어봤다. 기초강의, 자료구조 강의를 듣고 문제에 적용시키는건 생각보다 많이 어려웠다. 시간이 정말 오래 걸리기도 했고 군데군데 간단한 문제를 풀며 자신감을 올리기도 했다. 그럼에도 코테를 보며 크게 느낀 점이 있다. 강의를 듣고 개념을 이해했다고 생각한 것이 몹시 오만한 나의 착각이었다는 점이다.
다양한 알고리즘, Spring 프로젝트, 컴퓨터 지식 등 빨리 체득하고 싶은 것들 투성이다. 하지만 해쉬맵이나 스택, 큐는 고사하고 배열조작, 문자열 변환 같은 기본적인 문제를 틀리니 무엇을 공부해야 하는지 알게 되었다.
1. 선형 자료구조, 메모리
내게 우선적으로 필요한 공부는 선형 자료구조이다. 기본적으로 배열, 문자열 등을 다루는데 어려움이 많다. 또 배열은 기본적으로 컴퓨터가 메모리를 어떻게 저장하는지 알고 있어야 한다. 스택과 큐, 해시 테이블 역시 이와 무관하지 않다. 여러 선형 자료구조의 개념을 학습하고 이를 적용하는 연습을 할 계획이다.
2. 비선형 자료구조, 알고리즘
그 다음으로는 트리, 그래프 등 여러 비선형 자료구조에 대해 학습할 계획이다. 한 번은 배열을 이용해 문제를 풀었는데 우선순위 큐를 이용한 간단한 풀이 등을 보며 나의 무지함에 감탄했다. 아직은 끙끙대며 무지한 머리를 계속 때리지만, 차근차근히 꾸준하게 반복하다보면 머리와 손에 익을거라는 마음을 가져본다.
3. 컴퓨터 사이언스, 스레드와 프로세스
배열과 메모리를 학습하며 여러 컴퓨터 지식이 필요하다는 사실을 깨달았다. 스트림 사용에 스레드와 프로세스의 개념이 나오고, JVM의 실행 구조가 나오는데 나의 뇌에 와닿지 않았다. 지금 내 수준에선 우선순위가 밀리긴 한다. 하지만 내가 왜 사용하는지, 어떤 원리인지 등 튼튼한 기초를 세워야 선생님, 선배님, 선임 분들이 내 생각에 조금이라도 공감해주고 부족함을 가르쳐 주실 때 조금이라도 더 배울 수 있을거라 생각한다.
시간이 조금 아깝다고 생각이 들어도 기초를 튼튼히 하고 싶다. 예비 백엔드 개발자로써 기본적으로 학습해야 할 부분은 더 많다는 걸 알지만 최소한 기본을 갖춰야 성장할 수 있다고 생각한다.
'개인' 카테고리의 다른 글
[회고] 제로베이스 백엔드 스쿨 13기 수강후기 (1) | 2024.02.12 |
---|---|
난 어떤 역량을 가진 개발자인가? (0) | 2023.06.09 |
나의 모습,백엔드 개발자 (0) | 2023.05.26 |