애플리케이션에 대한 아이디어를 실현하는 가장 좋은 방법은 MVP(Minimum Viable Product)로 시작하는 것이다.인터넷은 수백 수천개의 회사가 경쟁하는 열린 공간이다. 이 공간에서 성공하는 것은 쉽지 않다. 성공을 하기 위해서는 고객이 원하는 것이 무엇인지를 찾아서 가능한 빨리 시장에 내놓아야 한다. MVP(Minimum Viable Produ...
주식회사 joinc는 다양한 패션용품을 판매하는 인터넷 전자 상거래 서비스를 운영하고 있다. 이 회사의 CTO는 전자 상거래 시장이 격화되면서, 서비스 경쟁력을 확보하는게 중요한 과제가 됐다.CTO는 우선 과제로 개인화된 상품추천 서비스를 개발하기로 했다. 상품추천의 요구사항은 아래와 같다. 1. 사용자의 활동(Activity)를 저장하고 분석할 수 있는 ...
미들웨어(Middleware)는 소프트웨어 구성요소의 입력과 출력 사이에서 데이터를 처리하는 시스템이다. 따라서 개발자는 응용 프로그램의 목적에만 집중 할 수 있다. 웹 서버의 경우에는 데이터베이스 액세스, 보안, 인증, 로깅과 같은 작업을 처리하기 위해서 사용한다. 이들 기능은 모든 서비스에 공통적으로 사용되기 마련이다. 이런 작업들을 미들웨어에서 대신 ...
Git은 버전 관리 시스템이고 GitFlow는 Git의 분기 모델이다. 프로젝트는 기능개발, 핫픽스, 스테이징, 릴리즈 등의 다양한 분기를 가진다. Gitflow는 제품 개발에 사용 할 수 있는 워크플로우를 Git으로 체계화했다.gitflow는 git을 이용한 워크플로우 모델일 뿐이다. 따라서 git이 가지고 있는 기능만으로 gitflow를 그대로 따라 갈...
Amazon S3(Amazon Simple Storage Service)는 확장성, 가용성, 보안성, 성능을 제공하는 Object Storage서비스다. Object Storage는 간단히 말해서 파일 단위의 업로드/다운로드를 서비스하는 것이라 볼 수 있다. S3가 제공하는 파일의 업/다운로드라는 아주 간단한 서비스이지만 무한대에 가까운 용량, 99.999...
원문 개발자들은 터미널을 사랑한다. 밋밋하고 허전한 터미널에서 텍스트 기반으로 작업을 하는 이유는 빠르고 효율적이기 때문이다. 개발 영역에 따라 다르겠지만, 나 같은 경우(리눅스 환경에서 개발을 하다보니) 웹브라우징을 제외한 거의 모든 작업을 터미널 창에서 수행한다. 모든 운영체제는 기본 터미널을 제공하지만 마음에 들지 않는 경우가 많아서 커스터마이징을 하...
원문 처음 리눅스 시스템을 사용한 1998년부터 netstat를 사용했다. 20년이 훨씬 지난 툴이지만 대부분의 리눅스 배포판에 기본으로 설치되어 있고, 어떤 환경에서도 실행 할 수 있기 때문에 지금도 사용하고 있다.netstat는 network statistics의 줄임말이다. 용어그대로 네트워크의 상태를 모니터링하기 위한 도구로 사용한다. 송/수신 연결...
네트워크는 거대하다. 인터넷에 연결된 모든 컴퓨터가 통신을 해야 하니, 충분히 커야 할 수 밖에 없다. IPv4의 주소의 크기는 2^32는 이므로 단순히 계산하면 40억(4,294,967,296)의 컴퓨터에게(정확하게는 네트워크 인터페이스이지만 그냥 컴퓨터라고 하겠다.)유일한 IP 주소를 줄 수 있다.매우 거대하기 때문에 국가, 회사, 학교는 이 네트워크를...
28 POSTS HERE
Mysql JSON - SELECT, INSERT, UPDATE, 색인
MySQL도 JSON을 지원합니다. SELECT, INSERT, 색인하는 법, JSON PATH 표현식을 살펴봅니다. 그리고 JSON_ARRAY, JSON_EXTRACT, JSON_OBJECT, JSON_SET, JSON_INSERT, JSON_REPLACE, JSON_VALID 등의 주요 함수 사용법도 확인합니다. NoSQL의 수평확장이 아닌 스키마리스와...
MVP로 비즈니스 계획을 구현하기
애플리케이션에 대한 아이디어를 실현하는 가장 좋은 방법은 MVP(Minimum Viable Product)로 시작하는 것이다.인터넷은 수백 수천개의 회사가 경쟁하는 열린 공간이다. 이 공간에서 성공하는 것은 쉽지 않다. 성공을 하기 위해서는 고객이 원하는 것이 무엇인지를 찾아서 가능한 빨리 시장에 내놓아야 한다. MVP(Minimum Viable Produ...
AWS 기반 추천 시스템 아키텍처
주식회사 joinc는 다양한 패션용품을 판매하는 인터넷 전자 상거래 서비스를 운영하고 있다. 이 회사의 CTO는 전자 상거래 시장이 격화되면서, 서비스 경쟁력을 확보하는게 중요한 과제가 됐다.CTO는 우선 과제로 개인화된 상품추천 서비스를 개발하기로 했다. 상품추천의 요구사항은 아래와 같다. 1. 사용자의 활동(Activity)를 저장하고 분석할 수 있는 ...
Golang Middleware
미들웨어(Middleware)는 소프트웨어 구성요소의 입력과 출력 사이에서 데이터를 처리하는 시스템이다. 따라서 개발자는 응용 프로그램의 목적에만 집중 할 수 있다. 웹 서버의 경우에는 데이터베이스 액세스, 보안, 인증, 로깅과 같은 작업을 처리하기 위해서 사용한다. 이들 기능은 모든 서비스에 공통적으로 사용되기 마련이다. 이런 작업들을 미들웨어에서 대신 ...
Gitflow
Git은 버전 관리 시스템이고 GitFlow는 Git의 분기 모델이다. 프로젝트는 기능개발, 핫픽스, 스테이징, 릴리즈 등의 다양한 분기를 가진다. Gitflow는 제품 개발에 사용 할 수 있는 워크플로우를 Git으로 체계화했다.gitflow는 git을 이용한 워크플로우 모델일 뿐이다. 따라서 git이 가지고 있는 기능만으로 gitflow를 그대로 따라 갈...
AWS Certified Solutions Architect - S3
Amazon S3(Amazon Simple Storage Service)는 확장성, 가용성, 보안성, 성능을 제공하는 Object Storage서비스다. Object Storage는 간단히 말해서 파일 단위의 업로드/다운로드를 서비스하는 것이라 볼 수 있다. S3가 제공하는 파일의 업/다운로드라는 아주 간단한 서비스이지만 무한대에 가까운 용량, 99.999...
Spring boot 설치 및 개발환경 설정
$ uname -aLinux yundream 5.0.0-38-generic #41-Ubuntu SMP Tue Dec 3 00$ java -versionopenjdk version "11.0.5" 2019-10-15OpenJDK Runtime Environment (build 11.0.5+10-post-Ubuntu-0ubuntu1.119.04)OpenJDK ...
최적의 작업을 위한 터미널 환경 구성
원문 개발자들은 터미널을 사랑한다. 밋밋하고 허전한 터미널에서 텍스트 기반으로 작업을 하는 이유는 빠르고 효율적이기 때문이다. 개발 영역에 따라 다르겠지만, 나 같은 경우(리눅스 환경에서 개발을 하다보니) 웹브라우징을 제외한 거의 모든 작업을 터미널 창에서 수행한다. 모든 운영체제는 기본 터미널을 제공하지만 마음에 들지 않는 경우가 많아서 커스터마이징을 하...
netstat 13가지 사용팁
원문 처음 리눅스 시스템을 사용한 1998년부터 netstat를 사용했다. 20년이 훨씬 지난 툴이지만 대부분의 리눅스 배포판에 기본으로 설치되어 있고, 어떤 환경에서도 실행 할 수 있기 때문에 지금도 사용하고 있다.netstat는 network statistics의 줄임말이다. 용어그대로 네트워크의 상태를 모니터링하기 위한 도구로 사용한다. 송/수신 연결...
AWS VPC Subnet 관리
네트워크는 거대하다. 인터넷에 연결된 모든 컴퓨터가 통신을 해야 하니, 충분히 커야 할 수 밖에 없다. IPv4의 주소의 크기는 2^32는 이므로 단순히 계산하면 40억(4,294,967,296)의 컴퓨터에게(정확하게는 네트워크 인터페이스이지만 그냥 컴퓨터라고 하겠다.)유일한 IP 주소를 줄 수 있다.매우 거대하기 때문에 국가, 회사, 학교는 이 네트워크를...