블로그 사이에서 WHY를 외치다!
close
프로필 배경
프로필 로고

블로그 사이에서 WHY를 외치다!

  • 분류 전체보기
    • Spring
    • Nest
    • Language
    • DB
    • Book
    • 회고
    • Etc
  • ⭐️ readme ⭐️
  • main
  • recommend
  • why
  • framework
  • book

오브젝트, 코드로 이해하는 객체지향 설계: 들어가며

이전에 진행했던 객체지향의 사실과 오해 스터디 글 👇 클린 아키텍처 -> Object 순으로 읽는 것이 좋다는" data-og-host="yatta.tistory.com" data-og-source-url="https://yatta.tistory.com/entry/%EA%B0%9D%EC%B2%B4%EC%A7%80%ED%96%A5%EC%9D%98-%EC%82%AC%EC%8B%A4%EA%B3%BC-%EC%98%A4%ED%95%B4-%EB%93%A4%EC%96%B4%EA%B0%80%EB%A9%B0" data-og-url="https://yatta.tistory.com/entry/%EA%B0%9D%EC%B2%B4%EC%A7%80%ED%96%A5%EC%9D%98-%EC%82%AC%EC%8B%A4%EA%B3%BC..

  • format_list_bulleted Book
  • · 2025. 4. 9.
  • textsms
Seed를 사용하여 Pagenation + Random에서 중복 없이 데이터 가져오는 방법 | ORDERBY RANDOM PostgreSQL seed

Seed를 사용하여 Pagenation + Random에서 중복 없이 데이터 가져오는 방법 | ORDERBY RANDOM PostgreSQL seed

어느날 페이지네이션을 사용하면서 랜덤한 값들을 응답해줘야하는 요구사항이 들어왔습니다.1. 한 번 요청시 5개씩 데이터를 응답해줘야 한다.2. 중복된 데이터가 나오면 안된다.3. 완전 랜덤한 데이터가 나와야 한다. 오늘은 해당 요구사항을 구현하는 방법인 seed에 대하여 알아보고, postgres + jpa 환경에서의 구현 방법을 알아보고자 합니다. Seed란 무엇인가?컴퓨터는 원래 난수를 생성할 수 없다는 사실 아시나요? 저희가 보기엔 마치 난수처럼 보이지만, 사실 정말 임의의 값이 아닌 특정 방법이나 ms를 사용하는 등의 계산 과정을 거쳐 나온 '의사 난수'들입니다.흔하게는 난수표를 사용하는데, 난수표를 선택하는 값을 시드(seed)라고 합니다. 그리고 seed값에 따라 같은 난수표를 사용하기 때문에 ..

  • format_list_bulleted Spring
  • · 2025. 3. 16.
  • textsms
엑셀 읽어오기 API 개발 시 꼭 고려해야하는 상황 및 예외처리 w 토지조서 엑셀, Apache POI 타입, 엑셀 서식 문제

엑셀 읽어오기 API 개발 시 꼭 고려해야하는 상황 및 예외처리 w 토지조서 엑셀, Apache POI 타입, 엑셀 서식 문제

얼마전 토지조서 엑셀을 받아와 DB에 엑셀 행들을 저장하고, 엑셀 내용 읽어 응답해줘야하는 요구사항이 있었습니다.개발을 하며 엑셀 개발 시 고려가 필요한 두 가지 상황을 발견해서 공유하고자 합니다. 제 개발 환경은 아래와 같으나, 개발 환경이 다르신 분들도 한 번 읽어보시면 도움이 되실 것 같습니다.Spring Boot 3.4.2 + Java 21 + Apache POI 라이브러리 첫번째 상황: NumberOfRows()는 얼마가 나올까?위와 같은 엑셀 시트가 하나 있다고 생각해봅시다. 제가 사용하는 Apache POI 라이브러리에서는 `worksheet.getPhysicalNumberOfRows()`를 사용하여 시트에 내용이 몇 행까지 있는지 가져올 수 있는데요. 여러분들이 사용하시는 라이브러리에도 R..

  • format_list_bulleted Etc
  • · 2025. 3. 2.
  • textsms
Spring Boot로 OAuth 구현하기 01: OAuth 2.0란? OAuth 완벽 정리

