알라딘

헤더배너
상품평점 help

분류

이름:김영기

최근작
2024년 12월 <모두를 위한 소프트웨어 보안 설계와 구현>

개발자를 위한 웹 개발 환경 자동화

데브옵스와 CI/CD라는 용어는 클라우드와 더불어 개발자라면 누구에게나 익숙한 용어가 돼 버렸습니다. 불과 몇 년 전만 해도 데브옵스와 클라우드가 이렇게 빠르게 개발자에게 필수적인 도구 중 하나가 될 것이라고 생각하지 못하고 일시적인 유행으로 그칠 것이란 전망도 있었습니다. 그러나 이러한 기술들은 이제 개발과 분리해서 이야기할 수 없으며, 특히 웹 애플리케이션 분야와는 따로 분리해서 이야기할 수 없을 것 같습니다. 이 책은 도커(Docker) 그리고 젠킨스(Jenkins) 같은 오픈소스와 AWS, 애저 같은 클라우드 플랫폼을 기반으로 웹 개발 환경에 자동화를 적용하는 방법을 소개하고 있습니다. 독자들은 데브옵스와 클라우드, CI와 CD 등 웹 애플리케이션 개발에 필요한 기술과 시스템을 실습을 통해 직접 경험하고 이를 통해 실무에 필요한 관련 기술을 습득할 수 있을 것이라 생각합니다. 이 책에서는 많은 오픈소스를 사용합니다. 오픈소스는 빠르게 버전이 올라가면서 실제 독자들이 사용하는 버전과 책에서 사용하는 버전 사이에 차이가 발생할 수 있습니다. 문제가 발생하는 경우, 인터넷과 각종 참고 자료를 이용해 문제를 해결해 보는 것도 좋은 학습 경험이 될 것으로 생각합니다. 더불어, 웹 개발 환경의 자동화를 주제로 다루고 있어 웹 애플리케이션 프로그래밍을 위한 언어를 습득하거나 코드 작성은 주된 목적이 아닙니다. 그러나, 프로그래밍 언어와 코드 작성 방법을 학습하는 것 이상으로 개발 환경과 관련 인프라 기술을 습득하는 것도 더 나은 개발자가 되기 위한 과정이라고 생각합니다. 이 책의 내용은 웹 개발자라면 알아야 할 기초 사항을 다루고 있습니다. 이 책이 개발자로 성장하는 과정에 있어 많은 도움이 되길 바랍니다.

모두를 위한 소프트웨어 보안 설계와 구현

보안이란 주제는 다소 딱딱하고 어려운 느낌을 풍깁니다. 난해한 개념과 어려운 수학 등이 어우러져 전문가의 영역이라 간주되며, 모두가 관심은 많지만 접근하기 어려운 영역이라 여겨집니다. 그러나 이 책은 전문 보안 서적과는 다른 재미를 주는 책입니다. 이 책은 보안 엔지니어링에 대한 입문서로 보안의 기본 개념들과 소프트웨어 개발에서의 다양한 보안 사례를 풍부하게 다룹니다. 그간 보안을 주제로 한 책들은 적지 않게 출간됐지만 보안 전문가와 소프트웨어 개발자 모두를 대상으로 한 경우는 드물었다고 생각합니다. 네트워크 보안과 암호학 분야의 중요 인물로 공개 키 인프라(PKI) 개념을 제안하고, 프레리트 가그(Praerit Garg)와 함께 위협 모델링 분야의 걸출한 업적인 STRIDE 모델을 개발한 저자 로렌 콘펠더는 현대적인 소프트웨어 개발에서 보안이 매우 중요한 요소라 이야기합니다. 콘펠더는 이 책에서 소프트웨어 개발자와 보안 전문가가 소프트웨어를 설계하고 개발할 때 보안을 고려하는 방법에 대해 개념 수준부터 실사례까지 전반적으로 가이드해 줍니다. 어려운 개념을 나열하기보다는 저자가 현업에서 실제로 겪은 경험이나 각종 사례를 예로 들어 보안에 접근할 때의 장벽을 낮춰 주므로 개발 실무자들에게도 많은 도움이 될 것입니다. 이 책은 보안 개념부터 시작해, 보안 위협과 취약점 분석, 보안 모델링부터 사례 연구까지 보안에 관련한 많은 분야를 다룹니다. 또한 보안 설계 리뷰(SDR) 같은 각 조직이나 회사에서 보안을 적용할 때 도움이 되는 많은 팁이 담겨 있습니다. 따라서 이 책은 소프트웨어 개발 과정에 보안을 통합하고 싶은 개발자, 보안 전문가, 시스템 아키텍트, 보안 관리자 등 보안에 관련된 모든 이가 참고 자료로 활용할 수 있습니다. 더욱 안전한 소프트웨어를 개발하는 데 큰 도움이 될 책이라 확신합니다.

