분류 전체보기 126

스크럼(Scrum) 개념 및 용어

스크럼(Scrum)이란? 스크럼은 애자일 소프트웨어 개발 방법 중의 하나로, 프로젝트 관리를 위한 상호 점진적 개발 방법론입니다. 이 방법은 특정 언어나 방법론에 의존적이지 않은 넓은 응용 범위의 개발 기법입니다. 스크럼의 특징 솔루션에 포함할 기능 및 개선점에 대한 우선순위를 부여한다. 개발 주기는 30일 정도로 조절하고 개발 주기마다 실제 동작할 수 있는 결과를 제공한다. 개발 주기마다 적용할 기능이나 개선에 대한 목록을 제공한다. 날마다 15분 정도 회의를 가진다. 항상 팀 단위로 생각한다. 원활한 의사소통을 위하여 열린 공간을 유지한다. 스크럼에서는 30일 주기로 실제 동작하는 소프트웨어를 만들면서 프로젝트를 진행합니다. 단, 팀의 스크럼 적응도 및 진행 상황에 따라 1주~4주의 유연성을 가지기도..

Tech Trends 2023.02.17

[DB] MariaDB DeadLock 문제 해결

MariaDB를 사용하다 보면 쓰기작업으로 인해 DeadLock이 발생할 경우가 있다. Deadlock found when trying to get lock; try restarting transaction 1. DeadLock 분석 쿼리 # 현재 LOCK이 걸려 대기중인 정보 SELECT * FROM information_schema.INNODB_LOCK_WAITS; # LOCK을 건 정보 SELECT * FROM information_schema.INNODB_LOCKS; # LOCK을 걸고 있는 프로세스 정보 SELECT * FROM information_schema.INNODB_TRX; # InnoDB 상태 SHOW ENGINE INNODB STATUS; 2. DeadLock 해결 팁 - 테이블 접..

DataBase/Maria DB 2023.02.17

[CI/CD] Docker + Jenkins + .net Core CI/CD 메뉴얼

A. 시작 Docker - 컨테이너 기반으로 하는 오픈소스 가상화 플랫폼. Jenkins - 지속적인 통합(Continuous integration, CI) + 지속적 배포(continuous delivery, CD)환경 구축 도구. .net Core - ASP.NET Core는 macOS, Linux 및 Windows에서 실행되는 ASP.NET 오픈 소스 버전. docker 명령어 참고 url [Docker] Docker 기본 명령어 정리 (tistory.com) [Docker] Docker 기본 명령어 정리 컨테이너 제어 명령어 컨테이너 내려받기 예시로 nginx 컨테이너를 받는다면 다음과 같이 적을 수 있다. latest 태그는 가장 최신 버전의 컨테이너 이미지를 가져온다. # docker pull..

[Docker] Docker 기본 명령어 정리

컨테이너 제어 명령어 컨테이너 내려받기 예시로 nginx 컨테이너를 받는다면 다음과 같이 적을 수 있다. latest 태그는 가장 최신 버전의 컨테이너 이미지를 가져온다. # docker pull NAME[:TAG] $ docker pull nginx:latest 컨테이너 실행 컨테이너 실행은 일반적으로 docker run 명령어를 사용하며 다음과 같은 형식을 가진다. ubuntu:16.04 컨테이너를 실행한다면 다음과 같이 실행할 수 있다 # docker run [OPTION] IMAGE[:TAG] [COMMAND] $ docker run -i -t ubuntu:16.04 /bin/bash 포어그라운드(fore-ground) 실행 t 옵션은 tty를 할당하고 i옵션은 표준 입출력을 사용한다. 예시로 u..

[Docker] Windows 에서 Docker Desktop설치 시, WSL 2 installation is incomplete 에러 해결

