전체 글 20

[RealMySQL8.0] 사용자 및 권한

사용자 식별 (Authentication)사용자 계정은 사용자명 + 접속 지점(IP 또는 호스트)으로 구성된다. MySQL에서는 사용자 계정을 '사용자명'@'호스트명' 형태로 지정한다. 이때 호스트명은 실제 접속 위치(IP 주소 또는 호스트 이름)를 의미하며, 계정의 일부로 간주한다. 예를 들어 다음 두 계정은 서로 다른 계정이다.'user'@'127.0.0.1''user'@'%' %는 모든 IP 주소 또는 호스트에서의 접속을 허용한다는 의미이다.중첩 계정과 우선순위MySQL은 동일한 사용자명에 대해 접속 지점만 다른 계정이 여러 개 존재할 수 있다. 이 경우 접속 시점에 일치하는 계정을 찾을 때 보다 구체적인 호스트명(IP 주소 등)이 우선적으로 선택된다. 예를 들어 다음과 같은 두 계정이 있다고 가..

DB 2025.07.09

[RealMySQL 8.0] 역사 & 설정

역사MySQL은 1979년 스웨던의 TcX사의 터미널 인터페이스 라이브러리인 UNIREG로 부터 시작되었고, UNIREG라는 라이브러리가 1994년 웹 시스템의 테이터베이스로 사용하기 시작하면서 MySQL 1.0 버전이 완성되어 사내에서 사용되다 1996년 최초로 공개되었다. 2000년대에 TcX사에서 MySQL을 개발한 몬티와 데이빗이 MySQL AB라는 회사로 독립하여, FPL(Free Public License)정책으로 바꾸고 2006년 최종적으로 엔터프라이즈(별도의 라이선스 계약이 필요하며 추가 기능 및 지원을 제공), 커뮤니티(별도의 라이스선 계약없이 일반 사용자가 내려받아 사용하는 버전) 정책을 취하게 되었다. MySQL은 개인 및 기업 사용자가 웹 애플리케이션을 위한 강력 하면서 비용 효율적..

DB 2025.07.08

[RealMySQL 8.0] Intro

Real MySQL 8.0 (1권) | 백은빈 - 교보문고Real MySQL 8.0 (1권) | MySQL 서버를 활용하는 프로젝트에 꼭 필요한 경험과 지식을 담았습니다!《Real MySQL 8.0》은 《Real MySQL》을 정제해서 꼭 필요한 내용으로 압축하고, MySQL 8.0의 GTID와 InnoDB 클러스product.kyobobook.co.kr 나는 아직 저연차 개발자이지만, 정말 운이 좋게도 회사에서 많은 책임과 권한을 부여받게 되었다.그 이유는 서비스의 초기 멤버로 합류하여, 기획 단계부터 개발, 출시까지 전 과정을 함께했기 때문이다.초기 MVP부터 시작하여 1차, 2차 기능 개발을 거쳐 상용화까지 진행한 애플리케이션이 현재 실제 사용자에게 제공되고 있으며, 운영과 유지보수까지 전반을 ..

DB 2025.07.02

[TypeORM] cross-env 환경에서 마이그레이션 하기

ORM을 사용하면 SQL 질의어 없이 코드로 테이블을 정의하고 관리할 수 있다. Node 진영에서 많이 사용하는 TypeORM 또한 이와 마찬가지로 편리한 기능들을 제공한다. 마이그레이션은 데이터베이스 스키마의 변경사항을 버전 관리하고 적용하는 과정으로, 개발 과정에서 데이터베이스 구조가 변경될 때마다 안전하게 업데이트할 수 있게 해준다. 특히 팀 단위 개발이나 여러 환경(개발, 스테이징, 프로덕션)에서 일관된 데이터베이스 구조를 유지하는 데 필수적이다. 오늘은 평소에 TypeORM을 사용할 때 내가 사용하는 마이그레이션 방식에 대해서 정리하고자 한다. 마이그레이션 방식 설명에 앞서 TypeORM은 0.3.20 버전을 사용중이고 NestJS는 10.x.x 버전을 기준으로 작성했다. 추가로 cross-en..

DB 2025.04.13

처음 작성해보는 백엔드 개발자의 2024년 회고

재작년인 2023년 10월을 기준으로 백엔드 개발자로서 커리어를 시작하였고, 벌써 2025년이 되었다. 이제 횟수로는 2년차 주니어 개발자가 되었다👏🏻 평소 블로그에 개인적인 내용보다는 공부한 내용을 정리하거나 문제를 해결한 내용들에 대해서만 작성을 했기 때문에, 회고나 개인적인 내용들을 작성하는 게 조금 어색(?)하지만 오늘을 토대로 앞으로는 개인적인 내용도 가끔 작성해볼까 한다. 회고라는 것을 처음 해봐서 어떻게 시작할지 몰라 인터넷에 여러 글을 찾아보니 인프런 블로그에 올라온 '개발자의 공유 문화 이모저모 회고문화'라는 글과 '어쩐지 오늘은'이라는 블로그 운영자인 변성윤 님의 '회고에 대한 생각'이라는 글을 참고하였다. 나처럼 처음 회고를 시작하는 분들이라면 저 2개의 글을 참고하는 것도 좋을..