소프트웨어 개발자 테스팅

소프트웨어 개발자라면 적어도 한 번은 버그가 없는 완전한 품질의 소프트웨어를 생각해 본 적이 있을 겁니다. 그러나 소프트웨어 개발이라는 분야에 있는 개발자라면 완벽한 품질의 소프트웨어 개발이 얼마나 어렵고 난해한 목표인지 알고 있을 것으로 생각합니다. 안타깝게도 소프트웨어 테스팅은 소프트웨어 개발 관련 분야 중 가장 오래된 분야 중 하나지만 여전히 난해하고 많은 오해를 받는 분야 중 하나입니다. 이 책은 더 좋은 코드를 작성하고 버그를 방지하려는 SW 개발자를 위한 책으로, 개발자가 알아야 하는 테스팅의 기본 사항부터 고급 기법까지 다루고 있습니다. 또한 테스트 용이성을 이해하고, 이를 바탕으로 소프트웨어의 품질을 달성하는 다양한 방법을 알려주고 있어 소프트웨어 개발자라면 알아야 하는 많은 내용을 담고 있습니다. 소프트웨어를 작성해본 경험이 있다면 이 책의 내용을 실제 코드 연관시킬 수 있으며 이 책에서 말하는 내용을 최대한 활용할 수 있다고 생각합니다. 개발자들이 더 나은 품질의 소프트웨어를 더 빠르게 개발하고 체계적으로 문제점을 찾는 데 있어 이 책이 많은 도움이 되기를 기대합니다.

엔터프라이즈 데브옵스

지난 10년은 다른 어느 시기보다 빠르게 변화하는 소프트웨어 분야가 더 빠르게 변화하는 시기였습니다. 소프트웨어의 개발과 더불어 새로운 방식의 개발 방법과 문화, 인프라에 더 많은 관심을 갖기 시작했습니다. 이제 소프트웨어 분야에 있는 사람이라면 애자일, CI/CD, 컨테이너, 클라우드 등의 용어가 어색하지 않을 것입니다. 이러한 변화는 소프트웨어 개발에 있어 단순히 제품 개발 이상의 것을 요구하고 있습니다. 이와 같은 상황에서 개발 데브옵스(DevOps)의 도입은 필연적인 결과인지도 모릅니다. 많은 조직이 소프트웨어 개발자와 정보기술 전문가 간의 소통, 협업 및 통합을 강조하는 개발 환경과 문화를 만들기 위해 애자일을 도입하고, 데브옵스로 확장하려고 시도했습니다. 그러나 제 경험상 조그만 성공은 있었어도, 결과적으로 애자일과 데브옵스의 도입에 실패하는 경우가 더 많았습니다. 특히 소규모 조직에는 성공적으로 도입했지만, 일정 규모가 넘어가면 도입에 실패하면서 기존 방법론으로 돌아가는 경우도 있었습니다. 이 책은 데브옵스를 대규모 조직에 도입하고 운영할 때 고려해야 하는 사항을 사례와 함께 이야기하고 있습니다. 따라서 자신의 조직에 데브옵스를 도입하려는 사람, 특히 관리자들에게 좋은 가이드가 될 것이라고 생각합니다. 이 책을 통해 조직에 데브옵스 도입을 고민하는 많은 사람이 품었던 궁금증을 해결하고 해답을 찾길 바랍니다.

엔터프라이즈 애자일 솔루션 개발

"어떻게 하면 제때에 고품질 소프트웨어를 고객에게 전달할 수 있을까?"라는 질문이 소프트웨어 개발의 주된 화두가 아닐까 합니다. 이런 질문에 답하기 위해 여러 사람들이 고민했고, 애자일 방법론 또한 이런 고민을 통해 태어났을 것입니다. 애자일을 알고 있는 대다수 개발자들은 애자일 방법론이 소규모 팀을 대상으로 하고 있기 때문에, 대규모의 개발조직에 적용하기 어렵다고 생각합니다. 그러나 애자일 방법론은 대규모 조직에도 적용할 수 있으며, 이를 위한 방법들이 이 책에 소개되어 있습니다. 조직의 특성과 수준에 따라 애자일을 적용하는 방법과 더불어, 상황에 맞추어 방법론을 최적화하는 방법까지 소개되어 있으니 이 책은 애자일의 적용을 고려하는 많은 개발 조직에 도움이 될 것입니다. 애자일을 시작하는 것은 쉽지만, 제대로 활용하는 것은 어렵습니다. 이 책이 애자일을 활용하는 데 있어 하나의 충실한 지침서가 되기를 바랍니다.

