🪴 REVI1337

검색

SearchSearch
        • Bubble Sort
        • Heap Sort
        • Insertion Sort
        • Selection Sort
      • BackTracking
      • Dijkstra
      • Euclidean
      • Matrix
      • Prefix Sum
      • Sieve of Eratosthenes
      • Sliding Window
      • Two Pointer
      • AWS 도메인 구입과 호스팅 영역 기본 설정
      • Backend S3 생성 및 설정
      • Backend S3와 CloudFront연결
      • EC2 & ElastiCache 연결
      • EC2 & RDS 연결
      • EC2 개인 도메인 적용
      • EC2 개인 도메인에 HTTPS적용
      • EC2 생성과 탄력적 IP설정
      • RDS 생성과 기본 설정
      • S3 개인 도메인 적용
      • S3로 호스팅한 정적 사이트에 도메인과 HTTPS적용
      • S3를 이용한 정적 리소스 호스팅
        • ByteOrder
        • Compiler & Interpreter
        • CPU
        • Data
        • Memory
        • Roadmap
          • Constraint
          • DDL & DML & DCL & TCL
          • DELETE vs DROP vs TRUNCATE
          • Index
          • Interview
          • Normalization
          • Transaction & Isolation
          • redis
        • Data Modeling
        • Grouping, Aggregate
        • Join
        • Like
        • Order
        • Profiling
        • Select
        • SQL 엔진 실행 순서
        • Table 을 복사하는 2가지 방법
        • 더미 데이터를 생성하는 방법
          • Tree Implementation
        • Array
        • Graph
        • Heap
        • Minimum Cost Spanning Tree
        • Spanning Tree
        • Tree
        • question
        • Interview
        • Observer(옵저버) 패턴
        • Strategy(전략) 패턴
        • forbidden access permission
      • Docker Build
      • Docker Compose
      • Docker Network
      • Docker Volume
      • Docker 기본 명령어
      • Docker 란
      • DockerCheetSheet
          • Call By Value & Call By Reference
          • Identity & Equality
          • JDK & JRE
          • String & StringBuilder & StringBuffer
          • Test
          • Deploy PyPI
          • Iterable & Iterator
          • Namespace & Scope
          • PyInstaller
          • Sequence & NonSequence
        • Artillery
        • JMeter
        • 성능 테스트를 위한 배경 지식
          • Google BigQuery
            • Actuator
            • Grafana
            • Prometheus
            • SpringApplicationInitialize_refresh
            • 하나의 Method에 여러 Advice가 있을 때, 어떤 원리로 실행될까?
            • Redis vs Caffeine
            • Redis 가 진짜 필요할까?
            • RedisCacheManager를 이용한 캐싱
            • RedisTemplate 과 AOP 를 활용한 @Cacheable 구현과 성능 비교
            • AWS SDK 를 이용한 S3 파일업로드
            • JPA에서 자연키 및 인조키를 사용하는 엔티티를 save할 때 조심할 점
            • Modifying 과 주의점
            • Multiple Pageable
            • PagableDefault 동작원리
            • Connection
            • Connection Pool
            • Native JDBC
            • ScriptUtils 의 매우 상세한 동작 원리
            • Statement & PreparedStatement
            • Transaction
            • 2차 캐시를 이용한 카테고리 캐싱
            • Batch Insert
            • Cascade.REMOVE, orphanRemoval 비교
            • JPA 에서 1NF & N:M 관계 단순화
            • 컬럼의 디폴트값 설정
            • 특정 컬럼만 Insert 및 Update
              • Spring MVC 아키텍쳐
            • Filter
            • Interceptor
            • RequestPart 를 이용한 JSON 과 첨부파일 동시처리
            • StoringMultipartFileMechanism
            • 계층마다 DTO 를 따로 둔 이유
            • 비동기 파일 업로드시 MultipartFile 주의사항
            • 윈도우 함수 사용
            • OAuth2 인가코드를 꼭 Frontend가 받아야할까?
            • 기본적인 OAuth2 인증 인가 프로세스
            • 스파게티 코드 OAuth2 인가 프로세스 리팩토링
            • 스파게티 코드로 구현하는 OAuth2 인증 인가 프로세스
            • 프론트와 백엔드는 OAuth2 인증을 어디까지 처리해야할까?
          • docker-compose 를 통한 로컬 개발환경 설정
          • JSON 의 특정 필드의 따로 역직렬화
          • Query & Transaction 로그 설정
          • Redis와 ExpiringMap을 활용한 확장 가능한 중복요청 방지 캐시 설계
          • S3 파일 업로드의 객체지향적 리팩토링
          • Scheduling 간단한 사용법
          • Scheduling 스레드 설정
          • Upsert 쿼리를 통한 쿼리 단순화
          • Whitelist기반 Magic Number로 업로드 필터링 구현
            • 기존 프로젝트의 Anaconda 환경 변경
          • Google OAuth2 설정
          • Kakao OAuth2 설정
          • Redis & MySQL 패킷 확인
      Home

      ❯

      tags

      ❯

      태그: refactor

      태그: refactor

      1건의 항목

      • 2025년 4월 10일

        S3 파일 업로드의 객체지향적 리팩토링

        • spring
        • refactor
        • oop

      Created with Quartz v4.2.3 © 2025

      • GitHub
      • Quartz