전체 글(204)
-
Cannot convert existing claim value of type 'class java.lang.Integer' to desired type 'class java.lang.String'. 오류
❎ 문제발생프로젝트 진행중 비즈니스 로직을 검증하는 과정에서 해당 오류가 발생하였다. 🆘 해결 과정 디버그 결과 jwt에서 캐스팅 오류가 발생한것으로 보여진다. ✔ 해결 토큰을 생성할때 claim안에 id 정보를 저장하는게 아닌 subject로 넣어서 캐스팅 문제를 해결하였다. return Jwts.builder().subject(memberId.toString()).claims(claims).issuer(issuer) .expiration(Date(System.currentTimeMillis() + 3600 * 1000)).signWith(key).compact()
2024.07.16 -
check & require로 예외처리를 간단하게
✔오늘 배운 중요한 🔑 pointrequire 함수: 입력 값 검증에 적합하며, 조건이 만족되지 않을 경우 IllegalArgumentException을 던진다check 함수: 코드의 상태를 검증하는 데 적합하며, 조건이 만족되지 않을 경우 IllegalStateException을 던진다.🎯 오늘 배운 내용 check함수@kotlin.internal.InlineOnlypublic inline fun check(value: Boolean): Unit { contract { returns() implies value } check(value) { "Check failed." }}/** * Throws an [IllegalStateException] with the result..
2024.07.15 -
Proxy
✔오늘 배운 중요한 🔑 point프록시(Proxy)는 소프트웨어 디자인 패턴 중 하나로, 다른 객체에 대한 접근을 제어하거나 기능을 확장하기 위해 그 객체의 대리인 역할을 하는 객체이다.프록시가 대리인 역할을 하는 이유는 원래 객체에 대한 접근을 제어하거나 기능을 확장하는 데 있다.프록시는 원래 객체의 대리인으로 호출을 가로채서 부가 작업을 수행한다.🎯 오늘 배운 내용 프록시(Proxy)는 소프트웨어 디자인 패턴 중 하나로, 다른 객체에 대한 접근을 제어하거나 기능을 확장하기 위해 그 객체의 대리인 역할을 하는 객체이며 Spring Boot에서 프록시는 AOP, @Transactional 등에 사용이 된다. @Transactional 어노테이션은 Spring 프레임 워크에서 트랜잭션 관리에 사용이 된..
2024.07.14 -
Crawling
✔오늘 배운 중요한 🔑 point크롤링을 사용하여 데이터를 간단하게 가져와서 활용할 수 있지만 , 잦은 조회와 상업적 이용에는 문제가 발생할 수 있으니 조심해야한다.🎯 오늘 배운 내용 팀 프로젝트에서 진행하는 와인추천 서비스에서 와인에 관한 다양한 정보들을 가져오기 위해서 크롤링(Crawling)을 사용하기로 하였다.크롤링을 어떻게 사용하고 어떻게 동작하는지에 대해서 간단하게 알아보자 크롤링이란?프로그램이나 스크립트를 사용하여 웹사이트의 페이지를 자동으로 탐색하고 데이터를 수집하는 작업 크롤링을 사용하는 이유?포괄적인 데이터 수집, 시장 조사, 트랜드 분석 등 이미 있는 데이터를 가지고 활용을 하기 때문에 데이터 수집에 대한 시간을 절약할 수 있으며 해당 데이터를 활용하여 새로운 insight를 얻을..
2024.07.13 -
최종 프로젝트 (1일차)
🕛팀 프로젝트 (Sober)💡 프로젝트 기간: 2024-07-12~2024-08-22 프로젝트 목적와인21 같은 와인 정보 사이트를 크롤링 하여 해당 정보를 바탕으로 사용자의 선호 와인에 따라 적절한 와인을 추천해주는 와인 추천 서비스 API 설계를 목적으로 하며 최종적으로 배포 및 사용성 테스트 까지를 목표로 한다. 프로젝트 진행과정 오늘 한 일주제 정하기 BrainStorming필수 기능 EventStoriming 진행
2024.07.12 -
Cache을 이용한 성능개선 프로젝트 마무리
🕛팀 프로젝트 (산책갈까)💡 프로젝트 기간: 2024-07-04~2024-07-11 프로젝트 목적기존의 일반적인 CRUD 기반의 프로젝트에서 Redis Cache를 이용하여 성능개선을 기대하는 프로젝트 프로젝트 진행과정 5분 기록 보드를 활용하여 각 주차별, 날짜별 어떤 기능을 구현했는지를 확인이 가능 시연영상: https://youtu.be/SBJoMTKqFsI GitHub : https://github.com/walkWithDog/WithDog/tree/release?tab=readme-ov-file GitHub - walkWithDog/WithDogContribute to walkWithDog/WithDog development by creating an account on GitHub.gi..
2024.07.11