-
-
예제로 배우는 소프트웨어 디자인
그렉 윌슨 지음, 김성원 옮김 / 영진.com(영진닷컴) / 2024년 10월
평점 :
<예제로 배우는 소프트웨어 디자인>은 프로그래머들에게 소프트웨어 설계를 예제를 통해 알게 해줍니다. 이를 제대로 배우면 효율적인 시스템구축이 가능하고 적은 리소스를 사용할수있고 복잡성관리 품질관리 등에서 능력이 향상되어 작은 프로그램에서 벗어나 큰 프로그램도 도전할 수있는 능력을 배양시켜줍니다. 주언어는 자바스크립트를 기반으로 합니다.
저자는 그렉 윌슨 소프트웨어 카펜트리 공동창립자입니다. 토론토대 컴퓨터과학과 교수를 지내는등 35년이상을 소프트웨어 개발자로 산업계와 학계에서 활동해오셨습니다. 영국 퀸즈대 기계공학을 전공했고 에딘버러대에서 컴퓨터공학으로 석사박사를 하셨습니다.
이 책은 책제목대로 코드를 쳐보면서 소프트웨어 디자인의 구성방법을 배우는 방식을 택해서 정확한 용어를 아는 것이 중요합니다. 장시작마다 '사용하는용어'를 정리해주고 구체적으로 그 용어들을 설명을 합니다. 그리고 NOTE택을 통해서 중요사항과 정리를 해주고 코드설명시 코드명에는 보라색형광박스를 해두어서 구별이 편해서 코드이해가 편했습니다. 장의 마지막은 연습을 만들어서 전체적인 코드를 진행시켜봅니다.
시스템프로그래밍은 전체프로그램의 운영체제같은 것이죠. 여기서 콜백함수와 익명함수는 코드의 유연성과 효율성을 높이기 위해 사용된다고 합니다. 비동기프로그래밍은 여러개의 작업을 함께 하기위해 하는 프로그래밍이죠. 여기에는 프로미스를 사용하면서 작업의 성공과 실패를 나타내는 객체입니다. 유닛테스트는 소프트웨어의 함수들이 잘돌아가는지 확인하는 작업입니다. 파일백업도 소프트웨어에서 늘상쓰는 방법이죠. 백업을 추적하는 방법등을 알려줍니다. 데이터 테이블, 패턴매치, 표현식 해석 등으로 소프트웨어어 내부 작동방법을 코드로 배울수가 있습니다.
개인적으로 AI쪽만을 보다가 소프트웨어개발을 배우려고 하나씩 코딩을 하다보니 큰소프트웨어에서 해야 할 작업들이 정말 많다는 생각이 들었습니다. 문서생성기, 모듈번들러, 패키지 매니저, 가상머신, 디버거등은 많이 들었고 조금씩해본적도 있지만 모듈로더, 스타일체커, 코드 제너레이터, 빌드 매니저등은 처음 접하는 형태라 당황은 했지만 컴퓨터프로그래밍은 그냥 반복하고 따라해보면서 조금씩 자신의 생각을 프로그램으로 만들어보면서 한명의 개발자로 성장하는 것일테죠. 자바스크립트를 새로 배운 것도 흥미로웠고 무언가 조그만 프로그램이라도 만들고 싶은 욕망이 커졌습니다.
본 도서는 리뷰어스클럽으로 부터 무상으로 제공받아 주관적인 리뷰를 했습니다.