Select From User

Thoughts, stories and ideas.

부담없이 간단한 어드민 만들기 - Serverless
Serverless

부담없이 간단한 어드민 만들기 - Serverless

안녕하세요. 셀렉트 팀의 이진혁입니다. 제 주변에도, 커뮤니티를 지켜보아도 세상에 많은 분들이 멋진 프로덕트를 만들고 계신데요. 직접 개발하거나 여러가지 노코드툴을 활용하여 웹이나 앱 형태의 프로덕트를 빠르게 만드는 모습이 너무나 대단하게 느껴집니다. 모든 프로덕트와 서비스는 .. 처음에는 간단하게 시작하지만 사용자가 늘어나고 기능이 늘어나며 관리할 포인트가 점점 늘어나게 된다고 이야기를 종종 듣습니다. 조회나 수정
11 min read
'운영툴 개발 시간은 왜 부족할까?'
learn

'운영툴 개발 시간은 왜 부족할까?'

🗞️본 글은 셀렉트 팀의 김학범님이 웹 개발 강의를 듣고 경험한 것을 바탕으로 기고한 내용입니다. 작성자는 운영툴, 어드민 문제에 몰두하고 있습니다. 최근 밤에 30분~1시간씩 짬을 내어 5주간 스파르타코딩클럽의 웹개발 종합반 강의를 들었습니다. 저는 초기 IT 스타트업에서 고객지원과 데이터 분석, 프로젝트 관리 등의 업무를 맡아왔는데요. 그동안 IT와 개발에 대한 지식을 눈치껏
11 min read
내가 한국 SaaS, B2B 서비스 모음집을 만든 이유
saas

내가 한국 SaaS, B2B 서비스 모음집을 만든 이유

제목이 거창하지만 사실 가벼운 프로젝트입니다. 간단하게라도 서비스 모음집을 만들어보자라고 생각했고, 시작하게 된 이유는 3가지 정도였습니다. 1. 개인적인 관심 사용자로서 SaaS에 대한 관심이 많습니다. 아쉽게도 몸이 하나라 모든 SaaS를 써본건 아니지만, 기존과 새로운 서비스들을 계속해서 주시하곤 합니다. 알고 있던 국내 서비스들의 소식이 궁금하기도 해서 뉴스레터를 받아보지만, 중요한 이메일에 집중하기 위해 결국
5 min read
콘텐츠 관리 시스템 CMS를 구축하는 7가지 방법
cms

콘텐츠 관리 시스템 CMS를 구축하는 7가지 방법

콘텐츠 관리 시스템 Contents Management System (이하 CMS)은 IT 업계에서 오래된 개념의 시스템입니다. 그만큼 CMS는 영역도 넓고 다양하게 발전해왔고, 콘텐츠를 관리할 방법에 대한 선택지도 많은데요. 당연하게도 특정 제품이나 서비스가 모든 상황에서 적합한 것은 아니기 때문에 상황에 따라 알맞는 CMS를 도입해야합니다. CMS와 웹사이트 제작 툴의 차이 우리가 웹사이트에서 보는 콘텐츠는
12 min read

VPC Peering Connection 요청하기

안녕하세요 셀렉트팀입니다. 내부망, 사설망에 있는 데이터베이스를 셀렉트 클라우드에 연결하기 위해 기존에는 직접 VPN을 구성하거나 public-ip (NAT) 연결이 필요했습니다. 더욱더 안전한 연결을 위해서 AWS 아마존 클라우드 사용자의 경우 VPC Peering Connection (VPC 피어링)을 요청 가능합니다. 다른 클라우드(Google, Azure, Naver, Toast)의 경우 VPN등 추가 가이드를 제공 예정입니다. 프로세스 1.
5 min read
스타트업 SaaS 툴 시장은 어떻게 바뀔까?
saas

스타트업 SaaS 툴 시장은 어떻게 바뀔까?

