책 소개
한 권으로 정리하는 프로그래밍의 모든 것
이 책은 프로그래머가 어떻게 개발을 진행하고, 어떤 지식과 용어를 알아둬야 하는지 등 프로그래밍에 관한 넓고 다양한 주제를 다루고 있습니다. 프로그래밍의 개념부터 개발 공정, 언어별 특징, 알고리즘, 데이터, 웹 기술 등 개발자라면 꼭 알아야 기초 지식에 대해 그림과 더불어 1페이지로 간략하고 쉽게 설명하고 있는 것이 특징입니다.
1장에서는 프로그래머의 종류와 프로그래밍 환경 등 기초 지식에 대해 설명하고, 2장에서는 다양한 프로그래밍 언어별 특징에 대해 배웁니다. 3장에서는 컴퓨터 계산의 기본인 수치와 데이터를 어떻게 다루는지 알아보고, 4장에서는 함수, 변수, 알고리즘 등 절차와 흐름도를 설명합니다. 5장과 6장에서는 소스 코드 작성 규칙, 설계와 테스트, 웹 기반 기술 등 다양한 이슈에 대해 다룹니다.
프로그래밍 분야는 개발 환경이나 시스템, 기술 발전에 따라 변화가 크고 그에 따라 필요한 지식도 달라지지만, 이 책으로 전체 구조에 관해 큰 줄기를 잡아 놓는다면 다가올 변화에도 핵심을 파악하고 빠르게 대처할 수 있는 힘이 될 것입니다.
작가 소개
지은이 : 마스이 토시카츠
비즈니스×수학×IT를 조합하여 컴퓨터를 "바르고" "효율적으로" 사용하기 위한 스킬 업(Skill up) 지원이나 각종 소프트웨어의 개발, 취약점 진단, 정보 보안에 관한 컨설팅 등을 하고 있다. 저서로는 [우리집에서 배우는 보안의 기본] [프로그래머 뇌를 단련하는 수학 퍼즐] [엔지니어가 살아남기 위한 테크놀로지 수업] [좀더 프로그래머 뇌를 단련하는 수학 퍼즐] [프로그래밍언어 도감] [그림으로 배우는 보안 구조] 등이 있다.
옮긴이 : 김성훈
IT 관련 서적 전문 번역가로, 주요 번역 도서에는 <Java 1학년>, <JavaScript 1학년>, <C++로 배우는 딥러닝>, <C가 보이는 그림책>, <프로그래밍이 보이는 그림책>, <게임 프로그래밍의 정석>, <웹을 지탱하는 기술>, <Objective- C 프로그래밍>, <안드로이드 개발 레벨업 교과서>, <실무에서 바로 통하는 자바>, <C 이보다 쉬울 순 없다>, <iOS 디버그 & 최적화 기법>, <UML 모델링의 본질>, <프로가 가르쳐주는 시퀀스 제어>, <만화로 쉽게 배우는 선형 대수> 외 다수가 있다.
목 차
Chapter 1 프로그래밍 기초 지식
1-1 프로그래밍을 둘러싼 환경
1-2 프로그래밍이 동작하는 환경
1-3 누가 프로그램을 만드는가?
1-4 프로그래밍에 관한 업계의 차이
1-5 프로그램 개발에 관한 직종의 차이
1-6 프로그래머의 근무 형태
1-7 소프트웨어 개발 공정
1-8 소프트웨어 개발의 흐름
1-9 개발(구현) 공정에서 할 일
1-10 팀으로 개발하는 여러 가지 방법
1-11 개발한 프로그램 공개하기
1-12 프로그래밍 학습 방법
Chapter 2 프로그래밍 언어의 차이
2-1 컴퓨터가 처리할 수 있는 형태로 변환한다
2-2 사람과 컴퓨터가 이해하기 쉬운 표현
2-3 프로그래밍 언어의 분류
2-4 선언형 프로그래밍
2-5 가볍게 쓸 수 있는 프로그래밍 언어
2-6 프로그래밍 언어 비교 1
2-7 프로그래밍 언어 비교 2
2-8 프로그래밍 언어 비교 3
2-9 어디서든 동작시킬 수 있게 하는 기술
2-10 프로그래밍 언어 선택 방법
2-11 입력과 출력
2-12 프로그램을 작성하는 환경
Chapter 3 수치와 데이터를 다루는 방법
3-1 컴퓨터에서 사용하는 숫자
3-2 2진수를 이용하는 처리
3-3 계산의 기본을 이해한다
3-4 컴퓨터에 기억시킨다
3-5 수학에서 사용하는 '='과의 차이점
3-6 읽는 사람이 이해하기 쉬운 이름
3-7 컴퓨터로 숫자를 다룬다
3-8 같은 형의 데이터를 모아서 다룬다
3-9 컴퓨터로 문자 다루기
3-10 한글을 다룰 때 주의할 점
3-11 복잡한 데이터 구조 표현
3-12 다른 형도 다룰 수 있게 한다
3-13 배열을 번호가 아닌 이름으로 다룬다
3-14 메모리 구조를 이해하고 데이터 다루기
3-15 데이터를 순서대로 탐색하는 자료 구조
3-16 데이터를 순서대로 처리하기
3-17 계층 구조로 데이터 다루기
Chapter 4 흐름도와 알고리즘
4-1 처리의 흐름을 그려본다
4-2 데이터의 크기를 비교한다
4-3 같은 처리를 반복해서 실행한다
4-4 일련의 처리를 묶어서 다룬다
4-5 함수에 파라미터를 넘겨준다
4-6 변수의 유효범위를 결정한다
4-7 파라미터를 바꾸면서 같은 처리를 반복 실행한다
4-8 예상 밖의 사태에 대응한다
4-9 반복 처리를 다룬다
4-10 필요 없는 메모리를 해제한다
4-11 정렬의 기본을 배운다
4-12 구현하기 쉬운 정렬 방법을 알아본다
4-13 정렬을 고속화한다
4-14 처리에 걸리는 시간을 알아본다
4-15 배열 리스트에서 원하는 값을 찾는다
4-16 트리 구조를 순서대로 따라가며 탐색한다
4-17 어떤 문자열에서 다른 문자열을 찾는다
Chapter 5 설계부터 테스트까지
5-1 읽기 쉬운 소스 코드를 작성한다
5-2 소스 코드를 작성하는 규칙을 정한다
5-3 구현 오류를 제거한다
5-4 요구한 조건을 만족하는지 확인한다
5-5 테스트 방법을 이해한다
5-6 블랙박스 테스트 기법을 학습한다
5-7 버그를 발견하고 관리한다
5-8 소프트웨어를 실행하지 않고 검증한다
5-9 소프트웨어의 기획부터 이용 종료까지 생각한다
5-10 소프트웨어 개발 프로세스를 자동화한다
5-11 동작을 바꾸지 않고 소스 코드를 정리한다
5-12 자동 테스트를 전제로 개발을 진행한다
5-13 데이터의 구조와 흐름을 자동화한다
5-14 컴파일을 자동화한다
5-15 객체 지향의 기본 사고방식
5-16 클래스의 속성을 물려받는다
5-17 클래스를 구성하는 데이터와 조작을 다룬다
5-18 필요한 정보와 메소드만 외부에 공개한다
5-19 같은 이름의 메소드를 만든다
5-20 객체 지향 개발에 이용되는 모델링 기법
5-21 복수의 오브젝트의 관계성을 생각한다
5-22 관련된 클래스를 모은다
5-23 객체 지향으로 다루기 어려운 문제를 해결한다
5-24 고객과 개발자가 공통된 언어를 사용한다
5-25 오브젝트의 초기화와 해제
5-26 개발 진척도를 관리한다
Chapter 6 웹 기술과 보안
6-1 웹 기초 지식
6-2 소프트웨어 개발에 필요한 기능의 집합체
6-3 웹사이트의 디자인을 변경한다
6-4 같은 이용자를 식별한다
6-5 인터넷상에서 서비스를 제공한다
6-6 GUI 애플리케이션의 기능을 분할한다
6-7 HTML 등의 요소를 조작한다
6-8 웹브라우저로 동적인 제어를 간단히 수행한다
6-9 웹에서 자주 사용되는 데이터 형식
6-10 정합성을 유지한 상태로 데이터를 다룬다
6-11 데이터의 정합성을 확보하는 기술
6-12 서버를 빌려서 서비스를 제공한다
6-13 클라우드 기술의 서비스 형태
6-14 소프트웨어로 하드웨어를 실현한다
6-15 OS와 다른 애플리케이션의 기능을 호출한다
6-16 버전 관리 시스템
6-17 무료로 공개된 소스 코드
6-18 다른 사람의 프로그램을 원래대로 되돌린다
6-19 보안 문제에 관한 이해
- 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
- 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
반품사유 | 반품 배송비 부담자 |
---|---|
단순변심 | 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다. |
고객 부담이 아닙니다. |
진행 상태 | 결제완료 | 상품준비중 | 배송지시/배송중/배송완료 |
---|---|---|---|
어떤 상태 | 주문 내역 확인 전 | 상품 발송 준비 중 | 상품이 택배사로 이미 발송 됨 |
환불 | 즉시환불 | 구매취소 의사전달 → 발송중지 → 환불 | 반품회수 → 반품상품 확인 → 환불 |
- 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
- 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
결제수단 | 환불시점 | 환불방법 |
---|---|---|
신용카드 | 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) | 신용카드 승인취소 |
계좌이체 |
실시간 계좌이체 또는 무통장입금 취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준) |
계좌입금 |
휴대폰 결제 |
당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소 전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준) |
당일취소 : 휴대폰 결제 승인취소 익월취소 : 계좌입금 |
포인트 | 취소 완료 후, 당일 포인트 적립 | 환불 포인트 적립 |
- 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
- 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
- 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
- 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
- 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
- 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.
상품군 | 취소/반품 불가사유 |
---|---|
의류/잡화/수입명품 | 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우 |
계절상품/식품/화장품 | 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우 |
가전/설치상품 | 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.) |
자동차용품 | 상품을 개봉하여 장착한 이후 단순변심의 경우 |
CD/DVD/GAME/BOOK등 | 복제가 가능한 상품의 포장 등을 훼손한 경우 |
상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우 | |
노트북, 테스크탑 PC 등 | 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우 |