[내일배움캠프Spring-31일차] 과제 트러블슈팅
·
백엔드 부트캠프/TIL
🤔 고민했던 부분 프로젝트 하면서 고민했던 부분을 담아보았다. 1️⃣ 생성자 전달 방식 vs 정적 팩토리 메서드 방식🔍 문제 상황" 실제 데이터 Entity 를 dto 로 담을려고 하고 있다. 그런데 두 가지 방식 중 어떤 방식으로 선택해야하는지 고민하게 되었다. "1. dto 를 지금 생성자로 this.~ 만든 후, 그걸 다시 new ~ 하여 불러주는 방법.2. dto 를 toDto() 라는 함수를 통해서 return 을 dto 로 바꾸어주는 메서드를 활용하는 방법🧠 문제 분석" 생성자 vs 정적 팩토리 메서드 비교 "1️. 생성자 (new)✅ 장점직관적이며 익숙한 방식이다.컴파일 타임에 오류를 쉽게 발견할 수 있다.불변 객체에서 final 필드 초기화가 용이하다.❌ 단점메서드명을 가질 수 없어 ..
[Programmers] 이상한 문자 만들기 - 12930
·
코딩 공부/Programmers-Java
[level 1] 이상한 문자 만들기 - 12930문제 링크성능 요약메모리: 80.4 MB, 시간: 0.18 ms구분코딩테스트 연습 > 연습문제채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2025년 04월 01일 09:51:38문제 설명문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.제한 사항문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.입출력 예sreturn"try hello wo..
[내일배움캠프Spring-30일차] CH 3 일정 관리 앱 Develop Lv2~Lv6
·
백엔드 부트캠프/TIL
어쩌다보니 진도를 쭉 나가게 되었다. Lv2 는 주말에 대부분 구현해두어, 오늘은 어느정도의 리팩토링과 Lv6 까지 구현했다 보면 된다.Lv3 은 Pwd 만 추가하는 거라 4 레벨부터 본격적이라고 생각하면 된다. 구현한 레벨이 많다 보니, 모든 내용을 한번에 담기는 힘들다. 내가 고민했던 포인트만 코멘트 남기겠다.Lv 2. 유저 CRUD유저를 생성, 조회, 수정, 삭제할 수 있습니다.유저는 아래와 같은 필드를 가집니다.유저명, 이메일, 작성일 , 수정일 필드작성일, 수정일 필드는 JPA Auditing을 활용합니다.연관관계 구현일정은 이제 작성 유저명 필드 대신 유저 고유 식별자 필드를 가집니다- 유저 Enity 같은 경우에는 일정 Entity 와 연관관계가 있기 때문에, 해당 부분을 일정 Entity ..
[Programmers] 3진법 뒤집기 - 68935
·
코딩 공부/Programmers-Java
[level 1] 3진법 뒤집기 - 68935문제 링크성능 요약메모리: 80.2 MB, 시간: 0.12 ms구분코딩테스트 연습 > 월간 코드 챌린지 시즌1채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2025년 03월 31일 10:12:55문제 설명자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.제한사항n은 1 이상 100,000,000 이하인 자연수입니다.입출력 예nresult457125229 입출력 예 설명입출력 예 #1답을 도출하는 과정은 다음과 같습니다.n (10진법)n (3진법)앞뒤 반전(3진법)10진법으로 표현45120000217따라서 7을 return 해야 ..
[내일배움캠프Spring-29일차] CH 3 일정 관리 앱 Develop Lv0~Lv1
·
백엔드 부트캠프/TIL
솔직히 강의를 다 이해한 거는 아니다.... 아직 모르는 개념이 많다. 이해가 안되기도 하고. 그렇지만 실습을 진행하다 보니, 해당 개념을 몰라도 과제는 할 수 있을 거 같아서 빠르게 시작하고자 했다. Lv 0 API 명세 및 ERD 작성1) API 명세서 작성API 명세서는 내 노션에서 했따 : > 일정 API 문서 / 유저 API 문서근데 아마도, 추후에 기능을 개발하면서 또 수정을 해야 될때가 있을 거 같다 : > 그래서 힘 빼고 가볍게 만들었다.2) ERD 작성ERD 도 일단은 필수기능을 기준으로 만들었는데, 과제를 쭉 읽어보니 추후에 또 수정해야할 거 같다 🫥Lv 1 일정 CRUD - Creat요구사항은 아래와 같다 !1) 일정을 생성, 조회, 수정, 삭제할 수 있습니다.2) 일정은 아래 필드..
Git 커밋 메시지 작성 가이드
·
백엔드 부트캠프/기타
Git 커밋 메시지는 가독성과 일관성을 유지하는 것이 중요하다.보통 "타입(Type): 메시지(Message)" 형식으로 작성하면 좋다.타입설명feat새로운 기능 추가fix버그 수정refactor코드 리팩토링 (기능 변화 없음)style코드 스타일 변경 (예: 들여쓰기, 세미콜론 등)docs문서 수정 (README 등)chore빌드, 패키지 관리 등 기타 작업test테스트 코드 추가 또는 수정perf성능 개선ciCI/CD 관련 설정 변경build빌드 관련 수정
[Java] 알고리즘에 필요한 " String " 메서드
·
코딩 공부/Java
알고리즘에 필요한 문자열 관련 메서드를 알아보자.우리는 String , StirngBuilder , String Buffer 에 대해서 알아볼 것이다.1. String (불변 객체, Immutable)String은 한 번 생성되면 변경할 수 없는 Immutable(불변) 객체이다.새로운 문자열을 만들 때마다 새로운 객체가 생성되므로 문자열을 자주 변경해야할 때는 비효율적이다.메서드설명예제charAt(int index)특정 위치의 문자 반환"hello".charAt(1) → 'e'length()문자열 길이 반환"hello".length() → 5substring(int beginIndex, int endIndex)부분 문자열 추출"hello".substring(1, 4) → "ell"indexOf(Stri..
[Programmers] 최대공약수와 최소공배수 - 12940
·
코딩 공부/Programmers-Java
[level 1] 최대공약수와 최소공배수 - 12940문제 링크성능 요약메모리: 84.3 MB, 시간: 0.20 ms구분코딩테스트 연습 > 연습문제문제 설명두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다.제한 사항두 수는 1이상 1000000이하의 자연수입니다.입출력 예nmreturn312[3, 12]25[1, 10]입출력 예 설명입출력 예 #1위의 설명과 같습니다.입출력 예 #2자연수 2와 5의 최대공약수는 1, 최소공배수는 10이므로 [1, 10..
[Programmers] 직사각형 별찍기 - 12969
·
코딩 공부/Programmers-Java
[level 1] 직사각형 별찍기 - 12969문제 링크성능 요약메모리: 75 MB, 시간: 188.67 ms구분코딩테스트 연습 > 연습문제문제 설명이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.제한 조건n과 m은 각각 1000 이하인 자연수입니다.예시입력5 3출력*************** 1. 자바코드import java.util.Scanner;class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); i..
[내일배움캠프Spring-28일차] Spring DI/IoC
·
백엔드 부트캠프/TIL
1️⃣ IoC IoC제어의 역전, 객체의 생성 및 제어를 개발자가 아닌 Spring Container 가 담당하는 구조. - 기존 방식은 개발자가 객체를 생성하고 연결하였다면(new 라는 키워드를 생각하면 됨.), IoC 는 컨테이너가 객체 생성을 하고 연결을 하는 것이다.2️⃣ DI DI객체 간의 의존관계를 외부에서 주입해오는 방식 - DI 는 IoC의 구현방법 중 하나이다. 종류로는 생성자 주입, 세터주입, 필드 주입이 존재한다.3️⃣ Spring 에서의 구현1. 생성자 주입 (Constructor Injection)1) 장점객체 생성 시점에 의존성 주입이 보장되어, 불변 객체 구성에 유리함테스트 코드 작성 시 명시적인 생성자를 통해 의존성 주입이 가능함필수 의존성을 강제할 수 있어 컴파일 타임 오류..