SaaS에 대한 관심이 커지고 있습니다. SaaS란 무엇이고, 국내 시장의 현재와 미래에는 어떻게 될지에 대해 알아봅니다. SaaS란? SaaS는 Software as a service의 약자입니다. 소프트웨어를 서비스로 제공한다는 의미인데요. 과거 소프트웨어는 당연히 "설치"하는 것이었지만 선구자 격인 세일즈포스가 웹으로 소프트웨어를 서비스하게 되면서 SaaS 제품이 더 퍼지게 되었습니다. 2022년 글로벌 퍼블릭 클라우드 시장은 약
11 min read
SQL 학습 사이트 5 + 3가지
sql

SQL 학습 사이트 5 + 3가지

IT 서비스를 만들고 유지하기 위해서는 데이터를 저장할 공간이 필요합니다. 대표적인 시스템 중의 하나가 '관계형 데이터베이스 시스템(RDBMS)'인데요. RDB라고도 많이 이야기합니다. 이런 데이터베이스를 관리하기 위해 설계된 언어가 SQL(Structured Query Language) 입니다. 오늘날 SQL은 개발자나 DBA 등 DB 전문가 뿐 아니라 데이터 분석, 사업개발, 운영 등의 직군에서도 사용자가 늘어나고 동시에
7 min read
백오피스 backoffice 구축 시나리오 3가지
backoffice

백오피스 backoffice 구축 시나리오 3가지

IT 기업 및 스타트업이 백오피스 backoffice를 만드는 방법은 다양합니다. 기업마다 팀마다 그 니즈와 상황이 다양하기 때문인데요. 이렇게 백오피스를 만드는데 있어서 발생할 수 있는 대표적인 시나리오 3가지에 대해 생각해보겠습니다. 1) 기획 - 디자인 - 개발 안정적인 조직이나 팀 문화에 이상적인 시나리오입니다. 조직 스타일에 따라 기획 - 개발 또는 디자인 - 개발로
8 min read
더 이상 DB, API 클라이언트에 의존하지 않아도 되어요.
database

더 이상 DB, API 클라이언트에 의존하지 않아도 되어요.

DB, API 클라이언트란? DB 클라이언트는 흔히 데이터베이스를 조회하는 클라이언트 서비스를 지칭합니다. Database IDE, SQL 클라이언트 등의 다양한 용어로 불리며 대표적으로 오픈소스 또는 커뮤니티 버전을 제공하는 제품은 Sequel Pro, Postico, DBeaver, Mysql Workbench 등이 있습니다. 기업형 서비스는 Jetbrains의 Datagrip이 있고 Database IDE로 설명하고 있으며, TablePlus, TeamSQL(AWS에 인수됨), PopSQL 등 협업
6 min read
셀렉트 보안 QnA 질문과 답변

셀렉트 보안 QnA 질문과 답변

어드민 백오피스는 서비스 데이터와 회원의 개인정보를 취급하기 때문에 높은 보안이 중요합니다. 셀렉트를 이용하며 적정 보안을 유지하기 위해 조직 규모에 맞는 보안 모델을 권해드리고 있습니다. 몇가지 질문과 답변을 공유드립니다. -------------------------------------------------------------------------------- 셀렉트가 고객사 데이터를 조회할수있는가? * 고객사 화면을 접속하는 창구가 없음 (셀렉트 담당자도 어드민에 접속 불가능) * 고객지원을 위한 고객사 로그는 조회할수있음. 데이터는
2 min read
셀렉트 보안 로드맵 (Security in stages)

셀렉트 보안 로드맵 (Security in stages)

어드민 백오피스는 서비스 데이터와 회원의 개인정보를 취급하기 때문에 높은 보안이 중요합니다. 셀렉트를 이용하며 적정 보안을 유지하기 위해 조직 규모에 맞는 보안 모델을 충족하는 몇가지 시나리오를 공유드립니다.· -------------------------------------------------------------------------------- 어드민 사용자 접근 보안성 (개인정보처리시스템) * SQL 쿼리 보안 셀렉트 권한 정책을 통해 사용자(조회) 권한과 편집자(수정) 권한을 적절히 부여합니다. 사용자(조회)
5 min read
초기 스타트업, 신사업 팀이 어드민을 만드는 5가지 방법

초기 스타트업, 신사업 팀이 어드민을 만드는 5가지 방법