파이썬을 활용한 소프트웨어 아키텍처

소프트웨어 개발자라면 적어도 한 번쯤 SW에 대한 오랜 경험과 경력을 바탕으로 멋진 소프트웨어 제품을 만드는 것을 상상해 본 적이 있을 것이다. 소프트웨어 아키텍처 분야는 다른 소프트웨어 분야에 비해 비교적 역사가 짧아도 제대로 파악하려면 많은 험난한 과정을 겪어야 한다. 이러한 어려움 중 하나는 소프트웨어 아키텍처 자체를 알려주는 레퍼런스가 부족하다는 점과, 다른 하나는 파악한 소프트웨어 아키텍처의 개념을 실제 구현 언어로 어떻게 연결시킬 것인가다. 이 책의 각 장에서 이야기하는 주제들은 그 주제만으로도 상당한 학습이 필요한 내용들이다. 그러나, 적어도 이 책은 소프트웨어 아키텍처에 관심을 갖고 파악하고 싶어하는 개발자들에게 도움이 될 것을 확신한다. 이 책을 통해 아키텍처 관련된 주요 품질속성과 아키텍처 관련 주제를 확인하고 파이썬 예제를 하나하나 살펴보면 보면 어느새 앞서 말한 두 가지 어려움의 상당 부분 해결될 것이라고 감히 생각한다.

프로메테우스, 오픈소스 모니터링 시스템

소프트웨어라는 용어가 생긴 이후 관련 분야는 점점 더 빠르게 변하고 있고, 변화의 속도는 점점 더 빨라지고 있습니다. 빠르게 변화하는 분야 중 하나가 IT 인프라스트럭처 부분입니다. 관리해야 하는 인프라 구조는 점점 더 복잡하고 더 많은 대상을 더 빠르게 처리해야 합니다. 이러한 IT 인프라스트럭처와 함께 빠르게 진화하는 분야 중 하나가 모니터링 분야입니다. 모니터링 분야는 이전에도 있었지만, 지금은 시스템 관리자들이 모니터링 제품 없이 서비스나 서버를 운영하는 것은 상상하기도 어렵습니다. 모니터링의 필요성이 더 크게 부각된 시점은 한정된 자원을 효율적으로 관리해야 하고 자원의 상태가 끊임없이 변화하는 클라우드 환경이 본격적으로 도입되기 시작하면서부터입니다. 프로메테우스는 2012년부터 시작된 프로젝트로 쿠버네티스에 이어 2016년에 CNCF(Cloud Native Computing Foundation)의 두 번째 프로젝트가 되었습니다. 이후, 많은 사람들의 관심과 더불어 사실상의 표준 오픈소스 모니터링 시스템으로 자리잡았습니다. 이 책은 프로메테우스에 대해 알고 싶어 하는 누구나가 참고할 수 있는 책입니다. 국내에는 이제 막 알려지기 시작한 프로메테우스에 대한 책이라 기술 용어 등을 한글로 옮기는 작업은 다소 어색함도 있었지만, 독자들이 이 책을 모두 읽게 되면 프로메테우스가 상상 이상으로 간단하고 사용하기 편리한 시스템이란 사실에 공감할 것이라 생각합니다. 별도의 빌드 없이 압축만 풀면 끝나는 설치 환경, 모니터링 시스템이라고는 믿어지지 않는 단순하고 명료한 웹 기반 GUI, 그런 단순함을 완벽하게 메워주는 강력한 PromQL과 다양한 모니터링 대상을 지원하는 익스포터에 이르기까지, 이 책은 모니터링에 대한 재미있고 흥미로운 경험을 제공할 것입니다. 이 책이 프로메테우스와 함께하는 모니터링 여정에 도움이 되길 바랍니다.

GitHub Essentials