Spring Boot로 OAuth 구현하기 01: OAuth 2.0란? OAuth 완벽 정리

로그인을 할 때 소셜 로그인을 선호하시나요 직접 회원가입을 선호하시나요?저는 소셜 로그인을 더 선호합니다. 2020년 자료이긴 하지만 소비자연맹이 조사한 결과에 따르면 64% 정도의 사용자가 소셜로그인을 주로 사용한다고 대답했네요.  이번 소셜 로그인 파트에서는 가장 많이 사용되는 top 3의 소셜 로그인을 구현하는 방법을 정리해 볼 예정입니다. 오늘은 개발 전 OAuth란 무엇인지 알아보고, 어떤 식으로 동작하는지 이해해볼 것입니다. 구현 전 4챕터를 확인하시는 걸 추천드립니다. 목차는 아래와 같습니다.1. OAuth란?2. OAuth 탄생 이유3. OAuth와 OAuth 2.0의 차이점4. OAuth 2.0 표준 동작 방식 (OAuth 2.1 간단 알아보기) OAuth란?OAuth는 액세스 위임을 위..

  • format_list_bulleted Spring
  • · 2025. 2. 16.
  • textsms
랜덤 추출이 필요할 경우 고려할 수 있는 TABLESAMPLE 절

랜덤 추출이 필요할 경우 고려할 수 있는 TABLESAMPLE 절

개발을 하다보면 랜덤으로 데이터를 응답해줘야하는 상황이 생깁니다.그럴 때 우리는 크게 두 가지 방법 중 하나를 선택할 수 있습니다. 1) DB Query로 랜덤으로 추출하기.2) 로직에서 랜덤으로 추출하기. 보통은 1번에서 ORDERBY RANDOM()함수를 많이 사용합니다. 그런데 RANDOM() 함수가 아닌 테이블을 샘플링 해서 랜덤으로 가져올 수 있다는 것 알고 계셨나요?오늘은 갯수가 크게 상관 없을 경우 고려 가능한 TABLESAMPLE 절에 대하여 정리해보려고 합니다. 추가로 PostgresSQL에서 제공해주는 샘플링 메서드도 알아볼 것입니다. TABLESAMPLE 절TABLESAMPLE은 16년 PostgresSQL에서 처음 도입되었습니다. (PostgresSQL 9.5 버전부터 사용이 가능)..

  • format_list_bulleted DB
  • · 2025. 1. 3.
  • textsms
테오의 스프린트 18기 백엔드 참여 회고

테오의 스프린트 18기 백엔드 참여 회고

테오의 스프린트는 프론트엔드 개발자인 테오 님이 진행하시는 스프린트로, '6일간 좋은 사람들과 잘 만들어진 협업 프로세스를 함께 경험한다' 라는 목적으로 만들어진 프로그램입니다. 12월 3일부터 12월 9일까지 진행되었던 테오의 스프린트 18기 참여 회고를 해보려고 합니다. 🚀 닉네임을 정해보자테오의 스프린트에서는 처음 참가 신청을 할때부터 닉네임을 정하게 됩니다.그라운드 룰에서는 '나이 물어보지 않습니다'라는 그라운드 룰이 있는데 서로를 있는 그대로 바라볼 수 있을 것 같아 저는 되게 좋았던 룰이었던 것 같습니다.저는 '야타'라는 닉네임을 정했고, 마감일에 아슬아슬하게 참여하게 되었어요. 🙊 아이디어 나누기, 그리고 팀 빌딩 첫날에는 피그잼 사용법 및 규칙, 어떻게 운영될지에 대해 간단히 알려주..

  • format_list_bulleted 회고
  • · 2024. 12. 17.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • navigate_next
프로필사진

GIF YATTA! GIF

항상 쉽게 글을 쓰려고 노력합니다. 피드백 감사합니다. (꾸벅)

👀 About Me
  • Other blog
전체 카테고리
  • 분류 전체보기
    • Spring
    • Nest
    • Language
    • DB
    • Book
    • 회고
    • Etc
최근 글
인기 글
최근 댓글
태그
  • #Why
  • #book
  • #객체지향의사실과오해
  • #Good
  • #Framework
  • #오브젝트
  • #객사고
  • #object
  • #객체지향
  • #PostgresSQL
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바