일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- ssh-action
- 라이징캠프
- 컴공선배
- 해커톤
- 동등성
- equlas
- CMC
- 딕셔너리
- 동빈북
- github action
- 이코테
- loop
- JWT
- HashCode
- 나동빈
- Signature
- makeus
- 왕실의나이트
- 이것이취업을위한코딩테스트다
- remove
- 우테코
- object
- forloop
- Hackathon
- 너디너리
- 우아한테크코스
- nestJS
- Payload
- 동일성
- CICD
- Today
- Total
목록전체 글 (38)
작지만 꾸준한 반복
우아한테크코스 방학을 맞아, 여유롭게 레벨 2 내용을 정리하고 있다. 미션 진행 중 리뷰어님께서 남겨준 AutoBoxing, AutoUnBoxing에 대해 직접 실험해보려 한다. 이전까지 내가 알고 있던 것은 Wrapper 클래스를 사용하면 AutoBoxing과 AutoUnBoxing을 하는 과정에서 성능 차이가 발생한다는 것이었다. 하지만 그 차이가 얼마나 유의미하게 차이나는지는 몰라, 내 두 눈으로 직접 보려고 한다! GPT와의 페어프로그래밍으로 아래와 같은 코드를 뽑아냈다...! public class AutoBoxingTest { public static void main(String[] args) { int[] primitiveArray = new int[1_000_000]; Integer[] ..
무심결에 썼던 @Transactional, @Transactional(readonly = true) 옵션들을 생각하며, 트랜잭션을 제 언어로 정리해보려 합니다. 1. Transaction? 위키백과에서는 다음과 같이 이야기합니다. *데이터베이스 트랜잭션(Database Transaction)은 데이터베이스 관리 시스템 또는 유사한 시스템에서 상호작용의 단위이다. 여기서 유사한 시스템이란 트랜잭션이 성공과 실패가 분명하고 상호 독립적이며, 일관되고 믿을 수 있는 시스템을 의미한다. 이론적으로 데이터베이스 시스템은 각각의 트랜잭션에 대해 원자성(Atomicity), 일관성(Consistency), 독립성(Isolation), 영구성(Durability)을 보장한다. 이 성질을 첫글자를 따 ACID라 부른다...
// for loop List cards = new ArrayList(); for (Denomination denomination : Denomination.values()) { for (Suit suit : Suit.values()) { cards.add(new Card(denomination, suit)); } } // stream final List = Arrays.stream(Denomination.values()) .flatMap(denomination -> Arrays.stream(Suit.values()) .map(suit -> new Card(denomination, suit))) .collect(Collectors.toUnmodifiableList());
저번 포스트에서 HandlerInterceptor를 적용한 것까지 포스팅했습니다. 컨트롤러에서의 반복되는 인증 작업은 줄일 수 있었지만, 여전히 토큰에서 수출한 사용자 정보가 필요한 상황이었습니다 이는 ArgumentResolver와 커스텀 어노테이션을 이용하여 해결할 수 있었습니다! 먼저, 커스텀 어노테이션부터 한 번 확인해보곘습니다 @Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) public @interface AuthPrincipal { } AuthPrincipl이라는 임의의 어노테이션을 만들어주었습니다. @Target(ElementType.PARAMETER)를 통해 메서드의 파라미터에서 사용할 수 있도록 적용해주었고 @Rete..
우아한테크코스 장바구니 미션 수행 중, 요구사항으로 인증 기능 구현이 있었습니다. 사용자 정보는 요청 Header의 Authorization 필드를 사용해 인증 처리를 하여 얻습니다. 인증 방식은 Basic 인증을 사용합니다. 예시) Authorization: Basic ZW1haWxAZW1haWwuY29tOnBhc3N3b3Jk type: Basic credentials : email:password를 base64로 인코딩한 문자열 ex) email@email.com:password -> ZW1haWxAZW1haWwuY29tOnBhc3N3b3Jk 처음 구현한 코드부터 같이 보겠습니다. 컨트롤러 부분은 다음과 같습니다. @RestController public CartController { // 필드 및 ..
Spring MVC 구조를 공부하고 있었다. 위와 같은 구조로, Dispatcher Servlet이란 놈이 중심이 되어 일을 하고 있었다. 열정맨 디스패쳐 서블렛... 이놈은 대체 무슨 놈일지 궁금해서 찾아본 것을 정리해보려 한다. 1. Servlet은 뭘까? Dispatcher Servlet에 대해 알기 전에, Servlet부터 알아보자. Dispathcer는 '보내다, 파견하다'라는 뜻을 가지고 있다. 그럼 Servlet은 뭘까? 자바 서블릿은, 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양을 말한다. 흔히 서블릿이라고 부른다. 출처: 위키백과 본명은 Java Servelt이고, 자바에서 HTTP 기술을 사용하기 위해 쓰는 놈이다 2. Dispatcher Servlet, ..
4월 19일 오전, 우아한테크코스 잠실 교육장에서 인프랩 CTO 이동욱님의 건강하게 나아지기 특강이 열렸다 강의 내용은 다음과 같다 자존감 기둥 만들기 뛰어난 동료, 새로운 환경, 프로젝트 실패 등 자존감이 떨어질 수 있다. 자존감이 무너지지 않도록 나를 지탱할 수 있는 기둥이 필요하다 (한 개가 아닌 여러개) 이동욱님의 자존감 기둥 글쓰기 커뮤니티 참여 전직장 동료와의 대화 운동 독서 멘토링 나만의학습 방법 찾기 회사를 다니면 ‘회사일의 숙련자’가 된다 회사를 길게 다닌다고 개발 전문가는 되지 않는다 나는 새로운 환경에서도 잘할 수 있는 사람인가? 나는 지속적으로 성장할 수 있는 사람인가? 지속적으로 고민할 것, 옆에 두어야 할 사람 옆에 두어야 할 사람은 지금 잘하는 사람이 아닌, 성장이 빠른 사람 ..
웹 자동차 경주 미션을 하며, @RestController 어노테이션만 붙이면 스프링이 알아서 해당하는 요청 경로를 찾아주는게 너무 신기했다. 그래서 이 웹 MVC의 구조를 찾아보며 정리해보려 한다. 클라이언트로부터 요청이 들어오면(1번), 디스패쳐 서블렛은 그 요청을 처리하기 위한 컨트롤러 객체를 검색한다 이때 디스패쳐 서블렛은 직접 컨트롤러를 검색하지 않고 핸들러 매핑이라는 빈 객체에 컨트롤러 검색을 요청한다.(2번 과정) 핸들러매핑은 클라이언트의 요청 경로를 이용해서 이를 처리할 컨트롤러 빈 객체를 디스패쳐 서블렛에 전달한다.(3번 과정) 예를 들어 웹 요청 경로가 '/plays'라면 등록된 컨트롤러 빈에서 '/plays' 요청 경로를 처리할 컨트롤러를 리턴한다. 이때, 컨트롤러 객체를 디스패쳐 서..
보호되어 있는 글입니다.
처음 우테코 자동차 미션을 시작할 때, 역할, 책임 협력... 다른 크루들이 하는 말을 정말 하나도 이해하지 못했다. 급하게 오브젝트를 구매했는데, 책 두께를 보니 막막해서... 객체지향의 사실과 오해를 구매했다. 레벨 1 도중 허겁지겁 키워드 위주로 머리에 쑤셔넣은채로 읽어서, 레벨 2 시작전 여유롭게 정독해보았다 조금은 추상적일 수도 있는 내용이었지만 이상한 나라의 앨리스, 커피공화국, 영화관의 예제들과 우아한테크코스 미션에 대입해보는 과정에서 "아~ 이게 그 뜻이었구나" 라고 뒤늦게 이해되는 것들이 많았다. 읽을 때 마다 새로운 책이지 않을까 싶다 밑줄 친 문장들 객체지향의 목표는 실세계를 모방하는 것이 아니다. 오히려 새로운 세계를 창조하는 것이다. 객체지향에서는 데이터와 프로세스를 객체라는 하나..