본문 바로가기

백엔드26

[멋쟁이 사자처럼] level7~9 구현 오랜만에 클론코딩 과제가 나왔다... level7 은 모두 구현이 되어있었다! level8 GoalService public Long save(String name, String color, Long memberId) { // TODO [8단계] memberId로 회원을 조회하고, 조회에 실패하면 "회원 정보가 없습니다." 예외를 발생시키세요. Member member = memberRepository.findById(memberId) .orElseThrow(() ->new NoFoundException("회원정보가 없습니다.")); // TODO [8단계] 조회된 회원 정보를 사용하여 새 Goal 객체를 생성하세요. Goal .. 2024. 4. 30.
[카카오테크캠퍼스] 카카오테크캠퍼스 백엔드 2기 합격! 이번에 학교에서 카카오테크캠퍼스를 한다고 해서 현재 접하고 있는 분야인 백엔드로 지원하였다.두 단계의 선발과정을 거치고, 거의 잊고 살았지만 발표날인 4월 1일이 되니까 좀 긴장됐었다.... 결과는 합격!! 나를 포함한 거의 모든 전공자들이 백엔드로 지원하기도 했고, 취업준비하시는 분들도 많아서 안될수도 있겠다고 생각했는데 돼서 놀랐다. 사실 이렇게 기업에서 주최하는 활동들에 많이 지원해봤는데 합격한 건 이번이 처음인 것 같다. 그동안의 노력을 인정받은 것 같아서 뿌듯했다 : ) 합격하신 분들 보니까 예상대로 다들 대단하신 분들이라 앞으로 뒤쳐지지 않도록 열심히 해야겠다고 다짐했다! 카테캠 다음 기수에 지원하고자 하시는 분들을 위해서 선발과정을 간단하게 설명하자면 크게 자소서랑 코딩테스트가 있다.  1... 2024. 4. 4.
[나머지공부] 어노테이션이란? 멋쟁이사자처럼 정기세션을 하면서 점점 이해하기 힘든 내용이 많아졌다. 그 이유를 알아보고자 앞에서부터 배운 내용을 점검했을 때 어노테이션을 정확히 몰라서 많은 것을 놓치고 있다는 것을 깨달았다. 어노테이션이란? 어노테이션은 사전적 의미로는 주석이라는 뜻이다. 자바에서 사용될 때의 어노테이션은 코드 사이에 주석처럼 쓰여서 특별한 의미, 기능을 수행하도록 하는 기술이다. 즉, 프로그램에게 추가적인 정보를 제공해주는 메타데이터(meta data: 데이터를 위한 데이터)라고 볼 수 있다. 우리가 흔히 사용하는 주석은 코드에 대한 내용을 개발자에게 설명하지만, 어노테이션은 컴파일러에게 설명한다. 어노테이션의 기능은 다음과 같다. 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공 소프트웨어 개발툴이 빌드나.. 2024. 4. 3.
[멋쟁이사자처럼] level6 구현 벌써 4주차라니!!! 이번 과제는 이전에 해왔던 클론코딩을 하는 것이다. AuthArgumentResolver @Overridepublic boolean supportsParameter(MethodParameter parameter) { // TODO [6단계] parameter가 @Auth 어노테이션을 갖고 있고, 파라미터 타입이 Long.class인 경우 true를 반환하는 조건을 구현하세요. if (parameter.hasParameterAnnotation(Auth.class)){ if(parameter.getParameterType().equals(Long.class)){ return true; } } return false;} 파.. 2024. 4. 2.
[멋쟁이사자처럼] 키워드 정리 과제 이번 과제는 주어진 주제에 대해 공부해보는 것이다. 시작! DI DI는 Dependency Injection의 줄임말로 의존관계 주입이라고도 한다. 의존관계란? "A가 B를 의존한다" 의 뜻은 B가 변경된다면 A도 변경된다는 의미이다 의존관계가 발생하는 상황은 다음과 같다. -B가 A의 필드-B가 A 메서드의 파라미터-B가 A의 로컬변수-B로 메세지를 보냄 public class Barista { private IceVanillaLatteRecipe iceVanillaLatteRecipe; public Barista() { iceVanillaLatteRecipe = new IceVanillaLatteRecipe(); }} 위 코드와 비교해봤을 때 public class .. 2024. 3. 27.
[멋쟁이사자처럼] level5 구현 2주차 과제는 토큰을 생성하고, 받은 토큰을 디코딩하여 원하는 정보를 얻는 것이었습니다. level5 public String createToken(Long memberId) { // TODO [5단계] 현재 시간과 설정된 만료 시간을 사용하여 만료 날짜를 설정하세요. key = Keys.secretKeyFor(SignatureAlgorithm.HS256); long nowMillis = System.currentTimeMillis(); Date now = new Date(nowMillis); Date exp = new Date(nowMillis + 3600000); // TODO [5단계] memberId를 클레임으로 추가하세요. Claims claims = Jwt.. 2024. 3. 19.