백엔드 3

나의 첫 해커톤 개발 회고록(24.06.24~26)

처음으로 개발 회고록을 적어보는 것 같다. 기술적인 부분들이 이번에 새롭게 해본 것들이 많아 기록을 하기 위해 이렇게 적어본다. 나는 이번에 대학교에서 진행하는 해커톤 대회에 참가하게 되었다. 해커톤 대회는 작년에도 나가려고 했으나 대회가 무산되어나가지 못했는데, 이번 여름방학을 맞아 해커톤 대회에 참가 하게 되었다. 우리는 단순한 익명 채팅 웹서비스를 생각했고, WebSocket을 활용하여 실시간 채팅 웹 서비스를 구현하려고 했다.🧑🏻‍💻 Day 1 (웹 소켓 연동)해커톤 1일차에 10시에 학교에 와서 개발 환경 세팅을 했다. 고등학교때 자바를 이용한 TCP 통신 실습을 할 때 빼곤 웹소켓통신을 해본적이 없어서 듣기만 했던 웹소켓을 내가 구현하게 되었다. 처음에는 채팅? 단순히 채팅이라는 이름만 ..

개발 회고 2024.06.26

[Spring] @Configuration과 싱글톤, 바이트 코드 조작

싱글톤 패턴을 학습 한 후 소스코드를 보던 중에 이 코드를 한번 자세히 보자. 현재 memberService(), orderService()는 memberRepository()를 호출하고 있다. 자바 코드에 의해서, memberRepository()가 호출되면서 return new MemoryRepository()를 실행하게 된다. 그러면 여기서 잠깐, 싱글톤은 하나의 객체만 생성되어야하고, 공유를 해야하는 것인데.. 자바 코드로만 보면 객체 생성을 2번하고 있는 것 같다... 과연 내가 호출할 때마다 memberRepository()가 계속 생성 되는 것이 사실인지 테스트 코드를 통해 알아보자. 각각 memberServiceImpl(), orderServiceImpl()에 테스트를 위해 생성한 mem..

Spring 2024.01.06

[Git] 초기 프로젝트 생성 시 Git Push 오류

김영한의 스프링 강의를 들으며 프로젝트 생성을 하고 버전관리, 기록 관리를 위해 해당 프로젝트를 Git 연동하고 Push를 하던 중 오류가 나타났다 이러한 에러가 나타났다 찾아보니 github repository를 생성할 때 readme.md를 생성했기 때문에 발생하는 오류라고 한다. 레파지토리에는 있는 readme 파일이 원격에는 존재하지 않아서 나타나는 오류 같지만 사실은 더 정확히 말하면 readme.md 파일의 존재가 문제가 되는 것이 아니고, 원격 저장소에서 readme.md를 추가하는 커밋이 로컬 저장소의 커밋 로그에는 없기 때문이라고 한다. (push 명령은 로컬 저장소의 commit 목록과 원격 저장소의 commit 목록을 비교한다.) 원격 저장소와 로컬 저장소의 상태가 달라서 push가 ..

Git 2023.12.29