한빛미디어16 [도서] 코드 너머의 역량: 개발자가 알아야 할 커뮤니케이션의 힘 코드 밖 커뮤니케이션IT 개발자에게 필수적인 능력: 코드 너머의 '커뮤니케이션'개발자의 경력이 쌓이면 단순히 코드를 잘 작성하는 능력보다 더 중요한 것이 있다. 바로 소통 능력이다.상사가 시킨 일만 잘하는 것을 넘어서, 업무와 관련된 사항이라면 시키지 않아도 능동적으로 처리할 수 있어야 한다.그렇다면, 주어진 일 외의 업무에서 탁월한 성과를 내기 위해 필요한 것은 무엇일까?그것은 바로 소통, 즉 '커뮤니케이션'이다.이는 경험과 훈련이 필요한 스킬이다. 반복적으로 갈고닦다 보면 자연스럽게 익숙해지고, 더 나은 커뮤니케이션 능력을 발휘할 수 있다. 개발자로서 중간 경력을 쌓아가는 지금, 나는 다양한 이해 관계자들과 소통할 일이 많아졌다. 고객, 선배 개발자, 그리고 동료들과 논의를 하고, 그 내용을 문서화하.. 2024. 9. 18. [도서] QA편 QA편요즘들어 새로운 고민이 생겼다.평범한 개발자에서 벗어나 프로젝트의 한 모듈을 책임지고 이끌어야 하는 직무를 맡게 된 것이다.이 직무는 고객과 인터뷰를 하고, 이를 바탕으로 요구사항을 정의하고 여러 가지 설계 문서를 작성하는 것을 포함한다.그리고 마지막으로 정상 동작하는지 테스트까지 해내야 일이 완전히 끝난다. 그동안 몇 번의 프로젝트 경험이 있기 때문에 설계 문서를 만드는 데는 큰 문제가 없었다.하지만 테스트에 대해서는 감이 잘 오지 않았다.이때 도움을 준 책이 'QA편'이다. 이 책의 부제는 '17년차 QA가 알려 주는 소프트웨어 테스트 가이드' 이다.아직 책의 깊이에 대해서는 잘 모르겠지만, 처음 QA라는 분야로 발을 디딘 개발자에게는 분명 많은 도움이 될 것 같다.나에게도 그랬다. 책을 읽기 .. 2024. 7. 14. [도서] Learning GitHub Actions 러닝 깃허브 액션 러닝 깃허브 액션 Learning GitHub Actions 이번에 살펴볼 책은 깃허브 액션에 대한 내용을 다루는 책이다. 이 책은 깃허브의 일반적인 가이드북이 아니다.대신, 깃허브의 다양한 기능을 활용하여 지속적 통합(CI) 및 지속적 배포(CD) 파이프라인을 생성하고, 반복적인 작업을 자동화하여 개발 프로세스를 간소화할 수 있도록 하는데 목적이 있다. 대상독자따라서 이 책의 대상은 깃과 깃허브에 대한 기본 지식을 가지고 있어야 한다.그리고 이것을 이용해 워크플로에 액션을 구현하는 방법을 알고 싶어 하는 개발자를 대상으로 한다.특히, 젠킨스나 트래비스 CI 같은 솔로션을 사용해 본 경험이 있고, 깃허브 액션의 자동화 플랫폼과 프레임워크로 자신의 소프트웨어 개발 생명주기 프로세스를 개선하려는 개발자에게 .. 2024. 6. 15. [도서] 챗GPT API를 활용한 챗봇 만들기 챗GPT가 일반에 공개된지 1년 반이라는 시간이 흘렀다. '챗GPT'의 '챗' 이 '채팅'의 그 '챗' 이라는 것은 이제 누구나 다 안다.하지만 우리는 만들어진 것을 이용 할 수 있을뿐 우리가 이것을 이용해 자신만의 챗봇을 만드는 일은 요원한 일인듯 보였다.어떻게 접근해야 할 지 막막했다. 아이언맨에 나오는 '자비스' 처럼 나에게 최적화된 챗봇을 만들고 싶었지만어떻게 해야 할지 방법을 알 수 없었다.이 책을 접하기 전까지는 그래 보였다. 목표이 책의 목표는 아래 그림과 같이 카카오톡 채널과 연동 할 수 있는 나만의 챗봇을 만드는 것이다. 책의 구성과 내용1. 도입책의 서문에서는 챗GPT의 기본 개념과 API의 중요성을 강조한다. 챗GPT가 어떻게 인간과의 대화를 모방하면.. 2024. 4. 22. [도서] 요즘 개발자 요즘 개발자 어느 덧, IT업계에서 10년을 넘게 일 해왔다. 주니어 시절 열정을 같이 불태웠던 친구나 지인, 동기들은 하나 둘 개발에서 손을 놓거나 관리자의 길로 들어섰고 업종을 변경한 이들도 있다. 이제는 젊은 친구들이 '주니어 개발자' 또는 '신입', 혹은 '초급 개발자' 라는 이름으로 그 자리를 매워줘고 있다. 하지만 이상하게 그들에게서는 우리가 그 시절 가졌던 열정같은게 보이지 않는다. 그들은 우리때와 학습방법이 다른 것일까? 요즘 젊은 세대는 어떻게 공부하고, 커리어를 쌓으며, 어떤 고민을 하는지 궁금했다. 그러던 차에 만난 이 책 [요즘 개발자] 이다. 정말 내가 궁금해 하던 많은 것들을 알려주었고, 나 역시 시니어 개발자로 어떻게 살아가야 할지 고민하던 시기에 주니어 시절의 열정을 끌어 올.. 2024. 2. 14. [도서] 김상형의 SQL 정복 김상형의 SQL 정복 어떤 언어나 기술을 공부 할때 난 여러 가지 책과 포스팅을 모두 찾아 서로 비교해 가면서 공부를 한다. 그리고 시간이 지나면 똑같은 방법으로 이전에 공부했던 책이 아닌 다른 책으로 비슷하게 또 다시 흝어 본다. 이번에 DB에 대해 다시 공부할 필요를 느끼고 있었는데 때마침 한빛미디어에서 '김상형의 SQL정복'을 리뷰할 책으로 보내 주었다. 정말 타이밍도 기가 막히다는 생각이 든다. 그리고 운이 매우 좋았다. 이 책의 주 타겟은 아마도 개발 공부를 막 시작했거나 좀더 나은 개발자가 되기 위해 더 많이 공부를 하고 싶어 하는 초보 개발자들일 것이다. 그렇다면 매우 적절한 책을 선택하지 않았나 싶다. 책의 표지에도 써있는 것처럼 이 책에서는 책을 쓰는 시점을 기준으로 3가지 메이저 DB를.. 2021. 6. 20. [도서] 해커, 광기의 랩소디 해커, 광기의 랩소디 컴퓨터의 역사에 대해서는 중학교였는지 고등학교의 교과서에 짧게 배웠던 기억이 있다. 그리고 자바나 C/C++ 같은 언어에 대해서는 컴퓨터 인문서적 이라고 불리는 책을 통해 많이 접할 수 있었다. 하지만, 컴퓨터의 초창기 시절의 개발자(해커)들의 이야기를 다룬 것은 이 책이 유일할 것이다. 이 책을 읽다 보면 가끔 반가운 이름들이 눈에 띈다. 하지만 거의 대부분은 처음 들어본 낮선 이름들이다. 애플의 잡스나 워즈니악, 마이크로소프트의 게이츠 같이 유명한 인물은 개발자가 아니더라도 이미 대부분의 사람들이 알고 있을 이름들 이다. 하지만 인공지능 언어 LISP의 창시자인 존 매카시, 책의 거의 마지막 부분에 나오는 리처드 스톨먼 같은 이름은 개발자들 사이에서도 생소한 이름일 것이다.(관심.. 2020. 9. 14. [도서]매니징 쿠버네티스 매니징 쿠버네티스 IT 분야중 인프라 분야에서 가장 큰 이슈는 가상화 부분일 것이다. 하지만 꽤나 오래전 부터 우리는 이런 시스템을 많이 이용해 왔다. 개발자들은 자신의 로컬 컴퓨터에 vmware 등을 설치해 이기종의 OS를 설치하여 개발환경이나 테스트 환경을 사용해 왔다. 이제 이것이 IT 인프라 영역 전반에 퍼진 것이다. 개발자라면 누구나 '도커(Docker)'와 '쿠버네티스(Kubernetes)'를 많이 들어 보았을 것이다. 쿠버네티스에 대해 간단히 소개 하자면 '컨테이너'화된 애플리케이션을 배포/관리하기 위한 도구로 이해하면 될 듯 하다. 여기서 '컨테이너' 라는 용어의 의미가 중요하다. 쿠버네티스의 공식 홈페이지를 보면 "'컨테이너'는 애플리케이션을 포장하고 실행하는 좋은 방법" 이라고 말하고 .. 2020. 8. 20. [도서] 실전 자바 소프트웨어 개발 실전 자바 소프트웨어 개발 실제로 프로그램을 만들다 보면 책에서 배웠던 '이상적인' 내용을 적용하기 어려운 경우가 많다. 여기서 '이상적인' 이란 SOLID를 철저하하게 지키며 결합도는 낮고 응집도는 높으며 TDD와 DDD 방식으로 만들어진 제대로된 객체지향적인 코드를 말한다. 하지만 절대 쉽지 않은 일이다. 이 책에서는 이 쉽지 않은 작업을 어떻게 풀어 나가야 하는지 몇 가지 샘플 프로젝트를 통해 가이드 해주고 있다. 어려운 내용을 쉽게 설명해 주기 위해 다양한 예제 코드를 보여 주고 있고 우리가 목표로 하는 '이상적인' 코드의 장단점에 대해서도 이야기 해주고 있다. 타고난 천재가 아닌이상 이런 이상적인 코드를 처음부터 짜기란 불가능에 가깝다. 따라서, 책의 저자가 이야기 한 것처럼 최대한 많은 곳에 .. 2020. 8. 19. [도서] 엔터프라이즈 자바 마이크로서비스 엔터프라이즈 자바 마이크로서비스 사회가 발전 할수록 관련 업무도 더욱 분업화 되고 기존에 신경쓰지 않았던 중요하지 않던 부분도 어느 순간 중요한 업무의 하나로 바뀌어 있다. 따라서 우리가 늘상 업무에 사용해 오던 시스템들도 회사의 성장에 따라 계속 발전해 나간다. 기존에 10가지였던 업무가 어느덧 몇 배가 넘는 큰 규모의 서비스가 되어 있다면 어떻게 해야 할까? 지금 까지는 현재 사용하고 있는 시스템에 기능을 하나 둘 덧붙여 가며 시스템의 크기를 늘려 왔겠지만 이것은 물리적으로든 논리적으로든 곧 한계에 부딪치게 된다. 물리적 문제는 비교적 쉽게 해결 할 수도 있다. 클라우드 시스템을 이용하여 처리 할 수 있다. 대표적인 시스템이 아마존 웹 서비스(AWS) 와 마이크로서비스 애저(Azure) 등의 서비스를.. 2020. 7. 3. [도서] 팀 개발을 위한 Git GitHub 시작하기 팀 개발을 위한 Git, GitHub 시작하기 10여년 전만해도 소스를 관리하기 위해 가장 많이 썼던 제품은 CVS 였을 것이다. 그리고 지금은 그 트렌드가 Git 으로 넘어왔다. 하지만 아직 Git 을 업무에 제대로 사용해본 적이 없다. 아직도 많은 회사에서는 CVS를 사용하고 있다. 자기의 소스를 인터넷에 올린다는 것이 상당히 꺼림직 하기 때문일 것이다. 하지만 Git 는 도구.. 명령어 일뿐 이다. Git을 사용하는 것중 가장 유명한 것은 Github 이다. 하지만 여기서 좀 구분해서 알아야 할 것이 Github는 Git 이라는 도구(명령어)를 사용해 소스를 저장할 수 있는 공간을 제공해 주는 서비스일 뿐이다. 이런 서비스는 Github 뿐만 있는게 아니다. GitLab나 Gitbucket 또한 동.. 2020. 6. 27. [도서] 배워서 바로 쓰는 스프링 프레임워크 배워서 바로 쓰는 스프링 프레임워크 이 책은 스프링을 좀더 깊게 이해하고 싶은 사람들에게 추천하고 싶다. 책의 내용은 스프링에서 빈을 생성하고 등록하는 방법부터 의존성 주입, 데이터 베이스 연계, MVC 모델의 활용, 스프링 시큐리티와 웹플럭스 까지 모두 다루고 있다. 많은 내용을 다루고 있기 때문에 내용이 깊이가 깊지 않을거 같지만 그렇지 않다. 예를 들어 현재는 의존성 주입을 위해 일반적으로 애너테이션을 사용하지만 이 책은 애너테이션을 사용하지 않고 스프링에서 어떻게 빈을 관리하고 어떤 방식으로 의존성을 주입해 주는지 차근차근 설명하고 있다. (그래서 스프링이 설정이 까다롭다고 했었던 것인가... 그래서 스프링부트가 나온 것인가..?) 그렇다 보니 책의 페이지수가 거의 900 페이지에 가깝다. 이 책.. 2020. 5. 28. 이전 1 2 다음