일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Thread
- tomcat
- Spring Batch
- Gateway
- 살아남았다.
- 트랜잭션
- circuitbreaker
- MDC
- Transactio
- resilience4j
- 테스트코드
- 최종 합격
- Elk
- JWT
- Kotlin
- 오어스
- 톰캣
- AOP
- 우아한 테크 코스
- 우테코 5기
- 동시성문제
- 커넥션 풀
- Spring cloud gateway
- oauth
- spirng
- DispatcherServlet
- HikariCP
- 우아한테크코스
- 우테코
- redis
- Today
- Total
목록우아한테크코스 (20)
코딩은 내일부터
이번 프로젝트에서 JWT쪽을 맡게 됐다. 이번 포스팅에서는 JWT과 JWT을 적용하는 과정을 설명할 예정이다. JWT을 적용한 이유 이번 프로젝트에서 JWT를 적용한 이유는 JWT는 토큰 자체에 필요한 정보를 포함하고 있어 서버 측에서 별도의 상태를 유지하지 않아도 된다. (이로써 서버는 요청마다 토큰을 검증하고 사용자 신원을 확인할 수 있어 세션 관리나 DB의 부담을 줄일 수 다.(accessToken의 정보 만으로 사용자 인증을 할 수 있어서) JWT는 토큰은 매 요청마다 사용자 데이터베이스 등과의 통신 없이 빠르게 인증을 수행할 수 있다. 따라서 서버 부하를 줄여준다.(access가 만료되고 refachToken의 정보를 확인 할 때 DB에 접근하니까!) 이러한 이유로 JWT를 적용하기로 결정했다...
Self Hosted Runner를 활용해 CD를 하는 방법을 알려드리겠습니다. 먼저 지금 사용하고있는 ec2서버는 램 크기가 작기 때문에 Swap Memory를 사용해 하드디스크의 원하는 일정 용량을 램으로 바꿔줘서 사용해야합니다. 이때 너무 많은 메모리를 Swap Memory로 할당하게 되면 하드디스크가 부족하여 (ex.db에 데이터저장, 로그파일 저장 ... 등등) 서버가 다운될 수 있고, 너무 작은 메모리를 할당하게 되면 github action을 실행할때 부족한 램메모리 때문에 서버가 죽게됩니다. 다시 본론으로 넘어가면 먼저 스왑 메모리를 할당하는것은 하드디스크를 이용하기에 하드디스크의 용량을 확인 해봐야합니다. df -h 하드디스크 용량을 확인했다면, 그중 얼마정도의 swap 메모리로 설정할지..
이번 글에서는 2렙 중간동안 하면서 느낀점을 적어보았습니다. 노는 습관. 그냥놀기 그냥 공부하기 ( 휴식의 재발견 ) 평소에는 자고 싶을 때는 자고, 공부하고 싶을 때는 공부하는 나의 생활 패턴이 우테코에 입학하면서 바뀌게 되었다. 처음 우테코에 들어왔을 때, 낯선 키워드와 미션들이 나에게 여렵게 다가오며 바쁜 한 달을 보냈다. 그러던 중 우연히 참여한 스터디를 통해 휴식의 중요성을 깨닫게 되었다. 우테코 동기들과 함께 놀며 공부하는 시간은 커뮤니케이션과 정보 공유의 터전이었다. 서로의 학습 경험과 일상을 나누며 우테코 생활을 보다 효율적으로 만들 수 있었다. 함께 어떤 공부를 해야 하는지, 어떤 개념을 탐구해야 하는지를 함께 의논하고 결정하는 과정에서 나는 공부에 대한 방향성을 찾을 수 있었다. 이를 ..
객체의 선언과 초기화 객체의 선언과 초기화를 같은 곳에서 하는 것은 코드의 가독성과 유지 보수성을 향상시킬 수 있습니다. 객체를 선언할 때는 해당 객체의 타입을 지정하고, 이를 초기화할 때는 값을 할당합니다. 이 두 단계가 분리되어 있다면, 코드를 읽는 사람이나 유지 보수하는 사람은 객체를 사용하기 위해 두 군데 이상을 찾아봐야 합니다. 이러한 과정에서 코드가 복잡해지고, 코드의 가독성이 떨어질 수 있습니다. 하지만, 객체의 선언과 초기화를 같은 곳에서 한다면, 객체의 타입과 초기값을 한꺼번에 확인할 수 있습니다. 이러한 방식은 코드의 가독성을 높이고, 유지 보수를 용이하게 만들어줍니다. 또한, 객체를 수정할 때도 한 곳에서 변경할 수 있으므로, 실수할 가능성이 줄어듭니다. 따라서, 객체의 선언과 초기화..
이건 꿈인가. 합격이 발표되기 전까지는 떨어진다고 확신한 상태였다. 다음학기가 시작되면 무엇을 할지 계획을 정하고 있을 때쯤 합격 메일을 받았다. 처음에는 매우 좋았는데 점점 OT 날짜가 다가오면서 나의 현재 실력을 알기 때문에 붙어도 마냥 기쁘지만은 않았다. 그래서 나는 우테코에서 하루하루 살아남아야겠다는 원초적인 목표를 우테코에서 최선을 다해 살아남아야 한다라는 목표를 세우고 시작 했다. 우테코에서 살아남는법 1장 모르는 건 부끄러운 게 아니다. 처음 우테코를 들어와서 보고 듣는 모든 게 처음 접한 얘기들이었다. 내 시선에서는 다들 너무 잘하는 분들이라 질문을 하면 아주 기초적인 질문인 거 같아 질문하기 부끄러웠다. 처음 크루들에게 질문을 하기 전에 머릿속으로 질문해야 하나 말아야 하나 계속 고민했던..
우리가 이번 블랙잭미션을 했을 때 상속을 많이 사용했을 것이다. 왜냐하면 상속을 사용하면 코드를 재사용함으로써 중복을 줄일 수 있다고 알고 있어 그렇게 사용했을 것이다. 그러면 상속의 단점을 알아보겠다. 상속의 단점은 캡슐화를 깨뜨린다는 단점이 존재한다. 캡슐화란 만일의 상황(타인이 외부에서 조작)에 대비해 외부에서 특정 속성이나 메스들을 사용할 수 없도록 숨겨놓는 것을 의미하는데 상속은 상위 클래스의 구현이 하위 클래스에 노출되는 상속은 캡슐화를 깨뜨린다. 캡슐화가 깨짐으로써 하위 클래스가 상위 클래스에 강하게 결합, 의존하게 되고 강한 결합, 의존은 변화에 유연하게 대처하기 어려워진다. 그러면 책에도 그렇고 많은 사람은 상속보다는 조합을 사용하라고 말을 하고 있다. 그럼 조합으로 넘어가 보면 조합(C..
우리가 불변성을 보장해줘야 할 때 꼭 알아야 할 개념이 얕은 복사, 깊은 복사, 방어적 복사이다. 얕은 복사란 무엇인지 객체를 복사할 때, 해당 객체만 복사하여 새 객체를 생성한다. 복사된 객체의 인스턴스 변수는 원본 객체의 인스턴스 변수와 같은 메모리 주소를 참조되어 메모리 주소의 값이 변경되면 원본 객체 및 복사 객체의 인스턴스 변수 값은 같이 변경된다. 깊은 복사란 무엇인지 객체를 복사 할 때, 해당 객체와 인스턴스 변수까지 복사한다. 전부를 복사하여 새 주소에 담기 때문에 참조를 공유하지 않는다. 여기서 깊은 복사와 방어적 복사는 비슷하지않다. 그 이유는 방어적복사는 컬렉션의 겉에 있는 포장만 불변을 보장하고 안에있는 객체는 같기 때문에 깊은 복사라할 수 없다. 방어적 복사에는new, copyof..
오늘은 다음 주 목요일에 있을 테크톡 자료준비, 내일 스터디 자료준비, 미션 이렇게 할 예정이다. 테크톡 준비 테크톡을 처음 신청할때 나는 3월 중순이나 말정도에 할 줄 알았다. 그런데 당장 다음주 목요일 발표로 배정돼서 1 레벨 때 테크톡을 신청한 것을 후회했다.... 그래도 수료조건중 하나가 테크톡을 1회 이상 참여하는 거니까 하고 나면 후련할 거 같다. 발표 준비한 것 중 하나는 JUnit의 사용 현황이다. (자세한 내용은 우테코 유튭, 인스타에서...) 현재 jetbrains에서 낸 통계의 따르면 단위 테스트를 사용하고 있는 자바개발자의 86%가 junit을 사용하고 있다고 한다. 스터디 준비 이번에 스터디 주제는 JUnit5, AssertJ, Enum, JCF이다.(너무 많아) 내 주제가 JUn..