어드민이란 무엇일까요? 스타트업이 서비스를 만들고 운영하는데 있어서 모든 것이 100% 자동화되고 사람의 개입이 필요없다면 어드민이 없어도 될지도 모릅니다. 하지만, 현실세계는 매우매우 복잡하고 단순화하기 어려운 문제들도 있습니다. 결국 사람의 개입이 있다면 어드민은 꼭 필요한 것인데요. 어드민은 고객용 서비스와 마찬가지로 하나의 프로그램, 애플레케이션(앱)이기 때문에 꽤 많은 리소스를 필요로 합니다. 대부분의
6 min read

셀렉트 docker-compose 이용하기

안녕하세요 셀렉트팀 입니다. 오늘은 docker(도커) 환경에서 셀렉트를 빠르게 시작하는 방법을 안내드립니다. 시작하기 git clone https://github.com/eces/select-onpremise.git cd select-onpremise 셀렉트 서버 실행 docker-compose up 현재 폴더의 default.yml 설정으로 셀렉트를 시작합니다. 접속 확인 http://localhost:9400 참고: GitHub - eces/select-onpremise: Self-hosted select server.Self-hosted select
1 min read
셀렉트 보안지침 (Security notes & concerns)

셀렉트 보안지침 (Security notes & concerns)

어드민 백오피스는 서비스 데이터와 회원의 개인정보를 취급하기 때문에 높은 보안이 중요합니다. 셀렉트를 이용하며 적정 보안을 유지하고 기존 보안 모델에 충족하기 위해 조치해야할 몇가지 고려사항을 공유드립니다. -------------------------------------------------------------------------------- 데이터베이스 Database * 데이터베이스 연결은 반드시 IP 제한 또는 사설망내 Tunnel을 통한 연결을 한다. * 읽기전용(slave, readonly) 리소스와 읽기쓰기(master) 리소스를 분리한다. * UserAccount가 아닌
3 min read

인프라 설정 없이 프로덕션 환경에 띄우기

이전 글: https://blog.selectfromuser.com/select-git-local/ > 추가 예정입니다. Render.com 이용한 예제 웹서비스 추가해당 깃헙 레파지토리 허용배포할 레파지토리 선택서버 띄우는 명령어 입력무료로 진행 환경변수 설정을 엽니다. 레디스 추가가 필요합니다. 레디스 선택무료로 진행 수분내 Available 초록불이 뜹니다.다시 돌아와서 환경변수에 생성된 REDIS 정보를 입력합니다. 설정을 저장하면 빌드가 시작됩니다. 초기에는 시간이
3 min read

셀렉트 Github 로컬 환경 시작하기

셀렉트는 SQL, API, Markdown등을 YAML에 입력하여 어드민 백오피스를 만드는 무료이용 가능한 프로젝트입니다. 셀렉트 설정 파일을 담을 레파지토리를 만듭니다. 본문에서는 select-example 이름으로 github.com 에서 만들었습니다.로컬에 clone 하였습니다. 이제 셀렉트를 설치합니다. yarn add selectfromuser yarn을 쓰지 않아도 문제없어요. npm install -S selectfromuser 명령어와 동일합니다.설치가 잘되었나 확인해봅니다. 셀렉트 CLI 버전이
4 min read

Cloudflare Tunnel 데이터베이스 연결하기

안녕하세요 셀렉트팀 입니다. 셀렉트 클라우드를 이용하는 경우 클라우드와 서비스 데이터베이스를 최초 1회 연결을 해야하는데 보안을 위해 데이터베이스를 public-ip이 없이 운영하고 있는 경우 리소스 연결작업이 불가능합니다. *만약 외부에서 접근이 가능하다면 해당 안내를 확인해주세요. https://blog.selectfromuser.com/connecting-to-database/ 이를 해결하기 위해 다음과 같은 방법으로 안내드리고 있습니다. * Self-hosted 설치형을 내부망에 직접 설치하여
5 min read
코드가 아닌 스펙으로 어드민을 만든다면

코드가 아닌 스펙으로 어드민을 만든다면

