전체 글
-
돌아보는 2023년, 도전자의 상반기와 새로운 시작의 하반기메모/기타 2023. 12. 4. 01:45
문득 2023년의 나를 돌아보는 시간이 필요하겠다는 생각이 들었다. 계속 써 왔던 일기장은 덮은지 오래고 나를 지탱하던 todo도 눈에 비춰지는 빈도가 이전보다 낮아진 지금이 제일 적기인 것 같다. 도전자의 상반기막 학기가 끝나고 졸업 유예를 할지 말지의 갈래에 섰다. 처음에는 휴학을 고려했으니 어쩔 수 없는 사정으로 휴학은 힘들게 되었고 유예 정도가 남은 선택지였다. 그저 대학 신분으로 마지막 도전을 몇 번 더 해보고 싶었던 것 같다. 막 학기가 아쉬웠다는 반증이 아닐까 싶다. BoB를 마무리 하면서 2023년을 시작했고 나를 보호해주던 마지막 방패가 끝나는 시점이었다. 많은 대학생들이 취준 시기에 접어들면서 그런 마지막 보호막이 벗겨지는걸 무서워하는게 나한테도 온게 아니었을까 싶다. 사실 동일한 선상..
-
[MDD] 11주차 회고스터디 & 프로젝트/MDD 프로젝트 2023. 8. 10. 00:31
개요 이번주차 부터 다시 인프라 작업에 들어갔다. 개발 서버 겸 데모를 위한 인프라를 구축함과 동시에 여기에 붙일 기본 컴포넌트 개발을 진행했다. NFS보다 나은 방식은 없는가? 파일에 대한 I/O가 필수적으로 발생하는 것이 주요한 기능 중 하나다. 파일 서버를 NFS로 분리하면서 이 부분의 레이턴시가 걱정이다. 프로젝트 컴포넌트로 파일이 업로드 된 후, 업로드 완료 사실을 스캔 컴포넌트가 인지해야 한다. 여기서 다음과 같은 방식을 생각했다. DB 또는 캐시로 지속적으로 폴링 MQ를 활용해 업로드 후 구독 컴포넌트로 업로드 사실을 알림 우선 DB 자체의 커넥션을 지속적으로 요청한다는 사실에서 DB를 이용하는 것은 큰 부담이라고 생각했다. 또한, Redis를 별도의 큐 시스템으로 지속적으로 캐시로 사용하고..
-
[JPA] 양방향 연관관계개발/Java 2023. 4. 18. 00:58
연관 관계 객체가 아닌 DB 테이블의 경우 FK를 통해서 그 관계를 바로 파악할 수 있다. 하지만 이를 객체 관점에서 본다면 FK가 선언된 자식 엔티티 객체와 부모 엔티티 간의 관계를 함께 표현해야 한다. 이런 관점에서 양방향 연관관계를 아래와 같이 선언할 수 있다. 늘 양방향으로 선언된 관계가 정답일 수는 없지만 양방향으로 선언된 구조가 어떤 형태이고 어떤 문제가 발생할 수 있는지 알아보자. 양방향 연관 관계와 그 주인 // Member.java @ManyToOne @JoinColumn(name = "TEAM_ID") private Team team; // Team.java @OneToMany(mappedBy = "team") private List members = new ArrayList(); 우리..
-
[OpenStack] Nova-Compute IncompatibleObjectVersion 해결하기메모/트러블 슈팅 2023. 3. 29. 19:38
개요 원래 1개의 데스크탑, 3개의 라즈베리파이에 우분투를 설치하고 개인 서버로 활용하고 있었다. 솔직히 데스크탑은 공부용, 개발서버용 정도로 쓰고 있었는데 라즈베리파이가 놀고 있는게 맘에 좀 걸렸다. 그러면서 또 여러 문제가 생겼는데 개인 서버가 있으니 클라우드를 활용하는 빈도가 현저히 적어졌다는 거다. 솔직히 돈도 돈 때문에 안쓴거긴 하지만... 그러다가 오픈스택을 함 올려볼까 싶었다. 그래서 고민 끝에 윈도우 데스크탑을 밀고 우분투 서버를 설치했다. 결과적으로 컴퓨팅 노드, 컨트롤 노드로 쓰일 데스크탑 서버 2대와 스토리지 노드로 쓰일 라즈베리파이 3대가 생겼다. 이걸 클러스터링해서 어떻게 오픈스택을 잘 올려보려고 했다. 문제 발생 설치 과정이나 개념 정리는 다음에 한번에 적어보기로 하고... Ke..
-
[Spring Boot] 어떻게 DTO를 재구성할까?스터디 & 프로젝트/Init Cloud 팀 프로젝트 2023. 3. 20. 16:19
요즘 주변에서 들은 얘기나 하나 둘 본 자료, 강의에서 뭔가 떠오르는게 있었다. 바로 끔찍하게 구성된 DTO를 다시 만드는 것이었다. 공식적으로는 끝난 프로젝트임에도 맘에 안드는 부분을 바꾸고 싶었다. 중복을 제거하려고 무자비하게 상속관계로만 작성한 DTO 클래스는 너무나도 유지보수가 힘들다는 것이었다. 그래서 이 DTO를 재구성해보기로 했다. 문제 상황 대충 이런식으로 구성된 DTO 패키지가 있었다. 비즈니스로직마다 각각의 DTO를 가지고 있고 부모인 UserDto부터 내려오는 구조다. 이게 너무 난잡하다고 생각했다. 어떻게 개선할까? 우선 UserDto라는 부모 클래스는 유지하기로 했다. Dto를 보면 Profile, Retrieve 등등 회원 정보를 관리하기 위한 Dto가 있고 Signup, Aut..