Total 443

[Spring] Spring 이란? (2)

Spring은 왜 만들었나요?Spring 의 핵심 개념을 이해하면 기술을 이해하기 쉬워지기 때문에 Spring 이 만들어진 이유에 대해 알아보자이 기술은 왜 만들었는지? 핵심 컨셉은 무엇인지?💡Spring 핵심 개념Java 언어 기반의 프레임워크Java 언어의 가장 큰 특징은 객체 지향 언어Spring 은 객체 지향 언어가 가진 강력한 특징을 살려내는 프레임워크Spring 은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크💡그래서 그게 뭔데?Spring 이전에는 EJB 라는 기술이 있었지만, 굉장히 의존적이고 복잡하고 어려운 단점이 있었다.이렇게 의존적일 경우, EJB에 종속되어 EJB 스탕이로만 개발해야하기 때문에 객체 지향이 가진 좋은 장점들을 잃게 된다.이러한 단점을 극복하고 ..

[Spring] Spring 이란? (1)

Spring 💡Spring 이란?Spring 은 특정한 하나가 아니라 아래 나열된 여러가지 기술들의 모음이라고 볼 수 있다.💡필수Spring Framework : Spring 의 가장 핵심Spring Boot : Spring Framework 를 편리하게 사용할 수 있게 해주는 프레임워크 💡선택Spring Data데이터베이스 CRUD 를 편리하게 사용할 수 있도록 도와주는 기술주로 Spring Data JPA 를 많이 사용Spring Session세셔 기능을 편리하게 사용할 수 있도록 도와주는 기능ex. 세션 만료 시간 통합 관리, 세션 무효화, 사용자별 동시 로그인 제어, Spring Security 와 연동Spring SecuritySpring Framework 로 만든 애플리케이션을 보호하기 ..

[리팩토링] 권한 별 기능 제한 로직 구현 (3) (업데이트 중..)

Controller💡@PreAuthorize@PreAuthorize("#userId == authentication.principal.userId")@PutMapping("/users/{userId}")public void update( @PathVariable Long userId, @AuthenticationPrincipal CustomUserDetails user) {}userRole 역할 별로 필터링 하기💡@AuthenticationPrincipal@GetMapping("/profile")public ResponseEntity profile( @AuthenticationPrincipal CustomUserDetails userDetails) { pro..

Projects/HubEleven 2026.01.16

[리팩토링] 공통 모듈 수정으로 인한 리팩토링

공통 모듈 repo 위치 변경💡build.gradle 변경repositoriesrepositories { mavenCentral() maven { url 'https://jitpack.io' }}implementationimplementation 'com.github.ElevenHub:HubEleven-common:v0.0.1' 💡변경 사유기존 common (공통 모듈) 이 팀장님 개인 repo 위치에 있어, 팀원 모두 공통 모듈 변경 가능하도록 팀 organization repo로 변경응답값 변경💡기존 코드@Operation(summary = "주문 생성 API", description = "새로운 주문을 생성한다.") @PostMapping public ResponseEnt..

Projects/HubEleven 2026.01.15

코딩 테스트 유형

참고 자료https://littlemobs.com/blog/coding-test-algorithms-top-down-overview/ 코딩 테스트 준비 전 모르면 큰일나는 알고리즘 문제 유형 파악 및 꿀팁 정리 - LittleMobs코딩 테스트를 준비할 시간이 부족하거나, 어디서부터 공부를 시작해야 할지 막막한가? 일단 무작정 알고리즘 문제풀이 사이트에 접속하여 문제를 풀고 있지만 잘하고 있는 것이 맞는지 의문이littlemobs.com

[리팩토링] 권한 별 기능 제한 로직 구현 (2) (업데이트 중..)

Controller → Service💡Controller 에서 User 정보 받아오기@Operation(summary = "주문 전체 조회 API", description = "주문 전체 목록을 조회한다.") @GetMapping public ResponseEntity>> getOrders( CommonPageRequest request, @RequestHeader("X-User-Id") Long userId, @RequestHeader("X-User-Role") String userRole ) {Header에서 받아온 userId 와 userRole 을 활용해 권한 관리 로직을 구현한다.💡User Role 을 통해 Contr..

Projects/HubEleven 2026.01.08

[리팩토링] 권한 별 기능 제한 로직 구현 (1) (업데이트 중..)

권한 관리💡상품 (Product) 도메인 권한 💡주문 (Order) 도메인 권한권한 로직💡Controller@PostMappingpublic ResponseEntity> createHub( @Valid @RequestBody HubCreateRequestDto request, @RequestHeader("X-User-Id") Long userId, @RequestHeader("X-User-Role") String userRole, @RequestHeader("X-Username") String userNameString) { if (!"MASTER".equalsIgnoreCase(userRole)) { throw new Global..

Projects/HubEleven 2026.01.07

[리팩토링] Swagger Request DTO 메서드 충돌 트러블슈팅

문제 상황💡 문제 상황 Spring Boot + springdoc-openapi 환경에서 API 문서를 Swagger UI로 확인하던 중, 서로 다른 Request DTO임에도 Swagger에서 하나의 Schema로 인식되는 문제가 발생했다. - ProductRequests.Createpublic class ProductRequests { public record Create( @NotBlank(message = "상품명은 필수 입력 항목입니다.") @Size(max = 150, message = "상품명은 150자 이하여야 합니다.") String name, @NotNull(message = "업체 ID는 필수 입력 항목입니다.") UUID companyId, @NotNull(mes..

Projects/HubEleven 2026.01.06

[동시성 처리] 테스트 코드 런타임 에러 발생 (업데이트 중..)

테스트 코드 런타임 에러동시성 처리 테스트 진행을 위해 재고 감소 로직 테스트 코드 작성 중 런타임 에러 발생💡런타임 에러 내용ConfigClientFailFastException: Could not locate PropertySource ... failingResourceAccessException: I/O error ... http://localhost:8888/... Connection refused테스트가 @SpringBootTest로 ApplicationContext를 띄우는 순간 Spring Cloud Config Client가 설정을 가져오려고 http://localhost:8888/product-service/default 로 GET 요청을 보냄그런데 localhost:8888(Confi..

Projects/HubEleven 2026.01.05