일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- github
- 스프링부트오류
- 스프링 부트 기능
- Filter
- queryDSL
- REST API 규칙
- JoinColumn
- 복합키
- Error creating bean with name
- Unsatisfied dependency
- 최종 프로젝트
- @IdClass
- ERD 작성
- JPA주의사항
- uncheck Exception
- 1차캐시
- Spring Spring boot 차이
- jwt메서드
- REST란
- Q 클래스
- 빈생성안됨
- spring서버
- jpa에러
- jpa회원가입
- json gson 차이
- git
- 인텔리제이
- 스프링 부트 공식 문서
- JPA
- json
- Today
- Total
목록2023/09 (7)
Everyday Dev System
System.arraycopy 메서드에서 native를 명시한 이유가 무엇일까? @IntrinsicCandidate public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length); 위의 코드는 System 클래스의 코드 일부를 발췌한 것이다. System.arraycopy 메서드는 저수준 메모리 작업 필요하여 순수 java 코드로 수행이 힘들다. 그 이유는 다음과 같다. 1. 배열 복사 작업: System.arraycopy 메서드는 배열의 요소를 다른 배열로 복사하는 작업을 수행한다. 이 때, 배열은 메모리 상에 연속적으로 저장되어 있으며, 배열의 각 요소는 메모리의 연속된 위치에 저장된다. ..
자바에서 Arrays 클래스 코드들을 뜯어보다가 처음보는 것을 발견해서 찾아보았다. native 란 ? JNI란? import java.util.Arrays; public class test { public static void main(String[] args) { int[] arr = {0,1,2,3,4}; System.out.println("Arrays.toString(arr) = " + Arrays.toString(arr)); System.out.println(); // copyOf int[] arr2 = Arrays.copyOf(arr, arr.length); System.out.println("Arrays.toString(arr2) = " + Arrays.toString(arr2)); int[..
1. 프로젝트 개요 프로젝트 명 : "Elephant " 프로젝트 한줄 소개 : 개발자 및 개발 공부를 하는 사람끼리 서로 정보를 공유하고 협업 프로젝트 팀을 구성해 사이내에서 다양한 협업 지원 기능을 이용할 수 있습니다. 도메인 주소 : https://www.elephantcodingclub.site/ (현재 서버 OFF) 시연 영상 : https://www.youtube.com/watch?v=5RR0kAxlCGY 팀노션 : https://www.notion.so/azuressu/a1c7ce1ccb874da0b1f4b99050bd295d Repository : https://github.com/sangbu3jo/Elephant GitHub - sangbu3jo/Elephant Contribute to ..
먼저, 로그인을 하면 JWT 토큰을 재발급 해줍니다. 예를 들어 JWT 토큰의 만료 시간이 1시간일 경우, 1시간마다 로그인을 해주어야 합니다. 이러한 번거로움과 엑세스 토큰의 탈취를 염려하여 리프레시 토큰을 추가했습니다. Refresh Token 도입 쿠키에 토큰을 저장하는 방식을 선택하였고, 쿠키에 만료 시간을 설정하여 웹 브라우저에서 쿠키가 만료가 되면 자동으로 삭제하도록 하였습니다. 이는 웹 브라우저에서 제공하는 기능입니다. 도입 배경 : 만료 이전의 엑세스 토큰이 탈취되면 이를 활용할 할 수 있다는 문제 발현 보안적인 측면과 사용자의 편의성을 고려하여 Refresh Token을 도입. 목적 : 인증 과정에서 보안적인 측면을 강화 보안적인 측면을 고려함으로써 감소하는 사용자의 편의성 또한 보완 인..
참조: https://www.notion.so/azuressu/f88358f2cfa74951ad4482235b955b06 트러블 슈팅 🔔 알림 🔔 www.notion.so Redis 저장소 활용의 용이성 Redis의 장,단점 빠른 I/O 처리가 가능하다. 인메모리 형태의 저장소이다. key- value 형태로 저장이 되고, 다양한 형태의 저장도 가능하다. 테이블 구조가 정형화 되어 있는 RDBMS의 단점을 보완할 수 있다. 스키마가 정해져 있지 않아 확장성이 좋다. 단점으로는, 테이블 구조가 정형화 되어 있지 않아 JOIN문을 실행할 수 없다. 이메일 인증번호 데이터 수명 주기 회원가입 시 이메일을 입력하고 해당 이메일을 인증하는 절차를 거친다. 이때 이메일에 따른 랜덤값을 인증번호로 갖는데, 이를 어떤..
캐시는 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우나 값을 다시 계산하는 시간을 절약하고 싶은 경우에 사용한다. 캐시에 데이터를 미리 복사해 놓으면 계산이나 접근 시간 없이 더 빠른 속도로 데이터에 접근할 수 있다. 즉, 캐시는 접근 비용이 비싼 데이터의 사본을 만들어 저장하고, 동일한 요청이 있을 때 원본 데이터에 접근하지 않고 사본 데이터를 제공할 수 있게 하는 중간 장치의 개념입니다. 병목 현상이 일어날 수 있는 지점의 성능 향상을 위해 캐시를 사용합니다. 그럼 어떠한 Cache 기술을 적용할지 고려해보자. Cache 관리 전략을 선택할 때 가장 먼저 고려해야 할 요소는, 캐시 데이터를 저장할 스토리지를 서버가 자체적으로 ..
0. 상부삼조하는 우리 팀의 소통의 광장 Notion https://azuressu.notion.site/3-a1c7ce1ccb874da0b1f4b99050bd295d 3조 - 최종 프로젝트 우리 팀 상부삼조 azuressu.notion.site 1. 시연 영상 https://youtu.be/jAUw7nbltM0 2. Github Repository https://github.com/sangbu3jo/Elephant GitHub - sangbu3jo/Elephant Contribute to sangbu3jo/Elephant development by creating an account on GitHub. github.com 3. 기능사항들 로그인 / 회원가입 / 로그아웃 JWT 토큰 발급 및 Redis ..