인기 글

Network

[인증/인가] 세션 / 토큰(JWT) 어떤걸 사용할까?

😮 서론 간단한 사이트들을 제외하고, 대부분의 사이트에서는 회원 기능이 존재합니다. 회원 정보를 통해서 가입된 사이트에 글을 쓰거나, 읽거나 댓글을 달거나 문의를 넣거나 등등 다양한 기능들을 사용할 수 있게 되는데요! 하지만, 페이지를 옮겨다닐 때마다 회원 인증을 진행하고, 껐다가 켰을 때마다 다시 인증을 진행하고 이런 일은 .. 제가 아는 사이트에선 존재하지 않습니다. 이처럼 인증을 유지하기 위한 방법 중 세션 방식과 토큰 방식에 대해 장단점을 알아보고 어떤 걸 사용할지 정해보도록 하겠습니다. 😏 본론 인증(Authentication) / 인가(Authorization) 기본 개념부터 잡고 가도록 하겠습니다. 인증(Authentication) 내가 누군지에 대해 사이트에 인증받는 걸 얘기합니다. 보통..

DataBase

[DB] 상황에 맞는 Unique ID 생성 방법

😏 서론 개발을 하면서, 유니크한 값을 사용할 일이 많습니다. 예를 들어 PK가 있을 수도 있고, 쿠폰번호가 있을 수도 있고, 결제번호가 될수도 있습니다. 유니크한 값을 만드는 방식들은 어떤 게 있고, 어떤 상황에 어떤 방식을 사용하는 게 좋을지 정리를 해보겠습니다. 😎 본론 먼저 3가지의 유니크 ID를 생성 종류에 대해서 알아보고 각각 어떨 때 적용하면 좋을지에 대해 개인적인 생각을 적어보겠습니다! 1. RDBMS 의 Auto Increment 디비에서 자동으로 만들어주는 자동증가 값으로 PK 용도로 사용된다. 장점 구현이 매우 간단하다. 숫자 증가기 때문에 재정렬이 필요 없다. 순서가 보장된다. 물리삭제가 되지 않는 특성의 테이블의 경우 마지막 row id 값만으로도 대략 테이블 데이터의 수를 파악할..

Java

[Java] static inner class 는 언제 로드가 될까? 로드와 초기화?

😣서론 최근 싱글톤을 직접 구현하여 사용하게 되었고, 스레드 세이프를 하기 위해서 static inner class를 사용하게 되었다. public class LottoTicketBooth { private LottoTicketBooth() { } private static class LottoTicketBoothHolder { private static final LottoTicketBooth LOTTO_TICKET_BOOTH = new LottoTicketBooth(); } public static LottoTicketBooth getInstance() { return LottoTicketBoothHolder.LOTTO_TICKET_BOOTH; } } 위와 같이 사용하게 된다면 LottoTicketB..

JPA

[JPA] save() isNew를 사용하여 성능개선 하기

