1. 광고배너
  2. 광고배너
/ 이전버튼 다음버튼
2
미리보기

GO로 배우는 함수형 프로그래밍
저자 : 렉스시한 ㅣ 출판사 : 에이콘출판 ㅣ 역자 : 차서일

2019.05.24 ㅣ 748p ㅣ ISBN-13 : 9791161752952

정가40,000
판매가38,000(5% 할인)
적립금 1,600원 (4%)
배송일정 04월 29일 출고 가능
주문 수량 변경시 안내 배송안내
쿠폰 및 결제혜택 확인하기

크기 기타 규격
제품구성 단행본
이용약관 청약철회
국내도서 > 컴퓨터 > 인터넷 > 웹프로그래밍(웹디자...
함수형 프로그래밍을 배우고자 하는 개발자를 위한 책이다. Go 언어로 함수형 프로그램을 개발하기 위한 기초 문법부터 수준 높은 이론에 이르기까지 지루하지 않게 설명한다. Go 언어에 친숙한 독자라면 모든 준비를 갖춘 셈이지만, 설령 그렇지 않은 독자라 하더라도 책을 읽는 것은 어렵지 않을 것이다.
펼쳐보기

[목 차]

1장. Go로 순수 함수형 프로그래밍하기
__함수형 프로그래밍의 사용 동기
__소스 코드 얻기
__명령형 프로그래밍과 선언적 프로그래밍
__순수 함수들
__피보나치 수열: 간단한 재귀와 두 가지 성능 향상
__익명 함수와 클로저의 차이
__테스트 주도 개발을 사용해 함수형 프로그래밍 테스트하기
__명령형 언어에서 순수 함수형 프로그래밍으로의 여행과 깨달음
__요약


2장. 컬렉션 다루기
__컬렉션 순회
__배시 명령어 파이핑
__함자
__술어
__맵과 필터
__Contains 연산
__Go가 제네릭을 지원했다면
__Itertools
__함수 패키지
__Another time of reflection
__치료
__요약


3장. 고계 함수 사용하기
__함수형 프로그래밍의 특징
__고계 함수 응용 사례
__요약


4장. Go로 하는 SOLID 설계
__고퍼들이 자바를 꺼리는 이유
__소프트웨어 설계 방법
__SOLID 설계 원칙
__대발견
__Viva La Duck
__요약


5장. 데코레이션으로 기능 추가하기
__인터페이스 합성
__데코레이터 패턴
__요약


6장. 함수형 프로그래밍을 아키텍처에 적용하기
__애플리케이션 아키텍처
__시스템 공학의 역할
__복잡도 관리
__함수형 프로그래밍이 아키텍처에 준 영향
__도메인 주도 설계
____의존성 규칙
__도메인 주도 설계
____인터페이스 기반 개발
____할리우드 원칙
__클라우드 버킷 애플리케이션
__함수형 프로그래밍과 마이크로서비스들
__요약


7장. 함수형 매개변수
__긴 매개변수 목록 리팩토링
____매개변수가 일곱 개를 넘는 함수 시그니처의 잘못된 점
____리팩토링
____OOP는 잘못된 아이디어다
____리팩토링 자세히 보기
____해법
__함수형 매개변수
__컨텍스트
____Context 제약
____좋은 코드 작성과 축구 경기의 공통점
____좀 더 실용적인 Context 용례
__요약


8장. 파이프라인을 이용한 성능 향상
__파이프라인 패턴 소개
____grep sort 예제
____파이프라인 특징
____예제
__구현 사례들
____명령형 구현 사례
____병행 구현 사례
____버퍼를 사용한 구현 사례
____향상된 구현 사례
____유효하지 않은 데이터 처리 시험
__요약


9장. 함자, 모노이드, 제네릭
__함자 이해하기
__메타프로그래밍을 통해 제네릭 부재 문제 해결
__제네릭 코드 생성 도구
__제네릭 구현 옵션
__함자의 형태
__합성 연산
__법적 의무라는 문맥에서의 함수 합성
__12시간 표시 시계 함자
__car 함자
__모노이드
__모노이드 예제
__요약


10장. 모나드, 타입 클래스, 제네릭
__테레사 수녀 모나드
____바인드 연산
____승급 연산
____모나드 함수
____모나드 리스트 함수
__모나드 작업 흐름 구현
____람다 계산
__Y-컴비네이터
__또 다른 작업 흐름 옵션
__비즈니스 유스케이스 시나리오
__Y-컴비네이터 다시 보기
____꼬리 재귀란 무엇인가?
____Big-Oh 표기
__타입 클래스
__제네릭 복습
__요약


11장. 카테고리 이론의 적용
__목표
____나눠보기
____대수와 미지
____대수의 실세계 응용
____대수의 기본 법칙
____수학에서의 대응성
__증명 이론
__커리-하워드 동형
__함수형 프로그래밍의 역사적 사건들
__프로그래밍 언어의 카테고리
__람다 계산
__함수형 프로그래밍에서 타입 시스템의 중요성
__정의역, 변역, 사상
__집합론 기호들
__카테고리 이론
__사상
__준동형 사상
__합성 가능한 병행성
__그래프 데이터베이스 예제
__수학과 카테고리 이론을 이용해 이해하기
__합, 곱, 지수, 타입을 가지고 놀기
__빅데이터, 지식 기반 개발, 데이터 가시화
__요약


부록. 다양한 정보와 따라 하기
__Go 프로젝트 빌드하고 실행하기
__개발 작업 흐름 요약
__Go에 변경 제안하기
__함수형 프로그래밍 관련 자료들
__명안도-카탈랑 수
펼쳐보기
★ 이 책에서 다루는 내용 ★

■ 카테고리 이론과 논리학, 타입 이론, 함수형 프로그래밍 사이의 깊은 연관 관계
■ 고계 함수를 다른 함수에 넘겨주거나 다른 함수로부터 반환받기
■ 코드의 가독성, 확장성, 유지 보수성 향상 방안
■ 데코레이터 패턴을 사용해 잘 동작하는 애플리케이션 합성하기
■ 제네릭의 개념과Go 언어의 제네릭 지원 필요성
■Go 타입과 구조체의 행위를 정의하기 위한 타입 클래스 구현
■ 모나드의 개념 및 비순수 연산 체인화를 위한 모나드 사용법 학습
■ 일체형 애플리케이션을 재사용성 높은 컴포넌트로 나누기
■ 컴포넌트를 관리 가능한 파이프라인으로 재합성하는 방법
■ 코드 여기저기에 흩어져 있는if err != nil 블록 제거하기

★ 이 책의 대상 독자 ★

비프로그래머와 프로그래머 모두를 위한 책으로, 이 책에 담고 있는 많은 정보를 이해하려면 고등학교 교육 수준의 지식만 갖추면 된다. 그리고 이 책에서 다루는 프로그래밍을 위해서는 최소1년의 프로그래밍 경험만 있으면 충분하다. Go나 하스켈을 유창하게 사용한다면 이상적이지만, C/C++, 파이썬, 자바스크립트, 자바, 스칼라, 루비와 같은 언어들을 경험해봤다면 그것으로 충분하다. 명령행을 사용하는 데 조금 익숙해져야 할 필요는 있다.

★ 이 책의 구성 ★

1장. ‘Go로 순수 함수형 프로그래밍하기’에서는선언적 프로그래밍 스타일을 소개하고 피보나치 수열을 통해 재귀와 메모이제이션(memoization), Go의 병행성 구조를 예시한다. 재귀적 코드에 대해 벤치마킹/성능 시험을 하는 방법을 배우며, 몇 가지 나쁜 소식도 전한다.
2장. ‘컬렉션 다루기’에서는데이터 변환 수행을 위한 매개 함수(Map, Filter, Sort)와 종결 함수(Reduce, GroupBy, Join) 사용법을 보인다. 또한Mocha-like BDD라는Go 프레임워크를 사용해 술어 함수를 시험한다. Itertools를 통해 함수형 프로그래밍의 컬렉션 가공 함수를 맛보고 분산 맵리듀스 솔루션인Gleam(Go+LuaJIT+유닉스 파이프(Unix Pipe))을 살펴볼 것이다.
3장. ‘고계 함수 사용하기’에서는27가지의 함수형 프로그래밍 특성을 다룬다. 익명 함수, 클로저(closure), 커링(currying), Either 데이터 타입, 일급 객체 함수, 함수, 함수 합성, 힌들리-밀너(Hindley-Milner) 타입 시스템, 멱등성, 불변 상태, 불변 변수, 람다 식, 리스트 모나드, Maybe 데이터 타입, Maybe 모나드, 모나드 오류 처리, 부수 효과, 연산자 오버로딩, option 타입, 매개변수 다형성, 부분 함수 적용, 재귀, 참조 투명성, sum 또는union 타입, 꼬리 호출 최적화, 타입 클래스, 유닛 타입 등이다. 또한 제네릭(generic)의 예제를 보이고, 함수형 프로그래밍 프로그래머들에게 어떠한 가치가 있는지 설명한다. Map과Filter, Reduce 함수를 구현해보고, 고루틴과 채널을 이용해 느긋한 계산(lazy evaluation)을 구현해본다.
4장. ‘Go로 하는SOLID 설계’에서는 왜 고퍼(Gopher)들이 자바를 지긋지긋하게 여기는지 논한다. 또한 좋은 소프트웨어 설계의 원칙, 단일 책임 원칙 적용법, 함수 합성, 개폐 원칙, 함수형 프로그래밍 계약, 덕 타이핑(duck typing)을 다룬다. 인터페이스를 이용한 행위 모델링, 인터페이스 분리 원칙 및 내장 인터페이스를 이용한 소프트웨어 합성에 대해서도 다룬다. 퍼플 모노이드 체인(purple Monoid chain)을 통해 결합법칙을 배우고 모나드 체인 연속체라는 커다란 발견에 도달한다.
5장. ‘데코레이션으로 기능 추가하기’에서는Go의 기본Reader, Writer 인터페이스를 이용한 인터페이스 합성에 대해 설명한다. 이어서 절차적 설계와 함수형 제어 역전(IoC)을 비교한다. Authorization, Logging, LoadBalancing이라는 데코레이터를 구현해보며, 데코레이터 패턴들이 실제 어떻게 사용되는지를 확인하기 위해 쉬운 측정 기준을 추가한다.
6장. ‘함수형 프로그래밍을 아키텍처에 적용하기’에서는 계층적 아키텍처를 이용해 응용 프레임워크를 개발하며, 이를 통해 순환 의존 오류를 해결한다. 할리우드 원칙의 적용법을 배우며, 옵저버 패턴과 의존성 주입 사이의 차이점을 살펴본다. 제어 역전을 사용해 논리 흐름을 제어하고 계층적 응용을 개발한다. 효과적인 표 중심 프레임워크를 개발하고 응용 소프트웨어의API도 테스트해본다.
7장. ‘함수형 매개변수’에서는 자바와 객체 지향 프로그래밍을 통해 배운 많은 사항이 왜Go에서는 통용되지 않는지를 알려주고, 함수형 옵션을 통해 긴 매개변수 목록을 재구성하는 방법을 가르쳐주며, 커링과 부분 함수 적용의 차이점을 이해하도록 돕는다. 부분 적용을 통해 더 적은 인자 수를 갖는 새 함수를 생성하는 방법을 배울 것이다. 문맥(context)을 이용해 우아하게 서버를 끄거나, 문맥을 이용해 장기간 실행 중인 긴 데이터베이스 트랜잭션을 실행 취소하고 복구하는 방법을 배운다.
8장. ‘파이프라인을 이용한 성능 향상’에서는 데이터 흐름 타입(Read, Split, Transform, Merge, Write)을 다루며, 데이터 변환 파이프라인을 언제 어떻게 개발할지를 배운다. 버퍼링을 통해 데이터 처리율을 높이고, 고루틴과 채널을 이용해 처리 속도를 향상시키는 방법을 배운다. 또한 인터페이스를 이용해 API 가독성을 향상하고, 몇몇 유용한 필터를 구현해본다. 또한 신용카드 변경 처리를 위해 설계한 명령형 파이프라인 및 함수형 파이프라인을 구현해보고 비교한다.
9장. ‘함자, 모노이드, 제네릭’에서는Go가 제네릭을 지원하지 않아서 다행인 점을 설명한다. 코드 생성 도구를 이용해서 반복적이고 늘 채워야 하는 코드로 인해 발생하는 문제를 해결한다. 함수 합성으로 깊이 들어가서 함자(functor)를 몇 개 구현해보고, 실제로 어떻게 매핑되는지 배운다. 또한 송장 처리 모노이드(monoid) 구현을 위한 리듀스(reduce) 함수 작성법도 배운다.
10장. ‘모나드, 타입 클래스, 제네릭’에서는 모나드의 동작을 보여주며, 바인드(bind) 연산을 이용한 함수 합성법도 소개한다. 모나드가 오류를 처리하는 법, 입출력을 다루는 법도 살펴보고, Go로 모나드 작업 흐름을 어떻게 구현하는지 쫓아가본다. 람다 계산이 무엇이고 모나드와 어떤 관련이 있는지를 소개하며, 람다 계산을 통한 재귀 구현 방법과Go에서의Y-컴비네이터(Y-combinator) 작동법도 함께 다룬다. 그다음에는Y-컴비네이터를 사용해 작업 흐름을 제어해보고 파이프라인 종단에서 모든 오류를 처리하는 방법을 배운다. 타입 클래스가 어떻게 쓰이는지 알아본 후, Go를 이용해 몇 개의 타입을 구현해보고, 마지막으로Go에서 제네릭을 지원할 경우의 장단점을 짚어본다.
11장. ‘카테고리 이론의 적용’에서는 카테고리 이론에 대한 실용적 이해를 제공한다. 카테고리 이론과 논리학, 타입 이론 사이의 깊은 연관성을 배운다. 함수형 프로그래밍의 역사를 훑어보고 그에 대한 이해를 높인다. 여기서는 벤 다이어그램을 사용해 프로그래밍 언어의 다양한 카테고리를 설명한다. 람다 식 관점에서 바인딩, 커링, 적용이 의미하는 바를 알게 되고, 람다 계산이 초콜릿 우유와 같다는 사실도 알게 된다. 타입 시스템이 함수형 프로그래밍을 함의한다는 것을 설명하며, 준동형의 다양한 분류를 소개하고 언제 사용할 수 있는지 알려준다. 또한 수학과 축구공의 공중 궤적을 통해 다형성에 대한 이해도를 높인다. 일차함수와 이차함수를 통해 함수 합성을 다루며, 인터페이스 중심 개발을 배운다. 지식 기반 시스템의 가치를 살펴보고, 카테고리 이론에 대해 이해한 바를 더 나은 응용 소프트웨어 개발에 어떻게 적용할지 알아본다.
부록. ‘다양한 정보와 따라 하기’에서는 이 책의Go 프로젝트를 빌드하고 실행하기 위해 내가 제안하는 바를 설명한다. 또한Go에 변경을 제안하는 방법을 살펴보고, 한 장소에서 오류를 처리하도록 하는Go 호환 방법(이른바 규칙적 작업 흐름 솔루션(lexical workflow solution))을 설명한다. Go 언어에 대한 피드백을 제출할 곳과 함수형 프로그래밍 참고 자료 페이지를 제공하고, 명안도-카탈랑 수(Minggatu-Catalan Number)에 대해 설명한다.

지은이의 말

최근까지도 Go와 함수형 프로그래밍(Functional Programming)의 조합에 대해서는 "하지 마."라는 반응이 주를 이뤘다.
함수형 프로그래밍은 멀티 코어, 병렬 처리에 안성맞춤이다. Go는 병행성(concurrency) 지원이 훌륭하고(고루틴, 채널 등), 이미 모든 종류의 CPU 코어와 호환된다. 함수형 프로그래밍은 복잡도를 낮춘다. 간결함은 Go의 가장 큰 힘이다.
Go에 함수형 프로그래밍을 적용할 경우, 어떤 점으로 인해 소프트웨어 응용이 실질적으로 개선될까? 함수형 프로그래밍은 다음을 제공한다.
■ 합성: 함수형 프로그래밍은 응용 소프트웨어를 작은 빌딩 블록으로 나누고 재구성하기 위한 방법을 보여준다.
■ 모나드: 모나드(monad)를 사용하면 작업 흐름을 데이터 변환 파이프라인의 형태로 안전하게 정돈할 수 있다.
■ 오류 처리: 관용적 Go 코드들과의 호환성을 유지하면서 모나드 오류 처리를 활용할 수 있다.
■ 성능: 참조 투명성이 보장되면, 함수를 한 번 실행한 후 재실행할 때 앞서 계산한 값을 재사용할 수 있다.
■ 표현력 높은 코드: 함수형 프로그래밍은 코드의 비즈니스 목표를 간결하게 표현하게 해준다. 함수가 하는 일을 선언할 수 있도록 하되, 매 함수 호출마다 오류 검사를 끼워 넣는 번잡함을 줄이고 상태 변화를 추적할 필요를 없앤다(순수 함수는 곧 불변 변수를 뜻한다).
■ 단순한 코드: 공유 데이터가 없다는 것은 세마포어, 락, 경쟁 조건, 데드락을 다루지 않아도 된다는 의미다.
많은 이들이 함수형 프로그래밍의 핵심을 파악하는 데 어려움을 겪는다. 나도 그랬다. 하지만 이해하고 나니 이 책을 쓰게 됐다. 함께 여행을 떠나보자. 앞으로 수백 개의 도표와 이해하기 쉬운 설명을 보게 될 것이며, Go로 함수형 프로그래밍을 구현하게 될 것이다.
나는 축구 코칭을 즐긴다. 내가 코치로서 성공했는지를 시험하고자 사용한 리트머스 용지는 다음과 같은 질문 하나다. '다음 시즌에도 모든 수강생이 이어서 등록하고 나를 코치로 지명했는가?' 실전에서 계획하듯 나는 각 장에 들어갈 내용을 기획했고, 간단한 개념으로부터 시작했다. 이 책을 읽어라. 그러면 "이해했어."라고 말할 수 있게 될 것이다. 함수형 프로그래밍 스킬을 향상시키고자 한다면, 이 책이 딱이다.

옮긴이의 말

많은 개발자들이 소프트웨어의 신뢰성, 성능, 생산성 향상을 위한 돌파구를 찾고자 함수형 프로그래밍 패러다임에 관심을 갖기 시작했다. 특히 C++와 자바 8에 람다 개념이 도입되고, 구글이나 아파치 하둡 프로젝트 등이 빅데이터 처리에 맵리듀스 개념을 활용하면서 그러한 관심이 더욱 고조됐다. 서점 진열대를 채우기 시작한 함수형 언어나 패러다임 관련 서적을 세다 보면, 바야흐로 함수형 패러다임의 시대가 도래한 것일까 궁금해진다.
함수형 프로그래밍은 부수 효과를 줄여 예측하지 못한 버그나 오류 발생을 줄인다. 실행 순서와 관계없이 항상 같은 결과를 만들어내는 함수들의 결합으로 프로그램을 구성할 수 있으므로 병렬 처리에 적합하다. 한번 익숙해지고 나면, 절차적 프로그래밍 방식에 비해 설계를 구체화하고 모듈화하기에도 쉽다.
함수형 방식을 사용하면 이러한 장점이 있음에도, 한동안 함수형 프로그래밍은 소수의 개발자들이나 프로그래밍 언어를 공부하는 학생들의 전유물이었다. 우선은 프로그래밍을 위해 하스켈, ML, 얼랭(Erlang) 등 그다지 대중적이지 않은 언어의 문법을 새로 익혀야 했고, 레거시 코드와 함께 쓰는 것도 쉽지 않았기 때문이다. 언어 학습에 도움이 될 만한 예제 코드들을 구하기도 어려웠다.
이 책은 함수형 프로그래밍을 배우고 싶었으나 가파른 진입 장벽에 좌절하고 포기해온 개발자들을 위한 선물이다. 저자는 나날이 대중화되고 있는 Go 언어를 사용해 독자들을 함수형 프로그래밍의 세계로 차근차근 이끌어준다. 함수형 프로그래밍 패러다임의 주요한 요소들을 하나하나 짚어가며 예제 코드와 함께 소개할 뿐 아니라 카테고리 이론, 모나드 등과 같은 심도 깊은 개념 역시 빼놓지 않고 친절하게 설명한다. 이미 Go 언어의 문법을 익혀온 개발자라면 책을 읽는 것만으로도 함수형 프로그램에 대한 영감을 얻을 수 있을 것이다.
물론 Go 언어를 처음 접하는 독자들에게도 이 책을 권하고 싶다. 이 책과 함께하는 데 커다란 용기나 굳은 다짐은 필요 없다. 우선 1장을 펼쳐보자. Go 언어의 문법이 C 언어와 많이 다르지 않을 뿐더러, 책의 예제에서 사용하는 Go 프로그래밍 문법들은 평이하므로 익히기가 어렵지 않다. 자전거를 탈 때처럼 익숙해지기까지 시간이 조금 필요할 뿐, 저자가 제공하는 예제들을 하나씩 따라 하다 보면 Go 문법과 함수형 패러다임이 어느새 손에 익을 것이다. 이제 막 프로그래밍을 시작한 학생들이라면 차라리 잘됐다. 아예 함수형 프로그래밍 방식으로 개발의 첫걸음을 떼는 것이 바람직할 수 있다.
부디 이 책을 통해 함수형 사고에 익숙한 Go 개발자들이 많아지면 좋겠다.
펼쳐보기
렉스시한
어번 대학교(Auburn University)에서 전산학 학사 학위를 취득하고 조지아 주 애틀랜타에 거주 중이다. 현재 시니어 소프트웨어 엔지니어로 일하고 있으며, 20년 이상의 경력을 쌓아왔다. 루비(Ruby)와 스칼라(Scala), 자바스크립트(JavaScript), 하스켈(Haskell), 자바(Java), Go 언어를 통해 고계 함수를 사용하기 시작했으며, 함수형 프로그래밍에 관한 조예가 깊다.
IBM 소프트웨어 그룹과 IBM 글로벌 비즈니스 서비스에서 근무하는 동안 다양한 엔터프라이즈 비즈니스 시스템을 설계하고 개발했다. IT 보안 및 데이터 전송 관련한 여덟 개의 특허를 갖고 있으며, 'Application Development with Lex Sheehan(렉스 시한과 함께하는 애플리케이션 개발)'이라는 블로그를 운영한다.

옮긴이 차서일
시스템 보안을 전공했고 프로그래밍 언어와 논리학에 관심이 많다. 출퇴근 시간에 새로운 기술을 익히거나 깃허브(GitHub)를 뒤적이는 것을 낙으로 삼는 평범한 엔지니어다. 친구와 동료들에게 새로운 기술을 소개하는 것을 즐긴다.
펼쳐보기

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.
도서평점
내용
등록하기
0/2000자
교환/반품 방법
  • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
  • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
교환/반품 가능기간
  • 변심반품의 경우 수령 후 7일 이내
  • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
교환/반품 비용
  • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
  • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
교환/반품 불가사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 예) 만화, 잡지, 수험서 및 문제집류
  • 복제가 가능한 상품 등의 포장을 훼손한 경우 예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
상품 품절
  • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

이 분야의 베스트

더보기 >

    이 분야의 신간

    더보기 >
      맨위로가기

      영풍문고 로고

      • 회사명 : (주)영풍문고
      • 대표이사 : 김경환
      • 소재지 : 서울특별시 종로구 청계천로 41 (우)03188
      • 사업자 등록번호 : 773-86-01800 ㅣ 통신판매업 신고번호 : 2023-서울종로-0130 [ 사업자정보확인 ]
      • 개인정보관리 책임자 : 조순제 ㅣ customer@ypbooks.co.kr ㅣ 대량주문 : webmaster@ypbooks.co.kr
      COPYRIGHT © YOUNGPOONG BOOKSTORE INC. ALL RIGHTS RESERVED.
      영풍문고 네이버블로그 영풍문고 인스타그램
      맨위로가기