셀렉트 팀에서는 어드민과 내부툴을 만드는 방법을 제시합니다. 1. 최대한 작은/간단한 코드베이스를 유지하기 * 설정 파일 1개에 어드민에 필요한 모든 것을 선언합니다. (YAML 문법, 쿠버네티스등에서 이용, 필요시 recipe 파일/폴더 분리 가능) * Backend, Frontend 코드 없이 YAML 스펙으로 서버와 UI가 준비됩니다. * 직접 API, UI 개발을 했을때와 비교하여도 90% 정도의 코드양 감소가
4 min read
어드민의 생애주기: 왜 필요하고 왜 어려울까

어드민의 생애주기: 왜 필요하고 왜 어려울까

대부분의 IT 회사에는 다양한 서비스 데이터들이 존재합니다. 독창적인 서비스와 비즈니스 로직을 모든 구성원들이 공유하며 제품에 녹이고 운영과 고객지원, 영업지원에도 자연스럽게 스며듭니다. 초기에는 간단한 페이지와 데이터베이스 구조를 가지고 정돈된 로그와 내역이 쌓이며, 데이터베이스에 없더라도 엑셀을 통해 자유롭게 데이터를 축적하고 이용하게 됩니다. 문제는 서비스가 성장하고 새로운 기능이 생기고 정책이 변하면서, 데이터의 구조가
16 min read
Inter-DB Join, Distributed query

Inter-DB Join, Distributed query

셀렉트에서는 1개의 디비 연결마다 데이터베이스 이름을 지정하여 이용하도록 귄장하고 있습니다. 같은 서버, 여러개 디비 이용하기 여러개 디비(database name)을 동시에 이용하려면 리소스 설정시 database: 빈칸으로 추가후 아래와 같이 [데이터베이스명].[테이블명] 으로 쿼리하면 됩니다. 다른 서버, 여러개 디비 이용하기 셀렉트에서는 per-table replication을 비공개 베타 오픈예정입니다. * 테이블단위로 복제를 지원합니다. * One-way 단방향
2 min read
데이터베이스 연결 가이드

데이터베이스 연결 가이드

셀렉트는 SQL과 API로 어드민 페이지를 만드는 도구입니다. 지원하는 데이터베이스: * MySQL 5.6/5.7/8.0 * MariaDB * AWS RDS MySQL 5.6/5.7/8.0 * PostgreSQL * Microsoft SQL Server * MongoDB * Redis 원하는 데이터베이스를 연결하면 조회와 수정이 가능합니다. 데이터베이스를 디비툴(SequelPro, Workbench, Datagrip등)으로 접속하는 경우 계정정보 입력으로 바로 시작
2 min read
아직 SQL을 모르는 분들을 위한 안내서

아직 SQL을 모르는 분들을 위한 안내서

⚠️비개발자가 SQL을 맨땅에서부터 배워가며 얻은 지식을 바탕으로 다른 비개발자 분들께 최대한 쉽게 설명하고 배운 것을 공유하고자 작성한 글입니다. SQL 초보자분들께서는 참고하시되 다른 자료들과 함께 보시면서 비판적으로 받아들여주시면 좋습니다. 이해가 안되는 부분을 알려주시면 보강하고, 더불어 틀린 내용을 말씀해주시면 수정하도록 하겠습니다. 감사합니다.SQL이란? SQL은 Structured Query Language 의 약어로, 직역하면 '구조화된 질문
8 min read
셀렉트 클라우드 시작하기

셀렉트 클라우드 시작하기

안녕하세요 셀렉트팀입니다. 셀렉트 클라우드를 이용하면 * 구글 로그인으로 데이터베이스를 쿼리하고 결과를 조회합니다. * 작성한 쿼리를 팀원과 공유합니다. * 원하는 메뉴와 페이지를 만들고 어드민으로 제공합니다. 시작하기 위해 로그인 페이지로 이동합니다. https://app.selectfromuser.com/login 구글 계정으로 로그인합니다. 로그인이 이루어지면 기본 무료회원으로 가입이 끝나고 아래의 화면이 보입니다. * 어드민은 YAML로 메뉴와 페이지를 제작하는 공간입니다. * 데이터
6 min read