본문 바로가기

전체 글223

[Git Conflict] 실무에서 더 자주 발생하는 문제는 **"같은 파일의 같은 부분을 서로 다르게 고쳤을 때"**입니다. 이를 **충돌(Conflict)**이라고 부릅니다.이런 상황이 발생했을 때의 해결 과정을 단계별로 정리해 드릴게요.1. 충돌(Conflict)이 발생하는 상황나: Member.java의 10번 줄을 수정하고 commit.동료: 내가 push 하기 전, Member.java의 10번 줄을 수정해서 먼저 push 완료.결과: 내가 push 하려고 하면 서버가 거부합니다. "너랑 동료랑 코드가 다른데, 누구 걸로 합칠지 모르겠어!"2. 해결 단계 (실무 프로세스)① 우선 서버 코드를 가져옵니다 (Pull)서버에 있는 동료의 코드를 내 컴퓨터로 먼저 받아와야 합니다.Bash git pull origin main그.. 2026. 4. 26.
Git 계정연결 remote: Permission to /shop.git denied to .fatal: unable to access 'https://github.com/ 현재사용자계정> /shop.git/': The requested URL returned error: 403 이 에러는 "권한 거부(Permission Denied)"입니다. 중요한 포인트는 메시지에 나온 이라는 계정이에요.현재 깃허브 저장소는 현재사용자계정> 계정의 것인데, 컴퓨터에 저장된 깃 인증 정보가 예전에 사용하던 계정으로 고정되어 있어서 "남의 저장소에 왜 네가 올리려고 해?"라고 깃허브가 막는 상황입니다.이 인증 정보를 새로 만든 토큰으로 교체해줘야 합니다. 윈도우 사용자라면 아래 순서대로 따라 하시면 금방 해결됩니다!1. 윈도우 .. 2026. 4. 25.
컨텍스트 스위칭(Context Switching)이란? 컨텍스트 스위칭(Context Switching)이란?컨텍스트 스위칭은 CPU나 코어에서 실행 중이던 프로세스나 스레드가 다른 프로세스나 스레드로 교체되는 과정을 말합니다. 이는 멀티태스킹 시스템에서 여러 작업을 효율적으로 관리하기 위해 필수적인 메커니즘입니다.컨텍스트(Context)란?컨텍스트는 프로세스나 스레드의 현재 상태를 의미합니다. 여기에는 CPU의 레지스터 상태(프로그램 카운터, 스택 포인터 등)와 메모리 상태가 포함됩니다. 컨텍스트는 프로세스나 스레드가 실행을 중단하고 나중에 다시 시작할 때 필요한 모든 정보를 담고 있습니다.컨텍스트 스위칭이 필요한 이유멀티태스킹 시스템에서는 여러 프로세스나 스레드가 동시에 실행되는 것처럼 보이도록, CPU가 짧은 시간 단위로 작업을 전환하며 여러 작업을 처.. 2026. 3. 27.
PM 가이드] 성공적인 프로젝트의 이정표, '마일스톤' 관리법 총정리 (Milestone Management) 안녕하세요!IT 프로젝트의 규모가 커질수록 PM(Project Manager)에게 가장 절실해지는 것이바로 '우리가 지금 어디쯤 와 있고, 제시간에 도착할 수 있는가?'에 대한 확신입니다. 📍이 확신을 주는 핵심 도구가 바로 마일스톤(Milestone)입니다. 오늘은 단순한 일정 관리를 넘어, 프로젝트 성공률을 높이는 전략적인 마일스톤 관리법과 실무 팁을 공유해 드립니다.1. 마일스톤이란 무엇인가?마일스톤은 프로젝트라는 긴 여정에서 반드시 거쳐야 하는 '주요 체크포인트'를 의미합니다.단순히 할 일(Task)을 나열하는 것이 아니라, 특정 단계가 완료되었음을 증명하는 '결과물'이나 '이벤트'가 발생하는 지점입니다. 🏁Task(과업): 코딩하기, 기획서 초안 작성 (진행 과정)Milestone(마일스톤).. 2026. 3. 20.
[IT 기획/PM] 서비스 고도화 vs 차세대, 무엇이 다를까? (개비·리뉴얼·고도화·차세대 개념 총정리) 안녕하세요!IT 프로젝트 현장에서 기획자와 PM들이 가장 자주 접하게 되는 네 가지 핵심 개념개비, 고도화, 리뉴얼, 그리고 차세대에 대해 심도 있게 알아보려 합니다. 🚀 프로젝트의 성격에 따라 PM이 집중해야 할 리소스와 전략이 완전히 달라지기 때문에이 개념들을 명확히 구분하는 것은 매우 중요합니다. 💡1. IT 프로젝트의 4가지 유형: 정의와 차이점단순한 유지보수를 넘어 시스템을 개선하는 과정은 크게 네 단계로 나뉩니다.구분정의주요 목적비유 (건축)개비(Replacement)노후화된 H/W나 S/W 버전을 동일 사양 혹은 유사 사양으로 교체안정성 확보 및 단종 대응낡은 배관이나 보일러 교체고도화(Enhancement)기존 시스템에 새로운 기능을 추가하거나성능을 눈에 띄게 개선비즈니스 로직 확장속도.. 2026. 3. 20.
Redis를 활용한 실시간 랭킹과 조회수 처리: Write-Back 전략이란? 안녕하세요! 오늘은 백엔드 개발 면접이나 실무에서 단골 질문으로 등장하는 '실시간 데이터와 캐싱 전략'에 대해 알아보려고 합니다.조회수가 1씩 올라가거나 랭킹이 실시간으로 변하는 데이터를 볼 때, "매번 DB를 거치면 느릴 텐데, 어떻게 캐시만으로 실시간성을 유지하지?" 라는 궁금증이 생기셨을 거예요. 그 궁금증을 Q&A 형식으로 깔끔하게 정리해 드립니다!Q1. 캐시를 쓰면 데이터가 고정되는 것 아닌가요? 어떻게 실시간으로 값이 바뀌죠? A. 캐시는 단순히 데이터를 '복사'해서 저장해두는 공간이 아니라, 데이터를 빠르게 연산하는 '메모리 엔진'으로 활용되기 때문입니다.실시간으로 변하는 데이터를 처리할 때는 'Write-Back(나중에 쓰기)' 전략을 주로 사용합니다.사용자가 조회 버튼을 누르면 DB의 숫.. 2026. 3. 4.
[Oracle] SGA와 PGA 완벽 정리 – 구조, 튜닝, 면접 대비까지 Oracle Database의 성능을 이해하려면 반드시 알아야 할 개념이 바로 SGA(System Global Area)와 PGA(Program Global Area)이다.두 영역 모두 메모리 구조에 속하지만, 공유 여부와 역할에서 큰 차이가 있다.1️⃣ SGA (System Global Area)SGA는 Oracle 인스턴스 시작 시 할당되는 공유 메모리 영역이다.모든 세션이 공동으로 사용한다.즉, SGA는 DB 전체를 위한 공용 메모리 공간이다.🔹 주요 구성 요소① Database Buffer Cache디스크에서 읽은 데이터 블록 저장동일 데이터 재사용 시 디스크 I/O 감소② Shared PoolSQL 문 저장실행 계획 저장데이터 딕셔너리 캐시Hard Parse 감소에 핵심적③ Redo Log B.. 2026. 2. 12.
[SQL 성능의 나침반] 실행계획과 결합 인덱스의 핵심 원리 1. 최적화된 결합 인덱스를 만드는 방법결합 인덱스를 만들 때는 "어떤 컬럼을 앞에 둘 것인가"가 성능의 80%를 결정합니다. 다음 3가지 원칙을 고려하세요.① 카디널리티(Cardinality)가 높은 컬럼을 전진 배치중복도가 낮고 데이터 종류가 많은 컬럼(예: 고객번호, 전화번호)을 앞에 두어야 검색 범위가 빠르게 줄어듭니다. 성별(남/여)처럼 중복도가 높은 컬럼을 앞에 두면 필터링 효율이 떨어집니다.② = 조건 컬럼을 범위(>, 오라클 인덱스 구조상 = 조건으로 먼저 위치를 찾고, 그 안에서 범위를 스캔하는 것이 훨씬 빠릅니다. 만약 범위 조건을 앞에 두면 그 뒤에 오는 컬럼들은 인덱스를 '검색'하는 용도가 아니라 '체크'하는 용도로 전락합니다.③ WHERE 절에서 자주 함께 쓰이는 컬럼 구성항상 세.. 2026. 2. 11.
API 통신 장애 시 점검 순서 정리 (curl + 포트 + 방화벽) [이슈]캘린더 조회가 안되는 현상에서 다른 API 서버끼리 통신이 되는지부터 확인 가장 먼저 확인해야 할 것은:🔎 API 서버 간 통신이 실제로 되고 있는가?이 글에서는✔ 서버 생존 확인✔ 포트 리슨 상태✔ 방화벽 통과 여부✔ 내부망/외부망 구분 방법까지 한 번에 정리한다. [해결 방법]1️⃣ 서버 생존 및 웹 서비스 정상 여부 확인 (curl)기본 명령어curl [옵션] [주소]🔹 -I 옵션 의미HTTP 헤더만 조회, 서버 응답 상태코드 확인용, 본문까지 안 받아서 빠름✅ 결과 해석✔ 200 OK : 웹서버 정상, 해당 포트에서 서비스 LISTEN 중, 요청 경로 상 방화벽 통과 완료👉 이 위치 기준으로는 방화벽이 열려 있음.❌ Connection refused서버는 살아있음. 해당 포트에서 서.. 2026. 2. 10.
[MySQL] 설치 방법 저는 8.0.45ver으로 설치했고요!설명 잘해주신 사이트 있어서 남겨요~ 설치 방법 url : datarian.io/blog/installing-mysql-on-windows 2026. 1. 22.
ISA [2025년 중개형 ISA 수수료 비교] ISA 계좌는 크게 세 가지 유형으로 나뉘는데요.신탁형: 예금 및 RP 중심, 안정형 투자에 적합일임형: 자산운용사가 알아서 운용, 간편하지만 수수료 높음중개형: 내가 직접 주식, ETF 등 다양한 자산을 매매 가능 중개형 ISA 계좌는 아래와 같은 몇 가지 장점을 갖고 있습니다.운용 수수료 없음 (단, 매매 수수료는 있음)국내 주식, ETF, 채권, 리츠, 파생상품 등 투자 가능세제 혜택 적용 (일반형 200만 원, 서민형 400만 원까지 비과세), 초과분 9.9% 저율 과세손익 통산 혜택, 수익과 손실을 상계 처리하여 세금 절감 효과향후 연금계좌로 이전 시, 추가 세액공제 혜택 활용 가능 (연간 세액공제 최대 300만 원 추가, 최대 공제 1,200만 원).. 2025. 11. 19.
[Trino] Current transaction is aborted 에러 원인과 해결 과정 정리 📌 Error DBCP(DataBase Connection Pool) 트리노(Trino)상황: 트리노 로그에서 Validation query 날릴 때, user_error 발생다음 쿼리 수행 시 "Current transaction is aborted" 에러 발생 🔎 이슈 해결 과정현재 상황은 아래와 같이 DBCP가 설정되어 있고 트리노 로그에 "START TRANSACTION"가(명시적) 찍혀 있어 autocommit이 아니였다. 이 말은 즉, minConnection = 0 => 커넥션 풀 사용 안하고 있음. "START TRANSACTION" => autocommit = false MaxConection='10' MinConection='0' Connection.. 2025. 7. 25.