skala43 [웹 개발] 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. 트러블 슈팅: 딥러닝 모델 서빙(w/FastAPI) 임성렬 교수님과 함께 FastAPI로 딥러닝 모델 서빙을 진행했다. 나와 같은 팀 형의 임무는 파일을 업로드하는 POST method의 Internal Server Error를 해결하는 것이었다.우리는 문제를 해결하기 위해 많은 시간을 할애했다. 하지만, 원인은 아주 간단함 속에 있었다.. 우리는 문제의 본질을 놓치고 있었다프로젝트를 진행하는 과정에서 우리는 FastAPI 서버를 띄우고 브라우저에 접속했을 때 메인 페이지가 보이도록 하기 위해, main.py에 루트 경로(/)에 대한 라우팅 코드를 추가했다. HTML을 반환하는 방식으로 코드를 작성하고, 정적 파일 경로도 따로 mount 했다.그런데 서버는 분명히 잘 실행되었음에도 메인 페이지는 표시되지 않았다. 이미지, CSS 등 정적 파일도 404.. 2025. 3. 21. [Spring] HTTP 통신 흐름 과정 정리(w/MVC 패턴) ※ 3-way handshake는 TCP 통신에서만 발생한다[공통] 브라우저(클라이언트) HTTP request → 3-way handshake(최초 연결 시) → Nginx case1) 정적 페이지 (HTML, CSS, JS 파일 / 단순 이미지 파일)그냥 바로 다시 브라우저에 정적 페이지 반환 case2) 동적 페이지Nginx에서 로드 밸런싱(필요시) → Tomcat(SpringBoot) → Controller → Service → Repository → DB 그리고 다시 역순으로 쭈욱 돌아가서 HTTP response로 JSON, HTML 등을 반환 https://claremont.tistory.com/entry/%EC%9B%B9-%EC%A7%80%EC%8B%9D-%EC%9B%B9-%EC%84.. 2025. 3. 19. 이전 1 2 3 4 5 다음