틀린 말은 아니지만, 이런 이야기를 듣는 사람 입장에서는 개발자가 되기 위한 공부 방향을 설정하
는 데 그다지 도움이 되지 않습니다.
자바 프로그래밍을 배웠지만 HTTP 기초도 알아야 하고, 스프링 프레임워크, 데이터베이스 등 어떤 것부터 시작해야 할지 막막합니다. 학습 수준의 차이는 있을지 모르지만, 백엔드 개발자가 되기 위해서는 여러 주요한 학습의 키워드를 유기적으로 연결할 줄 알아야 합니다. 이 책은 ‘자바 프로그래밍에 대한 기초 지식이 있는 사람이 빠르게 자바 웹 개발에 입문하고, 간단한 과제 테스트를 풀이할 수 있으려면 어떻게 학습해야 할까?’라는 물음에서 시작됐습니다.
PART 01~02에서는 백엔드 개발자 채용 프로세스부터 실무에서 가장 많이 사용하는 자바 문법, 백엔드 개발을 위한 서버와 클라이언트의 구조 등 필수 기본 지식을 다루고, PART 03~04에서는 과제 테스트를 위한 백엔드 애플리케이션 개발의 과정을 친절하게 설명합니다.
『이것이 취업을 위한 백엔드 개발이다 with 자바』를 통해 실제 백엔드 개발자 채용 과정에서 출제되는 다양한 과제 테스트를 해결하며, 실무 역량을 발휘할 밑거름을 마련해 보세요!
저자소개
저자
이준형
카카오에서 ‘스팸 어뷰징’이라는 특이한 도메인을 다루고 있는 자바 백엔드 개발자이다. 주니어 개발자들에게 도움이 되고자 인프런, 프로그래머스, 클래스101 등에서 인프라, 객체지향 프로그래밍 온라인 강의를 런칭하고, F-Lab과 프로그래머스 데브코스에서 멘토로 활동 중이다. 주니어, 예비 개발자들이 학습 과정에서 마주치는 어려움을 파악해 쉽고 이해하기 쉬운 방식으로 전달하기 위해 노력하고 있다.
역자
박상현[감수]
SaaS, 통신 장비, 반도체 공정 자동화, 무기 체계 등 다양한 도메인에 걸쳐 소프트웨어를 개발해 왔다. 현재는 캘리포니아 소재의 스타트업에서 소프트웨어 엔지니어로 근무 중이다. 엔지니어로 일하면서 『이것이 C#이다(3판)』(2023), 『이것이 자료구조+알고리즘이다 with C 언어』(2022), 『그로킹 딥러닝』(2019)을 비롯한 10여 권의 저서와 1권의 역서를 출간하며 활발하게 활동하고 있다.
목차
PART 01. 백엔드 개발자 취업, 무엇을 어떻게 준비할까?
CHAPTER 01. 백엔드 개발자가 하는 일
1 백엔드 개발이란 무엇인가
2 백엔드 개발자의 역할과 역량
CHAPTER 02. 백엔드 개발자가 되는 방법
1 백엔드 개발 채용 프로세스
2 자바를 선택해야 하는 이유
PART 02. 백엔드 개발을 위한 필수 기본 지식
CHAPTER 03. 실무에 가장 많이 쓰이는 자바 문법
1 실습 환경 구축하기
2 자바의 기본 문법 점검하기
3 자바 8 버전 이상의 모던한 자바 문법 다지기
기술 면접 TIP
CHAPTER 04. 서버와 클라이언트
1 서버와 클라이언트의 개념
2 서버와 브라우저
3 서버와 서버
4 서버와 기타 클라이언트
기술 면접 TIP
CHAPTER 05. API 호출 클라이언트 페이지 만들기
1 스프링 부트 애플리케이션 실행하기
2 컨트롤러 추가하기
3 정적 리소스 추가하기
기술 면접 TIP
CHAPTER 06. 백엔드 개발에 필요한 최소한의 HTML 지식
1 백엔드 개발자가 HTML을 알아야 하는 이유
2 HTML의 구조
3 웹 브라우저와 서버의 상호작용
4 form 태그로 서버와 상호작용하는 방법
기술 면접 TIP
CHAPTER 07. 백엔드 서버와 통신하기 위한 최소한의 자바스크립트 지식
1 자바와 비교하며 배우는 자바스크립트 필수 문법
2 HTTP 전송 데이터의 형식 JSON
3 서버와 비동기로 상호작용하기
기술 면접 TIP
CHAPTER 08. 서버와 클라이언트의 약속, HTTP
1 HTTP 트랜잭션
2 HTTP 요청 헤더와 바디
3 HTTP 응답 헤더와 바디
기술 면접 TIP
PART 03. 과제 테스트를 위한 백엔드 애플리케이션 개발하기
CHAPTER 09. 상품 관리 애플리케이션 만들기
1 List를 이용한 상품 관리 애플리케이션
2 데이터 구조 정의하기
3 상품 추가 구현 및 프로젝트 구조 잡기
4 DTO와 getter, setter
5 상품 조회/수정/삭제 구현하기
기술 면접 TIP
CHAPTER 10. 상품 관리 애플리케이션에 유효성 검사 추가하기
1 도메인 객체 및 컨트롤러 유효성 검사 추가하기
2 전역 예외 핸들러 추가하기
3 HTTP 응답 상태 코드와 바디
기술 면접 TIP
CHAPTER 11. 상품 관리 애플리케이션에 데이터베이스 연동하기
1 데이터베이스를 사용하는 웹 애플리케이션
2 데이터베이스 다뤄 보기
3 상품 추가 기능 구현하기
4 상품 조회/수정/삭제 구현하기
기술 면접 TIP
CHAPTER 12. 상품 관리 애플리케이션에 객체지향 더하기
1 클래스 추상화하기
2 리팩토링과 테스트 코드
3 모킹과 단위 테스트
기술 면접 TIP
PART 04. 실전 과제 테스트 문제
CHAPTER 13. 단축 URL 서비스 개발
1 과제 테스트 제시
2 문제 풀어 보기
기술 면접 TIP
CHAPTER 14. 주문 관리 API 서버 개발
1 과제 테스트 제시
2 문제 풀어 보기
기술 면접 TIP
찾아보기
[부록]
APPENDIX A API 테스트를 위한 툴, Postman
APPENDIX B 과제 테스트 최종 문서화하기
출판사리뷰
백엔드 개발자 취업을 위한 자바 웹 개발의 모든 것!
『이것이 취업을 위한 백엔드 개발이다 with 자바』는 취업, 이직 등의 이유로 백엔드 개발에 대해 제대로 배우고 싶은 입문자, 자바를 배웠지만 백엔드 개발자가 되기 위해 뭘 해야 하는지 갈피를 잡지 못하는 취업 준비생, 백엔드 개발의 개념을 체계적으로 정리하고 싶은 주니어 개발자를 위해 만들었습니다.
3단계로 완성하는 자바 백엔드 개발
1단계_백엔드 개발자 취업 준비 & 필수 기본 지식 학습하기
백엔드 개발이 무엇인지, 백엔드 개발자가 되기 위해 무엇을 준비해야 하는지 설명하며, 실무에서 가장 많이 쓰이는 자바 문법, 서버와 클라이언트, 백엔드 개발에 필요한 최소한의 HTML, 자바스크립트 지식 등 무엇부터 시작해야 할지 혼란스러운 백엔드 개발 입문자도 학습의 방향성을 설정할 수 있습니다.
2단계_백엔드 개발 과정 이해하기
애플리케이션의 기획/설계 및 유효성 검사 추가하기, 데이터베이스 연동하기, 객체지향 더하기 등 말로만 듣던 기술들이 구체적으로 어떻게 구현되는지, 그 배경과 원리를 파악함으로써 백엔드 개발의 역량을 키워 나갈 수 있습니다.
3단계_백엔드 개발 실전 과제 테스트 연습하기
단축 URL 서비스, 주문 관리 API 서버 등 실제 백엔드 개발자 채용에 자주 출제되는 과제 테스트 문제를 해결하며 요구사항에 맞게 개발하는 연습을 할 수 있습니다.
백엔드 개발자로 취업하려면 프로그래밍 언어, 웹 프레임워크, 데이터베이스, 네트워크. 프로토콜, API 등의 기본적인 지식과 더불어 협업을 위한 버전 관리 시스템, 서비스 배포를 위한 데브옵스와 클라우드 서비스 기본 지식이 필요하다. 게다가 문제 해결 능력과 알고리즘에 관련된 포트폴리오를 구축하고 기술 면접을 준비하여 자신의 역량을 입증할 수 있어야 한다.
이 도서는 자바 프로그래밍을 배웠지만 HTTP 기초도 알아야 하고, 스프링 프레임워크, 데이터베이스 등 어떤 것부터 시작해야 할지 막막한 취준생을 대상으로 한다, 학습 수준의 차이는 있을지 모르지만, 백엔드 개발자가 되기 위해서는 위에서 언급한 여러 주요한 학습의 키워드를 유기적으로 연결할 줄 알아야 하는데 이 책은 ‘자바 프로그래밍에 대한 기초 지식이 있는 사람이 빠르게 자바 웹 개발에 입문하고, 간단한 과제 테스트를 풀이할 수 있으려면 어떻게 학습해야 할까?’라는 관점에서 집필되었다.
PART 01에서는 백엔드 개발자의 역할과 채용 프로세스를 소개하고, 자바 언어 선택에 대한 이유를 제시하여 백엔드 개발자로 성공적으로 거듭날 수 있는 방법을 안내한다.
PART 02에서는 백엔드 개발을 위한 필수 기본 지식을 다루는데 자바 문법부터 시작하여 서버와 클라이언트의 상호작용, API 호출 클라이언트 페이지 제작, HTML, 자바스크립트, HTTP 프로토콜 등을 학습한다.
HTTP와 브라우저를 이해하는 것은 웹 기반 백엔드 개발에 필수적인 요소라 할 수 있다.
PART 03에서는 과제 테스트를 위한 백엔드 애플리케이션 개발에 초점을 둔다. 상품 관리 애플리케이션을 만들고 유효성 검사와 데이터베이스 연동, 객체지향 프로그래밍 등을 통해 실전 프로젝트를 경험하며 실력을 키울 수 있다.
실제 예제 코드에 객체지향 개념을 추가하여 리팩토링과 테스트 코드도 작성한다,
마지막으로 PART 04에서는 실전 과제 테스트 문제를 제시하여 실무에서 발생할 수 있는 문제에 대비하고, 문제 해결 능력을 향상시킨다.
이 책은 취업을 목표로 하는 이들뿐만 아니라 백엔드 개발 분야에서 전문성을 키우고자 하는 개발자들에게도 유용한 자료가 될 것이다. 책의 목차를 따라가며 체계적으로 학습하고, 과제를 수행하며 실력을 향상시키면 취업에 대한 높은 경쟁력을 얻을 수 있을 것이다.
이번 한빛미디어에서 진행하는 <나는 리뷰어다 2024>에 당첨이 되어서 해당 책을 리뷰할 수 있게 되었다. 두 개의 책 중 하나를 선택할 수 있었는데, 자바 스프링과 관련된 내용이라 해당 책을 선택하였다.
현재 필자는 자바 스프링을 활발하게 백엔드로 활용하고 있는 직장인이라서 만약 이직을 하게 된다면 어떠한 것들을 준비해야하고, 어떤 것들을 기업에서 중요하게 여기는 지에 대해서 많이 알아갈 수 있었던 책이다.
이 책에서 제일 마음에 들었던 부분은 모의 면접과 같은 부분이였는데, 평소에 헷갈리던 부분을 잘 정리해둬서 좋았고, 과제 전형에 대해서 간단한 준비를 할 수 있었던 부분도 마음에 들었다.
전체적으로 책 구성은 1 챕터에서는 벡앤드 개발자가 무슨 일을 하는지에 대한 개요에대한 설명을 맨 앞에서 한다. 2 챕터에서는 자바 문법 및 프로그래밍, 웹에 대한 기초적인 내용에 대해서 설명을 하고, 3 챕터에서는 스프링과 관련된 기초적인 내용에 대해서 설명을 한다. 마무리로 과제 전형에 대한 간단한 구현을 확인해볼 수 있다.
각 단원 챕터별로 모의 면접 부분이 있는데, 해당 내용은 정말로 마음에 들었던 부분이다. 어디서 많이 본 것 같은 면접 질문들이 있는데 이 책에서는 그러한 것들에 대해서 잘 설명해주고 넘어간다.
가장 마지막 챕터로는 2, 3 단원에서 배웠던 내용으로 간단한 과제 전형을 맛볼 수 있는 챕터가 존재한다. 필자는 해당 내용을 보지 않고 요구사항만 보고 쭉 구현해보고, 책에 적혀있는 구현 내용과 내 구현 내용 방식이 어떤 식으로 다른지 비교 분석해보는 방식으로 공부해보는 것도 좋은 방법이라고 생각한다.
사실 경력직 이직으로 더 중요한 것은 내가 했던 프로젝트가 어떤 작업이었고, 고민했던 부분이 어떤 것이 였는지를 잘 정리해 두는 것도 좋겠지만, 어떻게 보면 위 책에 나와 있는 내용은 기본적으로 물어보는 면접 질문들과, 백엔드 개발자가 알아야할 내용들이 가득하다. 혹시라도 면접일정이 잡혀있을 때 가볍에 읽기 좋은 서적인 것 같다.
이번에 만난 책은 기술이나 결과에 대한 해설이 아닌 배우는 과정으로 가득채워진 여행 가이드 북이다.
대부분의 기술 서적, 특히 프로그래밍은 어떤 기술이나 도구, 언어, 방법론처럼 특정 분야를 설명하는 내용으로 채워지기 마련이다. 지금 당장 책장만 바라봐도 그렇다. 그러나 이 책은 개발자가 되기로 마음을 먹고, 취업을 위하 무엇을 찾아야 하는지, 배워야 하는지, 준비해야 하는지를 알려주는 책이다. 마치 '삼촌, 저 이번에 졸업하는데, 개발자가 되고 싶어요."라고 질문하는 독자에게 우선 어떤 준비를 해야 하는지부터 어떻게 취업 관문을 넘어야 하는지 알려주는 과정을 알려주는 삼촌의 친절한 안내를 담아낸 노트같다는 생각이다.
코딩 테스트만 하면 취업을 할 수 있다고 하며 문제만 수십개를 보여주는 책이나, 비전공자도 면접을 통과할 수 있다며 CS 내용을 그저 카더라 ~ 수준으로 나열해 놓은 책이나, 너도 할 수 있다며 개발 서적이 아닌 자기 계발 에세이도 아닌, 순전히 취업준비부터 면접 자리까지 모든 내용을 담아낸 700쪽이 넘는 대담한 책이다.
최근 평소 꼭 해보고 싶은 버키리스트 중에 하나였던 '책'을 내보는 경험을 위해, 개발 서적을 직접 써 보겠다고 덤볐다가 350페이지를 쓰는데 어마어마한 에너지를 쏟아 부었는데, 700페이지가 넘는 책의 두께와 무게에, 저자가 얼마나 고생했을지 미루어 짐작할 수 있었다. 절반 정도의 책을 준비하면서도 다시는 안 쓴다고 이를 갈고 있는데 ㅎㅎ, 저자는 지금 어떤 마음일지 궁금하다.
이 책은 자바 백엔드 개발자로 취업하기 위한 취준생이나 이직을 준비하는 개발자가 보는 책이며, 그에 맞는 내용을 담고 있다. 살펴보자.
모든 책의 처음이 그렇듯 자바 백엔드 개발자가 무엇을 하는지 정의 부분이 나오며, 어떻게 취업 정보를 얻는지, 채용 과정은 어떠한지 정보를 알려준다. 개인적인 경험에 비추어보면, 이러한 정보를 정확하게 얻는 것이, 쉽게 지인을 통해 소개 받거나, 학생인 경우 학교에서 알선 받거나, 때로는 사회 생활이 부족한 상태에서 주변 어른들에게 소개 받는 쉬운 길을 선택하는 것보다 몇 배 더 값진 정보라고 생각한다. 타인에 의해 구직/구인 정보 또는 채용 정보를 얻게 되면, 자신의 능력이나 가치가 실제보다 크게 부풀려지거나 반대로 과소평가 될 여지가 있다. 못 버티거나 못 쓸 인재가 될 가능성이 높다. 객관적인 평가와 시험을 통해 자신이 선택할 수 있고, 선택 받는 수준으로 맞추고 준비할 수 있는 기회를 놓칠 수 있다.
이 책을 통해 얻은 점은 지금 시대에 살고 있는 취준생은 너무나 복을 받았다는 점이다. (그렇다. 라떼다.) 예전에는 문법 책 한 권 읽고 개발자를 시작하는 경우도 있고, 회사에 들어가고 나서야 알게 된 (그 과정에서 얻은 고통은.. 참으로 글로 표현하기 힘들다.) 내용이 많아, 내가 무엇을 모르는지 모르는 상태가 계속되는 시간이 매우 길었다. 죄책감은 덤이니 정신적으로도 힘들 수 밖에 없었다. 그런데, 이 책에는 다 담겨있다. 문법에 더해 모던 자바 문법을 소개하고, 무료 개발 툴에 머물지 않고, 인텔리제이를 설명하고, 서버와 클라이언트가 어떻게 구별되며 왜 직군이 나뉘어져 있는지 설명한다.(+ 그들이 왜 싸우는지도 넣어주었다면 무림비법서였을텐데...)
중간 중간에 기출문제를 곁들여 팁을 알려 준다. 아 물론, 취업을 위한 책이다 보니, 쉬운 혹은 기본적인 내용도 기출로 제시되는데, 모르면 심각한 기본적인 문제지만, 제발 부탁인데, 면접관은 경력 이직자를 앞에 두고 질문할 때는 너무 기초적인 질문을 반복하는 일은 없었으면 한다. 아, 물론 신입 지원자는 책에 나온 기출문제 정도는 모르면 외워서라도 준비해야 한다.
책에서 제시된 내용은 백엔드 개발자가 기본적으로 알아야 항목들로 놓치지 않고 담아냈지만, 사실 이 모든 내용을 제대로 담아내기 위해서는 한 챕터마다 이 책의 전체 만큼의 내용으로 꽉 찬 한 권으로 담애 내도 모자랄 것이다. 14챕터니 한 챕터 주제마다 총 14권이면 될까 싶을만큼 백엔드 개발자가 앞으로 공부해야 할 내용이 많다. 백엔드 개발자를 희망하는 취준생이라면 이 책을 통해, 앞으로 어떤 것을 공부해야 하는지 알게 되는 행운을, 이직을 희망하는 경력자라면 무엇을 더 보충해서 학습해야 하는지를 알게 되는 든든한 삼촌의 조언이라고 여기면 좋을 듯 싶다. 이 책의 저자가 어떤 지향점을 목표로 삼았는지는 독자의 한 사람으로 확언할 수 없지만, 적어도 이 책을 통한다면, 백엔드 개발자로서 무엇을 해야 하는지를 정리하는 마인드 맵에 첫 번째 Depth는 완성 된 것이나 다름없다고 여긴다.
PART 01과 PART 02에서는 백엔드 개발자로 일하면 어떤 것을 하는지와 전반적인 채용 프로세스에 대해 설명해주고 백엔드 개발자가 되기 위해 필수로 알아야 할 기본 지식들을 다룬다. PART 03과 PART 04에서는 과제 테스트를 대비하여 직접 애플리케이션을 개발해보는 내용을 다룬다.
이 책에서 가장 좋았던 점은 챕터마다 있는 ‘기술 면접 TIP'이라는 페이지였는데, 해당 챕터 중 면접에서 나올 법한 질문과 그에 대한 답변까지 알려주고 꼬리 질문까지 만들어 준다는 것이었다.
백엔드 개발자 취업을 준비하는 취준생들이나 백엔드 개발에 대해 공부해보고 싶은 분들에게 꼭 읽어보라고 추천하고 싶은 책이다!
코로나 시기에 개발자 수요가 크게 증가하였고 그에 맞추어 개발자 교육과정도 많이 생긴 편입니다. 최근에는 채용시장이 다시 얼어붙는 추세라 취업하기가 쉽지 않은 상황이지만, 그래도 자바 개발자 만큼은 수요가 강한 편이라 생각됩니다. 특히, 취업과정 중 자바 과정은 죽지 않고 살아있는 편이죠. 다만, 공장형으로 양성되는 개발자 교육으로 인해 개별로 준비해야 할 과제테스트나 면접 준비가 제대로 되지 않는 경우가 많습니다. 개발자 교육을 수료만 한다고 해서 모든게 해결되는게 아니니 확실한 전략을 가지고 준비를 해야겠죠.
이런 취업문제를 해결하기 위해 방향을 잡아주는 책 "이것이 취업을 위한 백엔드 개발이다 with 자바" 에 대한 리뷰를 남깁니다.
1. 목차부터 전반적인 구성
목차는 백엔드 개발자 취업을 위해 준비해야할 것, 백엔드 필수 기본 지식, 백엔드 애플리케이션 개발, 실전 과제 테스트 순서로 구성되어 있습니다. 700 페이지 가까이 되는 분량이지만 자바의 기초지식이 있다는 전제로 책을 풀어내고 있기 때문에 상당히 빠르게 학습이 가능하다고 생각됩니다.
목차구성
- PART 01 백엔드 개발자 취업, 무엇을 어떻게 준비할까?
- PART 02 백엔드 개발을 위한 필수 기본 지식
- PART 03 과제 테스트를 위한 백엔드 애플리케이션 개발하기
- PART 04 실전 과제 테스트 문제
목차
전반적으로 책 페이지 수가 적은 편이 아니지만 각 챕터별로 구성이 짧게 끊어지기 때문에 개념이나 문법만 주구장창 나열한 이론서보다 훨씬 도움이 되는 것 같습니다. 대부분의 개발서적이 무작정 기본문법부터 시작하는데 이 책에서는 백엔드 개발자가 하는 일, 채용 프로세스 등 어떠한 일을 하는지, 어떻게 준비를 해야하는지 알려주어 컨셉을 잘 잡았다는게 확실히 느껴졌습니다. 또한, 개발을 할 때 모든 문법을 다 알 수도 없고, 찾아보고 배워야 더 많이 체득되는 부분이 있는데 이런 부분에 대해서도 저자의 고민이 잘 녹여져있다고 생각됩니다. 가령 Exception 에러가 나는 상황을 직접 실습할 수 있게 만들어서 생각하지 않고 넘어갈 수 있는 부분들을 잘 표현했다고 생각합니다.
에러 실습
파트별로 더 살펴보자면 PART 02에서는 자바 백엔드의 궁극적인 목표인 웹 애플리케이션 개발에 기본 지식이 나옵니다. 실무에서 쓰이는 자바 문법, 서버와 클라이언트의 개념, API 호출, HTML과 자바스크립트, HTTP 요청/응답까지 웹 애플리케이션을 개발하기 전 알아야할 지식들을 총 망라하고 있는데 짧게 짧게 구성하여 지루함을 덜어주는 구성이라 가벼우면서도 최대한 이해하기 쉽게 서술되어 있는게 특징이었습니다. 다만, 실무에서 쓰이는 자바 문법을 가볍게 훑고 지나가다보니 자바를 처음 접하시는 분들은 구글 검색이나 다른 서적을 같이 참고해서 보시는게 좋을거라 생각됩니다.
PART 03에서는 앞선 파트에서의 지식을 바탕으로 상품 관리 애플리케이션을 만들면서 유효성검사, 데이터베이스 연동, 객체지향 프로그래밍에 대해 파악할 수 있습니다. 데이터를 어떻게 정의해야하는지, 조회/수정/삭제는 어떻게 구현하고 DB와 연동해야하는지 웹 애플리케이션의 기능을 구현해가면서 실무적으로 알아야할 구조를 잘 구성했다고 생각합니다.
PART 04에서는 2개의 과제 테스트를 제시하고 과제 별 요구사항을 어떤 방식으로 접근해야하는지 나와있는데 해당 풀이 방식을 활용하여 자신만의 과제 테스트 방식을 만들어 취업 준비를 하면 될 것 같습니다.
챕터별로 마지막에 기술면접 팁이 제공되는 것도 특징인데, 예상 꼬리 질문을 덧붙이면서 직접 찾아서 답변을 준비할 수 있도록 하여 주도적인 학습을 유도하는 부분도 잘 구성하였다고 보여집니다.
기술면접 TIP
2. 유튜브 강의와 소스코드 제공
유튜브 무료 강의 제공
실습예제 소스코드 제공
책 내용으로도 충분하지만 독자들이 이해하기 쉽게 유튜브 무료 강의가 제공됩니다. 현재 기준(24년 2월 23일)으로 19강까지 나왔는데요. 강의가 길지 않고 챕터별 이론 설명하고, 실습하는 순서로 진행되서 이해하기 쉬웠으며 유료강의처럼 퀄리티가 높아서 책 구매하시는 분들이 꼭 보셨으면 합니다.
아쉬운 점도 분명 있었습니다. 실습을 하지만, 챕터별 문제나 과제 같은게 없고 따라만 하면 되기 때문에 독자들이 자칫 흥미를 잃고 책을 놓게 만들수 있지 않을까 라는 생각도 들었습니다. 코딩을 하는 과제가 아니더라도 어떤 내용을 찾고 요약해보는 과제만으로도 충분했을거라고 생각합니다. 또한, 취업 시 포트폴리오도 많이 준비하는 편인데 어떤 포트폴리오를 준비해야하는지에 대해서도 제시하는 챕터가 있었으면 조금 더 도움되지 않았을까 싶습니다. 추가로 시큐어코딩과 같은 보안적인 부분도 고려됐었으면 하는 아쉬움도 듭니다.
4. 총평
간략한 자바 웹 애플리케이션을 만드는 과정과 2개의 과제 테스트, 챕터별 기술면접 TIP을 통해 백엔드 취업 준비를 위한 가이드를 잘 구성한 책이라고 생각합니다. 퀄리티 높은 유튜브 강의까지 제공되고 있으므로 백엔드 준비를 하시는 분들은 이 책을 구매 안할 이유가 없어보입니다. 특히, 대학생이나 취업교육을 받고 있는 수강생인 경우 이 서적을 꼭 참고해서 좋은 결과 내셨으면 좋겠고, 개발자가 아닌 사업, 기획, 운영, 보안 등의 IT 관련 종사자들도 이 책으로 백엔드 개발을 이해하면 업무에 많은 도움이 되지 않을까 싶습니다.
마지막으로 보통의 백엔드 개발자로는 취업하기는 쉬울 수 있지만, 이 책을 통해 더 좋은 자바 백엔드 개발자가 되셨으면 합니다. 아마 저자분도 취업을 위한 책을 썼지만 나아가 더 좋은 개발자가 되길 기원하고 있지 않을까요? 자바 백엔드를 준비하시는 모든 분들을 응원하며, 이 책을 추천하겠습니다.
백엔드 개발에 관심이 있어서, ‘이것이 취업을 위한 백엔드 개발이다 with 자바‘라는 책이 출간된 것을 알고 어떤 책인지 궁금하고 보고 싶었는데, 이번에 좋은 기회로 출간되자 바로 책을 볼 수 있어서 너무나 기뻤으며, 책을 보고 내용에 한번도 만족을 하였습니다. 그래서 저처럼 백엔드 개발에 관심이 있는 분들, 그리고 스프링 프레임워크에 대해서 관심있는 여러 백엔드 개발자로 취업을 준비하는 취준생(취업준비생) 분들에게 이 책을 강력하게 추천을 드리고 싶습니다.
국내에서 자바가 가장 많이 사용되는 개발 언어인 주요 이유 중 하나는 정부, 공공기관, 공기업 등의 웹사이트가 한국정보화진흥원에서 만든 웹 기반 어플리케이션 프레임워크를 활용하기 때문입니다. 이 프레임워크에서 자주 사용되는 공통 기능들은 대부분 자바 라이브러리, 특히 스프링 프레임워크로 개발된 공통 컴포넌트들로 이루어져 있습니다.
따라서, 이러한 라이브러리를 사용하지 않으면 실질적으로 개발에 참여하기 어렵기 때문에, SI업체에서는 자바와 스프링 프레임워크에 대해서 능숙하고 잘 다룰 수 있는 개발자를 필요로 할수 밖에 없기 때문에, 국내 SI 업계의 표준으로 자리 잡았다고 볼수 있습니다. 이로 따라 ‘국내에서 백엔드 개발을 한다’는 말은 ‘자바의 스프링 프레임워크를 사용해 개발한다’는 말과 거의 동일하게 이해될 수 있을 정도입니다.
결과적으로, 백엔드 개발 직무를 준비하는 취업 준비생들에게는 스프링 프레임워크 학습이 필수적인 현실이 되었습니다.
이 책은 자바 문법에 대한 기본 지식이 있는 사람들에게 유용하지만, 자바 문법을 전혀 모르는 사람들도 이 책의 학습 로드맵을 따라가며 필요한 부분을 다른 관련 도서를 참고하면서 학습하면 충분히 이해할 수 있습니다.
학습 로드맵을 보면, 챕터1부터 9까지는 백엔드의 개념과 웹개발의 기본 요소인 서버, 클라이언트, HTML, 자바스크립트, API, JSON 등과 프로그램 및 환경 설정 등 필요한 기본적인 내용들을 차근차근 설명하고 있습니다.
따라서, 웹개발에 대한 기본적인 이해가 있는 사람들은 챕터9부터 시작하는 3단계 ‘애플리케이션 개발‘ 부분부터 학습하여 빠르게 진도를 나갈 수 있습니다.
이 책은 각 챕터별 학습 후에 ‘기술면접팁‘ 섹션을 제공합니다. 이 섹션에서는, 신입 개발자들을 채용하는 과정에서의 실제 면접관의 경험을 바탕으로, 면접에서 출제될 가능성이 있는 예상 질문과 그에 대한 답변을 알려주고 있습니다. 이러한 면접 팁 부분만으로도 이 책의 가격 이상의 가치가 충분히 있다고 생각합니다.
책의 9장부터는 스프링 프레임워크에서의 개발 방법과 실습을 통해 직접 웹 프로그램을 만드는 과정을 다룹니다. 이 책에서는 ‘상품관리 애플리케이션’ 이라는 애플리케이션 개발 실습을 통해 데이터 구조를 정의하고, 상품 추가, 조회, 수정, 삭제 등의 기능을 구현하게 됩니다.
이러한 기능들은 웹 개발에서 가장 많이 사용하는 부분이며, 게시판 생성 등도 비슷한 기능 입니다. 대부분의 웹 애플리케이션들이 이러한 기능을 사용하기 때문에, 실습을 통해 확실히 이해하는 것이 중요합니다.
책의 마지막 파트에서는 ‘단축 URL 서비스 개발‘과 ‘주문 관리 API 서버 개발‘이라는 두 가지 실전 과제 테스트 문제를 제공합니다. 이 문제들은 실전 코딩테스트와 같은 형식으로, 과제의 요구사항을 꼼꼼히 확인하고 해결해나가는 연습을 합니다.
처음에는 어려울 수 있으니 책의 설명을 참고해 연습하고, 과제를 완성한 후에는 요구사항을 다시 꼼꼼히 확인하면서 책을 보지 않고 반복 연습을 하세요. 완전히 이해했다면, 비슷한 유형으로 변형해서 연습해보는 것도 좋습니다.
안녕하세요? 정리하는 개발자 워니즈 입니다. 올해 첫 포스팅으로는 이것이 백엔드 개발이다 with 자바라는 책을 읽고 서평을 하는 포스팅을 해보려고합니다.
필자도 주니어 시절에는 Spring으로 Back-end 개발을 했었습니다. 물론 엄청난 기능들을 구현한다기보다는 주로 Spring의 MVC 패턴에 맞춰서 API 개발을 진행했었습니다. Back-end는 말그대로 어떠한 서비스의 뒷단을 담당하는 역할을 수행합니다. 그러다보니 요청한 내용에 대해서 DB(Database)를 조회하고 여러가지 비지니스 로직을 적용한 뒤, Front-end에서 사용할 수 있는 정형화된 데이터를 내려주는 역할을 수행합니다.
이 책은 순수 웹서비스 기술에서 기초적으로 배울 수 있는 컨텐츠들을 함축적으로 잘 담아 냈다고 생각하비다. 크게는 Part1,2에서 백엔드를 위한 기초적인 지식에 대해서 소개를 하고, Part 3,4에서는 실전 테스트와 같은 작은 어플리케이션을 개발하는 내용을 담고 있습니다.
그럼 각 챕터별로 간략한 내용에 대해서 소개를 하고 서평을 젂어 보겠습니다.
Part 1 (백엔드 엔지니어가 되는 법)
파트 1에서는 백엔드 엔지니어로 커리어를 정한 취업 준비생들을 위한 파트라고 생각이 들었습니다. 백엔드 엔지니어들은 어떤 업무들을 하는지에 대한 소개와 기업에 들어가기 위한 최소한의 역량들에 대해서 소개를 하고 있습니다.
이 책이 신기했던 것은 정말 취업 준비생들을 위한 것이라고 생각이 들었던것이 채용 프로세스에 대해서도 소개를 하고 있기 때문이였습니다. 이런 부분들은 직접 경험하지 않는다면 알기 어려운 내용들이기 떄문에 책에서 소개하는 채용 프로세스를 익히고 취업 준비를 임하는것이 좋다는 생각을 하게 되었습니다.
실제 업무에서는 기획, 설계, 개발, 배포, 운영으로 이어지는 흐름에 대해서도 간략히 소개를 하고 있습니다. 백엔드 개발자가 어떤 업무를 하는지 정확하게 이해할 수 있도록 안내하고 있습니다.
Part 2 ( 기본 지식 )
이 파트에서는 백엔드 엔지니어가 알아야 될 최소한의 개발 지식에 대해서 소개를 하고 있습니다. 이것이 백엔드 엔지니어다라는 책의 제목에 부합하는 파트라고 생각이 듭니다.
백엔드 엔지니어는 특히 자바, 코틀린이라는 언어를 주로 활용하게 되는데 그에 따른 문법에 대해서도 소개를 하고 있습니다. 그리고 CS지식인 서버와 클라이언트의 개념, HTML, Javascript 등에 대해서도 소개를 하고 있습니다.
한가지 아쉬운 점은 요즘 Back-end에서 기본적으로 요구하는 사항은 메시지큐에 대한 개념이라던지 캐시의 활용등에 대해서도 소개를 했으면 하는 바램이 있었습니다. 그리고 요즘에는 Container 환경자체가 기본적인 스킬이 되는 것 같아서 이러한 부분에 대해서도 소개를 하면 좋을것 같다는 생각을 했습니다.
이번 파트에서는 Part 1에 이어서 알고있어야될 기본지식들에 대한 소개로 최소한 이정도는 알아야 백엔드 엔지니어를 할수 있다는 설명을 하고 있습니다.
Part 3 ( 실전 ? 상품 관리 애플리케이션 만들기 )
필자는 Part 3부터 좀더 흥미롭게 읽을 수 있었습니다. 왜냐하면 실제 업무에서 진행하듯이 요구사항 정의부터 데이터 정의 어플리케이션 개발, 객체 지향으로 코드 변경의 흐름으로 설명을 해주고 있습니다.
먼저 데이터 정의는 아주 간단한 상품 객체와 관련한 데이터 이며 어떤 필드(상품, 상품 번호, 상품 이름, 가격, 재고 수량)들을 사용할 것인지 그리고 어떤 타입으로 생성할 것인지를 명시하고 있습니다.
유효성 추가를 위해서 코드를 어떻게 변경한는 지에 대해서도 하나씩 흐름을 이어서 설명하고 있어서 손쉽게 따라 갈 수 있었습니다. 더군다나 코드를 상세하게 설명을 해주고 있어서 직접 타이핑 해가면서 한 챕터씩 따라갈 수 있었습니다. 초심자라면 더더욱 한번쯤 해봐야될 부분이라고 생각합니다.
이어서 데이터 베이스 연동하는 부분에 대해서도 소개를 하고 마지막 챕터에서는 여러가지 환경(Test, Production)에서 bean 주입을 바꿔가면서 할 수 있도록 설정하는 부분에 대해서 코드로 소개를 하고 있습니다. 이부분을 제대로 이해한다면 객체 지향에 대해서 많은 부분 이해를 할 수 있을것이라고 생각됩니다.
Part 4 ( 서비스 개발 )
Part 4에서는 Part 3처럼 실전 서비스 2가지를 소개 합니다. 먼저 첫번쨰는 단축 URL 서비스 개발에 관한 내용입니다. 요구사항 부터 컨트롤러 추가, DTO 추가, 서비스 레이어 추가, 데이터와 연동 되는 리포지토리 레이어를 추가함으로써 CRUD를 쉽게 설명하고 있습니다.
마지막 챕털에서는 주문 관리 API 서버 개발부분인데, 필자는 이부분을 소스코드를 다운로드 받아서 한줄 씩 따라가면서 배웠습니다. 처음에는 이해 안가던 부분들도 여러번 계속해서 흐름을 이해하다보면 추가적인 기능(생성, 조회, 수정, 삭제) 들에 대해서도 쉽게 할 수 있다는 생각이 들었습니다.
취업을 준비하시는 분들이라면 이부분을 심도 깊에 여러번 수행해보시는게 도움이 많이 될 것이라고 생각했습니다.
마치며.
“이것이 백엔드 개발이다 with 자바”는 자바를 활용한 백엔드 개발에 대한 포괄적인 내용을 담은 책으로, 백엔드 개발에 관심이 있는 독자들에게 유용한 지침과 정보를 제공 하고 있습니다. 저자는 자바 언어를 사용하여 백엔드 시스템을 구축하는 방법을 단계적으로 설명하며, 개발 환경 설정부터 데이터베이스 연동, RESTful API 구현, 보안 등 다양한 주제를 다루고 있습니다.
각 장마다 예제 코드와 실전 프로젝트를 통해 독자들이 학습한 내용을 실제로 적용할 수 있는 기회를 제공합니다. 특히 중간 중간 면접에서 나올법 한 질문들을 모아둬서, 이런 부분들만 잘 이해해도 백엔드 엔지니어가 되는 데 큰 도움이 될 것이라고 생각했습니다.
저자의 쉽고 명쾌한 설명, 다양한 예제 코드, 그리고 실전 프로젝트를 통해 “이것이 백엔드 개발이다 with 자바”는 백엔드 개발에 대한 흥미를 가지고 있는 독자들에게 꼭 필요한 지침서가 될 것입니다. 이 책을 통해 자바를 활용한 백엔드 개발에 대한 실용적인 지식을 습득할 수 있을 것으로 기대됩니다.
본 포스팅은 “한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.”
누군가 의미를 물었을 때 정확하게 대답하기 힘든 질문들을 화두로 던져주는 부분이 있어 확실히 재미있습니다.
매 챕터마다 이 챕터에서 작업한 내용 중 중요 개념들을 질문으로 다시 던져줌으로써 단순히 코드를 타이핑하며 따라하기 급급한 초보자들에게도 왜 이런 프레임워크를 사용했을 까? 이 용어의 기원은 어디서 왔고 왜 이런 작업이 들어가게 되었을 까 ? 하는 의문을 던져줌으로써 좀 더 깊은 이해를 , 그리고 그 해답을
스스로 깨닫게 해주는 묘미가 있습니다.
누군가에게 설명할 수 있어야 내 지식이라는 것을 느끼게 해주는 것
그런 깨달음이 있네요
책은 백엔드 개발 with 자바
이 분야를 중점적으로 기술하였는데요
백엔드개발은 붐처럼 일어나서 많은 분들이 공부하지만 또 이분야만큼 모두의 시작점이 다른 프로그래밍 분야가 있을 까 싶을 정도로 접근이 다양할 것이라는 게 개발자로 업무하는 제 생각입니다.
저 같은 경우에도 C++, C#으로 보통 사용되는 전통적인 HW 테스트 프로그램만을 오년넘게 작업하다 서버프로그램 , 백엔드 프로그램 업무를 실무로 접하면서 이 책을 좋은 기회에 보게 되었는 데요
이 책 이 전에도 참 많이도 읽고 따라서 코딩도 해봤었습니다.
빠르게 업무를 해결하고 넘기려는
급한 마음에 실습코드만 적힌 책 위주로 뜻도 모르고 따라해본 책이 많았어요
하지만 결국 기본 베이스와 이 분야의 역사, 그리고 정말....소위말하는 기본을 익혀야되겠다라고 생각이 들면서
제가 어떻게 하면 백엔드 개발자가 될 수 있고 업무를 어떻게 해야할 지
그 베이스를 알려주는 책은 이 책이 제일 좋았습니다.
특히 자바를 배웠지만 그 자바를 이 백엔드 분야에 어떻게 활용해야 할 지 모르는 취업준비생, 백엔드 개발자로서 첫 발을 이 세계에 첨 들이는 사람들(주니어 개발자)
에게 좋은 추천서입니다. 이 챕터 마지막마다 이어지는 질문들과 조언들,해설들이 정말 도움이 많이 되었습니다.
프로그래밍이 분야가 워낙 많고 책마다 특징이 있지만 자바 백엔드 개발자가 되고 싶으신 분들에게는 이 책이 최적이구요. 백엔드 프론트엔드 개념부터 서버프로그래밍 시작하는 분에게도 추천하는 바입니다.
모두가 해당분야의 제일 Basic부터 차근차근 배워나가는 게 아니라 저같이 중간에 다른 분야의 업무를 급하게 배워야 하는 분들이 계실겁니다.
이 때 기본 서적을 고르고 점점 확장해 여러가지 케이스를 접하는 게 좋을 텐데 저는 이 책에서 기초부터 자바 실습코드는 많이 배웠네요
실무얘기를 조금 곁들이자면은
저는 최근 기존에 있던 사내 정보 Display 페이지에서 게시판 두개를 추가하고 기본적인 CRUD기능을 복사하는 작업을 했었는데요 코드 한 줄 한 줄의 뜻을 모르고 기존의 코드를 그저 추측만으로 복사해 사용하다가 이 책을 잃고 그 작업의 의미를 역으로 이해하였습니다.
아마 실무하시는 분들에게 흔한 케이스일 것 같습니다.
자바 백엔드 초보 개발자라면 반드시 한번은 읽어보기를 ...
라는 게 책의 제일 큰 감상입니다.
매 챕터 마지막 TIP부분은 코드 치시느라 힘드시더라도 반드시 짚고 넘어가시기를 추천드립니다.
이제 막 서버프로그래밍에 들어선 저인데
항상 새로운 분야에 들어가면 여러가지 참고서적을 책상에 비취해두고 시간 날 때 다시 읽어보곤 합니다.
서버 개발자 백엔드 분야 막 진입하시려는데
자바 개발자라면 이 책 읽어보세요 너무 급하게 실전코드만 찾아 필요 Task만 빨리 해결하려다 작업시간만 오래 걸린 저같은 중고개발자에게도 오히려 책을 읽고 마음이 편안해지는 경험을 준 책입니다
백엔드 개발자가 되기 위해서는 자바, 스프링을 사용할 줄 알아야 한다는 것까지만 어디선가 들어서 알고 있었기에
그것들을 공부하며 개인 프로젝트로 게시판을 구현해 봐야겠다는 대략적인 계획만 세운 상태였다.
그러다가 한빛미디어 서평단을 하게 되어 희망 도서를 고르던 중에 이 책이 눈에 들어왔다.
책 표지에 "취업을 위한" 이라는 문구를 보고 이 책이 실질적인 도움을 줄 수 있을 것 같다는 생각이 들었다.
이 교재는 학습 로드맵을 제시하며 시작한다. "준비", "필수 기본 지식", "애플리케이션 개발", "실전 과제 테스트" 의 4단계로 이루어져 있다. 로드맵의 키워드에서 알 수 있듯이 이 책은 백엔드 개발자에게 필요한구현 능력을 키우는 데 초점을 맞추고 있다. "준비" 단계에서는 백엔드 개발자의 역할과 역량, 채용 프로세스에 대해 설명하고 있다.
특히 채용 공고의 세부 항목에 대한 명확한 기준을 알려주는 부분이 유익했다. 지원자가 어떤 경험을 이력서에 적어야 적합한지를 알려준다. 그 다음에는 코딩테스트와 과제 테스트를 어느 수준 정도로 준비해야 하는지, 면접은 어떤 내용으로 준비해야 하는지 설명한다. 저자가 이 책을 통해 독자들이 목표로 하는 회사로의 취업과 이직을 해낼 수 있도록 최대한 도움을 주려고 노력하고 있다. 교재 곳곳에서 저자의 이러한 노력이 엿보인다.
"필수 기본 지식" 단계에서는 백엔드 개발자가 되기 위해 최소한으로 알아야 하는 내용인 자바 문법, 서버와 클라이언트, API 호출 클라이언트 페이지 만들기, HTML, 자바 스크립트, HTTP를 실무에서 많이 쓰이는 내용과 결합하여 설명하고 있다. 각 챕터 마지막에 학습 확인란이 있어 알아야 할 내용을 요약해준다. 또한 기술 면접 Tip도 제공하며 관련 링크를 덧붙여 보충 학습을 할 수 있도록 했다. 이 단계는 아는 만큼 보이는 영역이므로 읽으며 잘 모르겠는 부분은 공부하며 읽으면 좋겠다.
"애플리케이션 개발" 단계에서는 앞에서 배운 내용을 바탕으로 직접 애플리케이션을 만들어 보도록 설명하고 있다.
예제 코드와 프로젝트 화면, 상세한 설명을 제공하여 독자가 직접 구현하도록 한다. 독학하며 어떻게 프로젝트를 진행해 나가야 할지 막막했던 사람들에게 도움이 될 것이다. 본인은 애플리케이션에 데이터베이스를 연동해 본 경험이 없었는데 이에 대해서 상세하게 설명하고 있어서 든든한 지원군을 얻은 기분이었다.
"실전 과제 테스트" 단계에서는 과제 테스트로 자주 출제되는 "단축 URL 서비스 개발"과 "주문 관리 API 서버 개발" 예제를 제시하고 구현의 방향성을 제시하고 있다.
단순히 개발 지식만 담은 것이 아니라 현업 개발자의 경험을 녹였다는 점이 좋았다.
앞에서도 말했듯이 이 책은 독자가 아는 만큼 보이는 교재인데 전공자라면 무리 없이 읽을 수 있겠지만 비전공자라면 기본적인 CS 지식은 익혀두고 이 책을 보는 것이 좋겠다. 본인은 비전공자인데 복수 전공하며 공부한 내용과 정보처리기사 시험을 준비하며 봤던 내용이 많아 수월하게 읽을 수 있었다. 알고 있던 이론에 실무 지식이 덧입혀지는 풍부한 경험을 할 수 있다.
물론 이 책만 읽는다고 백엔드 개발자가 되기 위해 필요한 모든 내용을 배울 수 있는 것은 아니지만 반드시 알아야 하는 내용을 담고 있어서 누구에게나 도움이 될 것이라고 생각한다.
한빛미디어의 도서서평단으로 선정이 되어 2월에는 이것이 백엔드 개발이다 with 자바 도서를 받았는데요. 저는 Java 웹 개발자이면서 현재 만 4년이 다되가는데 실무자가 읽고 해당 도서는 어떤지 알려드리겠습니다.
이것이 취업을 위한 백엔드 개발이다 with 자바 도서입니다.
해당 도서는 백엔드 개발자가 되고 싶은 분들을 타켓으로 했는데요. 과제 테스트 경험과 실무에서 자주 사용하는 문법 및 함수를 알려주고 있습니다. 실무적인 내용도 어느정도 담겨 있으면서 기본적인 이론도 담겨 있습니다. 제가 다양한 기업에서 면접을 볼 때 기술면접에서 많은 질문을 받았는데 중간중간 백엔드의 개발자가 기술면접에서 질문받을 내용도 포함이 되고 있었습니다.
우리가 개발을 하면서 '왜 되는거지?'라는 질문이 항상 생각납니다. '왜 이렇게 사용하는거지?', '왜 이렇게 하면 안되는거지?' 등등 개발을 하면서 남이 짜놓은 함수와 프레임워크를 사용하게 되는데, 그에 대한 해답과 함께 기초적인 네트워크, 문법 등등을 알려줍니다.
Java, Spring, Spring Boot, Maven, IDE(IntelliJ) 그리고 HTML, Javascript, 동기, 비동기, HTTP, HTTPS, 유효성 검사, DB등등 정말 다양하게 많은 내용을 알려줍니다. 웹기준으로는 프론트엔드도 백앤드개발자가 조금은 알아야 한다고 생각하기에 저는 해당 도서가 구조를 잘 만들었다고 생각이 되네요.
또한 자주 출제되는 과제 테스트 문제 풀이와 함께 프로젝트를 만들어 보는 과정도 포함이 되어 있습니다. 과제같은 경우 실제 면접과제에서 나올법한 문제이면서 꼭 과제가 아니더라도 실무에서 사용하는 문제로 구성이 되어 있어서 좋았습니다.
이것이 취업을 위한 백엔드 개발이다 with 자바 도서는 신입들도 물론 좋은 도서이지만 1~3년차가 읽기 좋은 내용이 많이 담긴것 같습니다. 한 회사에서만 개발을 하다보면 다른 방법의 개발을 체험하기도 힘들 수도 있기 때문에 저연차가 읽기 좋은것 같은데요.
저같은 경우도 API 개발을 많이 하다보니 제가 사용하고 있는 방법도 해당 도서에 담겨 있었으며 웹 개발의 전체적인 내용이 담겨 있어서 좋았던 도서 입니다. 백앤드 개발, 웹 개발을 하면서 조금 더 기본기를 다지고 백엔드의 본질과 여러 방법을 알 수 있었던 도서인것 같습니다.
한빛미디어에서 출간된 '이것이~' 시리즈 중의 하나인 것 같은 <이것이 취업을 위한 백엔드 개발이다>라는 책을 보게 되었다. 회사에서 자바 말고, 다른 업무를 하다가 근래에 다시 자바 관련된 업무를 하게 되었다. 그렇기 때문에 자바 외 스프링부트 학습이 필요했다. 그런 찰나에 보게 된 책이다. 단순히 백엔드 개발에 대한 정보만 얻는 것이 아닌, '취업'을 위한 책이라는 것도 눈에 들어왔다. 이미 취업은 한 상태이지만 나중에 이직을 하게 될 수도 있으니, 그때를 대비하여 필요한 정보를 얻을 수 있을 것 같아 도움이 될 것 같았다.
책의 저자는 카카오에서 '스팸 어뷰징'이라는 특이한 도메인을 다루고 있는 자바 백엔드 개발자라고 한다. 주니어 개발자들에게 도움이 되고자 인프런, 프로그래머스, 클래스101 등에서 인프라, 객체지향 프로그래밍 온라인 강의를 런칭하고, F-Lab과 프로그래머스 데브코스에서 멘토로도 활동 중이시라고 한다.
저자는 사람마다 학습 수준의 차이는 있을지 모르지만, 백엔드 개발자가 되기 위해서는 여러 주요한 학습의 키워드를 유기적으로 연결할 줄 알아야 한다고 한다. 그래서 '자바 프로그래밍에 대한 기초 지식이 있는 사람이 빠르게 자바 웹 개발에 입문하고, 간단한 과제 테스트를 풀이할 수 있으려면 어떻게 학습해야 할까?'라는 물음에서 이 책이 시작되었다고 한다. 궁극적으로는 실무에서 웹 애플리케이션을 개발할 수 있는 백엔드 개발자로서의 역량을 갖출 수 있도록 돕기 위함이라고 할 수 있다. 위에도 나와있듯이 '자바 프로그래밍에 대한 기초 지식이 있는 사람'을 전제로 한다. 그렇기 때문에 아예 자바를 모르는 상태에서 보는 건, 조금 어려울 수도 있다. 물론 코딩은 따라 치면서 배우는 것도 있겠지만, 그래도 어느 정도의 이론은 알아야 조금 더 수월할게 읽고 실습을 할 수 있지 않을까? 자바 왕초보라면 <혼자 공부하는 자바>와 같은 책을 읽은 후에, 해당 책을 보는 것도 추천한다.
이 책은 웹 애플리케이션을 만드는 데 필요한 핵심 개념을 선별해 집중적으로 다룬다고 한다. 또한 취업을 위한 과제 테스트 수행의 밑거름이 되는 실전 문제도 수록되어 있다.
1. 백엔드 개발자 취업을 위한 준비
2. 백엔드 개발을 위한 필수 기본 지식
3. 과제 테스트를 위한 백엔드 애플리케이션 개발
4. 실전 과제 테스트 문제
학습로드맵이나 목차를 보며, 학습 분량을 정할 수도 있다. 책은 '찾아보기'를 포함하여 총 708 페이지로 결코 적지 않다. 꽤나 호흡이 길어서, 공부를 하다가 지칠 수도 있으니! 분량을 정하여 공부하는 것도 추천한다. 챕터로는 총 14 챕터이다. 기간을 정한 후에 하루 공부 분량이나 혹은 일주일에 어느 정도로 학습할 것인지를 스스로 정해보면 좋을 것 같다. 또한 유튜브에서 저자 직강 동영상도 제공한다고 하니, 책으로 학습을 하다가 모르는 부분은 참고해도 좋을 것 같다. 아니면 동영상을 보며, 책 진도를 같이 나가는 것도 좋은 방법이라고 생각한다.
책의 파트 01~02에서는 백엔드 개발자 채용 프로세스부터 실무에서 가장 많이 사용하는 자바 문법, 백엔드 개발을 위한 클라이언트의 구조 등 필수 기본 지식을 다루고, 파트 03~04에서는 과제 테스트를 위한 백엔드 애플리케이션 개발의 과정을 설명한다.
책 초반에는 취업과 관련된 내용과 백엔드 개발과 관련된 다양한 이론을 접할 수 있다. 앞쪽에 취업과 관련된 내용들이 있어서, 앞으로 참고할 부분들이 꽤나 있었다. 그리고 뒤로 갈수록 자바나 백엔드 개발 시 필요한 다른 언어 또는 약간의 네트워크 개념들에 대한 내용들도 나온다.
책은 백엔드 개발이 무엇인지에 대해서부터 시작을 한다. 백엔드 개발이 무엇인지에 대해 이해하려면, 프론트엔드에 대한 이해도 함께 필요하다. 먼 옛날의 개발자들은 프론트엔드나 백엔드의 구분 없이 개발을 했는데, 언제부터 이러한 구분이 생긴 것인지? 그래서 프론트엔드 개발자와 백엔드 개발자의 차이가 무엇이고, 하는 일은 무엇인지에 대해서도 알 수 있다. 이를 알아야 프론트엔드 개발자와 협업을 할 때도 커뮤니케이션이 원활할 테니, 잘 알아둘 필요가 있다.
그리고 백엔드 개발자의 길을 걷기로 했다면, 공부도 공부이지만 실질적으로는 가고 싶은 기업에서 어떤 인재를 채용하고 있는지에 대한 정보를 얻는 게 필요하다. 무작정 언어를 습득하고 채용 공고를 본다면, 아마 당황스러움을 느낄 수도 있다. 나는 이 '언어'만 아는데, 기업에서는 생각보다 더 다양한 자격조건들을 적어 놓고 있기 때문이다. 만약 나도 과거로 다시 돌아간다면, 가고 싶은 기업들의 채용 공고를 먼저 볼 것 같다. 당장에 갈 수 있는 건 아닐지 몰라도, 그걸 바탕으로 학습 방향 같은 것을 정할 수도 있을 테니 말이다. 그리고 자격조건이나 우대사항 같은 내용을 참고해, 내가 무엇을 더 채워야 할지도 체크할 것 같다. 그 외에 책에서 테스트나 면접에 관한 정보도 약간 얻을 수 있다. 필요에 따라서는 그림으로 설명을 해주는 부분들도 있어서, 글로만 적혀져 있는 것보다는 이해하기 조금 더 수월한 부분들이 있었다.
파트 2 이후로 챕터 3부터는 한 챕터가 끝날 때마다 [기술면접 TIP] 부분도 있다. 앞서 배웠던 이론을 바탕으로 실제 기술면접에서 나올 수도 있는 질문을 던지고, 그에 대한 답변을 보여준다. 그리고 그렇게 답변할 수 있는 이유에 대한 해설이 나와있다. 거기서 끝나는 게 아니라, 일부 질문들에 대해서는 '예상 꼬리 질문'도 함께 던져준다. 그 꼬리 질문들에 대한 답변은 상세하게 나와있는 편은 아니기 때문에, 그 질문들을 보며 스스로 답을 찾아보는 노력도 필요하다.
그리고 꽤나 캡처된 이미지들이 많아서, 보면서 참고하기 좋았다. 또한 단순히 자바 책만 봤더라면, 브라우저에서 개발자 도구를 어떻게 활용할 수 있는지 알기 어려울 수도 있는데? 이 책에서는 http를 설명해 주며 그런 부분들까지 설명을 해줘서 유용했다. 네트워크 탭에서 어떤 부분들을 확인할 수 있고, 어떤 부분들을 활용할 수 있는지에 대한 것들에 대해서 말이다.
챕터 8까지는 거의 이론 위주라고 보면 된다. 기존에 이미 알고 있었던 것들에 대해서는 한 번 더 복습하는 느낌을 가지며 볼 수 있었다. 애매하게 알고 있던 부분들에 대해서는 한 번 더 복기할 수 있었고, 새롭게 알게 된 것들은 조금 더 유심히 봤던 것 같다.
파트 3의 챕터 9부터는 본격적으로 과제 테스트를 위한 백엔드 애플리케이션 개발을 위한 실습이 진행되었다. 앞서 배웠던 자바와 웹 지식을 바탕으로 상품 관리 애플리케이션을 만들어보는 것이다. 주어진 요구사항을 분석하고, 그것을 바탕으로 핵심 기능을 하나씩 추가해 보며 웹 애플리케이션의 기초를 구현하는 것이다.
실제 과제 테스트 같은 게 주어질 때 간단한 구현은 몇 시간 정도를 주기도 하고, 난이도에 따라 일주일의 시간을 주기도 한다고 한다. 어떠한 과제가 주어졌을 때, 그 요구사항을 잘 분석해서 설계하고 개발하는 것은 무엇보다 중요할 것이다. 언젠가 겪게 될 과제 테스트를 위해 실전처럼 해보는 연습을 하는 것이 필요할 것 같은데, 그걸 필요로 하는 사람에게 유용할 것 같다. 요구사항을 보며, 어떻게 개발할 것인지 스스로 생각도 해보고! 실제 프로젝트를 생성한 후에 상품 클래스를 정의하며, 상품과 각각의 정보들의 이름은 어떻게 할 것인지에 대해서도 생각해 볼 수 있다. 그리고 추후에 DB 연동도 해보고, 다양한 기능들을 구현해 본 후에! 최종적으로 파트 4에서는 '단축 URL 서비스 개발'이랑 '주문 관리 API 서버 개발'을 통해 '과제 테스트'를 경험해 볼 수 있다. 당연히 이론도 중요하지만, 개발은 실제 코드를 쳐보는 게 더 도움이 되는 것 같다. 그냥 뭐든 그런 것 같다. 해봐야 알 수 있고, 습득이 되는 것 같다. 실제 과제 테스트를 어떻게 준비하면 좋을지, 백엔드 개발자로 취업을 하기 위해서는 어떤 것들을 알면 좋을지 궁금하다면 책을 읽고 실습을 해보는 것도 도움이 될 것 같다.