본문 바로가기

분류 전체보기

(27)
[MacOs, Git] Mac 에서 Git 자동완성 사용하기 우리 이쁜 쓰X기 맥북 에어 m2를 쓴지도 벌써 시간이 꽤 흘렀네요 그때 코인 다빼서 샀는데.. 이놈만 안사고 계속 넣어만 놨어도 차 할부를 다 갚았을 것 같은데.. 어찌됐든 맥북을 사용해 개발을하면서 가장 불편했던 점은 Git 이였습니다. Git Bash here을 못쓰는 점, 자동완성이 안되는 점 이 정말 불편했습니다. 원격 레포지토리에 push 할 때 branch 이름을 일일이 다 찾아 치곤 했고 방법을 찾았습니다. 문제 Git Bash here을 못쓰는 점, 자동완성이 안되는 점 이 정말 불편했습니다. 원격 레포지토리에 push 할 때 branch 이름을 일일이 다 찾아 치곤 했고 방법을 찾았습니다. 해결방법 echo 'autoload -Uz compinit && compinit' >> ~/.zs..
[Spring] Caused by: java.lang.IllegalStateException: Duplicate key 에러, Swagger GroupedOpenApi 사용 현재 저는 팀원들과 두번쨰 프로젝트를 진행하고 있습니다. 프론트엔드 1명, 백엔드 3명 풀스택 2명으로 구성되어 있으며 저는 풀스택을 맡게되었습니다...허허... 프로젝트의 주제는 여행용 모임통장입니다. 다음과 같이 진행중입니다. Java 17 Spring Boot 3.2.0 Gradle React 문제 Caused by: java.lang.IllegalStateException: Duplicate key 계좌 (attempted merging values org.springdoc.webmvc.api.OpenApiWebMvcResource@1602ab86 and org.springdoc.webmvc.api.OpenApiWebMvcResource@7707c2bb) 문제는 모임통장 생성기능 구현 중 일어났습..
[WebSocket] Spring, React, Stomp로 실시간 채팅, 저장 구현하기 팀원들과 프로젝트를 진행하였고 의미 있는 내용들을 포스팅 해보려고 합니다. 프로젝트는 다음과 같이 진행되었습니다. Java 17 Spring Boot 3.2.0 JPA Gradle React 저에게는 자그마한 꿈이 있었습니다. 바로 저장되는 실시간 채팅입니다. 한번 좌절을 맛보았던 터라 이번 프로젝트는 반드시 해내자고 다짐하고 결과적으로 성공했습니다. 그 과정을 설명해보려고 합니다. 이번 프로젝트에서 프론트엔드를 맡아서 백엔드 코드는 설명이 부족할 수 있습니다. 1. 목표 제가 생각하는 구현하고자 했던 채팅은 당근마켓과 유사한 1:1 채팅이였습니다. 참고자료들에서는 사용자 입장메세지, 일반메세지로 나누었지만 1대1 채팅을 원하는 저에게는 의미없었습니다. 또한 채팅내용이 저장이 되어야 했습니다. 굳이 다른..
[Spring] @RequestBody로 받은 데이터가 null 일때 현재 저는 팀원들과 프로젝트를 진행하고 있습니다. 프론트엔드 3명, 백엔드 3명으로 구성되어 있으며 저는 프론트엔드를 맡게되었습니다. 프로젝트는 다음과 같이 진행중입니다. Java 17 Spring Boot 3.2.0 Gradle React 문제 채팅방 생성 과정에서 @RequestBody로 데이터를 받아오는데 null값이 나오고 있었습니다. // 채팅방 생성 @PostMapping("/chatroom/create") @Operation(summary = "채팅방 생성", description = "userSeq를 통해 채팅방을 생성합니다.") public ResponseEntity create(@RequestBody ChatRoomRequestDto chatRoomRequestDto) { log.inf..
[React] cannot read property of undefined(reading 'type') 에러 현재 저는 팀원들과 프로젝트를 진행하고 있습니다. 프론트엔드 3명, 백엔드 3명으로 구성되어 있으며 저는 프론트엔드를 맡게되었습니다. 프로젝트는 다음과 같이 진행중입니다. Java 17 Spring Boot 3.2.0 Gradle React 에러 발생 상황은 이렇습니다. 리덕스(Redux)는 JavaScript 앱을 위한 상태 관리 라이브러리로 애플리케이션의 전역 상태를 중앙에서 관리할 수 있어, 다양한 컴포넌트간에 상태를 공유할 수 있게 해줍니다. 저희는 리덕스를 이용해서 로그인한 유저 정보를 관리하고자 하였습니다. axios로 받아온 로그인 유저정보를 저장하고자 했습니다. 제대로 작동하지 않아 try catch로 에러 내용을 확인하였습니다. axios로 불러오는 데이터는 JSON형태이고 console..
[Git] 초보 개발자의 Git 사용법 새해부터 새로운 프로젝트를 시작하게 되었습니다. 인원은 6명으로 구성되어 있으며 프론트엔드 3명, 백엔드 3명으로 구성되어 있습니다. 저는 프론트엔드를 맡게 되었고 협업을 함에 따라 git을 활용하게 되었습니다. 이번 포스팅에서는 제가 배운 git 활용법을 정리해 놓으려고 합니다. 아마 새로운 사용법을 알게 될때마다 추가하게 되지 않을까 싶습니다. 익숙하지 않은지라 제 포스팅은 활용에 초점을 맞추게 될 것 같습니다. 사용자 정보 유저 설정 git config --global user.name "이름" git config --global user.email "이메일@email.com" 확인 git config --list git config --global user.name git config --glob..
[알고리즘] 크루스칼 알고리즘(최소신장트리, 최소스패닝트리) 오늘은 크루스칼 알고리즘에 대해 정리해보겠습니다. 크루스칼 알고리즘은 최소스패닝 트리를 구하는 알고리즘으로 이전 포스팅을 보시면 이해하시기 수월하십니다. 2023.12.26 - [Algorithm] - [알고리즘] 프림 알고리즘(최소신장트리, 최소스패닝트리) [알고리즘] 프림 알고리즘(최소신장트리, 최소스패닝트리) 오늘은 프림 알고리즘에 대해 정리해보겠습니다. 스패닝 트리는 그래프 내의 모든 정점을 연결하지만 사이클이 없는 트리입니다. 밑의 그래프는 예시로 만들어본 그냥 트리입니다. 정점 4개와 6 5g-0.tistory.com 개념 크루스칼 알고리즘은 간선선택을 기반으로 합니다. 간선을 가중치의 오름차순으로 정렬하고 사이클을 형성하지 않을 때 간선을 선택합니다. 정점(노드)의 개수가 N개라고 했을때 간..
[알고리즘] 프림 알고리즘(최소신장트리, 최소스패닝트리) 오늘은 프림 알고리즘에 대해 정리해보겠습니다. 스패닝 트리는 그래프 내의 모든 정점을 연결하지만 사이클이 없는 트리입니다. 밑의 그래프는 예시로 만들어본 그냥 트리입니다. 정점 4개와 6개의 간선으로 이루어져있습니다. 다음 그래프는 정점 4개와 3개의 간선으로 이루어져있습니다. 최소한의 간선의 갯수로 이루어져 있고 모든 정점이 연결된 스패닝 트리의 형태입니다. 스패닝 트리는 다음과 같이 간선의 갯수가 정점의 갯수 - 1 개라는 특징이 있습니다. 최소 스패닝 트리는 이러한 스패닝 트리 중 사용된 가중치 합이 최소인 트리를 뜻합니다. 스패닝 트리 - 최소한의 간선의 갯수로 이루어져 있고 모든 정점이 연결됨 - 간선의 갯수 = 정점의 갯수 - 1 최소 스패닝 트리 - 스패닝 트리 중 사용된 가중치 합이 최소인..