회고 2025.01.06

[Devops]내도메인한국에서 무료 도메인 발급 및 AWS ACM 인증받기

이전에 ZeroSSL을 사용하여 도메인 없이 Elastic IP를 기반으로 단일 인스턴스(EC2)에 SSL 인증서를 발급받아서 간단하게 테스트하는 과정을 다뤘었다.   [AWS] 도메인 구매 없이 Node 환경에서 TLS(SSL) 빠르게 인증하기 (EC2+ Open SSL)오늘은 AWS 의 EC2 인스턴스에서 빠르게 TLS(SSL) 인증을 하는 방식에 대해서 소개하겠다. 도메인 없이 Public IP 를 발급받은 EC2 인스턴스에서 간단한 테스트를 위한 개발을 할 때, 주로 사용하는 방billtech.tistory.com 오늘은 내도메인한국 이라는 한글 무료 도메인 업체에서 무료로 도메인을 발급받고, AWS ACM 인증을 받는 과정에 대해서 소개하려고 한다. 추가로 발급받은 ACM 인증서를 통해서 ALB..

Devops 2024.12.15

[AWS] ElasticBeanstalk - ERROR: Service:AmazonCloudFormation, Message:Resource AWSEBAutoScalingGroup does not exist for stack awseb-e-xxxxxxx-stack 에러 해결

문제  AWS계정을 새롭게 생성 후 간단한 테스트를 위해 Beanstalk 환경을 구성하는 과정에서 아래와 같은 에러가 발생했다. 에러로그는 아래와 같다. ERROR Creating Auto Scaling launch configuration failed Reason: Resource handler returned message: "The Launch Configuration creation operation is not available in your account. Use launch templates to create configuration templates for your Auto Scaling groups. (Service: AutoScaling, Status Code: 400, Request..

Error Log 2024.10.13

MacOS에서 Jenkins 빌드시 npm, yarn, pnpm 패키지를 못 찾는 경우 해결법

연휴기간에 회사에 적용시킬 Jenkins 세팅을 위해 로컬에서 테스트를 하던 도중 계속 빌드에 실패하는 이슈가있어 로그를 뜯어보니 아래와 같은 내용을 확인 할 수 있었다.  로그의 주요 이슈 항목 line 3: yarn: command not found yarn 패키지를 못 찾는 이슈였다.  이때, 본인이 nodejs 패키지를 설치 및 기본 환경 세팅을 마무리한 상황이면 대부분 본인의 Mac의 HomeBrew 경로 세팅을 하지 않아서 발생하는 이슈일 가능성이 높다.  해결  Jenkins 관리 탭에서 System 설정으로 접근한다.  Global properties 라는 환경 변수를 설정하는 탭에 이동해 homebrew 경로를 넣어준다. 이때 본인의 Mac OS의 homebrew 경로값을 위와 같이 추가..

Devops 2024.09.17

[AWS] 인스턴스 RAM 메모리 부족현상 Swap Memory로 해결하기

AWS는 1년간 다양한 서비스를 거의 무료로 이용할 수 있는 프리티어 서비스를 제공한다. 프리티어 서비스중에서 EC2와 같은 클라우드 서버를 대여해서 가벼운 프로젝트를 배포하거나 테스트할 때, 인스턴스의 사양이 낮다 보니 원하는 작업을 못 하는 경우가 있다.  예를 들어, VScode나 WebStorm등과 같은 IDE에 SSH 연결을 통해서 실서버 내부에 들어가서 작업을 하면서 인스턴스가 먹통이 되거나 SSH 환경에서 Build를 하거나 간단한 테스트를 하는데 뻗어 버리는 케이스가 있었다. 이때, 시도해볼 수 있는 방식이 스왑 메모리(Swap Memory)를 적용하는 것이다.   스왑 메모리란(Swap Memory)?스왑 메모리는 물리적 RAM이 부족할 때 데이터를 임시로 저장하기 위해 하드 디스크의 일..

Devops/AWS 2024.05.27

[JS] 콜백(Callback) 함수

콜백(Callback) 함수  콜백 함수는 전달인자로 다른 함수에 전달되는 함수를 말한다.  'use strict'function print(callback) { callback();}/** * print 함수의 매개변수에 함수를 전달*/print( function () { console.log('callback!'); });// callback! 위 예시처럼 printCallback이라는 함수의 인자 값으로 callback이라는 함수 파라미터를 받아서 함수 내부에서 호출을 하고 있다. 자바스크립트에서는 위 예시와 같이 함수의 파라미터로 전달되는 다른 함수를 콜백 함수라고 한다.  콜백함수는 주로 비동기 작업이나 이벤트 처리 시 동기화를 위해서 사용되고, 특정 작업이 완료된 후 실행시킬 코..

Language/JS & TS 2024.05.19