스프링 프레임워크는 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크다. 자바 개발자에게 친숙한 풀스택 애플리케이션으로 현재까지 많은 사랑을 받고 있다. 웹 애플리케이션을 개발하는 데 공기와 같은 존재라고 할 정도로 스프링 프레임워크는 널리 알려져 있고 많이 사용된다.
스프링 프레임워크에 의존도가 높아질수록 다른 기술을 접목시키고 융합할 수 있는 기회는 적어질 수도 있다. 물론 다양한 언어, 프레임워크와 기술을 융합해 사용한다는 것이 반드시 좋다고는 말할 수 없다. 개발 환경 및 프로세스의 통일이라는 기준에서 보면 단일 프레임워크가 좀더 효율적일 수도 있다. 이러한 측면에서 다른 언어가 아닌 같은 언어(여기서는 자바)와 같은 오픈소스에서 파생된 기술을 찾아보고, 새로운 프로젝트에 그것들을 적용해 보는 것도 개발자들에게 또 하나의 즐거움이 된다.
스프링 프로젝트에서 나온 여러 가지 기술은 현재 많은 곳에서 다양한 프로젝트에 적용되고 있다. 단순히 스프링 프레임워크만 알고 있다면 초급 개발자거나 새로운 기술에 열정이 부족한 시니어 개발자일 것이다. 이러한 개발자들에게 어쩌면 단비와도 같은 책일지도 모른다. 단순히 스프링 프레임워크에 길들여져 새로운 기술이나 프레임워크를 배우기 귀찮아하는 개발자들에게 스프링 프로젝트에 있는 여러가지 프로젝트, 즉 스프링 클라우드, 스프링 부트, 리액티브 프로그래밍, 코틀린, 마이크로서비스에 관련된 지식을 익히는 데 도움을 줄 것이다.
이 책은 스프링 5의 기본을 잘 쌓을 수 있고, 스프링 부트를 활용하거나 고급 기능들을 익히는 데 많은 도움이 될 것이다. 잘 따라 하다 보면 마이크로서비스를 구축하고 클라우드에 필요한 기술들도 쉽게 습득할 수 있다. 스프링을 기반으로 전반적인 트렌드 기술을 익히기에 적합하며 코틀린에 관련된 지식도 얻을 수 있다.
스프링은 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하며 표준 프레임워크의 기반 기술로써 쓰이는 가장 대중적이고 직관적인 프레임워크 중 하나다. 스프링 기본 개념을 익혀두면 예제를 이해할 때 많은 도움이 될 것이다.
스프링을 활용한 기술들은 계속 발전할 텐데, 그중에서도 풀스택 애플리케이션 개발 분야에서 더욱 성장할 전망이다. 아무쪼록 많은 개발자들에게 도움이 되는 책이길 소망한다.
미흡하지만 좀더 매끄럽고 정확한 의미전달이 되도록 하기 위해 최선을 다했으나 미비한 점은 계속해서 수정판을 출간함으로써 보완하고자 한다.
빅데이터는 기존의 응용 프로그램으로는 효과적으로 처리할 수 없는 엄청난 양의 데이터를 말합니다. 혹자는 빅데이터를 이렇게 정의하기도 합니다. "빅데이터란 인사이트와 의사결정, 자동화 과정을 강화할 수 있는 정보 처리 과정의 혁신적인 형태이며, 높은 비용 효율을 요구하고 방대하며, 빠르고 다양한 형태의 정보 자산(assets)이다." 즉, 빅데이터를 효과적으로 분석하면 혁신적인 인사이트를 발견하고 데이터 기반의 효과적인 의사결정을 내릴 수 있습니다. 최근에는 대기업, 스타트업 기업 등 대부분의 기업이 데이터 분석에 관심을 갖고 이와 관련된 분석 기술을 도입하고 있습니다. 이 책에서는 이러한 분석 기술들에 대한 배경과 전반적인 지식을 제공하며, 그중에서도 스파크에 관해서 집중적으로 다룹니다.
스파크 이전에 빅데이터를 다룰 때 가장 근간이 되는 기술 중 하나는 하둡의 맵리듀스(MapReduce)입니다. 맵리듀스는 슈퍼컴퓨터 없이 여러 대의 서버를 연결해 빅데이터 분석을 가능하게 한 오픈소스 프레임워크입니다. 하지만 기술이 발전하고 빠른 분석 속도를 요구하는 시스템이 늘어나면서 단점들이 나타나기 시작했습니다. 그래서 대안으로 나온 것이 스파크(Spark)입니다. 스파크는 맵리듀스처럼 분산 처리를 수행하지만, 메모리를 활용해 빠르게 데이터를 처리하는 것이 특징입니다. 따라서 스파크는 스트리밍 데이터 처리 같은 실시간 처리와 머신 러닝을 통한 애플리케이션과의 복합적 운영이 필요할 때 적합합니다. 예를 들어, 스파크를 활용하면 실시간 타깃마케팅과 고객 분석 및 추천이 가능해집니다.
이 책에서는 프로그래밍 언어로 파이썬을 채택해서 실습할 수 있도록 기술돼 있습니다. 파이썬은 데이터 분석을 위한 프로그래밍 언어로서 가장 대중적이고 직관적인 언어 중 하나입니다. 파이썬 기초 문법을 익혀 두면 예제를 이해하는 데 많은 도움이 될 것입니다.
데이터 분석을 위한 기술은 계속 발전해 나갈 것이며, 특히 그중에서도 스파크 생태계는 더욱 성장할 전망입니다. 이 책을 통해 개발자, 데이터 분석가, 데이터 과학자가 되고 싶은 많은 이에게 도움이 되었으면 합니다.
미흡하지만 좀 더 매끄럽고 정확한 의미 전달이 되도록 하기 위해 최선을 다하였으나 미비한 점은 출간 후에도 계속해서 보완하고자 합니다.
이 책은 무려 40여 년 전에 소프트웨어 개발자로 일을 시작했던 랜달 하이드의 『Write Great Code』 시리즈의 두 번째 책으로, 지난 40여 년간 소프트웨어 개발 산업에 존재해 왔던 방법론, 전략, 실무 이론, 체계를 집대성했다. 저자는 『Write Great Code』 시리즈 1, 3편에서 하드웨어와 효과적으로 소통하는 방법과 개발자가 어떻게 소프트웨어를 완성하는지 소개했으며, 이 책(2편)에서는 로우레벨로 생각하고 하이레벨로 코딩하는 방법을 설명한다.
저자 랜달 하이드의 시대에 각광받던 개발 주제는 현재 클라우드, 인공지능, 양자컴퓨팅, 블록체인 등과 같은 주제로 바뀌었고, 개발 접근 전략이나 방법론 또한 좀 더 세분화되거나 아예 달라지기도 했다. 하지만 더 좋은 소프트웨어를 만들기 위한 열정은 개발자 모두의 공통된 마음이 아닐까 한다.
이 책은 소프트웨어 개발자들이 하이레벨과 로우레벨 사이의 모든 것을 이해하고, 프로그램 개발에 적극 활용하고자 할 때 읽기 좋을 것이다. 지난 수십 년간 존재해온 개발담론을 확인하며 앞으로 수년간 개발자로서 자신의 경력을 어떤 방식으로 관리할 것인지 계획을 세우고 싶을 때 참고할 수 있을 것이다. 이런 독자들에게 저자는 다양한 예제와 코드를 활용해 체계적으로 자세히 설명한다.
지난 프로젝트보다 더 좋은 코드를 좀 더 효율적으로 만들어내기 위해 고민하는 개발자에게도 추천한다.