The matter is how it can be , not how it is now

O4, 새.책.뷰(새벽에 쓰는 책 리뷰)

openapi와 스웨거를 활용한 실전 api설계

sstrato 2023. 12. 22. 16:01
728x90

판매처 : https://product.kyobobook.co.kr/detail/S000211655004

 

OpenAPI와 스웨거를 활용한 실전 API 설계 | 조시 포널랫(Josh Ponelat) - 교보문고

OpenAPI와 스웨거를 활용한 실전 API 설계 | 스마트한 개발을 원하는 백엔드 개발자는 물론, 프로젝트 테크니컬 PM과 PO, 프론트엔드 개발자가 모두 함께 읽어야 할 필독서! 요구사항 분석부터 사용

product.kyobobook.co.kr

 

간만에 써보는 새,책.뷰.이다. 그동안 정말 바빴다. 앞으로도 바쁠예정이라 어떻게 될진 모르겠지만

 

몇년간 내가 집중하고 있는 단어나 문장중의 하나가 무엇이냐면 '소프트웨어 설계란 무엇인가?'이다. 내가 그 분야를 전공하지 않아서도 있고 고리타분한 기계공학 그중에서도 연소 시뮬레이션을 전공해서인지 모르겠지만 어떤 단어에 대한 스스로의 정의나 납득할 만한 정의를 듣지 않으면 계속 물어보는 경향이 있는데, 정말로 아무한테도 그리고 아무곳에서 발견하지 못한게 '소프트웨어 설계'이다. 

 

이 책에서는 api 설계를 openapi 명세서를 적는것으로 설명하고 있다. 그리고 이 스펙을 기준으로 스웨거를 만들고 이후에 node.js로 구현 하는것을 설명한다. 

 

책 내용은 전반적으로 평이하고 각 장면 장면을 캡처나 자세한 설명을 통해서 나 같은 초보자도 쉽게 보고 따라할 수 있도록 되어 있어서 쉽게 볼 수 있다. 

 

그리고 내가 이 책에서 맘에 드는 부분은 내가 늘 주장하는 '설계와 구현은 다르고, 지금까지 설계라고 주장하고 있는 대부분의 구현에 대한 이야기다' 라는 것이다. 좀더 와닿게 설명하자면 다른 사람 설계의 결과물인 어떤것(여기서는 openapi yaml파일)을 가지고 내가 똑같이 만들 수 있냐는 의미이다. 

 

이 책에서는 이 부분은 openAPI spec을 만들고 이후에 nodejs 제네레이터를 통해서 자동으로 코드를 만드는 것으로 표현하고 있어서 내가 생각하는 '설계'라는 컨셉, 그리고 설계와 구현의 분리라는 부분에서 통하는 부분이 있다. 

 

그리고 여기서 좀 재밌는 부분은 여기에 나오는 코드들의 양들만 보아도 이미 기계가 만드는 코드가 훨씬 많다는 것이다. 즉 AI가 등장해서 사람이 코드를 짤 필요가 없는것이 아니라 그 이전 부터 이미 사람이 코드를 만드는 양 자체가 줄고 있다. 

 

물론 필요한 코드의 양은 더 많아진다. 여기서도 그렇고 하지만 자동으로 넣어주는 코드가 더 많아 지고 있다. 

 

그리고 그동안 이러한 노력들은 많이 이뤄졌지만 다 실패했다(고 보는게 맞다). xml, code stub, 등 등장했다가 사라지고 있다. 하지만 여러 부분들이 그러하듯, 이 부분도 점차 개선 되는 형태로 갈것이다. 이 책에서 나오는 openapi는 기존의 swagger가 이름을 바꾼것이고 현재 이 제품은 프란시스코파트너스라는 LP가 소유하고 있다(역시 혁명은 돈이 만드는것인가 싶다)

 

다시 책 이야기로 돌아가서, 이 책은 그런류의 개념엔 도움이 된다. '설계부터 하고 구현을 하자'. 그리고 이렇게 개발하지 않는 실무자들한테도(엔지니어던 기획이던) 도움이 될 것이다. 가끔은 현실을 벗어나 유토피아를 그리는 것 처럼말이다. 내가 원하는 것은 이 책에서 나오는것처럼 설계와 구현 그리고 히스토리 관리들을 제발 계속 포기하지 말고 해 나가길 바란다. 

728x90