[BOJ 16938] 캠프 준비
·
Coding Test/Problem Solving
16938번: 캠프 준비 난이도가 10, 30인 문제를 고르거나, 20, 30인 문제를 고르면 된다. www.acmicpc.net 1. 문제 설명 2. 구현 아이디어 1 - 맞았습니다 !! 최근 비트마스킹에 익숙해지고자 비트마스킹 유형 문제들을 모아서 풀고 있다. 비트마스킹을 사용한다는 것을 알면 쉽게 풀 수 있다. N=4일 때, 0001: 1번 문제를 고름 0010: 2번 문제를 고름 0011: 1, 2번 문제를 고름 0100: 3번 문제를 고름 . . . 이런 식으로 경우의 수를 정수로 표현한다. 그리고 반복문을 사용하여 AND 연산을 사용해서 만약 i번째 자리(뒤에서 시작하며 0부터 시작)가 1일 경우, 해당 문제를 벡터에 저장해둔다. 그리고 원소들의 합, 최댓값, 최솟값을 구해 주어진 조건에 맞으..
[Packy] 멀티 모듈 프로젝트에서 서로 다른 모듈의 의존성 주입하기
·
Spring
1. 들어가며 이전 포스트에서 멀티 모듈 프로젝트를 생성해보았다. [Packy] 멀티 모듈 프로젝트 생성하기 저번 포스트에서 멀티 모듈의 개념, 사용하는 이유, 어떻게 구성하는지에 대해 알아보았다. 멀티 모듈이 무엇이고, 왜 사용할까? 1. 멀티 모듈이란? Java에서 모듈이란 패키지의 한 단계 위의 집합 leeeeeyeon-dev.tistory.com 본격적으로 개발을 시작하며 Controller나 Service 코드는 api 모듈에서 관리하고, Entity나 Repository 코드는 domain 모듈에서 관리하고 있다. 그러다보면 api 모듈에서 domain 모듈의 코드가 필연적으로 필요하고, 모듈 간 의존성을 주입해주어야 하는 일이 생긴다. 이번 포스트에서는 멀티 모듈 프로젝트에서 한 모듈에 다른..
[Packy] API 공통 응답 포맷 만들기 - 정상 응답인 경우& 예외 처리 응답인 경우
·
Spring
1. 들어가며 클라이언트 단에서는 백엔드에서 개발한 API Response를 토대로 데이터 모델이라는 것을 만들어 화면에 데이터를 출력한다. 만약 통일된 규격의 API Response가 없으면 클라이언트 개발자들은 API마다 데이터 모델을 일일이 만들어야 한다. 그러므로 백엔드에서는 어느 정도 통일된 양식의 API를 전달해주는 것이 좋다. 이번 포스트에서는 정상(200)인 경우와 예외 처리의 경우에 대해 공통 Response 포맷을 만드는 과정을 알아보자. 2. 공통 응답 포맷 정상 응답 정상 응답일 경우에는 아래와 같은 형태의 응답 포맷을 만드는 것이 목표이다. code와 message는 각각 에러가 발생할 경우 에러를 구분하는 에러 코드와 에러에 대한 설명이며 정상 응답일 경우 S000과 OK로 일정..
[Packy] Docker로 MySQL 띄우고 Spring Boot에 연동하기
·
Spring
0. 들어가며 이전까지는 로컬 DB 환경으로 H2 데이터베이스를 사용하였다. 그러다 소프트웨어 마에스트로 과정을 하며 멘토님께서 'H2는 MySQL과 다른 데이터베이스이기 때문에 문법 차이 등으로 발생하는 문제를 로컬 환경에서 확인할 수 없다. 데이터베이스 환경을 운영 환경과 최대한 똑같이 해라'라는 조언을 들었었다. 그래서 로컬 DB 환경으로 MySQL을 사용하고, 이를 도커로 띄우기로 결정하였다. 도커로 MySQL을 띄우면 나의 로컬 환경으로부터 독립적으로 운영할 수 있기 때문에 설정이 꼬이는 문제를 방지할 수 있다. 더 나아가 docker-compose 등으로 설정 환경을 작성해두어 모든 운영체제에서 동일한 스펙의 DB를 다시 만들 수 있다는 장점이 있다. 1. Docker로 MySQL 띄우기 do..
ERD Editor - ERD 툴 추천, vscode로 ERD 만들기
·
Semi Tips
1. 들어가며 나는 평소 ERD를 그릴 때 ERDCloud를 사용했다. 하지만 아래 3가지가 마음에 들지 않았다. UI가 예쁘지 않다 (개인 취향) 광고로 인해 화면의 절반 정도밖에 사용하지 못한다 확대를 하면 화질이 깨진다 다른 ERD 툴로 갈아타려고 여러 번 시도해보았지만 나의 니즈를 모두 충족하는 무료 툴을 찾지 못했다 ㅠ ㅠ 깔끔한 UI (draw.io 같은 UI는 투박해보여서 pass...!) 연관 관계를 UI 상에 표시할 것 (가끔 직선만 존재하여 1:1인지 1:N인지 구분이 안되는 툴들이 있다) 테이블 수의 한계가 없을 것 (대부분의 무료 툴은 10~15개 테이블 제한이 있다) 다른 사람과 공유가 가능할 것 (png export 또는 웹 링크 공유가 가능할 것) 2. ERD Editor란? ..
[Packy] 멀티 모듈 프로젝트 생성하기
·
Spring
저번 포스트에서 멀티 모듈의 개념, 사용하는 이유, 어떻게 구성하는지에 대해 알아보았다. 멀티 모듈이 무엇이고, 왜 사용할까? 1. 멀티 모듈이란? Java에서 모듈이란 패키지의 한 단계 위의 집합체이며, 서로 밀접하게 연관된 패키지들과 리소스들의 그룹을 의미한다. 각 모듈은 독립적으로 개발, 빌드, 테스트, 배포가 가능 leeeeeyeon-dev.tistory.com 이번 포스트에서는 멀티 모듈 프로젝트를 생성하는 과정에 대해 알아보자. 0. 모듈을 어떻게 구성할까? 멀티 모듈을 도입하기 전, 패키 프로젝트의 모듈을 어떻게 구성할지 고민해보았다. 몇 가지 레포들을 살펴본 결과 아래와 같이 모듈을 나누는 것을 볼 수 있었다. (참고한 레포 중 일부를 가져왔다.) Street Drop : api, batc..
짱정연
짱정연의 짱개발자 도전기