😎 서론 사내 모든 프로젝트에서는 데이터베이스에 값을 저장할 때 아이디를 유니크한 값으로 자동생성해주는 로직을 만들어 별도로 태운 후 save()를 하게 된다. 결국 이로 인해 처음 INSERT를 하기 위해서 save를 보낸 모든 데이터 또한 SELECT를 꼭 호출하고, INSERT를 호출하게 되는 문제가 있다. 이는 데이터가 많으면 많을 수록 성능저하에 큰 문제가 있기에 이 로직을 파악하고 성능개선하는 방법을 공유해본다. 😉 본론 ⏳ save() 로직 파악하기. SimpleJpaRepository 클래스에 있는 save()메소드는 아래와 같이 동작을 한다. @Transactional @Override public S save(S entity) { Assert.notNull(entity, "Entity ..

최신 글

AI

컴퓨터 비전이란? 주요 개념과 과제 정리

Computer Vision(컴퓨터 비전)?Computer + Vision의 합성어로, 시각 데이터를 처리·이해하는 분야를 뜻한다.카메라와 센서가 인간의 눈 역할을 한다면, 컴퓨터 비전은 이러한 시각 데이터를 처리·해석하는 인지 능력이다.AI가 컴퓨터에 “생각”을 부여한다면,컴퓨터 비전은 컴퓨터가 보고 관찰하며 이해하도록 만드는 기술이라고 할 수 있다.컴퓨터 비전의 주요 과제Classification (이미지 분류)Object Detection (객체 탐지)Image Segmentation (이미지 분할)Semantic SegmentationInstance SegmentationPanoptic Segmentation 1. Classification (이미지 분류)이미지를 클래스(범주)별로 분류하는 작업이..

DevOps

비공개 Github Repository SSH로 clone

✨ 서론GitHub 리포가 비공개일 경우, SSH를 추가해 clone 받는 방법을 정리합니다.🫡 본론1. EC2 인스턴스에 SSH 키 생성ssh-keygen -t ed25519 -C "your_email@example.com"2. SSH 에이전트 실행 및 키 추가# SSH 에이전트 시작eval "$(ssh-agent -s)"# SSH 키 추가ssh-add ~/.ssh/id_ed255193. GitHub 공개 키 추가# 공개 키를 출력cat ~/.ssh/id_ed25519.pub위 명령어의 출력값을 복사한 후, GitHub에 로그인하여 아래와 같이 진행합니다.GitHub의 우측 상단에서 Profile Picture를 클릭하고 Settings로 이동.SSH and GPG keys로 이동.New SSH Ke..

나는리뷰어다2024

네트워크 인프라 자동화 리뷰

저자 :맷 오스왈트 , 제이슨 에델만 , 크리스티안 아델 , 스콧 S. 로우번역 :이주호출간 :2024-08-10페이지 :984 쪽리뷰를 신청할 때 책 제목이 흥미로워서 신청했다.막상 받으니 1000 페이지 가량의 두꺼운 책이라 놀랐지만, 필요한 부분만 골라 읽어봤다. 이 책은, 제목대로 네트워크 엔지니어가 읽으면 도움이 될 만한 내용이었다.백엔드 개발자가 읽기에는 다소 생소한 용어들이 많았지만, 네트워크, 리눅스 역사나 클라우드 개념을 훑어보기엔 재밌었다.  이 책은 정말 많은 걸 담으려고 한 게 느껴졌다.네트워크 엔지니어와 개발자 모두에게 도움이 되고 싶었던 느낌이랄까?기초부터 심화까지 많은 부분을 담으려고 하다보니 1000페이지 가량의 두꺼운 책이 탄생했고, 처음부터 끝까지 보기엔 힘든 책이었다.파..

나는리뷰어다2024

개발자를 위한 최소한의 실무 지식 (리뷰)

2023년에 이어 2024년도 한빛미디어의 서평단이 되었다. 감사한 마음을 담아 작년보다 더 나은 리뷰를 쓸 수 있도록 노력해야겠다. 한줄평: 실무에서 사용될 다양한 키워드들을 빠르게 습득할 수 있는 책 책에서 독자 방향을 취준생 ~ 1~2년 차 신입 개발자로 잡았는데, 개인적으로 취준생 ~ 입사 신입 때 읽기 좋은 책이었다. 부제로도 나와있듯 40가지 핵심 기술에 대해서 설명하다보니, 한 기술에 대해 깊이 설명하기 보다는 핵심을 잘 짚어주는 느낌이었다. 이 책에서 좋았던 점은 아래와 같다. 1. 다양한 분야를 설명한다고 해서 결코 깊이가 얕지 않다. 2. 다양한 키워드를 짚어준다. 3. 용어에 대한 설명이 매력적이었다. 1. 다양한 분야를 설명한다고 해서 결코 깊이가 얕지 않다. 핵심적인 키워드들을 잘..

Hyo Kim
일단은 내 이야기