2025/04/13 3

Go) 패닉이 발생하는 경우, 그리고 recover()

Q1.Go에서 패닉이 일어나는 경우들을 적어줘   A1.Go에서 **panic(패닉)**이 발생하는 경우들은 몇 가지 주요 카테고리로 나뉩니다. 아래는 대표적인 panic 발생 상황들과 예제를 정리한 표입니다:✅ Go에서 패닉(panic)이 발생하는 대표적인 경우상황예시설명1. 배열, 슬라이스, 문자열 인덱스 초과s := []int{1, 2}; fmt.Println(s[5])존재하지 않는 인덱스 접근2. nil 포인터 참조var p *int; fmt.Println(*p)nil을 역참조(dereference)3. map에서 nil 맵에 할당 시var m map[string]int; m["a"] = 1선언만 하고 초기화하지 않은 맵4. 채널에 nil 채널 사용var ch chan int; ch nil 채널에..

jwt, 엑세스 토큰, 리프레시 토큰

Q1.jwt를 작성하다보니 개념이 잘 이해가 안돼. 리프레시 토큰? 엑세스 토큰? 이런건 뭐하는 개념이야?   A1.좋은 질문이야! JWT를 처음 접할 때 가장 헷갈리는 개념 중 하나가 바로 **Access Token(액세스 토큰)**과 **Refresh Token(리프레시 토큰)**이야. 개념을 간단하고 명확하게 정리해줄게.🔐 JWT (JSON Web Token)JWT는 인증 정보를 담은 디지털 토큰이야. 클라이언트가 서버에 로그인 요청을 하면, 서버는 JWT를 만들어서 클라이언트에 전달하고, 클라이언트는 그걸 저장해서 이후 요청에 첨부해. 서버는 이 토큰을 보고 "이 사용자가 인증된 사용자구나"를 확인해.🧾 Access Token (액세스 토큰)사용 목적: 인증된 사용자가 API 요청을 할 때 자..

Go) GoRoutine, Mutex, Channel, waitGroup

Q1.일단 내가 이해한 내용이야. 1. 고루틴은 한 번에 한 함수를 GO 키워드를 붙여서 여러개 작동시키는 기능.2. waitgroup은 waitgroup에 추가된 고루틴을 끝날때까지 다음 코드로 진행하지 않게 대기시켜주는 기능. 3. Mutex는 특정 요소에 동시에 접근할 때, 해당 요소에 실질적으로는 한 번에 한 번씩만 접근할 수 있게 제한을 거는 기능 이렇게 이해했고, 채널은 해당 코드만 보면 잘 모르겠어. 1. 내가 이해한 내용이 맞는지? 2. 채널을 설명하는 코드를 좀 더 작성해줄래?   A1.네 정리 너무 잘했어!고루틴, WaitGroup, Mutex에 대한 개념 이해는 거의 완벽해.아래에 각각 코멘트 달아볼게:✅ 1. 너의 이해 내용 검토항목너의 설명정확도보출 설명고루틴go 키워드를 붙여서 ..