반응형

coding 26

72일차 회고

오늘은 git에 관련하여 프로젝트 시작전 간단한 git협업에 대해서 공부했다.git issue를 통해서 내가 해야할 일 들을 detail하게 적어놓거나, 마일드 스톤으로 기한이나 큰 범위를 잡아서 git issue를 담는 연습을 했고,여러가지 git branch들을 만들어서 main으로 pull request하는 연습을 해보았다.  그리고 예행연습으로 Controller쪽을 만지다가.. JPA 1:N관계에 대해서 만지다 일이 터졌다..아니 왜 Mapper struct를 사용해서 분명 자동으로 할텐대 PK인 Longtype TodoId를 PostDTO에 넣고 보냈는데 웬걸?mapper가 자동으로 매핑해서 넣어주지 않는 것이였다.. 약 한시간동안 서칭과 계속 탐구를 통해 나의 너무 큰 실수였던 것.. 분명 ..

37(테스팅과 API document작성)

또 google로 들어갔을 때 Tistory not found가 뜬다  그래서 bing으로 들어기 글을 쓰게 되었다 ,,,앞서서 단위테스팅과, 기본 @Springboottest를 통하여 간단한 API계층 테스트를 알아 보았다, 이제는 Mockito를 사용하여 가짜 Mock을 통해서 가짜 의존성을 주입해 주는 것을 통한 테스팅을 해볼 것 이고, 이를 통해서  API document까지 한번에 작성하는 spring restdocs까지 알아볼 것이다. 만약 membercontroller에서 member에 정보를 저장하는 createMember의 메서드의 기능을 테스트하고 싶다고 했을 때 @WebMvcTest@AutoConfigureMockMvcclass MemberControllerMockTest { @..

28~30회고

이전 회고에서 DTO의 필요성과 Service와의 연관성 에대해서 정리를 했고, 이제 DTO에 대해서 좀 더 정확하게 정리를 해보려 한다.Spring Controller를 통해서 값이 들어올때 DTO로 값을 매핑할때 유효성을 검증 하는 코드를 넣을 수 있는데, 풀어서 작성하려면 코드의 가독성이 떨어지고, 코드가 길어지게 된다. 그렇기에 DTO를 정의할 때 annotaion을 통해 유효성을 맞춰서 넣을 수 있는데 몇가지만 예시로 보여주자면 @NotBlacnk @Email @pattern 같은 annotion을 통해 검증을 할 수 있고,  정규식을 여기서 설명하지는 않겠다.다음으로는 유효성검사를 통해 annotaion을 만들 수 있는 데 만들 수 있는 것은@Target(ElementType.FIELD)@Re..

24일차 스프링 프레임워크

바쁜 일정이 끝나고 다시 돌아온 회고타임.Spring DI , IOC, AOP에 대하여 배웠는데 이 이론을 정리하려다가, 실제 프로젝트를 해보면서 그 사이에 이 기능들이 사용될때 같이 정리하는 게 더 기억에 남을 까 해서, SPRING MVC부터 정리를 하게 되었다, Spring mvc ---> 즉 서블릿의 개념이 들어가고,서블릿이란? 클라이언트 요청을 처리하도록 특정 규약에 맞춰서 JAVA코드를 작성하는 클래스 파일이다.아파치 톰캣은? 이러한 서블릿 들이 웹 애플리케이션으로 실행 되도록 해주는 서블릿 컨테이너라고 간략하게 말할 수 있습니다. Spring MVC란??M === ModelV === ViewC === Controller Model이란? 클라이언트의 요청을 전달 받으면 요청 사항을 처리하기 위..

객체지향 기본 공부

가장 기본이 되는 객체지향 간단한 프로그램을 메서드로만 빼서 구현 해 보았다 이제 시작이다 객체지향 덤벼라 package file; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("큰 값을 찾는 프로그램입니다."); System.out.println("두 수를 입력하세요: "); int x =sc.nextInt(); int y =sc.nextInt(); int max=findMax(x,y); System.out.printf("첫번째 문제 기능구현 Max: %d\n",max); System.out.p..

객체지향 2023.03.16

회고 18일차

이제는 알고리즘 중 재귀에 대해 알아보려고 한다. 재귀(再歸) : 원래의 자리로 되돌아가거나 되돌아옴. 라는 뜻으로 쭉 안으로 들어갔다가 다시 원래 자리로 돌아온다는 느낌을 받으면 된다.public void recursion() { System.out.println("recursion!"); recursion();}계속 적 으로 자신을 호출하여 재귀를 하는 것을 재귀라고 합니다. 재귀라는 것은 문제를 가장 작은 단위로 쪼개서 해결하는 문제입니다.만약 1+2+3+4+5라면답은 : 5+f(4+3+2+1)이 될 것이고, 5+4+f(3+2+1) 이렇게 점점 내려갔다가 답을 끌고 올라와 정답이 될 것입니다.사실 재귀는 for문으로 모두 구현이 가능합니다.  재귀는 어떤 경우 사용하냐면1. 문제를 비슷한 구조의..

대 회고 1

기존 스케줄오늘은 목표를 정하고 수행한지 약 한달차가 되어가는 날입니다. 간략하게 저의 일주일 일정을 말하자면월화수목금 :6시10분기상---> 6:30 ~ 8:30 알바 ---> 9:00~6:00 교육 ---> 6:00~7:00 저녁 ---> 7:30~8:30 헬스--> 그뒤 자율주말:자율이렇게 되어있어서, 처음 교육을 시작했을 때는 할만했지만, 정보처리기사 필기를 신청해놓은 상태여서 교육을 따라가고, 필기 준비를 하느라 애를 먹었다.. 결국 정보처리기사 필기를   합격했다 하하하 본론으로 돌아가서 한달 동안의 회고를 해보려고한다. 목표설정나의 가장 큰 목표는 백엔드 분야에서 최고로 명성을 떨치는 백엔드 개발자가 되는 것이다. 난 할 수 있다고 믿는다 . 이제 목표를 단기적으로 나누어 보자면 , 첫 번째..

hash-전화번호 목록

https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 우선 hash에 값을 모두 할당 해 준후, 첫번째 요소부터 접두사에 map.key가 포함되어있는 가 확인하면 되는 간단한 문제이다. import java.util.*; class Solution { public boolean solution(String[] phone_book) { boolean answer = true; Map map = new HashMap(); for(int i = 0; i ..

완주하지 못한 선수

https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 너무 복잡하게 생각했던 문제인 것 같다. 참가자중 완주하지 못하는 사람을 찾는 프로그램인데 나는 완주자를 먼저 hashmap에 할당하고 참가자중 완주자 명단에 없으면 그 사람을 리턴해 줬는데, 다른 사람 풀의를 참조하니 그냥 참가자를 먼저 넣고, 완주자를 명단에서 제거해줘서 남는 사람을 return 해주면 되는 경우였다. import java.util.*; import java.util.strea..

폰켓몬

https://school.programmers.co.kr/learn/courses/30/lessons/1845 전형적인 헤시 문제이고 중복을 허용하면 안되기 때문에 , hashset으로 인자를 계속 추가해주다가 총 넣은 인자값을 반환해 주면 되는 것이고, 총 인자가 총인자/2를 넘어서면 안되는 조건이 있기 때문에 그 전에 반환을 해주면 된다. import java.util.*; import java.util.stream.Collectors; import java.util.stream.DoubleStream; import java.util.stream.Stream; class Solution { public int solution(int[] nums) { int answer = 0; HashSet has..

반응형