소프트웨어와 관련된 모든 분야가 빠르게 변하고 있다. 개발 언어부터 프로세스, 개발 조직과 문화 모두가 원하든 원하지 않든 빠르게 변하고 있다. 이러한 변화 가운데 가장 기본적이면서 개발의 근간이 되는 변화 중 하나는 소스 코드의 변경 관리라고 생각한다. 현재 가장 기본적이면서도 개발자들이 선호하는 코드 관리 시스템인 Git을 기반으로 하는 GitHub는 수 많은 오픈소스의 성장과 더불어 선도적인 코드 호스팅 플랫폼으로 성장했다. GitHub의 효율적인 활용을 위해서는 GitHub의 기본적인 기능과 더불어 GitHub에서 제공하는 다양한 부가 기능을 알고 있어야 한다. GitHub의 활용은 개발에 있어 기본적인 요구사항인 동시에 개발자에게는 필수적인 개발 역량이 돼가고 있다. 이 책은 개발자가 GitHub를 활용하는 데 필요한 기본적인 사항을 포함하고 있다. 이 책이 GitHub의 강력한 기능을 파악하고자 하는 개발자 분들께 많은 도움이 됐으면 합니다.

JIRA 시스템 구축과 활용

소프트웨어 개발의 성공 요소 중 하나가 개발 인프라입니다. 효율적이고, 개발자 친화적인 개발 환경의 구축은 소프트웨어 개발 기간을 단축시키고, 소프트웨어의 품질을 높일 수 있습니다. 지라(JIRA)는 효율적인 협업을 위한 이슈 트래킹 도구로, 지라를 이용하면 소프트웨어 개발자뿐 아니라 관리자, 테스터 상호 간의 의사소통과 업무 효율을 높일 수 있을 것입니다. 지라는 조직의 필요에 따라 이슈 타입의 추가, 워크플로우 정의 등 다양한 방법으로 최적화할 수 있으며, 컨플루언스(Confluence) 같은 애틀라시안(Atlassian) 사의 다양한 제품과 연동되는 장점이 있습니다. 또한, 다양한 추가 기능을 통해 이슈 관리 이외의 애자일 프로젝트 관리 등 다양한 기능을 추가할 수 있습니다. 따라서 조직의 규모나 조직이 사용하는 프로세스의 복잡성에 구애받지 않고, 대부분의 조직에서 지라를 활용하는 것이 가능합니다. 지라는 다양한 기능과 장점이 있지만, 애틀라시안 사의 방대한 분량의 지라 매뉴얼을 통해, 많은 시간과 노력을 들이며 이러한 지라의 기능을 파악하는 것은 개발자나 관리자가 겪어야 하는 어려움 중 하나였다고 생각합니다. 이 책을 통해 개발자 여러분이 지라에서 사용되는 기본 개념과 핵심적인 기능을 빠르게 파악하고 현업에서 지라를 활용하는 데 많은 도움을 받을 수 있기를 바랍니다.

JIRA Agile Essentials

이제 애자일은 유행이 아닌 필수가 됐습니다. 실제로도 많은 회사와 조직에서 애자일을 적용하기 위해 노력하고 있습니다. 애자일을 적용하는 데 있어 여러 가지 제약 사항 중 하나는 애자일 프로젝트를 관리하기 위한 도구라고 생각합니다. 실제로 (소규모로) 애자일을 적용하는 초기에는 화이트보드와 스티커 노트를 통해 과제의 진행 사항을 관리하는 것이 가능하며, 개발자들이 애자일에 대해 배워가는 초기 단계에서는 이러한 방법이 상당히 유효합니다. 그러나 애자일을 더 큰 조직이나 대규모 프로젝트에 적용하려거나 효율적인 애자일 프로젝트 관리를 위해서는 적절한 애자일 도구의 사용이 프로젝트를 성공으로 이끄는 필수 요소라 할 수 있습니다. 지라 애자일JIRA Agile은 지라의 강력한 기능을 활용하면서 애자일 프로젝트의 관리를 가능하게 해주는 지라의 플러그인입니다. 지라의 모든 기능을 활용하면서 지라 애자일을 통해 애자일 프로젝트를 관리한다면 조직의 경쟁력을 높이고, 애자일을 효율적으로 활용하는 데 많은 도움이 될 것입니다. 이 책을 통해 지라 애자일에서 사용되는 기본 개념과 핵심 기능을 빠르게 파악하고, 지라 애자일을 현업에서 활용하는 데 많은 도움이 되었으면 합니다. 마지막으로 이 책이 나오기까지 도움을 주신 많은 분과 사랑하는 가족에게 감사의 마음을 전합니다.

가나다별 l l l l l l l l l l l l l l 기타
국내문학상수상자
국내어린이문학상수상자
해외문학상수상자
해외어린이문학상수상자