Windows10에서 docker desktop 설치 후 프로그램 실행을 하면 아래와 같은 팝업이 뜨면서 실행이 되지 않는다. 이 에러의 원인은 WSL2 이라는 프로그램이 설치되지 않아서 발생하는 것으로 아래 링크를 통해서 WSL2를 설치 및 재시작 후 다시 실행하면 정상적으로 실행됨. https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi 도커가 리눅스 기반에서 실행이 되기 때문에 윈도우에서도 리눅스가 필요한데 윈도우에서 리눅스를 사용할 수 있도록 제공하는 기능으로 WLS(Windows Subsystem for Linux)이 있음.

[CI/CD] GitHub Action + AWS CodeDeploy를 이용한 CI/CD

1. CI/CD란 ? CI는 간단히 요약하자면 빌드/테스트 자동화 과정 과정입니다. CI는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을의미합니다. CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합되므로 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결할 수 있습니다. CD는 간단히 말하면 배포 자동화 과정입니다. CD는 지속적인 서비스 제공(Continuous Delivery) 또는 지속적인 배포(Continuous Deployment)를 의미하며 이 두 용어는 상호 교환적으로 사용됩니다. 두 가지 의미 모두 파이프라인의 ..

[Redis] redis 설치 및 사용법 정리

레디스(Redis)란? Remote에 위치한 프로세스로 존재하는 In-Memory 기반의 고성능 키-값 저장소면서 문자열, 리스트, 해시, 셋, 정렬된 셋 형식의 데이터를 지원하는 NoSQL. A. Redis 사용(캐시데이터로 활용) 일반적으로 웹 서버는 클라이언트 요청을 받아서 데이터를 제공하는 상황. String 자료구조 사용 데이터가 존재하는지 Cache를 먼저 확인. Cache에 데이터가 존재하면 해당 데이터를 제공. Cache에 데이터가 존재하지 않으면 DB에서 읽은 뒤 Cache 저장 후 제공. String 명령어 SET: SET, SETNX, SETEX, SETPEX, MSET, MSETNX, APPEND, SETRANGE GET: GET, MGET, GETRANGE, STRLEN INCR:..

DataBase/Redis 2023.02.13

[DB] MariaDB MaxScale을 통한 분산처리

지난 게시글에서는 DB서버를 Master - Slave 구조로 구성을 하였었습니다. [DB] MariaDB 이중화 구성 설정 방법과 분산처리 (Replication Master/Slave) (tistory.com) [DB] MariaDB 이중화 구성 설정 방법과 분산처리 (Replication Master/Slave) 하나의 DB 서버에 많은 트래픽이 몰리게 된다면 큰 병목 현상이 일어나 정상적인 서비스를 제공하지 못하는 상황이 발생하기도 합니다. ​ 이를 개선하기 위해 MySQL과 MariaDB는 DB서버를 분산하여 trillion-binary.tistory.com 이어서 이 구조는 Master DB 서버에서 WRITE/UPDATE 작업이 일어나게 되면 Slave DB 서버가 비동기적으로 Master ..

DataBase/Maria DB 2023.02.13

[Redis/AWS] redis 외부 접속 허용 설정

Redis(레디스)를 yum 혹은 source로 설치 후 에 구동을 해보면 기본적으로 127.0.0.1:6379 로 구동되어 있음을 확인할 수 있다. 1. 외부 접속 허용 설정 ​ Redis(레디스) 설치 후 /etc/redis.conf(간혹 경로가 다를 수 있음) 파일에서 bind에 설정되어있는 "bind 127.0.0.1" 을 제거 혹은 주석 후 "bind 0.0.0.0" 으로 설정 후 Redis 서비스를 재기동 해보자 2. Port 설정 1번과 마찬가지로 /etc/redis.conf 파일에서 port에 설정되어있는 "port 6379" 를 제거 혹은 주석 후 "port 원하는 포트번호" 로 설정 후 Redis 서비스를 재기동 해보자 3. 암호 설정 ​ 1번과 마찬가지로 /etc/redis.conf ..

DataBase/Redis 2023.02.10
BIG