본문 바로가기 메뉴 바로가기

Work Note

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

Work Note

검색하기 폼
  • Document (18)
    • Programming (14)
      • Front-End (7)
      • Back-End (6)
      • Browser (1)
    • DB (1)
    • Git (3)
    • Etc (0)
  • 방명록

전체 글 (18)
실무에서 간단하게 Gitlab Merge Request 템플릿 적용하여 관리하기

Gitlab MR 도입 겸 Branch 전략을 세우고 적용시킨 후 확실히 코드 충돌의 영향을 덜 받고 나 아닌 팀 내 개발 건 및 이슈에 대하여 명확히 알 수 있었습니다. 사수 승인으로 가는 체제로 하여 책임감은 물론 불필요한 코드 정리에도 도움이 되었어서 이대로 유지해오다가 최근 Merge Request 템플릿 적용이란 걸 알게 되어 간단하게 적용해 보았습니다.      해당 프로젝트 내 .gitlab 폴더 생성   .gitlab 폴더 안 issue_templates 또는 merge_request_templates 폴더 생성주의❗ 폴더명 동일하게 세팅 merge_request_templates 폴더 하나만 생성하여 적용한 이유는두 개 다 하나의 템플릿으로 관리하기 위함이 목적  ✔ issue_templ..

Git 2025. 3. 26. 16:51
데이터베이스(DB) Lock 이란? (+ 블로킹 Blocking, 데드락 Deadlock)

데이터베이스(DB) Lock동시성 제어를 위해 사용되는 중요한 메커니즘여러 사용자가 동시에 같은 데이터에 접근할 때, 데이터 충돌을 방지하고 데이터의 일관성과 무결성을 유지하기 위해 데이터베이스 락을 사용  잠금 적용의 범위데이터베이스(Database) : 데이터베이스 백업/복구 또는 스키마 변경 작업을 수행 테이블(Table) : 데이터베이스 내 모든 테이블에 락 설정, 주로 대규모 작업 및 테이블 구조 변경 시 사용페이지(Page) : 디스크나 메모리에서 관리되는 데이터 블록 = 페이지, 특정 범위에 대한 락 설정행(Row) : 특정 데이터 행에 락 설정, 여러 트랜잭션이 같은 테이블 내 서로 다른 행 작업 가능, 주로 읽기/쓰기 혼합 트랜잭션 유리컬럼(Column) : 매우 세밀한 범위로 락 설정,..

DB 2025. 2. 4. 17:10
동시성 이슈를 해결하기 위한 Redisson 분산 락(Lock) 사용해보기

Redisson ?Java 기반의 분산 데이터 처리와 캐싱 솔루션을 제공하는 오픈 소스 라이브러리Redis를 기반으로 동작하며 Redis에 접근하기 위한 클라이언트 제공Redisson 에서 제공하는 분산 데이터 구조를 활용하여 데이터 처리 및 캐시 관리가 가능 Redisson  분산 락(Lock) 사용은 왜 ?데이터의 일관성과 무결성을 보장하기 위해 여러 애플리케이션 인스턴스나 스레드를 동일한 자원에 동시에 접근하지 못하게끔 하여 동시성 제어로 사용  Setting 🔍[ springboot 환경 내에서 처리 ]1. Gradle 의존성 추가 Spring Boot와의 통합을 위한 스타터Spring Data Redis와 쉽게 통합 가능Redis 연결 설정이 간단Spring 환경에서 사용할 경우 반드시 추가해..

Programming/Back-End 2025. 1. 24. 15:37
주요 특징 위주로 개념 정리해 본 Redis 란?

Remote Dictionary Server 오픈 소스 기반의 인메모리(In-Memory) 데이터 저장소NoSQL 데이터베이스  1. In-Memory 데이터 저장소1) 데이터를 주기억장치인 RAM에 저장2) 메모리 내부에서 처리되므로 매우 빠른 속도로 처리 가능3) 서버 장애가 발생할 경우 데이터 유실이 발생될 가능성이 높아 저장할 데이터를 잘 구분하여 저장 데이터 수정이 빈번하게 되지 않고 자주 사용하는 데이터를 저장  2. 키-값(Key-Value) 기반 저장소로 키에 다양한 데이터 타입 설정 가능String: 단순 값 저장List: 값들의 순서를 유지하는 리스트Hash: 필드-값 쌍 저장 (Map 구조)Set: 중복되지 않는 값들의 집합Sorted Set: 값과 점수를 저장하여 점수로 정렬 가능B..

