전체 글345 [웹 지식] 액세스 토큰 + 리프레시 토큰 협동 과정 https://claremont.tistory.com/entry/%EC%9B%B9-%EC%A7%80%EC%8B%9D-%ED%86%A0%ED%81%B0token-vs-API-%ED%82%A4 [웹 지식] 토큰(token) vs API 키토큰하면 어떤 것이 먼저 떠오르는가? 필자는 유희왕의 토큰 카드가 가장 먼저 떠오른다..ㅋㅋ실제로 토큰의 쓰임새는 크게 다르지 않다ㅎ 오늘은 토큰에 대해 알아보는 시간을 갖고, API 키와claremont.tistory.com 이전의 포스팅에서 API 키 vs 토큰에 대해서 다뤄보았다오늘은 토큰에서 액세스 토큰과 리프레시 토큰을 같이 사용하는 이유와, 그 협동 과정에 대해 설명하려 한다! 현대 웹 서비스에서 로그인 기능은 단순한 사용자 인증을 넘어서, 보안과 편의성을 동시.. 2025. 4. 3. [웹 지식] OpenAPI vs Open API 제목만 봐서는 뭔 소리인지 싶을 것이다...근데 진짜 저 띄어쓰기 하나로 의미가 아예 달라진다 ㅁOpenAPI: API 명세 표준(OpenAPI Specification)OpenAPI는 RESTful API를 기술하기 위한 표준 포맷(Specification)이다.예전에는 Swagger Specification이라고 불렸고, 현재는 OpenAPI Initiative라는 비영리 단체에서 관리한다. 주요 특징JSON or YAML 형식으로 API의 경로, 요청/응답, 인증 방식 등을 정의할 수 있다사람이 읽기 쉽고, 동시에 기계가 이해할 수 있도록 설계되어 있다문서화 자동화, API 테스트 자동화, 클라이언트/서버 코드 생성 등 다양한 도구와 연계된다 대표 도구Swagger UISwagger Editor.. 2025. 4. 2. [웹 개발] AI 코딩 보조 도구 선택 가이드(GitHub Copilot, Cursor) 최근 개발 도구로 GitHub Copilot을 자주 활용하고 있는데, 한 가지 고민이 생겼다.“코파일럿은 전체 프로젝트 맥락을 제대로 이해하고 있을까?”“프로젝트 전체 구조를 고려해서 도와주는 AI 도구는 없을까?” 이런 고민을 하다가 자연스럽게 GitHub Copilot과 함께, Cursor라는 새로운 도구를 사용해 보게 되었고, 두 도구를 비교해 보며 느낀 점들을 정리해 보았다. 일단 먼저 GitHub CopilotCopilot은 IntelliJ나 VSCode 플러그인으로 설치해 사용할 수 있으며, 코드 작성 중 자동으로 적절한 다음 줄을 추천해 준다. 마치 옆에서 함께 코딩하는 파트너처럼, 함수의 이름이나 주석만 잘 써주면 똑똑하게 예측해서 완성해 준다. 하지만 사용하면서 느낀 한계도 분명했다.지금.. 2025. 4. 2. [웹 개발] API 에러 응답 설계, 어디까지 정해야 할까? https://claremont.tistory.com/entry/%EC%9B%B9-%EA%B0%9C%EB%B0%9C-API-%EB%AA%85%EC%84%B8%EC%84%9C-%EC%9E%91%EC%84%B1-tip [웹 개발] API 명세서 작성 tiphttps://tech.kakaoenterprise.com/127 [TW] API 문서 톺아보기시작하며 안녕하세요. 카카오엔터프라이즈 테크니컬라이팅 팀의 Crystal(김유리), Sandy(차신영), July(김정인)입니다. 테크니컬라이팅 팀에서는 Kakaclaremont.tistory.com API 서버를 개발하다 보면 반드시 마주하게 되는 질문이 있다“에러 응답은 어떻게 설계하지?”많은 개발자들이 HTTP 상태 코드만 잘 쓰면 되는 거 아닌가? 하고 생.. 2025. 4. 1. 저자님께 책 선물을 받았다(이게 바로 성덕..?) https://www.youtube.com/watch?v=14ciuOcYQVo&list=PLtht1_et-35CMdKeY6DzeLoXzXGwZyaM2 부트스트랩으로 간단히 웹 페이지를 꾸며야 할 일이 있어 '아프리카도서관'님의 유튜브 영상으로 공부를 했었다.그리고 구독을 하고 있었는데 올해 1월에 그 아프리카도서관님이 책을 냈다는 소식을 접했다. 『Vue 3와 스프링 부트로 시작하는 웹 개발 철저 입문』개인적으로 리액트를 배우기에는 너무 헤비하다 생각했고, FE + BE에 AWS 배포까지 한 권에 다 들어있는 책이라 매우 관심이 갔다.그래서 그냥 바로 구매하기로 결심했다 🤨 하지만.. 전자책을 찾아보려 했으나 보이지가 않았다. 혹시 책이 출간된 지 얼마 되지 않아 아직 전자책이 나오지 않은 것인지 .. 2025. 3. 31. [Vue.js] 초기 세팅 가이드 Vite + Vue 프로젝트 생성 커맨드 (JavaScript 기반)npm create vite@latest "프로젝트 이름" --template vueNode.js 16.0 이상 권장실행 후 프로젝트 템플릿을 선택하는 인터랙션이 나옴!참고: Node.js 버전이 낮을 경우 npx로 실행하거나 버전 업 필요 package.json 파일에 명시된 모든 의존성(dependencies)을 한꺼번에 설치npm install npm 빌드npm run build + 기존의 "dev": "vite"를 "dev": "vite --host"로 변경하자!vite --host 의 의미: 로컬 IP 접근 허용 (모바일 디바이스 테스트 시 유용){ "name": "skala-vue", "private": true, .. 2025. 3. 27. [생성형 AI] "Runners, Hi 챌린지" 캠페인 기획(w/프롬프트 엔지니어링) "누구나, 언제든, 나만의 흐름으로 달릴 수 있는 – Runnable”Java의 비동기 Runnable 인터페이스에서 착안“비동기”적으로, 자유롭게 흘러가는 흐름독립적으로 실행되지만, 전체 프로세스의 일부로 움직이는 구성요소 기획배경 최근 몇 년 사이, 러닝은 개인의 건강관리 수단을 넘어 하나의 라이프스타일 문화로 자리 잡고 있다. 특히 MZ세대를 중심으로 한 SNS 인증 문화, 자기계발 중심의 여가활동, 그리고 함께하는 경험을 추구하는 커뮤니티 성향이 결합되며, 러닝은 더욱 활발한 참여형 운동으로 주목받고 있다.하지만 여전히 러닝을 처음 시작하려는 이들에게는 다음과 같은 심리적 진입장벽이 존재한다..!혼자 달리기에 대한 두려움어디서 달려야 할지 모름러닝 커뮤니티에 자연스럽게 진입할 기회 부족이러한 .. 2025. 3. 26. [ps 팁] 재귀는 마치 누군가가 종이에 숫자를 쓰고, 그 종이를 다음 사람에게 넘겨주는 방식과 같다 아래의 코드를 보면 DFS여서 매번 재귀할 때마다 함수 첫 번째 줄부터 다시 시작하는데저렇게 int cnt = 1;해 버리면 카운트를 하다가도 계속 1로 초기화되는 거 아닌가..? 처음엔 그렇게 보일 수도 있지만, 재귀 함수에서는 각 함수 호출마다 자신만의 지역변수 스코프(scope)를 가지기 때문에int cnt = 1;이거는 그 호출된 함수 하나에만 국한되는 초기화다private static int dfs(int V) { visited[V] = true; int cnt = 1; // 자기 자신 포함 for (int next : graph[V]) { if (!visited[next]) { cnt += dfs(next); // 재귀 호출 결과 누적 .. 2025. 3. 25. [ps 팁] 그래프 순회는 무조건 인접 리스트로 구현하는 게 유리할까? 결론부터 먼저 말하면..간선 리스트: MST 크루스칼 알고리즘인접 행렬: 최단 거리 플로이드-와샬 알고리즘인접 리스트: 그 외의 모든 것들!! 그냥 모든 ps 문제들은 인접 리스트로 구현하는 게 맞을까?틀리다! 각각의 구현 방식들에는 장단점들이 분명해, 올바르게 선택해야 좋은 효율을 낼 수 있다.https://claremont.tistory.com/entry/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-ep5-1-%EA%B7%B8%EB%9E%98%ED%94%84graph [알고리즘] ep5-1) 그래프(graph)ㅁ그래프(graph) ADT: (vertex, edge)의 쌍v: 정점 노드들의 집합e: 간선 노드들의 집합 정점: 공항을 표현하며 공항도시 이름을 저장간선: 두 공항 .. 2025. 3. 24. 이전 1 2 3 4 ··· 39 다음