본문 바로가기

Learning

백엔드 개발자에게 자료구조와 알고리즘 학습이 필요한 이유 백엔드 개발자가 왜 자료구조와 알고리즘을 공부해야 하는지에 대해 정리해 보았다. 자료구조 자료구조(Data structure)는 데이터를 효율적으로 저장, 관리하고 처리하기 위한 구조로서, 개발자의 자료구조에 대한 이해도와 선택에 따라 소프트웨어의 성능과 리소스 사용량에 많은 영향을 미치게 된다. 성능 최적화 필요한 데이터를 빠짐없이 다루기만 하면 문제가 없을 것 같지만, 데이터를 저장하고 접근하는 방법은 실제로 애플리케이션의 성능에 큰 영향을 미친다. 따라서 적절한 자료구조를 선택하는지의 여부가 성능 향상에 크게 기여할 수 있다. 예를 들어, 배열과 Linked List는 동일한 데이터를 저장할 수 있지만 둘의 CRUD 연산은 서로 다른 성능을 보인다. 자료구조를 심도 있게 학습한 개발자는 각 자료구조.. 더보기
앞으로의 공부 계획 상반기를 마무리하면서, 앞으로 새로이 익히거나 보완, 숙련해야 할 내용들에 대해 작성해 보려 한다. 클린 코드 항상 클린한 코드를 작성하기 위해 노력하고 있지만, 평생 공부하고 다듬어야 하는 부분이다. 개발자에게 기본기와 같은 것이기 때문에 길게 강조할 필요도 없다고 생각된다. 보다 가독성 좋고 유지보수가 용이한 코드를 작성하기 위해 부단히 노력할 것이다. Computer Science CS에서 개발자에게 가장 중요하다고 생각되는 분야는 컴퓨터 구조, 운영체제, 네트워크, 데이터베이스, 자료구조, 알고리즘의 6가지이며, 추가로 다이어그램 모델링, 디자인 패턴 등의 소프트웨어 공학 설계 기법도 중요성이 높다고 할 수 있다. 익혀야 할 내용이 적은 편은 아니라, 두루두루 공부하긴 했으나 아직 지식이 깊지 못.. 더보기
블로그 시작, 백엔드 개발 학습 현황과 향후 계획 (Java, SQL, 코딩테스트, Spring) 얼마 전에 백엔드 개발자로서의 커리어를 준비하기 위해 공부를 시작했다. 오늘 코딩테스트 연습을 시작하면서, 학습과정을 기록해 둬야 할 필요성이 생겼다. 이는 당시의 사고과정과 풀이방법을 망각하더라도 이후 언제든 상기할 수 있도록 하기 위함이다. 간단한 코딩테스트 문제를 풀어 보니 아주 쉬운 문제라도 풀이과정에서 배우게 되는 것들이 있는데, 당시에는 '평생 잊지 말아야지'라고 굳게 다짐했더라도 따로 정리해 두지 않으면 결국 대부분 기억에서 삭제될 것이다. 하드디스크는 인간의 뇌를 본떠 만들었다고 한다. 뇌는 정보를 물리적으로 저장할 뿐만 아니라, 용량이 가득 차면 새로운 정보를 저장하기 위해 이전에 입력되어 있던 정보를 지워 저장공간을 확보한다. 따라서 학습과정에서 중요 정보는 외부 저장수단을 이용해 따로.. 더보기