25년 KSUG에서 주니어 및 취준생 분들과 함께한 스터디 진행 기록입니다.스프링 프레임워크 혹은 데이터베이스에 대한 스터디를 진행 했고, 저는 스프링 프레임워크를 선택했습니다.기여해주시는 멘토 분들께 항상 감사드립니다. 이번 시간에는Spring Boot - 제1장 스프링 부트란?Database - 제1장 데이터 저장구조와 특징부분을 정리해오기로 했다. 그런데 Spring Boot 발표자 2번으로 내가 선정됨 ... 발표 하는 건 항상 긴장된다. 그래도 2번째 발표자이길 다행이지 🥹 1번 분께서 대부분을 말씀 해주시고 겹치지 않는 부분만 따로 발표했다.이렇게 해서 어떻게 면접도 보고 공개 장소에서도 발표를 할지... 항상 걱정이 많다.스터디 참여자가 6명인데 그 중 2명이 발표인 거면 항상 발표할 확..
25년 KSUG에서 주니어 및 취준생 분들과 함께한 스터디 진행 기록입니다.스프링 프레임워크 혹은 데이터베이스에 대한 스터디를 진행 했고, 저는 스프링 프레임워크를 선택했습니다.기여해주시는 멘토님들께 항상 감사드립니다. 스프링 프레임워크는 자바에서 가장 많이 사용하는 프레임워크이다.프레임워크와 라이브러리구분프레임워크라이브러리제어 흐름프레임워크가 제어(IoC)개발자가 제어역할애플리케이션 뼈대 제공특정 기능을 쉽게 사용할 수 있게 만든 도구 제공호출 주체프레임워크가 내 코드를 호출내가 라이브러리를 호출유연성상대적으로 낮음상대적으로 높음IoC(Inversion of Control): 제어의 역전일반적인 코드 작성이라면 개발자가 직접 객체를 만들고 사용한다.public class UserController { ..
1. Aerospike vs Redis 간단 비교둘 다 NoSQL 데이터베이스지만, 아키텍처와 확장성에서 차이가 있다.특징AerospikeRedis아키텍처대규모 데이터 셋을 처리하도록 설계됨하이브리드 메모리 아키텍처(RAM & SSD 효율적 사용)단일 코어에서 실행되는 인메모리 데이터 구조 저장소주로 RAM에 데이터를 저장하도록 설계됨확장성자동 샤딩과 데이터 재분배를 통해 수평 확장에 최적화됨Redis Cluster를 통해 최대 1000개의 노드로 확장 가능수직 확장에 더 적합데이터 모델키-값 저장소와 문서 모델을 지원키-값 저장소이면서 다양한 데이터 구조를 지원 과거에는 Aerospike를 사용했지만, 최근에는 Redis 사용이 증가하고 레퍼런스가 적어지면서 Aerospike 서버를 Redis로 마이그..
API 요청을 제어하려면 Rate Limiting(속도 제한) 이 필요합니다.이 글에서는 API를 "1분 이내 30번 요청 가능하지만, 24시간 동안 최대 30번만 허용"하는 Bucket4j의 정책을 설정하는 방법을 다룹니다.*Bucket4j을 도입하는 방법을 설명하는 것은 아닙니다.Rate Limiting이란?Rate Limiting(속도 제한)은 특정 시간 동안 허용할 요청 수를 제한하는 기술입니다.예를 들어:"1분에 60개의 요청 가능" (API 남용 방지)"24시간 동안 100개의 요청 가능" (과도한 사용 제한)이러한 제한을 적용하면 서버 부하를 방지하고, 공정한 API 사용을 보장할 수 있습니다.Bucket4j로 정책 설정하기Bucket4j는 토큰 버킷(Token Bucket) 알고리즘을 기반..
새로 개발 중인 기능에 필요한 데이터 구조를 양방향 엔티티로 설계하게 되었습니다. 그런데 이 과정에서 양방향 참조로 인해 재귀 호출 문제가 발생하였고,이를 해결할 방법을 찾아보게 되었습니다. 예시 코드들은 업무와 무관하게 작성되었습니다. 문제 상황Category와 Product 엔티티는 양방향 연관관계를 가지고 있습니다. 예를 들어, Category는 Product의 리스트를 가지고 있고, Product는 다시 Category를 참조하는 구조입니다. 코드로 나타내면 다음과 같습니다.@Entity@Table(name = "category")public class Category { @Id private Long id; @OneToMany(mappedBy = "category", casca..
스프링 배치 스터디가 처음이자 마지막(?)으로 오프라인 모임을 갖게 되었습니다. 11월 30일 토요일(8회차)에 진행되었는데요,시간이 꽤 지나 기억이 흩어지긴 했지만... 늦기 전에 기록해두고 싶어서 이렇게 글을 쓰게 되었습니다. 😊 스터디 순서는 다음과 같이 진행 되었습니다.인사말8주차 스프링 배치 스터디특급 게스트(김남윤)님의 스페셜 세션특급 게스트(향로, 김남윤)님들의 개발자 Q&A 토크스프링 배치 퀴즈(진행 될 예정이었으나 시간 관계상 생략)중간 시상스터디원 단체 사진네트워킹: 피자 먹으면서 얘기하기 처음에 딱 들어갔을 때 배치가 완전 발표자를 기준으로 둥글게 되어있었는데,완전 면접하는 느낌(??)이어서 절대 발표자가 되면 안됐으면 좋겠다고.... 빌었습니다 ㅋㅋㅋㅋ 😂 대망의 발표자 뽑기 ..