Til

    [TIL] 3주차 주특기 입문ㅣSpring 시험

    주특기 입문 Spring 시험 회원 조회 API를 만드는 것이 시험 문제로 나왔다. 문제에는 회원 목록 DB와 API 설계도, 스켈레톤 코드가 적혀 있었다. 처음에 도대체 어디에 뭘 작성하라는건가 감이 안와서 문제를 여러번 읽다가🤣 인텔리제이를 켜고 Entity부터 차근차근 만들기 시작했다. 틀이 주어졌던 GET 요청 외에 POST 요청을 따로 만들어 Postman으로 테스트까지 한 후 제출했다. 사실 개인과제를 스스로 해결했다면 전혀 어려운 문제는 아니었다. 포인트는 1) Entity를 그대로 반환하지 않고 DTO로 변환 후 반환하는 것과, 2) 예외를 발생시키는 부분(NullPointerException)이었을 거라 생각한다. 이후 문제풀이 세션을 듣다 내가 전체 조회 부분에서 throw 처리를 하지..

    [TIL] 3주차 주특기 입문ㅣCRUD API 만들기 3편

    👇 [스프링 부트로 CRUD API 만들기 1편] 보러 가기 👇 부모 클래스 타입(변환 생략 가능) / 부모 클래스 타입 > 자식 클래스 타입(변환 반드시 명시) class Parent { ... } class Child extends Parent { ... } ... Parent pa = new Parent(); // 허용 Child ch = new Child(); // 허용 Parent pc = new Child(); // 허용 Child cp = new Parent(); // 오류 발생 게시글을 업데이트하는 메소드는 2가지의 리턴이 있을 수 있다. 1) 비밀번호가 일치했을 시, 성공 여부와 함께 변경된 객체 리턴 2) 비밀번호가 불일치했을 시, 성공 여부(=실패)만 리턴 그렇다면 Service 클래..

    [TIL] 3주차 주특기 입문ㅣCRUD API 만들기 2편

    👇 [스프링 부트로 CRUD API 만들기 1편] 보러 가기 👇 new IllegalArgumentException("아이디가 존재하지 않습니다.") ); board.update(requestDto); // 엥 이게 끝? return new BoardResponseDto(board); } 어제 기술 매니저님께서 주신 미션 아닌 미션. (CRUD API 만들기 1편의 내용 참고) Service단에서 업데이트쪽 메소드를 보면 별도로 Repository에 접근하지 않더라도 업데이트가 잘 된다. JPA가 수정 메소드를 제공하지 않는다는 건 저번 시간에 알게 되었는데, 트랜잭션과의 관계는 뭘까? 트랜잭션과 업데이트가 무슨 관련이 있는지부터 피부로 느끼기 위해 바로 @Transactional 어노테이션을 지워보았다..

    [TIL] 3주차 주특기 입문ㅣCRUD API 만들기 1편

    Spring 입문 주차 개인 과제 이번 주차는 처음으로 개인 과제를 받았다. 스프링 부트를 이용하여 CRUD API를 만드는 것인데 자세한 요구사항은 다음과 같다. 🚩 Goal: "스프링 부트로 로그인 기능이 없는 나만의 항해 블로그 백엔드 서버 만들기" 처음 과제를 마주했을 때는 '이게 되나..?' 싶은 마음이 컸는데 어느새 강의를 다 듣고.. 유스케이스를 그리고.. 프로젝트를 만들고 있는 나를 발견😂 하나하나 알려주는 방식이 아니다 보니 오늘의 궁금했던 부분과 찾아낸 해답들을 정리해보려 한다. 오늘의 궁금증 1. @RequestBody vs @ModelAttribute 둘 다 클라이언트 측에서 보낸 데이터를 객체로 바꿔주는 건 맞는데.. 둘이 어떻게 다르지? RequestBody @RequestBod..

    [TIL] 2주차 주특기 입문ㅣJava 스터디 발표

    ✍ Today I Learned Java 스터디 발표 이번 주차에 공부한 Chapter 06 클래스 부분의 객체지향, 필드, 생성자 파트를 맡아 발표를 진행하게 되었다. 나는 처음 자바를 배울 때 객체지향 파트가 정말 재밌었던(!) 기억이 있는데 그렇지 못한 분들도 있는 것 같아서 최대한 이해하기 쉽게! 재밌게! 설명하는 게 목표였다. 이미 자료 정리는 다 끝낸 부분임에도 첫 발표라는 부담감에 새벽까지 계속 수정하고, 읽어보고 반복.😂 나 혼자만 떠드는 시간이 아니라 함께 참여하는 시간이었음 해서 마지막에 퀴즈도 넣었다. 그 결과..! 다행히 스터디원분들이 즐겁게 참여해주시고, 칭찬도 많이 해주셔서 뿌-듯했다.✌ 정리하면서 나도 헷갈렸던 부분을 다시 짚어보는 알찬 시간이었다! [Java] 객체지향, 클래..

    [TIL] 2주차 주특기 입문ㅣ주간 시작

    ✍ Today I Learned 주특기 입문 주간 시작 알고리즘 문제를 찍먹 했던 프로그래밍 기초 주간이 지나고, 제대로 Spring을 다룰 주특기 기간이 시작되었다. 주특기 기간은 총 3주로 입문, 숙련, 심화가 각 한 주씩 구성된다. 발제와 동시에 당일 과제와 일정들이 쏟아졌다. 담임 매니저님이 신경 써주시긴 하지만 스스로 일정에 맞춰 학습할 수 있도록 세부적으로 계획을 짜야겠다. 11/25 21:00까지 S.A 과제 제출 11/26 13:00 Http와 Controller 세션 → 28일 20시로 밀림 12/1 10:00 입문 주차 시험 12/1 20:00 입문 주차 시험 문제풀이 12/1 21:00까지 개인과제, 팀 과제 제출 12/2 09:00 주특기 숙련 주차 발제 S.A 과제 [클래스 모델링..

    [TIL] 2주차 알고리즘 테스트

    ✍ Today I Learned 알고리즘 테스트 오늘은 대망의 알고리즘 테스트 날이다. 주어진 시간은 4시간, 문제는 총 3문제. 모의고사 때와는 다르게 2문제를 제출해야 하고, 이 중 하나만 맞아도 과락은 면할 수 있다. 저번 모의고사와 마찬가지로 주어진 시간 내에 3문제를 다 푸는 것이 목표! ..였지만 3번 문제는 시험장을 나와 조원들과 함께 풀이를 하였다...😅 다음은 오늘 알고리즘 테스트의 모든 문제와 내가 제출한 코드이다. 첫 번째 문제 문제를 분석해보자 간단하게 0의 개수로 도개걸윷모를 나눌 수 있다. → 모(0개), 도(1개), 개(2개), 걸(3개), 윷(4개) index에 맞게 배열을 생성하고, 반복문으로 0의 개수를 카운팅 해서 배열에 index로 접근한다. 코드로 구현해보자 pack..

    [TIL] 2주차 알고리즘 조각 모음

    ✍ Today I Learned Java 스터디 3일 차 우리 조의 기존 스터디 룰은 월~금: 개인 공부 / 토: 각자 맡은 챕터 발표였으나 함께 하는 시간을 더 의미 있게 보내고자 다른 방식을 제안해보았다. 정해진 양을 다 같이 미리 공부해오고, 이해가 어려웠던 부분이나 궁금한 내용을 공유하는 방식으로! 다행히 조원분들도 의견에 동의해주셔서 앞으로는 이런 방식으로 스터디가 진행될 것 같다. 오늘은 각자 공부해온 06-1 객체지향 프로그래밍 부분을 공유하였다. 확실히 함께 이야기 나누다 보면 내가 어떤 부분을 모르는지 깨닫게 되는 것 같다. 다음은 오늘 스터디 시간에 나누었던 내용이다. 객체가 생성되면 어디에 저장되는가? new 연산자로 메모리 힙 영역에 객체를 생성하고, 이후 객체 번지를 리턴한다. 클..