Programming/Back-End 2025. 1. 14. 18:19
드디어 팀에 적용하게 된 Git Branch 전략과 MR(Merge Request) 코드 리뷰 도입 과정

Git Branch 전략이 필요하게 느껴진 계기 💦 인텔리제이에서 GitLab을 연동해서 사용 중이었으며,개발자들이 늘어남에 따라 브랜치에 commit 하는 기록들이 쌓여 관리가 어려워졌으며, 이렇다 보니 긴급 운영 배포 건이 있을 경우 혼잡해지기 시작 현재 팀에서는dev : 개발용staging : 운영 DB를 바라보는 운영 반영 전 테스트 확인용(release 와 비슷한 용도)prod : 배포용 위와 같이 목적에 맞게 해당 Branch들은 Default로 해놓고 사용 중dev → staging → prod 로 merge 해서 올리는 방식으로 사용  예시 ❗  1. 2024년 11월 30일 운영 배포 건2. 2024년 12월 3일 운영 배포 건dev로 이미 위의 해당 건들이 commit & push가 ..

Git 2024. 12. 12. 16:58
JWT 인증 강화 방식(Access Token, Refrash Token)

JWT 인증 강화 방식 ❔1. Access Token 로그인 세션에 대한 보안 자격 증명을 포함하고 사용자, 사용자 그룹, 사용자 권한 및 경우에 따라 특정 응용 프로그램을 식별하는데 사용하는 토큰. 2. Refrash Token 액세스 토큰의 짧은 유효 기간 및 보안 강화 특징을 보완하고, 사용자가 로그인 상태를 유지하고 보호된 리소스에 지속적으로 액세스할 수 있도록 도와주는 역할을 하는 토큰.   사용자가 로그인 시(인증 요청 시), Access Token 과 Refresh Token 둘 다 동시에 발급 받게 되어 있지만 실제 권한이 주어지는 토큰은 Access Token 이다. 실제 권한이 주어지는 Access Token 만 주어진다면 해당 토큰을 만료되기 전까지 누구나 발급 받을 수 있기 때문에 ..

Programming/Back-End 2024. 4. 9. 14:35
Cookie(쿠키)/Session(세션)/Token(토큰)/JWT 개념 및 특징, 인증 방식, 차이점

쿠키(Cookie) ❔서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각.브라우저에서 서버에 요청을 보내면 서버는 브라우저에 응답을 보내게 되는 구조에서 서버에서 온 응답에는 브라우저에 저장하고자 하는 쿠키가 존재.웹 사이트를 이용할 때 쓰는 프로토콜인 HTTP는 무상태성(stateless)을 가지고 있기 때문에 클라이언트 요청이 끝나고 나면 서버는 해당 클라이언트가 누군지 모르기 때문에 요청할 때마다 누군지 알려줘야 하는 상황이 발생!(+ 서버로 가는 모든 요청이 이전 요청들과 독립적으로 다뤄지며 각 요청끼리는 연결점이 없다.) 즉, HTTP 쿠키는 상태가 있는 세션을 만들도록 해주며 헤더 확장성을 사용하여, 동일한 컨텍스트 또는 동일한 상태를 공유하기 위해 각각의 요청들에 세션을 만들도록 HTT..

Programming/Back-End 2024. 3. 12. 12:16
간단하게 git bash 를 통해 최초 설정 및 레퍼지토리 생성 후 올리기

Git 최초 설정1. 사용자 설정 및 확인git config --global user.name "username"git config --global user.email "username@gmail.com"git config --global user.namegit config --global user.email 2. 기본 브랜치 명 변경git config --global init.defaultBranch maingit config --global init.defaultBranch    Git 프로젝트(repository) 생성 1. 현재 디렉토리 기준 git 저장소 생성git init 2. 로컬 저장소에 연결git remote add origin https://github.com/[본인계정명]/[디렉토리명..

Git 2024. 3. 4. 15:21
이전 1 2 3 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • 동시성이슈
  • redisson분산락
  • JPQL
  • 데이터베이스락
  • MVC패턴정의
  • redis
  • 반응형이미지맵
  • 낙관적락
  • 데드락
  • redisson적용
  • MVC패턴특징
  • MVC패턴구조
  • gitlab_mr_templates
  • 블로킹
  • redis특징
  • mybatis
  • MVC패턴
  • SpringDataJpa
  • github사용법
  • imgmap
  • GitHub
  • 이미지맵
  • querydsl
  • 비관적락
  • db락
  • Redisson
  • gitlab
  • git #git_branch_전략 #gitlab_mr
  • gitlab_merge_request_templates
  • 동시성이슈해결방안
more
«   2025/06   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.