본문 바로가기

분류 전체보기176

[Postman 사용법] 2. Request와 Response 이 장에서는 실제로 어떻게 요청을 보내고, 어떻게 응답을 받게 되는지 살펴보겠습니다. Request Response 1. Request 실제로 API에 대한 테스트를 진행하기 위해서는 Request를 생성해주어야 합니다. 마찬가지로 아래와 같은 세 가지 방법으로 Request 생성이 가능하며, 컬렉션을 생성하면 기본 untitled request가 생성되어 있습니다. Request 뷰를 조금 더 자세히 살펴보겠습니다. 이 뷰에서는 Request를 보내기 위해 많은 옵션들을 지정할 수 있습니다. ① 이름 : 현재 Request의 이름입니다. 저장되기 전에는 기본적으로 URL과 동일하게 지정되고, 변경 가능합니다. ② HTTP METHOD : 보낼 요청의 메서드를 지정할 수 있습니다. 대부분이 메서드를 지원.. 2020. 8. 19.
[Postman 사용법] 1. 환경 설정 (Workspace와 Collection) 이 장에서는 Postman의 Workspace, Collection 그리고 작업한 Workspace를 다른 사람과 공유하는 방법에 대해 알아보겠습니다. Workspace란? Team Workspace 생성 Collection 이란? Collection 생성 Sharing Conclusions 1. Workspace란? workspace는 포스트맨의 모든 기능을 담고 있는 뷰입니다. Postman의 workspace는 Personal workspace와 Team workspace로 구분될 수 있습니다. Team workspace는 Team의 구성원들과 workspace를 공유하기 위한 것이며, 실시간으로 데이터가 동기화됩니다. workspace의 단위는 목적에 따라 자유롭게 지정할 수 있습니다. 기능별 :.. 2020. 8. 19.
[Postman 사용법] 0. 이 카테고리에서는.. Postman은 HTTP 클라이언트로, 다음과 같은 기능을 제공합니다. 서버로 리퀘스트 전송하기 테스트 스크립트 작성하기 컬렉션 생성 및 실행하기 리퀘스트 연결하기 이런 기능들을 이용해서 Contract Test를 수행할 수 있습니다. Contract Test란 서비스 제공자(일반적으로 서버 프로그램)가 계약(요청과 응답)대로만 동작하는지 검사하는 것입니다. Contract Test에 대한 자세한 내용은 Martin Fowler가 작성한 Contract Test에서 확인하실 수 있습니다. 이 장에서는 Postman의 사용법에 대해 알아보겠습니다. 내용의 대부분은 아래 링크를 참조하였습니다. Postman Docs Home Managing APIs Learn how to create, read, updat.. 2020. 8. 19.
인증(Authentication)과 인가(Authorization) 대부분의 웹 애플리케이션은 클라이언트의 접근을 통제하기 위해 Authentication(인증)/Authorization(인가) 기능을 구현하고 있습니다. 일반적으로 인증과 인가를 합쳐 Auth라고 구현한다고 말합니다. 인증이란? 클라이언트가 자신이 주장하는 사용자와 같은 사용자인지를 확인하는 과정. 일반적으로 아래와 같은 방법을 통해 인증 기능을 구현합니다. 로그인 폼 HTTP 인증 HTTP 다이제스트 액세스 인증 X.509 인증서 기타 커스텀 인증 방법 인가란? 권한 부여를 의미하며, 클라이언트가 하고자 하는 작업이 해당 클라이언트에게 허가된 작업인지를 확인하는 절차. 즉, 해당 리소스에 접근할 수 있는 권한이 있는지 확인하는 절차. 일반적으로 아래와 같은 방법을 통해 인가 기능을 구현합니다. URL에.. 2020. 8. 19.
[CQRS] CQRS는 언제/어디서 사용할까? 언제/어디서 사용할까? 여느 패턴과 마찬가지로, CQRS 역시 모든 시스템에서 항상 유용한 것은 아닙니다. 시스템을 작고 집중된 부분으로 분리하여 구조화하고 설계한 방식이 아니라면, 즉시 CQRS를 도입하는 것은 눈에 띄는 이점 없이 복잡성을 증가시킬 수 있습니다. 이 경우, 문제가 명확하고 작은 부분으로 분리될 수 있는 명확한 Boundary를 찾는 것부터 시작해야 하며, 보통의 경우 이런 Boundary를 찾아 관리하는 가장 좋은 방법은 DDD라고 이야기합니다. 즉, 시스템의 특정 부분에서만 CQRS를 적용하는 것이 좋으며 시스템 전체에서 사용하는 것은 권장하지 않습니다. DDD에서는 이런 시스템 특정 부분을 BoundedContext라고 이야기하며, 각 Bounded Context가 어떻게 모델링 .. 2020. 8. 6.
2019년 1월 5주차 - "이 사진 중 진짜 사람은?...AI가 만든 진짜같은 가짜 사진" 등 1. 이 사진 중 진짜 사람은?…AI가 만든 진짜같은 가짜 사진 최근 엔디비아가 인공지능(AI)을 활용한, 실제로 존재하지 않는 사람들을 사진으로 만들어내는 기술을 담은 연구논문을 발표했습니다. 논문에서는 '실제 사람 얼굴들의 특징을 뽑아내 이를 혼합하는 알고리즘을 개발했다'면서 '생성적 적대 네트워크(Generative Adversarial Networks:GAN)를 활용해 실제처럼 보이는 얼굴로 맞춤화했다'라고 설명했습니다. GAN은 우리에게는 낯선 용어이지만, 최근 몇 년 사이 AI 네트워크 분야에서 가장 주목받고 있는 기술입니다. 서로 경쟁하는 네트워크를 만들어 결과를 비교해서 상호 학습하게 만드는 것입니다. 즉, 한쪽은 끊임없이 정교한 가짜 사진을 만들고, 다른 한쪽은 가짜인지를 판별해 서로 경.. 2020. 8. 6.
2019년 1월 4주차 - "가트너 '전세계 AI 도입 기업 4년새 270% 증가'" 등 1. 가트너 “전세계 AI 도입 기업 4년새 270% 증가” 가트너의 '2019 CIO 서베이'에 따르면, 인공지능(AI)을 도입한 세계 기업 수가 지난 4년간 270% 증가한 것으로 나타났습니다. 4년 전 조사에서 AI를 도입했거나 도입할 예정이라고 답했던 비율은 전체 응답자의 10%에 불과했으나, 이번 조사 결과에서는 37%로 크게 늘었습니다. AI를 사용하는 기업이 많아질 수록, AI 구현의 어려움이 명확하게 드러났습니다. 조사 결과 응답자의 54%가 이를 전문인력 부족으로 꼽았습니다. 크리스 하워드 가트너 수석 리서치 부사장은 "마땅한 AI 인력이 없다면, 통계나 데이터 관리 관련 경력을 갖춘 직원들을 교육시키는 프로그램에 투자하는 방안도 고려해 볼 수 있다"라고 말하며, "아직 AI를 도입하지 .. 2020. 8. 6.
[CQRS] CQRS(Command and Query Responsibility Segregation)란? CQRS란? CQRS란 Command and Query Responsibility Segregation의 줄임말로, Command(Create, Update, Delete)와 Query(Read)의 책임을 분리하자는 패턴입니다. 대부분 DB 트랜잭션은 DB로부터 데이터를 읽어 들여 화면에 뿌려주는 것입니다. 이 과정에서 DB에서 데이터를 읽는 시점과 화면에 렌더링 되는 시점은 반드시 차이가 생기기 마련입니다. 즉, 렌더링 하는 데이터는 이미 실제 데이터와 차이가 생기게 되는 것입니다. CQRS 패턴은 이 점을 인지하고, 굳이 하나의 DB안에서 CRUD의 Read 기능과 나머지 CUD(Create, Update, Delete) 기능을 공존시키는 거의 의미가 없다고 말합니다. 어차피 Read의 결과물은 정도.. 2020. 8. 5.
2019년 1월 3주차 - "'AI가 골라주는 취향저격 상품'...네이버쇼핑 '포유' 선봬" 1. 'AI가 골라주는 취향저격 상품'…네이버쇼핑 '포유' 선봬 지난 16일 네이버는 개인 맞춤형 상품 추천 기능인 '포유(FOR YOU)'서비스를 선보인다고 밝혔습니다. 포유는 로그인 기반의 사용자가 선호할 만한 쇼핑몰과 상품을 추천함으로써 개인 맞춤형 결과를 제공하는 서비스입니다. 예를 들어 원피스를 검색했다면, 포유 영역을 통해 자주 방문 혹은 클릭했거나 이전에 구매했던 몰, 선호할 만한 몰의 리스트와 해당 몰의 인기 원피스 상품 등을 한눈에 확인할 수 있습니다. 포유에는 지난 2017년 9월부터 네이버 쇼핑 탭에 적용되어 있던 AI 기반 상품 추천 시스템, 에이아이템즈(AiTEMS)가 활용됩니다. 이 기술로 사용자 정보(성, 연령 등)와 쇼핑 이력(구매, 찜, 클릭 등)을 분석해 보다 더 맞춤형으.. 2020. 8. 5.
Top 10 Books of All-Time for Java Programmers ※ 해당 글은 DZone의 Top 10 Books of All-Time for Java Programmers 포스트를 차용하여 편집한 글입니다. 프로그래머로서 Java에 대한 지식을 향상하기 위해, 더 나은 Java 개발자가되기 위해 책이나 레퍼런스를 찾아본다면 올바른 방향으로 가고 있는 것입니다. 이를 돕기 위해서 가장 훌륭한 Java 도서라고 생각되는 책 10권을 소개해 드리겠습니다. 이 책들은 시간이 지나면서 많은 이들의 테스트를 거쳐, 해가 가며 갈수록 관련성이 더 높아졌습니다. 2018년에 책을 읽었던, 2019년에 책을 읽으려 하던, 이 책들은 항상 배울 것이 많을 것입니다. (1) Effective Java 이 책은 이미 너무나도 유명하지만, 저자인 Joshua Bloch가 java.lang.. 2020. 8. 4.